This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [RFC] Update minimum make version to 3.81
- From: "Paul E. Murphy" <murphyp at linux dot vnet dot ibm dot com>
- To: Florian Weimer <fweimer at redhat dot com>, Roland McGrath <roland at hack dot frob dot com>, libc-alpha at sourceware dot org
- Date: Fri, 24 Jun 2016 12:15:27 -0500
- Subject: Re: [RFC] Update minimum make version to 3.81
- Authentication-results: sourceware.org; auth=none
- References: <9be74649-8a90-1023-df39-a319b6d85b74 at linux dot vnet dot ibm dot com> <20160610222744 dot B09AB2C39F7 at topped-with-meat dot com> <ec2d5c66-e492-3e4b-8783-d987d638b14b at redhat dot com> <20160624161032 dot GG24532 at vapier dot lan> <43894edc-19de-08c5-958a-5087b261a83c at redhat dot com>
On 06/24/2016 11:31 AM, Florian Weimer wrote:
> On 06/24/2016 06:10 PM, Mike Frysinger wrote:
>> On 24 Jun 2016 13:24, Florian Weimer wrote:
>>> On 06/11/2016 12:27 AM, Roland McGrath wrote:
>>>> eval is a pretty horrible feature and I'd probably object to introducing
>>>> any uses of it into libc's makefiles. We already have lots of things that
>>>> might have been done that way, but are instead done with generated makefiles.
>>>
>>> I would like to put this into malloc/Makefile:
>>>
>>> $(foreach t,$(tests),$(eval CFLAGS-$t.c += -DTEST_NO_MALLOPT))
>>>
>>> What's the alternative for adding a -D flag to every test compilation in
>>> a subdirectory?
>>
>> maybe something like (untested):
>> CPPFLAGS += $(if $(filter $(@F),$(tests)),-DTEST_NO_MALLOPT)
>
> Hmm, right. It's relying on the delayed expansion. Not sure how this is less evil, though. It also has at least quadratic run-time behavior.
>
> Thanks,
> Florian
>
That seems like an undesirable precedent to set.
What about target specific variable updates on
the object files?
I attempted a similar thing in my current set
of patches to libm.
i.e (also untested):
$(foreach,s,$(all-object-suffixes),$(addsuffix,$(s),$(tests))): CPPFLAGS += -DTEST_NO_MALLOPT
IMO, eval still seems like the least bad option.