Adding test
[mozilla-central.git] / security / coreconf / IRIX.mk
blob28f4f051f5079ad984b7d9ceafa2e8ac67ce87d1
2 # ***** BEGIN LICENSE BLOCK *****
3 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 # The contents of this file are subject to the Mozilla Public License Version
6 # 1.1 (the "License"); you may not use this file except in compliance with
7 # the License. You may obtain a copy of the License at
8 # http://www.mozilla.org/MPL/
10 # Software distributed under the License is distributed on an "AS IS" basis,
11 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 # for the specific language governing rights and limitations under the
13 # License.
15 # The Original Code is the Netscape security libraries.
17 # The Initial Developer of the Original Code is
18 # Netscape Communications Corporation.
19 # Portions created by the Initial Developer are Copyright (C) 1994-2000
20 # the Initial Developer. All Rights Reserved.
22 # Contributor(s):
24 # Alternatively, the contents of this file may be used under the terms of
25 # either the GNU General Public License Version 2 or later (the "GPL"), or
26 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 # in which case the provisions of the GPL or the LGPL are applicable instead
28 # of those above. If you wish to allow use of your version of this file only
29 # under the terms of either the GPL or the LGPL, and not to allow others to
30 # use your version of this file under the terms of the MPL, indicate your
31 # decision by deleting the provisions above and replace them with the notice
32 # and other provisions required by the GPL or the LGPL. If you do not delete
33 # the provisions above, a recipient may use your version of this file under
34 # the terms of any one of the MPL, the GPL or the LGPL.
36 # ***** END LICENSE BLOCK *****
38 include $(CORE_DEPTH)/coreconf/UNIX.mk
41 # The default implementation strategy for Irix is classic nspr.
43 ifeq ($(USE_PTHREADS),1)
44 ifeq ($(USE_N32),1)
45 IMPL_STRATEGY = _n32_PTH
46 else
47 IMPL_STRATEGY = _PTH
48 endif
49 endif
51 DEFAULT_COMPILER = cc
53 ifdef NS_USE_GCC
54 CC = gcc
55 AS = $(CC) -x assembler-with-cpp
56 ODD_CFLAGS = -Wall -Wno-format -Wno-switch
57 ifdef BUILD_OPT
58 OPTIMIZER = -O6
59 endif
60 else
61 CC = cc
62 CCC = CC
63 ODD_CFLAGS = -fullwarn -xansi -woff 1209
64 ifdef BUILD_OPT
65 ifeq ($(USE_N32),1)
66 OPTIMIZER = -O -OPT:Olimit=4000
67 else
68 OPTIMIZER = -O -Olimit 4000
69 endif
70 endif
72 # For 6.x machines, include this flag
73 ifeq (6., $(findstring 6., $(OS_RELEASE)))
74 ifeq ($(USE_N32),1)
75 ODD_CFLAGS += -n32 -mips3 -exceptions
76 else
77 ODD_CFLAGS += -32 -multigot
78 endif
79 else
80 ODD_CFLAGS += -xgot
81 endif
82 ifeq ($(USE_N32),1)
83 OS_CFLAGS += -dollar
84 endif
85 endif
87 ODD_CFLAGS += -DSVR4 -DIRIX
89 CPU_ARCH = mips
91 RANLIB = /bin/true
92 # For purify
93 # NOTE: should always define _SGI_MP_SOURCE
94 NOMD_OS_CFLAGS += $(ODD_CFLAGS) -D_SGI_MP_SOURCE
96 OS_CFLAGS += $(NOMD_OS_CFLAGS)
97 ifdef USE_MDUPDATE
98 OS_CFLAGS += -MDupdate $(DEPENDENCIES)
99 endif
101 ifeq ($(USE_N32),1)
102 SHLIB_LD_OPTS += -n32 -mips3
103 endif
105 MKSHLIB += $(LD) $(SHLIB_LD_OPTS) -shared -soname $(@:$(OBJDIR)/%.so=%.so)
106 ifdef MAPFILE
107 # Add LD options to restrict exported symbols to those in the map file
108 endif
109 # Change PROCESS to put the mapfile in the correct format for this platform
110 PROCESS_MAP_FILE = cp $< $@
112 DSO_LDOPTS = -elf -shared -all
114 ifdef DSO_BACKEND
115 DSO_LDOPTS += -soname $(DSO_NAME)
116 endif
119 # Revision notes:
121 # In the IRIX compilers prior to version 7.2, -n32 implied -mips3.
122 # Beginning in the 7.2 compilers, -n32 implies -mips4 when the compiler
123 # is running on a system with a mips4 CPU (e.g. R8K, R10K).
124 # We want our code to explicitly be mips3 code, so we now explicitly
125 # set -mips3 whenever we set -n32.