# # 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/. include $(CORE_DEPTH)/coreconf/UNIX.mk # # The default implementation strategy for Irix is classic nspr. # ifeq ($(USE_PTHREADS),1) ifeq ($(USE_N32),1) IMPL_STRATEGY = _n32_PTH else IMPL_STRATEGY = _PTH endif endif DEFAULT_COMPILER = cc ifdef NS_USE_GCC CC = gcc AS = $(CC) -x assembler-with-cpp ODD_CFLAGS = -Wall -Wno-format -Wno-switch ifdef BUILD_OPT OPTIMIZER = -O6 endif else CC = cc CCC = CC ODD_CFLAGS = -fullwarn -xansi -woff 1209 ifdef BUILD_OPT ifeq ($(USE_N32),1) OPTIMIZER = -O -OPT:Olimit=4000 else OPTIMIZER = -O -Olimit 4000 endif endif # For 6.x machines, include this flag ifeq (6., $(findstring 6., $(OS_RELEASE))) ifeq ($(USE_N32),1) ODD_CFLAGS += -n32 -mips3 -exceptions else ODD_CFLAGS += -32 -multigot endif else ODD_CFLAGS += -xgot endif ifeq ($(USE_N32),1) OS_CFLAGS += -dollar endif endif ODD_CFLAGS += -DSVR4 -DIRIX CPU_ARCH = mips RANLIB = /bin/true # For purify # NOTE: should always define _SGI_MP_SOURCE NOMD_OS_CFLAGS += $(ODD_CFLAGS) -D_SGI_MP_SOURCE OS_CFLAGS += $(NOMD_OS_CFLAGS) ifdef USE_MDUPDATE OS_CFLAGS += -MDupdate $(DEPENDENCIES) endif ifeq ($(USE_N32),1) SHLIB_LD_OPTS += -n32 -mips3 endif MKSHLIB += $(LD) $(SHLIB_LD_OPTS) -shared -soname $(@:$(OBJDIR)/%.so=%.so) ifdef MAPFILE # Add LD options to restrict exported symbols to those in the map file endif # Change PROCESS to put the mapfile in the correct format for this platform PROCESS_MAP_FILE = cp $< $@ DSO_LDOPTS = -elf -shared -all ifdef DSO_BACKEND DSO_LDOPTS += -soname $(DSO_NAME) endif # # Revision notes: # # In the IRIX compilers prior to version 7.2, -n32 implied -mips3. # Beginning in the 7.2 compilers, -n32 implies -mips4 when the compiler # is running on a system with a mips4 CPU (e.g. R8K, R10K). # We want our code to explicitly be mips3 code, so we now explicitly # set -mips3 whenever we set -n32. #