1#
2# ***** BEGIN LICENSE BLOCK *****
3# Version: MPL 1.1/GPL 2.0/LGPL 2.1
4#
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/
9#
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.
14#
15# The Original Code is the Netscape Portable Runtime (NSPR).
16#
17# The Initial Developer of the Original Code is
18# Netscape Communications Corporation.
19# Portions created by the Initial Developer are Copyright (C) 1998-2000
20# the Initial Developer. All Rights Reserved.
21#
22# Contributor(s):
23#
24# Alternatively, the contents of this file may be used under the terms of
25# either of the GNU General Public License Version 2 or later (the "GPL"),
26# or 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.
35#
36# ***** END LICENSE BLOCK *****
37
38#
39# Config stuff for Rhapsody
40#
41
42include $(MOD_DEPTH)/config/UNIX.mk
43
44#
45# The default implementation strategy for Rhapsody is pthreads.
46#
47ifeq ($(CLASSIC_NSPR),1)
48IMPL_STRATEGY   = _EMU
49DEFINES         += -D_PR_LOCAL_THREADS_ONLY
50else
51USE_PTHREADS    = 1
52IMPL_STRATEGY   = _PTH
53endif
54
55CC              = cc
56CCC             = c++
57RANLIB			= ranlib
58
59ifeq (86,$(findstring 86,$(OS_TEST)))
60OS_REL_CFLAGS   = -mno-486 -Di386
61CPU_ARCH        = i386
62else
63OS_REL_CFLAGS   = -Dppc
64CPU_ARCH		= ppc
65endif
66
67# "Commons" are tentative definitions in a global scope, like this:
68#     int x;
69# The meaning of a common is ambiguous.  It may be a true definition:
70#     int x = 0;
71# or it may be a declaration of a symbol defined in another file:
72#     extern int x;
73# Use the -fno-common option to force all commons to become true
74# definitions so that the linker can catch multiply-defined symbols.
75# Also, common symbols are not allowed with Rhapsody dynamic libraries.
76
77OS_CFLAGS		= $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wmost -fno-common -pipe -DRHAPSODY -DHAVE_STRERROR -DHAVE_BSD_FLOCK
78
79ARCH			= rhapsody
80
81# May override this with -bundle to create a loadable module.
82DSO_LDOPTS		= -dynamiclib -compatibility_version 1 -current_version 1 -all_load
83
84MKSHLIB			= $(CC) -arch $(CPU_ARCH) $(DSO_LDOPTS)
85DLL_SUFFIX		= dylib
86
87G++INCLUDES		= -I/usr/include/g++
88