1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/security/nss/coreconf/OS2.mk Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,156 @@ 1.4 +# 1.5 +# This Source Code Form is subject to the terms of the Mozilla Public 1.6 +# License, v. 2.0. If a copy of the MPL was not distributed with this 1.7 +# file, You can obtain one at http://mozilla.org/MPL/2.0/. 1.8 + 1.9 +MOZ_WIDGET_TOOLKIT = os2 1.10 + 1.11 +# XP_PC is for Window and OS2 on Intel X86 1.12 +# XP_OS2 is strictly for OS2 only 1.13 +XP_DEFINE += -DXP_PC=1 -DXP_OS2=1 1.14 + 1.15 +# Override prefix 1.16 +LIB_PREFIX = $(NULL) 1.17 + 1.18 +# Override suffix in suffix.mk 1.19 +LIB_SUFFIX = lib 1.20 +# the DLL_SUFFIX must be uppercase for FIPS mode to work. bugzilla 240784 1.21 +DLL_SUFFIX = DLL 1.22 +PROG_SUFFIX = .exe 1.23 + 1.24 + 1.25 +CCC = gcc 1.26 +LINK = gcc 1.27 +AR = emxomfar r $@ 1.28 +# Keep AR_FLAGS blank so that we do not have to change rules.mk 1.29 +AR_FLAGS = 1.30 +RANLIB = @echo OS2 RANLIB 1.31 +BSDECHO = @echo OS2 BSDECHO 1.32 +IMPLIB = emximp -o 1.33 +FILTER = emxexp -o 1.34 + 1.35 +# GCC for OS/2 currently predefines these, but we don't want them 1.36 +DEFINES += -Uunix -U__unix -U__unix__ 1.37 + 1.38 +DEFINES += -DTCPV40HDRS 1.39 + 1.40 +ifeq ($(MOZ_OS2_HIGH_MEMORY),1) 1.41 +HIGHMEM_LDFLAG = -Zhigh-mem 1.42 +endif 1.43 + 1.44 +ifndef NO_SHARED_LIB 1.45 +WRAP_MALLOC_LIB = 1.46 +WRAP_MALLOC_CFLAGS = 1.47 +DSO_CFLAGS = 1.48 +DSO_PIC_CFLAGS = 1.49 +MKSHLIB = $(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@ 1.50 +MKCSHLIB = $(CC) $(CFLAGS) $(DSO_LDOPTS) -o $@ 1.51 +MKSHLIB_FORCE_ALL = 1.52 +MKSHLIB_UNFORCE_ALL = 1.53 +DSO_LDOPTS = -Zomf -Zdll -Zmap $(HIGHMEM_LDFLAG) 1.54 +SHLIB_LDSTARTFILE = 1.55 +SHLIB_LDENDFILE = 1.56 +ifdef MAPFILE 1.57 +MKSHLIB += $(MAPFILE) 1.58 +endif 1.59 +PROCESS_MAP_FILE = \ 1.60 + echo LIBRARY $(LIBRARY_NAME)$(LIBRARY_VERSION) INITINSTANCE TERMINSTANCE > $@; \ 1.61 + echo PROTMODE >> $@; \ 1.62 + echo CODE LOADONCALL MOVEABLE DISCARDABLE >> $@; \ 1.63 + echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $@; \ 1.64 + echo EXPORTS >> $@; \ 1.65 + grep -v ';+' $< | grep -v ';-' | \ 1.66 + sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,\([\t ]*\),\1_,' | \ 1.67 + awk 'BEGIN {ord=1;} { print($$0 " @" ord " RESIDENTNAME"); ord++;}' >> $@ 1.68 + 1.69 +endif #NO_SHARED_LIB 1.70 + 1.71 +OS_CFLAGS = -Wall -Wno-unused -Wpointer-arith -Wcast-align -Wno-switch -Zomf -DDEBUG -DTRACING -g 1.72 + 1.73 +ifdef BUILD_OPT 1.74 +ifeq (11,$(ALLOW_OPT_CODE_SIZE)$(OPT_CODE_SIZE)) 1.75 + OPTIMIZER += -Os -s 1.76 +else 1.77 + OPTIMIZER += -O2 -s 1.78 +endif 1.79 +DEFINES += -UDEBUG -U_DEBUG -DNDEBUG 1.80 +DLLFLAGS = -DLL -OUT:$@ -MAP:$(@:.dll=.map) $(HIGHMEM_LDFLAG) 1.81 +EXEFLAGS = -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE $(HIGHMEM_LDFLAG) 1.82 +OBJDIR_TAG = _OPT 1.83 +else 1.84 +#OPTIMIZER = -O+ -Oi 1.85 +DEFINES += -DDEBUG -D_DEBUG -DDEBUGPRINTS #HCT Need += to avoid overidding manifest.mn 1.86 +DLLFLAGS = -DEBUG -DLL -OUT:$@ -MAP:$(@:.dll=.map) $(HIGHMEM_LDFLAG) 1.87 +EXEFLAGS = -DEBUG -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE $(HIGHMEM_LDFLAG) 1.88 +OBJDIR_TAG = _DBG 1.89 +LDFLAGS = -DEBUG $(HIGHMEM_LDFLAG) 1.90 +endif # BUILD_OPT 1.91 + 1.92 +# OS/2 use nsinstall that is included in the toolkit. 1.93 +# since we do not wish to support and maintain 3 version of nsinstall in mozilla, nspr and nss 1.94 + 1.95 +ifdef BUILD_TREE 1.96 +NSINSTALL_DIR = $(BUILD_TREE)/nss 1.97 +else 1.98 +NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall 1.99 +endif 1.100 +# NSINSTALL = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/nsinstall 1.101 +NSINSTALL = nsinstall # HCT4OS2 1.102 +INSTALL = $(NSINSTALL) 1.103 + 1.104 +MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend 1.105 +MKDEPEND = $(MKDEPEND_DIR)/$(OBJDIR_NAME)/mkdepend 1.106 +MKDEPENDENCIES = $(OBJDIR_NAME)/depend.mk 1.107 + 1.108 +#################################################################### 1.109 +# 1.110 +# One can define the makefile variable NSDISTMODE to control 1.111 +# how files are published to the 'dist' directory. If not 1.112 +# defined, the default is "install using relative symbolic 1.113 +# links". The two possible values are "copy", which copies files 1.114 +# but preserves source mtime, and "absolute_symlink", which 1.115 +# installs using absolute symbolic links. 1.116 +# - THIS IS NOT PART OF THE NEW BINARY RELEASE PLAN for 9/30/97 1.117 +# - WE'RE KEEPING IT ONLY FOR BACKWARDS COMPATIBILITY 1.118 +#################################################################### 1.119 + 1.120 +ifeq ($(NSDISTMODE),copy) 1.121 + # copy files, but preserve source mtime 1.122 + INSTALL = $(NSINSTALL) 1.123 + INSTALL += -t 1.124 +else 1.125 + ifeq ($(NSDISTMODE),absolute_symlink) 1.126 + # install using absolute symbolic links 1.127 + INSTALL = $(NSINSTALL) 1.128 + INSTALL += -L `pwd` 1.129 + else 1.130 + # install using relative symbolic links 1.131 + INSTALL = $(NSINSTALL) 1.132 + INSTALL += -R 1.133 + endif 1.134 +endif 1.135 + 1.136 +define MAKE_OBJDIR 1.137 +if test ! -d $(@D); then rm -rf $(@D); $(NSINSTALL) -D $(@D); fi 1.138 +endef 1.139 + 1.140 +# 1.141 +# override the definition of DLL_PREFIX in prefix.mk 1.142 +# 1.143 + 1.144 +ifndef DLL_PREFIX 1.145 + DLL_PREFIX = $(NULL) 1.146 +endif 1.147 + 1.148 +# 1.149 +# override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY 1.150 +# 1.151 +ifndef TARGETS 1.152 + TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM) 1.153 +endif 1.154 + 1.155 + 1.156 +ifdef LIBRARY_NAME 1.157 + IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)$(JDK_DEBUG_SUFFIX).lib 1.158 +endif 1.159 +