diff options
Diffstat (limited to 'security/nss/coreconf/OS2.mk')
-rw-r--r-- | security/nss/coreconf/OS2.mk | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/security/nss/coreconf/OS2.mk b/security/nss/coreconf/OS2.mk new file mode 100644 index 0000000000..4aa40eb6a3 --- /dev/null +++ b/security/nss/coreconf/OS2.mk @@ -0,0 +1,149 @@ +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +MOZ_WIDGET_TOOLKIT = os2 + +# XP_PC is for Window and OS2 on Intel X86 +# XP_OS2 is strictly for OS2 only +XP_DEFINE += -DXP_PC=1 -DXP_OS2=1 + +# Override prefix +LIB_PREFIX = $(NULL) + +# Override suffix in suffix.mk +LIB_SUFFIX = lib +# the DLL_SUFFIX must be uppercase for FIPS mode to work. bugzilla 240784 +DLL_SUFFIX = DLL +PROG_SUFFIX = .exe + + +CCC = gcc +LD = gcc +AR = emxomfar r $@ +# Keep AR_FLAGS blank so that we do not have to change rules.mk +AR_FLAGS = +RANLIB = @echo OS2 RANLIB +BSDECHO = @echo OS2 BSDECHO +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__ + +DEFINES += -DTCPV40HDRS + +ifeq ($(MOZ_OS2_HIGH_MEMORY),1) +HIGHMEM_LDFLAG = -Zhigh-mem +endif + +ifndef NO_SHARED_LIB +DSO_CFLAGS = +DSO_PIC_CFLAGS = +MKSHLIB = $(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@ +MKCSHLIB = $(CC) $(CFLAGS) $(DSO_LDOPTS) -o $@ +MKSHLIB_FORCE_ALL = +MKSHLIB_UNFORCE_ALL = +DSO_LDOPTS = -Zomf -Zdll -Zmap $(HIGHMEM_LDFLAG) +SHLIB_LDSTARTFILE = +SHLIB_LDENDFILE = +ifdef MAPFILE +MKSHLIB += $(MAPFILE) +endif +PROCESS_MAP_FILE = \ + echo LIBRARY $(LIBRARY_NAME)$(LIBRARY_VERSION) INITINSTANCE TERMINSTANCE > $@; \ + echo PROTMODE >> $@; \ + echo CODE LOADONCALL MOVEABLE DISCARDABLE >> $@; \ + echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $@; \ + echo EXPORTS >> $@; \ + grep -v ';+' $< | grep -v ';-' | \ + sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,\([\t ]*\),\1_,' | \ + awk 'BEGIN {ord=1;} { print($$0 " @" ord " RESIDENTNAME"); ord++;}' >> $@ + +endif #NO_SHARED_LIB + +OS_CFLAGS = -Wall -Wno-unused -Wpointer-arith -Wcast-align -Wno-switch -Zomf -DDEBUG -DTRACING -g + +ifdef BUILD_OPT +ifeq (11,$(ALLOW_OPT_CODE_SIZE)$(OPT_CODE_SIZE)) + OPTIMIZER += -Os -s +else + OPTIMIZER += -O2 -s +endif +DEFINES += -UDEBUG -U_DEBUG -DNDEBUG +DLLFLAGS = -DLL -OUT:$@ -MAP:$(@:.dll=.map) $(HIGHMEM_LDFLAG) +EXEFLAGS = -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE $(HIGHMEM_LDFLAG) +OBJDIR_TAG = _OPT +else +#OPTIMIZER = -O+ -Oi +DEFINES += -DDEBUG -D_DEBUG -DDEBUGPRINTS #HCT Need += to avoid overidding manifest.mn +DLLFLAGS = -DEBUG -DLL -OUT:$@ -MAP:$(@:.dll=.map) $(HIGHMEM_LDFLAG) +EXEFLAGS = -DEBUG -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE $(HIGHMEM_LDFLAG) +OBJDIR_TAG = _DBG +LDFLAGS = -DEBUG $(HIGHMEM_LDFLAG) +endif # BUILD_OPT + +# OS/2 use nsinstall that is included in the toolkit. +# since we do not wish to support and maintain 3 version of nsinstall in mozilla, nspr and nss + +ifdef BUILD_TREE +NSINSTALL_DIR = $(BUILD_TREE)/nss +else +NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall +endif +# NSINSTALL = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/nsinstall +NSINSTALL = nsinstall # HCT4OS2 +INSTALL = $(NSINSTALL) + +#################################################################### +# +# One can define the makefile variable NSDISTMODE to control +# how files are published to the 'dist' directory. If not +# defined, the default is "install using relative symbolic +# links". The two possible values are "copy", which copies files +# but preserves source mtime, and "absolute_symlink", which +# installs using absolute symbolic links. +# - THIS IS NOT PART OF THE NEW BINARY RELEASE PLAN for 9/30/97 +# - WE'RE KEEPING IT ONLY FOR BACKWARDS COMPATIBILITY +#################################################################### + +ifeq ($(NSDISTMODE),copy) + # copy files, but preserve source mtime + INSTALL = $(NSINSTALL) + INSTALL += -t +else + ifeq ($(NSDISTMODE),absolute_symlink) + # install using absolute symbolic links + INSTALL = $(NSINSTALL) + INSTALL += -L `pwd` + else + # install using relative symbolic links + INSTALL = $(NSINSTALL) + INSTALL += -R + endif +endif + +define MAKE_OBJDIR +if test ! -d $(@D); then rm -rf $(@D); $(NSINSTALL) -D $(@D); fi +endef + +# +# override the definition of DLL_PREFIX in prefix.mk +# + +ifndef DLL_PREFIX + DLL_PREFIX = $(NULL) +endif + +ifndef IMPORT_LIB_SUFFIX + IMPORT_LIB_SUFFIX = .$(LIB_SUFFIX) +endif + +# +# override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY +# +ifndef TARGETS + TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM) +endif + |