> Am 21.03.2025 um 22:21 schrieb Robert Dubner <rdub...@symas.com>:
> 
> This gets frustrating at times.
> 
> I tracked down that
> 
> EXTRA_TARGET_FLAGS does indeed include
> 
>         'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
> 
> And I tried including what looks like the boilerplate for
> 
>          AM_MAKEFLAGS = \
> 
> And I fussed and fiddled with it after that.
> 
> For whatever reasons none of those changes allowed for CXXFLAGS_FOR_TARGET
> to find their way into the compilations of libgcobol/*.cc files.
> 
> My simple one-liner does find its way into the compilations of libgcobol.cc
> files.
> 
> Meanwhile, as I mess with this, which takes a long time because it takes a
> long time to test, the actual useful work of expanding the test suite is
> going undone.
> 
> Let me rephrase this:  Is there some reason why I *shouldn't* apply the
> simple one-liner
> 
> AM_CXXFLAGS =$(CXXFLAGS_FOR_TARGET)
> 
> which I know does work?

I’d say go for it.  We can always undo it when somebody figures why the 
existing one doesn’t work.

> I don't think it can affect any other compilations; it's isolated to
> libgcobol.  And if I am not anticipating some other problem, well, I am
> content to wait until that other problem crops up.
> 
> 
>> -----Original Message-----
>> From: Richard Biener <richard.guent...@gmail.com>
>> Sent: Friday, March 21, 2025 04:14
>> To: Robert Dubner <rdub...@symas.com>
>> Cc: gcc-patches@gcc.gnu.org
>> Subject: Re: [PATCH] cobol: Make CXXFLAGS_FOR_TARGET available to the
>> libgcobol build.
>> 
>>> On Fri, Mar 21, 2025 at 4:56 AM Robert Dubner <rdub...@symas.com> wrote:
>>> 
>>> I seek benediction.  Failing that, I ask for advice.
>>> 
>>> This patch makes it possible for me to set the environment variable
>>> 'CXXFLAGS_FOR_TARGET="-ggdb -O0"' at configure time, and end up with a
>>> debuggable libgcobol.so.
>>> 
>>> Is this a correct way to gain that capability?
>> 
>> In principle the recursive make invocation should set
>> CXXFLAGS=$(CXXFLAGS_FOR_TARGET) already:
>> 
>> maybe-all-target-libgcobol:
>> TARGET-target-libgcobol=all
>> maybe-all-target-libgcobol: all-target-libgcobol
>> all-target-libgcobol: configure-target-libgcobol
>>        @: $(MAKE); $(unstage)
>>        @r=`${PWD_COMMAND}`; export r; \
>>        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
>>        $(NORMAL_TARGET_EXPORTS)  \
>>        (cd $(TARGET_SUBDIR)/libgcobol && \
>>          $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)   \
>>                $(TARGET-target-libgcobol))
>> 
>> and EXTRA_TARGET_FLAGS includes
>> 
>>        'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
>> 
>> Some Makefile.am have sth like the following (but not libgomp for
>> example):
>> 
>> # Work around what appears to be a GNU make  handling MAKEFLAGS
>> # values defined in terms of make variables, as is the case for CC and
>> # friends when we are called from the top level Makefile.
>> AM_MAKEFLAGS = \
>>        "AR_FLAGS=$(AR_FLAGS)" \
>>        "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
>>        "CC_FOR_TARGET=$(CC_FOR_TARGET)" \
>>        "CFLAGS=$(CFLAGS)" \
>>        "CXXFLAGS=$(CXXFLAGS)" \
>>        "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
>>        "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
>>        "GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \
>>        "GOC=$(GOC)" \
>>        "GOCFLAGS=$(GOCFLAGS)" \
>>        "INSTALL=$(INSTALL)" \
>>        "INSTALL_DATA=$(INSTALL_DATA)" \
>>        "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
>>        "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
>>        "LDFLAGS=$(LDFLAGS)" \
>>        "LIBCFLAGS=$(LIBCFLAGS)" \
>>        "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
>>        "MAKE=$(MAKE)" \
>>        "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
>>        "PICFLAG=$(PICFLAG)" \
>>        "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
>>        "SHELL=$(SHELL)" \
>>        "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
>>        "exec_prefix=$(exec_prefix)" \
>>        "infodir=$(infodir)" \
>>        "libdir=$(libdir)" \
>>        "includedir=$(includedir)" \
>>        "prefix=$(prefix)" \
>>        "tooldir=$(tooldir)" \
>>        "gxx_include_dir=$(gxx_include_dir)" \
>>        "AR=$(AR)" \
>>        "AS=$(AS)" \
>>        "LD=$(LD)" \
>>        "RANLIB=$(RANLIB)" \
>>        "NM=$(NM)" \
>>        "NM_FOR_BUILD=$(NM_FOR_BUILD)" \
>>        "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
>>        "DESTDIR=$(DESTDIR)" \
>>        "WERROR=$(WERROR)"
>> 
>> 
>>> If not, then how?
>>> 
>>> If so, then OK for trunk?
>>> 
>>> Thanks all.
>>> 
>>> From c03774e34bde193da7f80eea53b49915e311df0d Mon Sep 17 00:00:00 2001
>>> From: Bob Dubner mailto:rdub...@symas.com
>>> Date: Thu, 20 Mar 2025 23:44:12 -0400
>>> Subject: [PATCH] cobol: Make CXXFLAGS_FOR_TARGET available to the
>>> libgcobol
>>> build.
>>> 
>>> By setting "CXXFLAGS_FOR_TARGET=-ggdb -O0", a debuggable version
>>> of libgcobol.so is created.
>>> 
>>> libgcobol
>>> 
>>>        * Makefile.am: Incorporate AM_CXXFLAGS = $(CXXFLAGS_FOR_TARGET).
>>>        * Makefile.in: Regenerated.
>>> ---
>>> libgcobol/Makefile.am | 2 ++
>>> libgcobol/Makefile.in | 1 +
>>> 2 files changed, 3 insertions(+)
>>> 
>>> diff --git a/libgcobol/Makefile.am b/libgcobol/Makefile.am
>>> index eddf209807e6..2bd634f30d4c 100644
>>> --- a/libgcobol/Makefile.am
>>> +++ b/libgcobol/Makefile.am
>>> @@ -52,6 +52,8 @@ libgcobol_la_LINK = $(LIBTOOL) --mode=link --tag=CXX
>>> $(CXX)  \
>>> 
>>> WARN_CFLAGS = -W -Wall -Wwrite-strings
>>> 
>>> +AM_CXXFLAGS =$(CXXFLAGS_FOR_TARGET)
>>> +
>>> # not defined: DEFS, MAX_ERRORS, LTLDFLAGS
>>> ALL_CXXFLAGS = -I. -I$(srcdir) $(AM_CPPFLAGS) $(DEFS)          \
>>>        $(XCFLAGS) $(AM_CXXFLAGS) $(WARN_CFLAGS) $(MAX_ERRORS)  \
>>> diff --git a/libgcobol/Makefile.in b/libgcobol/Makefile.in
>>> index a6096d2a64aa..6f3ef0750114 100644
>>> --- a/libgcobol/Makefile.in
>>> +++ b/libgcobol/Makefile.in
>>> @@ -425,6 +425,7 @@ libgcobol_la_LINK = $(LIBTOOL) --mode=link --tag=CXX
>>> $(CXX)  \
>>>                $(LTLDFLAGS)
>>> 
>>> WARN_CFLAGS = -W -Wall -Wwrite-strings
>>> +AM_CXXFLAGS = $(CXXFLAGS_FOR_TARGET)
>>> 
>>> # not defined: DEFS, MAX_ERRORS, LTLDFLAGS
>>> ALL_CXXFLAGS = -I. -I$(srcdir) $(AM_CPPFLAGS) $(DEFS)          \
>>> --
>>> 2.34.1
>>> 

Reply via email to