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