Closed Bug 507041 Opened 11 years ago Closed 11 years ago

Invalid build options for VC6

Categories

(NSS :: Build, defect, P2)

3.12.3.1
x86
Windows Server 2003
defect

Tracking

(Not tracked)

RESOLVED FIXED
3.12.4

People

(Reporter: julien.pierre, Assigned: julien.pierre)

Details

Attachments

(1 file)

There is code in Win32.mk that attempts to detect VC6 and use different build options for it. Unfortunately, it does not work, as shown by this Makefile :

# 
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1994-2000
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
MAKEFILE_CVS_ID = "@(#) $RCSfile: Makefile,v $ $Revision: 1.6 $ $Date: 2005/01/20 02:25:48 $"

include manifest.mn
include $(CORE_DEPTH)/coreconf/config.mk
include config.mk
include $(CORE_DEPTH)/coreconf/rules.mk

#export:: private_export

all:: test

test:
ifeq ($(_MSC_VER),$(_MSC_VER_6))
	@echo \"$(_MSC_VER)\" matches \"$(_MSC_VER_6)\"
else
	@echo \"$(_MSC_VER)\" does not match \"$(_MSC_VER_6)\"
endif

C:\NSS\virgin\mozilla\security\nss\lib\test>make
"1200" does not match "1200 "

The fix is very simple. Patch forthcoming.
Duplicate of this bug: 507025
Priority: -- → P2
Target Milestone: --- → 3.12.4
Version: 3.12.4 → 3.12.3.1
Whoa, what broken brain-dead version of make has THAT problem??

How does your patch (and this test) affect bug 507025? 
Does it stop that .c file from being built?
MSYS does, which is what Christophe is using for official builds. I looked into this bug after I saw his VC6 build output with all the warnings.

This fix is unrelated to the other bug - I jumped the gun. I just have the processor pack installed, and Christophe does not.
I see that bug 507025 has been reopened, and is no longer considered a 
duplicate of this bug.

So, what real build problem (if any) is caused by this trailing space?
On every C source file :

Command line warning D4002 : ignoring unknown option '-we4002'
Command line warning D4002 : ignoring unknown option '-we4003'
Command line warning D4002 : ignoring unknown option '-we4004'
Command line warning D4002 : ignoring unknown option '-we4006'
Command line warning D4002 : ignoring unknown option '-we4009'
Command line warning D4002 : ignoring unknown option '-we4013'
Command line warning D4002 : ignoring unknown option '-we4015'
Command line warning D4002 : ignoring unknown option '-we4028'
Command line warning D4002 : ignoring unknown option '-we4033'
Command line warning D4002 : ignoring unknown option '-we4035'
Command line warning D4002 : ignoring unknown option '-we4045'
Command line warning D4002 : ignoring unknown option '-we4047'
Command line warning D4002 : ignoring unknown option '-we4053'
Command line warning D4002 : ignoring unknown option '-we4054'
Command line warning D4002 : ignoring unknown option '-we4063'
Command line warning D4002 : ignoring unknown option '-we4064'
Command line warning D4002 : ignoring unknown option '-we4078'
Command line warning D4002 : ignoring unknown option '-we4087'
Command line warning D4002 : ignoring unknown option '-we4098'
Command line warning D4002 : ignoring unknown option '-we4390'
Command line warning D4002 : ignoring unknown option '-we4551'
Command line warning D4002 : ignoring unknown option '-we4553'
Command line warning D4002 : ignoring unknown option '-we4715'

That makes the build log very noisy.

Another problem : we don't set -PDB:NONE if MOZ_DEBUG_SYMBOLS isn't set, so PDBs come out all the time when they are not expected.

Though this doesn't really affect Christophe's build since I believe he is setting that variable and wants the PDBs.
Nelson,

FYI, cygwin make has the same problem. I would be surprised what version of gmake you have that doesn't suffer from this issue.
Attachment #391226 - Flags: review?(nelson) → review+
Thanks, Nelson.

Checking in WIN32.mk;
/cvsroot/mozilla/security/coreconf/WIN32.mk,v  <--  WIN32.mk
new revision: 1.37; previous revision: 1.36
done
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.