summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwtc%netscape.com <devnull@localhost>2003-03-27 15:40:54 +0000
committerwtc%netscape.com <devnull@localhost>2003-03-27 15:40:54 +0000
commita01400a888bb8d3c6145dc7e123fccfb91472bcb (patch)
tree4d120fc3d7b124c887afb9c5aa0ce6d67986f813
parent6b95b7262aa80858963076ee1d41f373d2dd5a3c (diff)
downloadnss-hg-a01400a888bb8d3c6145dc7e123fccfb91472bcb.tar.gz
Bug 195797: support building NSS with GCC 3.x on OS/2. The patch is
contributed by Javier Pedemonte <pedemont@us.ibm.com>. Modified Files: security/coreconf/OS2.mk security/coreconf/rules.mk security/nss/cmd/shlibsign/sign.cmd
-rw-r--r--security/coreconf/OS2.mk19
-rw-r--r--security/coreconf/rules.mk4
-rw-r--r--security/nss/cmd/shlibsign/sign.cmd2
3 files changed, 16 insertions, 9 deletions
diff --git a/security/coreconf/OS2.mk b/security/coreconf/OS2.mk
index 00f028d8e..6420b8bac 100644
--- a/security/coreconf/OS2.mk
+++ b/security/coreconf/OS2.mk
@@ -55,8 +55,6 @@ LIB_PREFIX = $(NULL)
# Override suffix in suffix.mk
LIB_SUFFIX = lib
DLL_SUFFIX = dll
-OBJ_SUFFIX = .obj
-ASM_SUFFIX = .asm
PROG_SUFFIX = .exe
@@ -69,8 +67,11 @@ AR = emxomfar -p256 r $@
AR_FLAGS =
RANLIB = @echo OS2 RANLIB
BSDECHO = @echo OS2 BSDECHO
-IMPLIB = emximp -o
-FILTER = emxexp
+IMPLIB = emximp -o
+FILTER = emxexp -o
+
+# GCC for OS/2 currently predefines these, but we don't want them
+DEFINES += -Uunix -U__unix -U__unix__
ifndef NO_SHARED_LIB
WRAP_MALLOC_LIB =
@@ -81,8 +82,10 @@ MKSHLIB = $(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@
MKCSHLIB = $(CC) $(CFLAGS) $(DSO_LDOPTS) -o $@
MKSHLIB_FORCE_ALL =
MKSHLIB_UNFORCE_ALL =
-DSO_LDOPTS = -Zomf -Zdll -Zmt -Zcrtdll -Zlinker /NOO
-# DLL_SUFFIX = .dll
+DSO_LDOPTS = -Zomf -Zdll -Zmt -Zcrtdll
+ifeq (,$(EMXOMFLD_LINKER)) # using LINK386.EXE
+ DSO_LDOPTS += -Zlinker /NOO
+endif
SHLIB_LDSTARTFILE =
SHLIB_LDENDFILE =
ifdef MAPFILE
@@ -124,6 +127,10 @@ endif # BUILD_OPT
else # XP_OS2_VACPP
+# Override suffix in suffix.mk
+OBJ_SUFFIX = .obj
+ASM_SUFFIX = .asm
+
AS = alp.exe
ifdef BUILD_OPT
ASFLAGS = -Od
diff --git a/security/coreconf/rules.mk b/security/coreconf/rules.mk
index aca7eaa6b..ac55f9279 100644
--- a/security/coreconf/rules.mk
+++ b/security/coreconf/rules.mk
@@ -310,9 +310,9 @@ endif
ifeq ($(OS_TARGET),OS2)
-$(IMPORT_LIBRARY): $(SHARED_LIBRARY)
+$(IMPORT_LIBRARY): $(MAPFILE)
rm -f $@
- $(IMPLIB) $@ $(SHARED_LIBRARY)
+ $(IMPLIB) $@ $(MAPFILE)
$(RANLIB) $@
endif
diff --git a/security/nss/cmd/shlibsign/sign.cmd b/security/nss/cmd/shlibsign/sign.cmd
index e93b22c3b..1f4413d59 100644
--- a/security/nss/cmd/shlibsign/sign.cmd
+++ b/security/nss/cmd/shlibsign/sign.cmd
@@ -4,7 +4,7 @@ dist=forwardtoback(dist);
objdir=forwardtoback(objdir);
'echo 'dist
'echo 'objdir
-'set BEGINLIBPATH='dist'\lib'
+'set BEGINLIBPATH='dist'\lib;%BEGINLIBPATH%'
objdir'\shlibsign -v -i 'therest
exit