Closed Bug 476968 Opened 16 years ago Closed 16 years ago

Both gmake 3.79 and 3.81 are included

Categories

(Firefox Build System :: MozillaBuild, task)

x86
Windows Server 2003
task
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: julien.pierre, Unassigned)

Details

Attachments

(1 file)

Multiple versions of make are included in Mozilla-build. One is 3.79.1 : C:\mozilla-build\msys\bin>make -v GNU Make version 3.79.1, by Richard Stallman and Roland McGrath. Built for i686-pc-msys Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Report bugs to <bug-make@gnu.org>. The other is 3.81.90 : c:\mozilla-build\msys\local\bin>make -v make -v GNU Make 3.81.90 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i686-pc-msys32 c:\mozilla-build\msys\local\bin> Only the first one properly works with functions with the attached Makefile. The second one is broken. The first one correctly outputs : Abspath(c:/) = c:/ Abspath(./Makefile) = /c/NSS/./Makefile The second one outputs : Abspath(c:/) = /c/NSS/c:/ Abspath(./Makefile) = /c/NSS/./Makefile The second, incorrect version should be eliminated. I have renamed the local/bin directoy to local/broken .
Attached file Sample Makefile using functions (deleted) —
Who cares? The good one is first in the path. What does it matter?
That depends for who ! It wasn't the first one in my path. If there is a bad version of make, it should not be packaged with MozillaBuild.
Uh, the default paths in MozillaBuild are setup to put the good one first. If you changed those and screwed yourself, that's your fault!
We install the base MSYS package which has the bad make, and then include our own make. Removing the other one is complicated and silly. WONTFIX
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WONTFIX
Julien reported that GNU Make 3.81.90 is broken, and I get GNU Make 3.81.90 by default in MozillaBuild: Wan-Teh Chang@PC3 /d/wtc/nspr-wince $ which make /local/bin/make.exe Wan-Teh Chang@PC3 /d/wtc/nspr-wince $ make -v GNU Make 3.81.90 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i686-pc-msys32
'abspath' is a built-in function in GNU Make. I suspect it was added in 3.80. http://www.gnu.org/software/make/manual/make.html#File-Name-Functions If I replace "abspath" with "mypath" in your example, it works fine.
Resolution: WONTFIX → INVALID
Ah, thanks. Now I remember we ran into this problem in NSS's coreconf build system and had to rename abspath core_abspath. See bug 345482.
That explains it. I wrote that abspath make function many years ago, before GNU make 3.80 was released. I couldn't have foreseen the name conflict, and GNU make does not warn about it. We should rename it in NSPR as well.
Updating description and resolution.
Resolution: INVALID → WONTFIX
Summary: Two versions of make are included, and one has broken function support → Both gmake 3.79 and 3.81 are included
The original description and the INVALID resolution are better. Ben explained why they included two versions of gmake in comment 5.
Wan-Teh, Comment 5 doesn't explain why two different versions of make have to be present, only why they are present. I think only one make is really needed, and it would be much less confusing for users if that was the case. This may not be crucial to fix, which is why Ben recommended in comment 5 that this bug be closed WONTFIX. I think that's a more accurate resolution.
Product: mozilla.org → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: