[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

$(eval) in ifdefs

From: Keith Hellman
Subject: $(eval) in ifdefs
Date: Wed, 23 Jun 2004 09:57:38 -0600
User-agent: Mutt/1.5.6+20040523i

I may have stumbled across a defect in make 3.80 concerning $(eval) used
in if{def,ndef,eq,neq} (I didn't try many more).

I have not been able to connect to subversions.gnu.org to test against the
CVS source, so this may have already been addressed.  I have reproduced
the defect on a red hat 7.2 box w/ make 3.80 built by hand, and a debian
unstable/testing box running a 3.80-7 package version.

Attached are a number of makefiles.  All of them generate a parse error
*except* for the work-around & include file also provided.  I have also
attached the typescript file from a run on my debian box.

I'd like to take an opportunity to thank the development team as well.
Not only for the maintainence and fixes, but for adding new features
such as $(eval).  I have designed and maintain the build system where I
work (well, actually 4 of them); they all use GNU make in some capacity.
My job is *much* easier due to your efforts.  Thanks.

Keith Hellman                             #include <disclaimer.h>
address@hidden                from disclaimer import standard
public key @ www.mcprogramming.com

"We will perhaps eventually be writing only small modules which are identified
by name as they are used to build larger ones, so that devices like
indentation, rather than delimiters, might become feasible for expressing local
structure in the source language."

-- Donald E. Knuth, "Structured Programming with goto Statements", Computing
Surveys, Vol 6 No 4, Dec. 1974

Attachment: ifdef_eval.mak
Description: Text document

Attachment: ifeq_eval.mak
Description: Text document

Attachment: ifndef_eval.mak
Description: Text document

Attachment: ifneq_eval.mak
Description: Text document

Attachment: typescript
Description: Text document

Attachment: work_around.incl
Description: Text document

Attachment: work_around.mak
Description: Text document

Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]