Issue 79200

Summary: "defined" not allowed in file names
Product: Build Tools Reporter: daniel.rentz
Component: dmakeAssignee: quetschke
Status: CLOSED FIXED QA Contact: issues@tools <issues>
Severity: Trivial    
Priority: P3 CC: hans-joachim.lankenau, issues
Version: 680m213   
Target Milestone: ---   
Hardware: All   
OS: All   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---

Description daniel.rentz 2007-07-04 10:40:55 UTC
dmake exits with the following error

dmake:  c:\Dev\local\o_xmlfilter02\SRC680\src.m213\solenv\inc\target.mk:  line
108:  Error: -- .IF do not support define

when the SLOFILES varibale contains a filename that contains "define", such as
"definednamesbuffer.obj" in my case.
Comment 1 quetschke 2007-07-04 22:42:43 UTC
This must be some legacy code.  As dmake nowhere mentions ".IF defined()" id does
not need to error on them, maybe a warning, but even that is not needed.

The next dmake version will remove this error, until then something like this
works around this bug:

+++ solenv/inc/target.mk        4 Jul 2007 21:40:58 -0000
@@ -105,7 +105,7 @@
 .ENDIF          # "$(L10N_framework)"==""
 DEPFILES:=$(uniq $(DEPFILESx))
 DEPCOLLECT_SLO!:=$(uniq $(DEPCOLLECT_SLO))
-.IF "$(DEPCOLLECT_SLO)"!=""
+.IF "x$(DEPCOLLECT_SLO)"!="x"
 DEPFILE_SLO+:=$(MISC)$/all_$(TARGET).dpslo
 .ENDIF                 # "$(DEPCOLLECT_SLO)"!=""
 DEPCOLLECT_OBJ!:=$(uniq $(DEPCOLLECT_OBJ))

@ause: Maybe you can sneak this workaround into somewhere, dmake411 will fix
this for good.
Comment 2 daniel.rentz 2007-07-05 09:37:30 UTC
This workaround does not work.

Anyway, if I comment out the ".IF" in line 108, it will fail in lines 240, 276,
1305, 1682, 1687, 1888 again.
Comment 3 quetschke 2007-07-05 15:30:58 UTC
Any reason why it doesn't work? Error message?

And the lines 240, 276, 1305, 1682, 1687, 1888 would most probably need the same
workaround.

OOo 2.4 will have a fixed dmake.
Comment 4 daniel.rentz 2007-07-05 15:46:41 UTC
I have tried the patch, it resulted in the very same error message as described
above. Maybe the reason is that the file containing "defined" is *not* the first
entry in the SLOFILES variable. Will try your patch again with moving the file
name to the top of the list...
Comment 5 daniel.rentz 2007-07-05 15:52:18 UTC
No, this does not help, maybe because $(uniq ...) sorts the entries in the
variable or whatever.
Comment 6 quetschke 2007-07-05 16:25:06 UTC
I'm sorry, my patch cannot work. I just checked that dmake is looking for the
"defined" anywhere in the string after the .IF. So putting the "x" there doesn't
help.

Sorry, will be fixed in the next dmake. :(
Comment 7 quetschke 2007-07-05 22:18:15 UTC
Fixed in cws_src680_dmake411.
Comment 8 hjs 2007-09-26 11:49:22 UTC
ok
Comment 9 hjs 2009-02-24 11:53:54 UTC
.