|
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/. |
|
5 |
|
6 # Config stuff for AIX. |
|
7 |
|
8 include $(CORE_DEPTH)/coreconf/UNIX.mk |
|
9 |
|
10 # |
|
11 # There are two implementation strategies available on AIX: |
|
12 # pthreads, and pthreads-user. The default is pthreads. |
|
13 # In both strategies, we need to use pthread_user.c, instead of |
|
14 # aix.c. The fact that aix.c is never used is somewhat strange. |
|
15 # |
|
16 # So we need to do the following: |
|
17 # - Default (PTHREADS_USER not defined in the environment or on |
|
18 # the command line): |
|
19 # Set PTHREADS_USER=1, USE_PTHREADS=1 |
|
20 # - PTHREADS_USER=1 set in the environment or on the command line: |
|
21 # Do nothing. |
|
22 # |
|
23 ifeq ($(PTHREADS_USER),1) |
|
24 USE_PTHREADS = # just to be safe |
|
25 IMPL_STRATEGY = _PTH_USER |
|
26 else |
|
27 USE_PTHREADS = 1 |
|
28 PTHREADS_USER = 1 |
|
29 endif |
|
30 |
|
31 DEFAULT_COMPILER = xlc_r |
|
32 |
|
33 CC = xlc_r |
|
34 CCC = xlC_r |
|
35 |
|
36 CPU_ARCH = rs6000 |
|
37 |
|
38 RANLIB = ranlib |
|
39 |
|
40 OS_CFLAGS = -DAIX -DSYSV |
|
41 OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm |
|
42 |
|
43 DSO_LDOPTS = -brtl -bnortllib -bM:SRE -bnoentry |
|
44 MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm |
|
45 |
|
46 AIX_WRAP = $(DIST)/lib/aixwrap.o |
|
47 AIX_TMP = $(OBJDIR)/_aix_tmp.o |
|
48 |
|
49 ifdef MAPFILE |
|
50 DSO_LDOPTS += -bexport:$(MAPFILE) |
|
51 else |
|
52 DSO_LDOPTS += -bexpall |
|
53 endif |
|
54 |
|
55 PROCESS_MAP_FILE = grep -v ';+' $< | grep -v ';-' | \ |
|
56 sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' > $@ |
|
57 |
|
58 ifdef BUILD_OPT |
|
59 OPTIMIZER += -qmaxmem=-1 |
|
60 endif |
|
61 |
|
62 ifeq ($(USE_64), 1) |
|
63 OS_CFLAGS += -DAIX_64BIT |
|
64 OBJECT_MODE=64 |
|
65 export OBJECT_MODE |
|
66 endif |
|
67 |