security/nss/coreconf/OS2.mk

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 #
     2 # This Source Code Form is subject to the terms of the Mozilla Public
     3 # License, v. 2.0. If a copy of the MPL was not distributed with this
     4 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
     6 MOZ_WIDGET_TOOLKIT = os2
     8 # XP_PC is for Window and OS2 on Intel X86
     9 # XP_OS2 is strictly for OS2 only
    10 XP_DEFINE  += -DXP_PC=1  -DXP_OS2=1
    12 # Override prefix
    13 LIB_PREFIX  = $(NULL)
    15 # Override suffix in suffix.mk
    16 LIB_SUFFIX  = lib
    17 # the DLL_SUFFIX must be uppercase for FIPS mode to work. bugzilla 240784
    18 DLL_SUFFIX  = DLL
    19 PROG_SUFFIX = .exe
    22 CCC			= gcc
    23 LINK			= gcc
    24 AR                      = emxomfar r $@
    25 # Keep AR_FLAGS blank so that we do not have to change rules.mk
    26 AR_FLAGS                = 
    27 RANLIB 			= @echo OS2 RANLIB
    28 BSDECHO 		= @echo OS2 BSDECHO
    29 IMPLIB			= emximp -o
    30 FILTER			= emxexp -o
    32 # GCC for OS/2 currently predefines these, but we don't want them
    33 DEFINES 		+= -Uunix -U__unix -U__unix__
    35 DEFINES			+= -DTCPV40HDRS
    37 ifeq ($(MOZ_OS2_HIGH_MEMORY),1)
    38 HIGHMEM_LDFLAG          = -Zhigh-mem
    39 endif
    41 ifndef NO_SHARED_LIB
    42 WRAP_MALLOC_LIB         = 
    43 WRAP_MALLOC_CFLAGS      = 
    44 DSO_CFLAGS              = 
    45 DSO_PIC_CFLAGS          = 
    46 MKSHLIB                 = $(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@
    47 MKCSHLIB                = $(CC) $(CFLAGS) $(DSO_LDOPTS) -o $@
    48 MKSHLIB_FORCE_ALL       = 
    49 MKSHLIB_UNFORCE_ALL     = 
    50 DSO_LDOPTS              = -Zomf -Zdll -Zmap $(HIGHMEM_LDFLAG)
    51 SHLIB_LDSTARTFILE	= 
    52 SHLIB_LDENDFILE		= 
    53 ifdef MAPFILE
    54 MKSHLIB += $(MAPFILE)
    55 endif
    56 PROCESS_MAP_FILE = \
    57 	echo LIBRARY $(LIBRARY_NAME)$(LIBRARY_VERSION) INITINSTANCE TERMINSTANCE > $@; \
    58 	echo PROTMODE >> $@; \
    59 	echo CODE    LOADONCALL MOVEABLE DISCARDABLE >> $@; \
    60 	echo DATA    PRELOAD MOVEABLE MULTIPLE NONSHARED >> $@; \
    61 	echo EXPORTS >> $@; \
    62 	grep -v ';+' $< | grep -v ';-' | \
    63 	sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,\([\t ]*\),\1_,' | \
    64 	awk 'BEGIN {ord=1;} { print($$0 " @" ord " RESIDENTNAME"); ord++;}' >> $@
    66 endif   #NO_SHARED_LIB
    68 OS_CFLAGS          = -Wall -Wno-unused -Wpointer-arith -Wcast-align -Wno-switch -Zomf -DDEBUG -DTRACING -g
    70 ifdef BUILD_OPT
    71 ifeq (11,$(ALLOW_OPT_CODE_SIZE)$(OPT_CODE_SIZE))
    72 	OPTIMIZER += -Os -s
    73 else
    74 	OPTIMIZER += -O2 -s
    75 endif
    76 DEFINES 		+= -UDEBUG -U_DEBUG -DNDEBUG
    77 DLLFLAGS		= -DLL -OUT:$@ -MAP:$(@:.dll=.map) $(HIGHMEM_LDFLAG)
    78 EXEFLAGS    		= -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE $(HIGHMEM_LDFLAG)
    79 OBJDIR_TAG 		= _OPT
    80 else
    81 #OPTIMIZER		= -O+ -Oi
    82 DEFINES 		+= -DDEBUG -D_DEBUG -DDEBUGPRINTS     #HCT Need += to avoid overidding manifest.mn 
    83 DLLFLAGS		= -DEBUG -DLL -OUT:$@ -MAP:$(@:.dll=.map) $(HIGHMEM_LDFLAG)
    84 EXEFLAGS    		= -DEBUG -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE $(HIGHMEM_LDFLAG)
    85 OBJDIR_TAG 		= _DBG
    86 LDFLAGS 		= -DEBUG $(HIGHMEM_LDFLAG)
    87 endif   # BUILD_OPT
    89 # OS/2 use nsinstall that is included in the toolkit.
    90 # since we do not wish to support and maintain 3 version of nsinstall in mozilla, nspr and nss
    92 ifdef BUILD_TREE
    93 NSINSTALL_DIR  = $(BUILD_TREE)/nss
    94 else
    95 NSINSTALL_DIR  = $(CORE_DEPTH)/coreconf/nsinstall
    96 endif
    97 # NSINSTALL      = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/nsinstall
    98 NSINSTALL 	= nsinstall             # HCT4OS2
    99 INSTALL		= $(NSINSTALL)
   101 MKDEPEND_DIR    = $(CORE_DEPTH)/coreconf/mkdepend
   102 MKDEPEND        = $(MKDEPEND_DIR)/$(OBJDIR_NAME)/mkdepend
   103 MKDEPENDENCIES  = $(OBJDIR_NAME)/depend.mk
   105 ####################################################################
   106 #
   107 # One can define the makefile variable NSDISTMODE to control
   108 # how files are published to the 'dist' directory.  If not
   109 # defined, the default is "install using relative symbolic
   110 # links".  The two possible values are "copy", which copies files
   111 # but preserves source mtime, and "absolute_symlink", which
   112 # installs using absolute symbolic links.
   113 #   - THIS IS NOT PART OF THE NEW BINARY RELEASE PLAN for 9/30/97
   114 #   - WE'RE KEEPING IT ONLY FOR BACKWARDS COMPATIBILITY
   115 ####################################################################
   117 ifeq ($(NSDISTMODE),copy)
   118 	# copy files, but preserve source mtime
   119 	INSTALL  = $(NSINSTALL)
   120 	INSTALL += -t
   121 else
   122 	ifeq ($(NSDISTMODE),absolute_symlink)
   123 		# install using absolute symbolic links
   124 		INSTALL  = $(NSINSTALL)
   125 		INSTALL += -L `pwd`
   126 	else
   127 		# install using relative symbolic links
   128 		INSTALL  = $(NSINSTALL)
   129 		INSTALL += -R
   130 	endif
   131 endif
   133 define MAKE_OBJDIR
   134 if test ! -d $(@D); then rm -rf $(@D); $(NSINSTALL) -D $(@D); fi
   135 endef
   137 #
   138 # override the definition of DLL_PREFIX in prefix.mk
   139 #
   141 ifndef DLL_PREFIX
   142     DLL_PREFIX = $(NULL)
   143 endif
   145 #
   146 # override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY
   147 #
   148 ifndef TARGETS
   149     TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
   150 endif
   153 ifdef LIBRARY_NAME
   154     IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)$(JDK_DEBUG_SUFFIX).lib
   155 endif

mercurial