|
| 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
ifdef_eval.mak
Description: Text document
ifeq_eval.mak
Description: Text document
ifndef_eval.mak
Description: Text document
ifneq_eval.mak
Description: Text document
typescript
Description: Text document
work_around.incl
Description: Text document
work_around.mak
Description: Text document
signature.asc
Description: Digital signature
| [Prev in Thread] | Current Thread | [Next in Thread] |