Compare commits

..

1 Commits

Author SHA1 Message Date
(no author)
94f38526ea This commit was manufactured by cvs2svn to create tag 'NSS31Beta1'.
git-svn-id: svn://10.0.0.236/tags/NSS31Beta1@79370 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-15 22:08:58 +00:00
1317 changed files with 125127 additions and 229583 deletions

View File

@@ -0,0 +1,273 @@
#!/bin/csh
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Startup file for csh and tcsh. It is meant to work on:
#
# SunOS 4.1.3_U1,
# Sun Solaris,
# Sun Solaris on Intel,
# SGI IRIX,
# SGI IRIX64,
# UNIX_SV,
# IBM AIX,
# Hewlett-Packard HP-UX,
# SCO_SV,
# FreeBSD,
# DEC OSF/1,
# Linux,
# and everything else.
#
###############################################
# Set operating system name and release level #
###############################################
set os_name=`uname -s`
set os_release=`uname -r`
##########################################################
# Set environment variables based upon operating system #
##########################################################
if ($os_name == "SunOS" && $os_release == "4.1.3_U1") then
##############################
# SunOS 4.1.3_U1
#
setenv NO_MDUPDATE 1
set path = ( /tools/ns/soft/gcc-2.6.3/run/default/sparc_sun_sunos4.1.3_U1/bin \
/tools/ns/bin \
/sbin \
/usr/bin \
/usr/openwin/bin \
/usr/openwin/include \
/usr/ucb \
/usr/local/bin \
/etc \
/usr/etc \
/usr/etc/install \
. )
else if ($os_name == "SunOS") then
################################
# Assume it is Sun Solaris
#
# To build Navigator on Solaris 2.5, I must set the environment
# variable NO_MDUPDATE and use gcc-2.6.3.
setenv NO_MDUPDATE 1
set path = ( /share/builds/components/jdk/1.2.2_01/SunOS \
/usr/ccs/bin \
/usr/opt/bin \
/tools/ns/bin \
/usr/sbin \
/sbin \
/usr/bin \
/usr/dt/bin \
/usr/openwin/bin \
/usr/openwin/include \
/usr/ucb \
/usr/opt/java/bin \
/usr/local/bin \
/etc \
/usr/etc \
/usr/etc/install \
/opt/Acrobat3/bin \
. )
# To get the native Solaris cc
if (`uname -m` == i86pc) then
set path = ( /h/solx86/export/home/opt/SUNWspro/SC3.0.1/bin \
$path )
else
set path = ( /tools/ns/workshop/bin \
/tools/ns/soft/gcc-2.6.3/run/default/sparc_sun_solaris2.4/bin \
$path )
endif
setenv LD_LIBRARY_PATH /share/builds/components/jdk/1.2.2_01/SunOS/lib/sparc/native_threads
setenv MANPATH /usr/local/man:/usr/local/lib/mh/man:/usr/local/lib/rcscvs/man:/usr/local/lib/fvwm/man:/usr/local/lib/xscreensaver/man:/usr/share/man:/usr/openwin/man:/usr/opt/man
# For Purify
setenv PURIFYHOME /usr/local-sparc-solaris/pure/purify-4.0-solaris2
setenv PATH ${PURIFYHOME}:$PATH
setenv MANPATH $PURIFYHOME/man:$MANPATH
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$PURIFYHOME
setenv PURIFYOPTIONS "-max_threads=1000 -follow-child-processes=yes"
else if ($os_name == "IRIX" || $os_name == "IRIX64") then
#############
# SGI Irix
#
set path = ( /share/builds/components/jdk/1.2.1/IRIX \
/tools/ns/bin \
/tools/contrib/bin \
/usr/local/bin \
/usr/sbin \
/usr/bsd \
/usr/bin \
/bin \
/etc \
/usr/etc \
/usr/bin/X11 \
. )
else if ($os_name == "UNIX_SV") then
#################
# UNIX_SV
#
set path = ( /usr/local/bin \
/tools/ns/bin \
/bin \
/usr/bin \
/usr/bin/X11 \
/X11/bin \
/usr/X/bin \
/usr/ucb \
/usr/sbin \
/sbin \
/usr/ccs/bin \
. )
else if ($os_name == "AIX") then
#################
# IBM AIX
#
set path = ( /share/builds/components/jdk/1.2.2/AIX \
/usr/ucb/ \
/tools/ns-arch/rs6000_ibm_aix4.1/bin \
/tools/ns-arch/rs6000_ibm_aix3.2.5/bin \
/share/tools/ns/soft/cvs-1.8/run/default/rs6000_ibm_aix3.2.5/bin \
/bin \
/usr/bin \
/usr/ccs/bin \
/usr/sbin \
/usr/local/bin \
/usr/bin/X11 \
/usr/etc \
/etc \
/sbin \
. )
else if ($os_name == "HP-UX") then
#################
# HP UX
#
set path = ( /share/builds/components/jdk/1.1.6/HP-UX \
/usr/bin \
/opt/ansic/bin \
/usr/ccs/bin \
/usr/contrib/bin \
/opt/nettladm/bin \
/opt/graphics/common/bin \
/usr/bin/X11 \
/usr/contrib/bin/X11 \
/opt/upgrade/bin \
/opt/CC/bin \
/opt/aCC/bin \
/opt/langtools/bin \
/opt/imake/bin \
/etc \
/usr/etc \
/usr/local/bin \
/tools/ns/bin \
/tools/contrib/bin \
/usr/sbin \
/usr/local/bin \
/tools/ns/bin \
/tools/contrib/bin \
/usr/sbin \
/usr/include/X11R5 \
. )
else if ($os_name == "SCO_SV") then
#################
# SCO
#
set path = ( /bin \
/usr/bin \
/tools/ns/bin \
/tools/contrib/bin \
/usr/sco/bin \
/usr/bin/X11 \
/usr/local/bin \
. )
else if ($os_name == "FreeBSD") then
#################
# FreeBSD
#
setenv PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/java/bin:/usr/local/bin:/usr/ucb:/usr/ccs/bin:/tools/contrib/bin:/tools/ns/bin:.
else if ($os_name == "OSF1") then
#################
# DEC OSF1
#
set path = ( /share/builds/components/jdk/1.2.2_3/OSF1 \
/tools/ns-arch/alpha_dec_osf4.0/bin \
/tools/ns-arch/soft/cvs-1.8.3/run/default/alpha_dec_osf2.0/bin \
/usr/local-alpha-osf/bin \
/usr3/local/bin \
/usr/local/bin \
/usr/sbin \
/usr/bin \
/bin \
/usr/bin/X11 \
/usr/ucb \
. )
else if ($os_name == "Linux") then
#################
# Linux
#
set path = ( /share/builds/components/jdk/1.2.2/Linux \
$path )
endif
###############################
# Reset any "tracked" aliases #
###############################
rehash

View File

@@ -0,0 +1,216 @@
#!/bin/sh
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Startup file for sh, ksh and bash. It is meant to work on:
#
# SunOS 4.1.3_U1,
# Sun Solaris,
# Sun Solaris on Intel,
# SGI IRIX,
# SGI IRIX64,
# UNIX_SV,
# IBM AIX,
# Hewlett-Packard HP-UX,
# SCO_SV,
# FreeBSD,
# DEC OSF/1,
# Linux,
# and everything else.
#
###############################################
# Set operating system name and release level #
###############################################
OS_NAME=`uname -s`
export OS_NAME
OS_RELEASE=`uname -r`
export OS_RELEASE
##########################################################
# Set environment variables based upon operating system #
##########################################################
case $OS_NAME in
SunOS)
##############################
# Sun
#
case $OS_RELEASE in
4.1.3_U1)
##############################
# SunOS 4.1.3_U1
#
NO_MDUPDATE=1
export NO_MDUPDATE
PATH=/tools/ns/soft/gcc-2.6.3/run/default/sparc_sun_sunos4.1.3_U1/bin:tools/ns/bin:/sbin:/usr/bin:/usr/openwin/bin:/usr/openwin/include:/usr/ucb:/usr/local/bin:/etc:/usr/etc:/usr/etc/install:.
export PATH
;;
*)
################################
# Assume it is Sun Solaris
#
# To build Navigator on Solaris 2.5, I must set the environment
# variable NO_MDUPDATE and use gcc-2.6.3.
NO_MDUPDATE=1
export NO_MDUPDATE
PATH=/share/builds/components/jdk/1.2.2_01/SunOS:/usr/ccs/bin:/usr/opt/bin:/tools/ns/bin:/usr/sbin:/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/openwin/include:/usr/ucb:/usr/opt/java/bin:/usr/local/bin:/etc:/usr/etc:/usr/etc/install:/opt/Acrobat3/bin:.
export PATH
# To get the native Solaris cc
OS_TEST=`uname -m`
export OS_TEST
case $OS_TEST in
i86pc)
PATH=/h/solx86/export/home/opt/SUNWspro/SC3.0.1/bin:$PATH
export PATH
;;
*)
PATH=/tools/ns/workshop/bin:/tools/ns/soft/gcc-2.6.3/run/default/sparc_sun_solaris2.4/bin:$PATH
export PATH
;;
esac
LD_LIBRARY_PATH=/share/builds/components/jdk/1.2.2_01/SunOS/lib/sparc/native_threads
export LD_LIBRARY_PATH
MANPATH=/usr/local/man:/usr/local/lib/mh/man:/usr/local/lib/rcscvs/man:/usr/local/lib/fvwm/man:/usr/local/lib/xscreensaver/man:/usr/share/man:/usr/openwin/man:/usr/opt/man
export MANPATH
# For Purify
PURIFYHOME=/usr/local-sparc-solaris/pure/purify-4.0-solaris2
export PURIFYHOME
PATH=/usr/local-sparc-solaris/pure/purify-4.0-solaris2:$PATH
export PATH
MANPATH=$PURIFYHOME/man:$MANPATH
export MANPATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local-sparc-solaris/pure/purify-4.0-solaris2
export LD_LIBRARY_PATH
PURIFYOPTIONS="-max_threads=1000 -follow-child-processes=yes"
export PURIFYOPTIONS
;;
esac
;;
IRIX | IRIX64)
#############
# SGI Irix
#
PATH=/share/builds/components/jdk/1.2.1/IRIX:/tools/ns/bin:/tools/contrib/bin:/usr/local/bin:/usr/sbin:/usr/bsd:/usr/bin:/bin:/etc:/usr/etc:/usr/bin/X11:.
export PATH
;;
UNIX_SV)
#################
# UNIX_SV
#
PATH=/usr/local/bin:/tools/ns/bin:/bin:/usr/bin:/usr/bin/X11:/X11/bin:/usr/X/bin:/usr/ucb:/usr/sbin:/sbin:/usr/ccs/bin:.
export PATH
;;
AIX)
#################
# IBM AIX
#
PATH=/share/builds/components/jdk/1.2.2/AIX:/usr/ucb/:/tools/ns-arch/rs6000_ibm_aix4.1/bin:/tools/ns-arch/rs6000_ibm_aix3.2.5/bin:/share/tools/ns/soft/cvs-1.8/run/default/rs6000_ibm_aix3.2.5/bin:/bin:/usr/bin:/usr/ccs/bin:/usr/sbin:/usr/local/bin:/usr/bin/X11:/usr/etc:/etc:/sbin:.
export PATH
;;
HP-UX)
#################
# HP UX
#
PATH=/share/builds/components/jdk/1.1.6/HP-UX:/usr/bin:/opt/ansic/bin:/usr/ccs/bin:/usr/contrib/bin:/opt/nettladm/bin:/opt/graphics/common/bin:/usr/bin/X11:/usr/contrib/bin/X11:/opt/upgrade/bin:/opt/CC/bin:/opt/aCC/bin:/opt/langtools/bin:/opt/imake/bin:/etc:/usr/etc:/usr/local/bin:/tools/ns/bin:/tools/contrib/bin:/usr/sbin:/usr/local/bin:/tools/ns/bin:/tools/contrib/bin:/usr/sbin:/usr/include/X11R5:.
export PATH
;;
SCO_SV)
#################
# SCO
#
PATH=/bin:/usr/bin:/tools/ns/bin:/tools/contrib/bin:/usr/sco/bin:/usr/bin/X11:/usr/local/bin:.
export PATH
;;
FreeBSD)
#################
# FreeBSD
#
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/java/bin:/usr/local/bin:/usr/ucb:/usr/ccs/bin:/tools/contrib/bin:/tools/ns/bin:.
export PATH
;;
OSF1)
#################
# DEC OSF1
#
PATH=/share/builds/components/jdk/1.2.2_3/OSF1:/tools/ns-arch/alpha_dec_osf4.0/bin:/tools/ns-arch/soft/cvs-1.8.3/run/default/alpha_dec_osf2.0/bin:/usr/local-alpha-osf/bin:/usr3/local/bin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/usr/bin/X11:/usr/ucb:.
export PATH
;;
Linux)
#################
# Linux
#
PATH=/share/builds/components/jdk/1.2.2/Linux:$PATH
export PATH
;;
esac
###############################
# Reset any "tracked" aliases #
###############################
hash -r

View File

@@ -65,19 +65,10 @@ CPU_ARCH = rs6000
RANLIB = ranlib
OS_CFLAGS = -DAIX -DSYSV
ifndef NS_USE_GCC
ifeq ($(CC),xlC_r)
OS_CFLAGS += -qarch=com
endif
AIX_WRAP = $(DIST)/lib/aixwrap.o
AIX_TMP = $(OBJDIR)/_aix_tmp.o
ifdef MAPFILE
EXPORT_RULES = -bexport:$(MAPFILE)
endif
PROCESS_MAP_FILE = grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' > $@
ifdef BUILD_OPT
OPTIMIZER += -qmaxmem=-1
endif
OS_LIBS += -lsvld

View File

@@ -44,12 +44,3 @@ AIX_LINK_OPTS += -bnso -berok
DLL_SUFFIX = a
OS_LIBS += -lsvld
# override default value set in suffix.mk, for AIX 4.1 only
DYNAMIC_LIB_EXTENSION = _shr
# override default value in ruleset.mk
ifdef LIBRARY_NAME
SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)_shr$(JDK_DEBUG_SUFFIX).a
endif

View File

@@ -37,14 +37,8 @@
include $(CORE_DEPTH)/coreconf/AIX.mk
OS_CFLAGS += -DAIX4_2
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
MKSHLIB = $(LD) $(DSO_LDOPTS) -L/usr/lpp/xlC/lib -lc -lm
DSO_LDOPTS = -brtl -bM:SRE -bnoentry -bexpall
MKSHLIB = $(LD) $(DSO_LDOPTS) -lsvld -L/usr/lpp/xlC/lib -lc -lm
OS_LIBS += -L/usr/lpp/xlC/lib -lc -lm
ifdef MAPFILE
DSO_LDOPTS += -bexport:$(MAPFILE)
else
DSO_LDOPTS += -bexpall
endif

View File

@@ -39,17 +39,13 @@ include $(CORE_DEPTH)/coreconf/AIX.mk
ifeq ($(USE_64), 1)
# Next line replaced by generic name handling in arch.mk
# COMPILER_TAG = _64
OS_CFLAGS += -DAIX_64BIT
OS_CFLAGS += -O2 -DAIX_64BIT
OBJECT_MODE=64
export OBJECT_MODE
endif
OS_CFLAGS += -DAIX4_3
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm
DSO_LDOPTS = -brtl -bM:SRE -bnoentry -bexpall
MKSHLIB = $(LD) $(DSO_LDOPTS) -lsvld -L/usr/lpp/xlC/lib -lc -lm
OS_LIBS += -L/usr/lpp/xlC/lib -lc -lm
OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm
ifdef MAPFILE
DSO_LDOPTS += -bexport:$(MAPFILE)
else
DSO_LDOPTS += -bexpall
endif

View File

@@ -1,54 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for AIX5.1
#
include $(CORE_DEPTH)/coreconf/AIX.mk
ifeq ($(USE_64), 1)
# Next line replaced by generic name handling in arch.mk
# COMPILER_TAG = _64
OS_CFLAGS += -DAIX_64BIT
OBJECT_MODE=64
export OBJECT_MODE
endif
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm
OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm
ifdef MAPFILE
DSO_LDOPTS += -bexport:$(MAPFILE)
else
DSO_LDOPTS += -bexpall
endif

View File

@@ -1,54 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for AIX5.2
#
include $(CORE_DEPTH)/coreconf/AIX.mk
ifeq ($(USE_64), 1)
# Next line replaced by generic name handling in arch.mk
# COMPILER_TAG = _64
OS_CFLAGS += -DAIX_64BIT
OBJECT_MODE=64
export OBJECT_MODE
endif
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm
OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm
ifdef MAPFILE
DSO_LDOPTS += -bexport:$(MAPFILE)
else
DSO_LDOPTS += -bexpall
endif

View File

@@ -1,88 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Kurt J. Lidl
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for BSD/OS
#
include $(CORE_DEPTH)/coreconf/UNIX.mk
DEFAULT_COMPILER = gcc
CC = gcc
CCC = g++
RANLIB = ranlib
ifeq ($(OS_TEST),i386)
OS_REL_CFLAGS = -D__i386__
CPU_ARCH = x86
else
ifeq ($(OS_TEST),ppc)
OS_REL_CFLAGS = -D__ppc__
CPU_ARCH = ppc
else
ifeq ($(OS_TEST),sparc)
OS_REL_CFLAGS = -D__sparc__
CPU_ARCH = sparc
else
# treat the ultrasparc like a regular sparc, at least for now!
ifeq ($(OS_TEST),sparc_v9)
OS_REL_CFLAGS = -D__sparc__
CPU_ARCH = sparc
endif
endif
endif
endif
DLL_SUFFIX = so
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wall -DBSD_OS -DBSDI -Dunix -DHAVE_STRERROR -DHAVE_BSD_FLOCK
ARCH = bsdos
DSO_CFLAGS = -fPIC -DPIC
DSO_LDOPTS = -shared
DSO_LDFLAGS =
DSO_LDOPTS += -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
ifdef LIBRUNPATH
DSO_LDOPTS += -Wl,-R$(LIBRUNPATH)
endif
MKSHLIB = $(CC) $(DSO_LDOPTS)
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 $(LIBRARY_NAME).def $@
G++INCLUDES = -I/usr/include/g++
INCLUDES += -I/usr/X11R6/include

View File

@@ -1,79 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2002 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for BeOS
#
include $(CORE_DEPTH)/coreconf/UNIX.mk
XP_DEFINE := $(XP_DEFINE:-DXP_UNIX=-DXP_BEOS)
USE_PTHREADS =
ifeq ($(USE_PTHREADS),1)
IMPL_STRATEGY = _PTH
endif
CC = gcc
CCC = g++
RANLIB = ranlib
DEFAULT_COMPILER = gcc
ifeq ($(OS_TEST),ppc)
OS_REL_CFLAGS = -Dppc
CPU_ARCH = ppc
else
OS_REL_CFLAGS = -Di386
CPU_ARCH = x86
endif
MKSHLIB = $(CC) -nostart -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
ifdef BUILD_OPT
OPTIMIZER = -O2
endif
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wall -pipe
OS_LIBS = -lbe
DEFINES += -DBEOS
ifdef USE_PTHREADS
DEFINES += -D_REENTRANT
endif
ARCH = beos
DSO_CFLAGS = -fPIC
DSO_LDOPTS =
DSO_LDFLAGS =

View File

@@ -1,78 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for Darwin.
#
include $(CORE_DEPTH)/coreconf/UNIX.mk
DEFAULT_COMPILER = cc
CC = cc
CCC = c++
RANLIB = ranlib
ifeq (86,$(findstring 86,$(OS_TEST)))
OS_REL_CFLAGS = -Di386
CPU_ARCH = i386
else
OS_REL_CFLAGS = -Dppc
CPU_ARCH = ppc
endif
# "Commons" are tentative definitions in a global scope, like this:
# int x;
# The meaning of a common is ambiguous. It may be a true definition:
# int x = 0;
# or it may be a declaration of a symbol defined in another file:
# extern int x;
# Use the -fno-common option to force all commons to become true
# definitions so that the linker can catch multiply-defined symbols.
# Also, common symbols are not allowed with Darwin dynamic libraries.
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wmost -fpascal-strings -no-cpp-precomp -fno-common -pipe -DDARWIN -DHAVE_STRERROR -DHAVE_BSD_FLOCK
ifdef BUILD_OPT
OPTIMIZER = -O2
endif
ARCH = darwin
# May override this with -bundle to create a loadable module.
DSO_LDOPTS = -dynamiclib -compatibility_version 1 -current_version 1 -install_name @executable_path/$(notdir $@) -headerpad_max_install_names
MKSHLIB = $(CC) -arch $(CPU_ARCH) $(DSO_LDOPTS)
DLL_SUFFIX = dylib
PROCESS_MAP_FILE = grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,^,_,' > $@
G++INCLUDES = -I/usr/include/g++

View File

@@ -1,83 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for FreeBSD
#
include $(CORE_DEPTH)/coreconf/UNIX.mk
DEFAULT_COMPILER = gcc
CC = gcc
CCC = g++
RANLIB = ranlib
ifeq ($(OS_TEST),alpha)
CPU_ARCH = alpha
else
CPU_ARCH = x86
endif
OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
DSO_CFLAGS = -fPIC
DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@)
#
# The default implementation strategy for FreeBSD is pthreads.
#
ifndef CLASSIC_NSPR
USE_PTHREADS = 1
DEFINES += -D_THREAD_SAFE -D_REENTRANT
OS_LIBS += -pthread
DSO_LDOPTS += -pthread
endif
ARCH = freebsd
MOZ_OBJFORMAT := $(shell test -x /usr/bin/objformat && /usr/bin/objformat || echo aout)
ifeq ($(MOZ_OBJFORMAT),elf)
DLL_SUFFIX = so
else
DLL_SUFFIX = so.1.0
endif
MKSHLIB = $(CC) $(DSO_LDOPTS)
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 $(LIBRARY_NAME).def $@
G++INCLUDES = -I/usr/include/g++
INCLUDES += -I/usr/X11R6/include

View File

@@ -3,25 +3,25 @@
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
#
# The Original Code is the Netscape security libraries.
#
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
#
# Contributor(s):
#
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
@@ -30,7 +30,7 @@
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for OpenBSD
# Config stuff for FreeBSD2
#
include $(CORE_DEPTH)/coreconf/UNIX.mk
@@ -40,30 +40,26 @@ CC = gcc
CCC = g++
RANLIB = ranlib
CPU_ARCH := $(shell uname -p)
ifeq ($(CPU_ARCH),i386)
OS_REL_CFLAGS = -Di386
CPU_ARCH = x86
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
ifdef USE_PTHREADS
OS_LIBS = -lc_r
DEFINES += -D_PR_NEED_FAKE_POLL
else
OS_LIBS = -lc
endif
ifndef CLASSIC_NSPR
USE_PTHREADS = 1
DEFINES += -D_THREAD_SAFE -pthread
OS_LIBS += -pthread
DSO_LDOPTS += -pthread
endif
ARCH = freebsd
DLL_SUFFIX = so.1.0
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DOPENBSD
OS_LIBS =
ARCH = openbsd
DSO_CFLAGS = -fPIC -DPIC
DSO_LDOPTS = -shared -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
DSO_CFLAGS = -fPIC
DSO_LDOPTS = -Bshareable
DSO_LDFLAGS =
MKSHLIB = $(CC) $(DSO_LDOPTS)
MKSHLIB = $(LD) $(DSO_LDOPTS)
G++INCLUDES = -I/usr/include/g++
INCLUDES += -I/usr/X11R6/include

View File

@@ -40,9 +40,8 @@ DEFAULT_COMPILER = cc
CPU_ARCH = hppa
DLL_SUFFIX = sl
CC = cc
CCC = CC
OS_CFLAGS += -Ae $(DSO_CFLAGS) -DHPUX -D$(CPU_ARCH) -D_HPUX_SOURCE -D_USE_BIG_FDS
OS_CFLAGS += -Ae $(DSO_CFLAGS) -DHPUX -D$(CPU_ARCH) -D_HPUX_SOURCE
ifeq ($(DEFAULT_IMPL_STRATEGY),_PTH)
USE_PTHREADS = 1
@@ -60,17 +59,12 @@ ifdef PTHREADS_USER
OS_CFLAGS += -D_POSIX_C_SOURCE=199506L
endif
LDFLAGS = -z -Wl,+s
MKSHLIB = $(LD) $(DSO_LDOPTS)
ifdef MAPFILE
MKSHLIB += -c $(MAPFILE)
endif
PROCESS_MAP_FILE = grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,^,+e ,' > $@
DSO_LDOPTS = -b +h $(notdir $@)
DSO_LDOPTS = -b
DSO_LDFLAGS =
# +Z generates position independent code for use in shared libraries.
DSO_CFLAGS = +Z
HAVE_PURIFY = 1

View File

@@ -46,5 +46,5 @@ include $(CORE_DEPTH)/coreconf/HP-UXB.10.mk
OS_CFLAGS += -DHPUX10_10
ifeq ($(USE_PTHREADS),1)
OS_CFLAGS += -D_REENTRANT
OS_CFLAGS += -D_REENTRANT -D_PR_DCETHREADS
endif

View File

@@ -46,5 +46,5 @@ include $(CORE_DEPTH)/coreconf/HP-UXB.10.mk
OS_CFLAGS += -DHPUX10_20
ifeq ($(USE_PTHREADS),1)
OS_CFLAGS += -D_REENTRANT
OS_CFLAGS += -D_REENTRANT -D_PR_DCETHREADS
endif

View File

@@ -1,55 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2001 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# On HP-UX 10.30 and 11.x, the default implementation strategy is
# pthreads. Classic nspr and pthreads-user are also available.
#
ifeq ($(OS_RELEASE),B.11.11)
OS_CFLAGS += -DHPUX10
DEFAULT_IMPL_STRATEGY = _PTH
endif
#
# To use the true pthread (kernel thread) library on 10.30 and
# 11.x, we should define _POSIX_C_SOURCE to be 199506L.
# The _REENTRANT macro is deprecated.
#
ifdef USE_PTHREADS
OS_CFLAGS += -D_POSIX_C_SOURCE=199506L
endif
#
# Config stuff for HP-UXB.11.11.
#
include $(CORE_DEPTH)/coreconf/HP-UXB.11.mk

View File

@@ -1,55 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2002 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# On HP-UX 10.30 and 11.x, the default implementation strategy is
# pthreads. Classic nspr and pthreads-user are also available.
#
ifeq ($(OS_RELEASE),B.11.20)
OS_CFLAGS += -DHPUX10
DEFAULT_IMPL_STRATEGY = _PTH
endif
#
# To use the true pthread (kernel thread) library on 10.30 and
# 11.x, we should define _POSIX_C_SOURCE to be 199506L.
# The _REENTRANT macro is deprecated.
#
ifdef USE_PTHREADS
OS_CFLAGS += -D_POSIX_C_SOURCE=199506L
endif
#
# Config stuff for HP-UXB.11.x.
#
include $(CORE_DEPTH)/coreconf/HP-UXB.11.mk

View File

@@ -1,55 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2002 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# On HP-UX 10.30 and 11.x, the default implementation strategy is
# pthreads. Classic nspr and pthreads-user are also available.
#
ifeq ($(OS_RELEASE),B.11.22)
OS_CFLAGS += -DHPUX10
DEFAULT_IMPL_STRATEGY = _PTH
endif
#
# To use the true pthread (kernel thread) library on 10.30 and
# 11.x, we should define _POSIX_C_SOURCE to be 199506L.
# The _REENTRANT macro is deprecated.
#
ifdef USE_PTHREADS
OS_CFLAGS += -D_POSIX_C_SOURCE=199506L
endif
#
# Config stuff for HP-UXB.11.x.
#
include $(CORE_DEPTH)/coreconf/HP-UXB.11.mk

View File

@@ -34,43 +34,17 @@
#
include $(CORE_DEPTH)/coreconf/HP-UX.mk
ifdef USE_LONG_LONGS
USE_HYBRID = 1
endif
ifndef NS_USE_GCC
CCC = /opt/aCC/bin/aCC -ext
ifeq ($(USE_64), 1)
ifeq ($(OS_TEST), ia64)
OS_CFLAGS += -Aa +e +p +DD64
else
# Our HP-UX build machine has a strange problem. If
# a 64-bit PA-RISC executable calls getcwd() in a
# network-mounted directory, it fails with ENOENT.
# We don't know why. Since nsinstall calls getcwd(),
# this breaks our 64-bit HP-UX nightly builds. None
# of our other HP-UX machines have this problem.
#
# We worked around this problem by building nsinstall
# as a 32-bit PA-RISC executable for 64-bit PA-RISC
# builds. -- wtc 2003-06-03
ifdef INTERNAL_TOOLS
OS_CFLAGS += +DAportable +DS2.0
else
OS_CFLAGS += -Aa +e +DA2.0W +DS2.0 +DChpux
endif
endif
OS_CFLAGS += -Aa +e +DA2.0W +DS2.0 +DChpux
# Next line replaced by generic name handling in arch.mk
# COMPILER_TAG = _64
else
ifeq ($(OS_TEST), ia64)
OS_CFLAGS += -Aa +e +p +DD32
ifdef USE_LONG_LONGS
OS_CFLAGS += -Aa +e +DA2.0 +DS2.0
else
ifdef USE_HYBRID
OS_CFLAGS += -Aa +e +DA2.0 +DS2.0
else
OS_CFLAGS += +DAportable +DS2.0
endif
OS_CFLAGS += +DAportable +DS1.1
endif
endif
else
@@ -79,9 +53,4 @@ endif
OS_CFLAGS += -DHPUX11
OS_LIBS += -lpthread -lm -lrt
#ifeq ($(USE_64), 1)
#OS_LIBS += -ldl
#else
#OS_LIBS += -ldld
#endif
HPUX11 = 1

View File

@@ -58,7 +58,7 @@ ifdef NS_USE_GCC
else
CC = cc
CCC = CC
ODD_CFLAGS = -fullwarn -xansi -woff 1209
ODD_CFLAGS = -fullwarn -xansi
ifdef BUILD_OPT
ifeq ($(USE_N32),1)
OPTIMIZER = -O -OPT:Olimit=4000
@@ -91,9 +91,10 @@ RANLIB = /bin/true
# 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)
ifndef NO_MDUPDATE
OS_CFLAGS += $(NOMD_OS_CFLAGS) -MDupdate $(DEPENDENCIES)
else
OS_CFLAGS += $(NOMD_OS_CFLAGS)
endif
ifeq ($(USE_N32),1)
@@ -101,11 +102,8 @@ ifeq ($(USE_N32),1)
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 $(LIBRARY_NAME).def $@
HAVE_PURIFY = 1
DSO_LDOPTS = -elf -shared -all

View File

@@ -39,7 +39,4 @@ SHLIB_LD_OPTS += -no_unresolved
include $(CORE_DEPTH)/coreconf/IRIX6.mk
OS_CFLAGS += -DIRIX6_5
ifndef NS_USE_GCC
OS_CFLAGS += -mips3
endif
OS_CFLAGS += -DIRIX6_5 -mips3

View File

@@ -50,63 +50,18 @@ RANLIB = ranlib
DEFAULT_COMPILER = gcc
ifeq ($(OS_TEST),m68k)
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
CPU_ARCH = m68k
else
ifeq ($(OS_TEST),ppc)
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
OS_REL_CFLAGS = -DMACLINUX -DLINUX1_2
CPU_ARCH = ppc
else
ifeq ($(OS_TEST),alpha)
OS_REL_CFLAGS = -D_ALPHA_ -DLINUX1_2 -D_XOPEN_SOURCE
CPU_ARCH = alpha
else
ifeq ($(OS_TEST),ia64)
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
CPU_ARCH = ia64
else
ifeq ($(OS_TEST),sparc)
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
CPU_ARCH = sparc
else
ifeq ($(OS_TEST),sparc64)
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
CPU_ARCH = sparc
else
ifeq (,$(filter-out arm% sa110,$(OS_TEST)))
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
CPU_ARCH = arm
else
ifeq ($(OS_TEST),parisc64)
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
CPU_ARCH = hppa
else
ifeq ($(OS_TEST),s390)
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
CPU_ARCH = s390
else
ifeq ($(OS_TEST),s390x)
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
CPU_ARCH = s390x
else
ifeq ($(OS_TEST),mips)
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
CPU_ARCH = mips
else
OS_REL_CFLAGS = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE
CPU_ARCH = x86
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
LIBC_TAG = _glibc
@@ -117,11 +72,6 @@ ifeq ($(OS_RELEASE),2.0)
ifdef BUILD_OPT
OPTIMIZER = -O2
endif
ifdef MAPFILE
MKSHLIB += -Wl,--version-script,$(MAPFILE)
endif
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
endif
ifeq ($(USE_PTHREADS),1)
@@ -132,7 +82,9 @@ OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DLINUX -Dlinux -D
OS_LIBS = -L/lib $(OS_PTHREAD) -ldl -lc
ifdef USE_PTHREADS
DEFINES += -D_REENTRANT
DEFINES += -D_REENTRANT -D_PR_NEED_FAKE_POLL
else
DEFINES += -D_PR_LOCAL_THREADS_ONLY
endif
ARCH = linux
@@ -143,8 +95,3 @@ DSO_LDFLAGS =
# INCLUDES += -I/usr/include -Y/usr/include/linux
G++INCLUDES = -I/usr/include/g++
#
# Always set CPU_TAG on Linux, OpenVMS, WINCE.
#
CPU_TAG = _$(CPU_ARCH)

View File

@@ -40,10 +40,5 @@ ifeq ($(OS_RELEASE),2.1)
ifdef BUILD_OPT
OPTIMIZER = -O2
endif
ifdef MAPFILE
MKSHLIB += -Wl,--version-script,$(MAPFILE)
endif
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
endif

View File

@@ -41,9 +41,3 @@ ifdef BUILD_OPT
OPTIMIZER = -O2
endif
ifdef MAPFILE
MKSHLIB += -Wl,--version-script,$(MAPFILE)
endif
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@

View File

@@ -1,49 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for Linux 2.4 (ELF)
#
include $(CORE_DEPTH)/coreconf/Linux.mk
OS_REL_CFLAGS += -DLINUX2_1
MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
ifdef BUILD_OPT
OPTIMIZER = -O2
endif
ifdef MAPFILE
MKSHLIB += -Wl,--version-script,$(MAPFILE)
endif
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@

View File

@@ -1,49 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for Linux 2.5 (ELF)
#
include $(CORE_DEPTH)/coreconf/Linux.mk
OS_REL_CFLAGS += -DLINUX2_1
MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
ifdef BUILD_OPT
OPTIMIZER = -O2
endif
ifdef MAPFILE
MKSHLIB += -Wl,--version-script,$(MAPFILE)
endif
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@

View File

@@ -1,49 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for Linux 2.6 (ELF)
#
include $(CORE_DEPTH)/coreconf/Linux.mk
OS_REL_CFLAGS += -DLINUX2_1
MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
ifdef BUILD_OPT
OPTIMIZER = -O2
endif
ifdef MAPFILE
MKSHLIB += -Wl,--version-script,$(MAPFILE)
endif
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@

View File

@@ -35,7 +35,7 @@ CORE_DEPTH = ..
MODULE = coreconf
DIRS = nsinstall
DIRS = nsinstall mkdepend md
include $(DEPTH)/coreconf/config.mk
include $(DEPTH)/coreconf/rules.mk

View File

@@ -66,11 +66,6 @@ endif
MKSHLIB += $(LD) $(DSO_LDOPTS)
#DSO_LDOPTS += -G -z defs
DSO_LDOPTS += -G
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 $(LIBRARY_NAME).def $@
CPU_ARCH = x86
ARCH = ncr

View File

@@ -49,11 +49,6 @@ CCC = g++
endif
MKSHLIB = $(LD) $(DSO_LDOPTS)
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 $(LIBRARY_NAME).def $@
RANLIB = /bin/true

View File

@@ -1,86 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for NetBSD
#
include $(CORE_DEPTH)/coreconf/UNIX.mk
DEFAULT_COMPILER = gcc
CC = gcc
CCC = g++
RANLIB = ranlib
CPU_ARCH := $(shell uname -p)
ifeq ($(CPU_ARCH),i386)
OS_REL_CFLAGS = -Di386
CPU_ARCH = x86
endif
ifndef OBJECT_FMT
OBJECT_FMT := $(shell if echo __ELF__ | $${CC:-cc} -E - | grep -q __ELF__ ; then echo a.out ; else echo ELF ; fi)
endif
ifeq ($(OBJECT_FMT),ELF)
DLL_SUFFIX = so
else
DLL_SUFFIX = so.1.0
endif
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DNETBSD -Dunix -DHAVE_STRERROR -DHAVE_BSD_FLOCK
OS_LIBS = -lcompat
ARCH = netbsd
DSO_CFLAGS = -fPIC -DPIC
DSO_LDOPTS = -shared
DSO_LDFLAGS =
ifeq ($(OBJECT_FMT),ELF)
DSO_LDOPTS += -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
endif
ifdef LIBRUNPATH
DSO_LDOPTS += -Wl,-R$(LIBRUNPATH)
endif
MKSHLIB = $(CC) $(DSO_LDOPTS)
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 $(LIBRARY_NAME).def $@
G++INCLUDES = -I/usr/include/g++
INCLUDES += -I/usr/X11R6/include

View File

@@ -1,276 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
MOZ_WIDGET_TOOLKIT = os2
# Specify toolset. Default to EMX.
ifeq ($(MOZ_OS2_TOOLS),VACPP)
XP_OS2_VACPP = 1
else
ifeq ($(MOZ_OS2_TOOLS),PGCC)
XP_OS2_EMX = 1
else
MOZ_OS2_TOOLS = EMX
XP_OS2_EMX = 1
endif
endif
# XP_PC is for Window and OS2 on Intel X86
# XP_OS2 is strictly for OS2 only
XP_DEFINE += -DXP_PC=1 -DXP_OS2=1
# Override prefix
LIB_PREFIX = $(NULL)
# Override suffix in suffix.mk
LIB_SUFFIX = lib
DLL_SUFFIX = dll
PROG_SUFFIX = .exe
ifdef XP_OS2_EMX
CCC = gcc
LINK = gcc
AR = emxomfar r $@
# Keep AR_FLAGS blank so that we do not have to change rules.mk
AR_FLAGS =
RANLIB = @echo OS2 RANLIB
BSDECHO = @echo OS2 BSDECHO
IMPLIB = emximp -o
FILTER = emxexp -o
# GCC for OS/2 currently predefines these, but we don't want them
DEFINES += -Uunix -U__unix -U__unix__
DEFINES += -DTCPV40HDRS
ifndef NO_SHARED_LIB
WRAP_MALLOC_LIB =
WRAP_MALLOC_CFLAGS =
DSO_CFLAGS =
DSO_PIC_CFLAGS =
MKSHLIB = $(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@
MKCSHLIB = $(CC) $(CFLAGS) $(DSO_LDOPTS) -o $@
MKSHLIB_FORCE_ALL =
MKSHLIB_UNFORCE_ALL =
DSO_LDOPTS = -Zomf -Zdll
SHLIB_LDSTARTFILE =
SHLIB_LDENDFILE =
ifdef MAPFILE
MKSHLIB += $(MAPFILE)
endif
PROCESS_MAP_FILE = \
echo LIBRARY $(LIBRARY_NAME)$(LIBRARY_VERSION) INITINSTANCE TERMINSTANCE > $@; \
echo PROTMODE >> $@; \
echo CODE LOADONCALL MOVEABLE DISCARDABLE >> $@; \
echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $@; \
echo EXPORTS >> $@; \
grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,\([\t ]*\),\1_,' | \
awk 'BEGIN {ord=1;} { print($$0 " @" ord " RESIDENTNAME"); ord++;}' >> $@
endif #NO_SHARED_LIB
OS_CFLAGS = -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Zomf -DDEBUG -DTRACING -g
# Where the libraries are
MOZ_COMPONENT_NSPR_LIBS=-L$(DIST)/lib $(NSPR_LIBS)
NSPR_LIBS = -lplds4 -lplc4 -lnspr4
NSPR_INCLUDE_DIR =
ifdef BUILD_OPT
OPTIMIZER = -O2 -s
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
DLLFLAGS = -DLL -OUT:$@ -MAP:$(@:.dll=.map)
EXEFLAGS = -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
OBJDIR_TAG = _OPT
else
#OPTIMIZER = -O+ -Oi
DEFINES += -DDEBUG -D_DEBUG -DDEBUGPRINTS #HCT Need += to avoid overidding manifest.mn
DLLFLAGS = -DEBUG -DLL -OUT:$@ -MAP:$(@:.dll=.map)
EXEFLAGS = -DEBUG -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
OBJDIR_TAG = _DBG
LDFLAGS = -DEBUG
endif # BUILD_OPT
else # XP_OS2_VACPP
# Override suffix in suffix.mk
OBJ_SUFFIX = .obj
ASM_SUFFIX = .asm
AS = alp.exe
ifdef BUILD_OPT
ASFLAGS = -Od
else
ASFLAGS = +Od
endif
CCC = icc -q -DXP_OS2 -DOS2=4 -N10
LINK = -ilink
AR = -ilib /NOL /NOI /O:$(subst /,\\,$@)
# Keep AR_FLAGS blank so that we do not have to change rules.mk
AR_FLAGS =
RANLIB = @echo OS2 RANLIB
BSDECHO = @echo OS2 BSDECHO
IMPLIB = implib /NOL /NOI
FILTER = cppfilt -b -p -q
ifndef NO_SHARED_LIB
WRAP_MALLOC_LIB =
WRAP_MALLOC_CFLAGS =
DSO_CFLAGS =
DSO_PIC_CFLAGS =
MKSHLIB = $(LD) $(DSO_LDOPTS)
MKCSHLIB = $(LD) $(DSO_LDOPTS)
MKSHLIB_FORCE_ALL =
MKSHLIB_UNFORCE_ALL =
DSO_LDOPTS =
# DLL_SUFFIX = .dll
SHLIB_LDSTARTFILE =
SHLIB_LDENDFILE =
ifdef MAPFILE
MKSHLIB += $(MAPFILE)
endif
PROCESS_MAP_FILE = \
echo LIBRARY $(LIBRARY_NAME)$(LIBRARY_VERSION) INITINSTANCE TERMINSTANCE > $@; \
echo PROTMODE >> $@; \
echo CODE LOADONCALL MOVEABLE DISCARDABLE >> $@; \
echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $@; \
echo EXPORTS >> $@; \
grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' >> $@
endif #NO_SHARED_LIB
OS_CFLAGS = /Q /qlibansi /Gd /Gm /Su4 /Mp /Tl-
INCLUDES += -I$(CORE_DEPTH)/../dist/include
DEFINES += -DXP_OS2_VACPP -DTCPV40HDRS
# Where the libraries are
NSPR_LIBS = $(DIST)/lib/nspr4.lib $(DIST)/lib/plc4.lib $(DIST)/lib/plds4.lib
MOZ_COMPONENT_NSPR_LIBS=-L$(DIST)/lib $(NSPR_LIBS)
NSPR_INCLUDE_DIR =
DLLFLAGS = /DLL /O:$@ /INC:_dllentry /MAP:$(@:.dll=.map)
EXEFLAGS = -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
LDFLAGS = /FREE /NOE /LINENUMBERS /nologo
ifdef BUILD_OPT
OPTIMIZER = /O+ /Gl+ /G5 /qarch=pentium
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
OBJDIR_TAG = _OPT
LDFLAGS += /NODEBUG /OPTFUNC /EXEPACK:2 /PACKCODE /PACKDATA
else
OS_CFLAGS += /Ti+
DEFINES += -DDEBUG -D_DEBUG -DDEBUGPRINTS #HCT Need += to avoid overidding manifest.mn
DLLFLAGS += /DE
EXEFLAGS += /DE
OBJDIR_TAG = _DBG
LDFLAGS += /DE
endif # BUILD_OPT
endif # XP_OS2_VACPP
# OS/2 use nsinstall that is included in the toolkit.
# since we do not wish to support and maintain 3 version of nsinstall in mozilla, nspr and nss
ifdef BUILD_TREE
NSINSTALL_DIR = $(BUILD_TREE)/nss
else
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
endif
# NSINSTALL = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/nsinstall
NSINSTALL = nsinstall # HCT4OS2
INSTALL = $(NSINSTALL)
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
MKDEPEND = $(MKDEPEND_DIR)/$(OBJDIR_NAME)/mkdepend
MKDEPENDENCIES = $(OBJDIR_NAME)/depend.mk
####################################################################
#
# One can define the makefile variable NSDISTMODE to control
# how files are published to the 'dist' directory. If not
# defined, the default is "install using relative symbolic
# links". The two possible values are "copy", which copies files
# but preserves source mtime, and "absolute_symlink", which
# installs using absolute symbolic links. The "absolute_symlink"
# option requires NFSPWD.
# - THIS IS NOT PART OF THE NEW BINARY RELEASE PLAN for 9/30/97
# - WE'RE KEEPING IT ONLY FOR BACKWARDS COMPATIBILITY
####################################################################
ifeq ($(NSDISTMODE),copy)
# copy files, but preserve source mtime
INSTALL = $(NSINSTALL)
INSTALL += -t
else
ifeq ($(NSDISTMODE),absolute_symlink)
# install using absolute symbolic links
INSTALL = $(NSINSTALL)
INSTALL += -L `$(NFSPWD)`
else
# install using relative symbolic links
INSTALL = $(NSINSTALL)
INSTALL += -R
endif
endif
DEFINES += -DXP_OS2
define MAKE_OBJDIR
if test ! -d $(@D); then rm -rf $(@D); $(NSINSTALL) -D $(@D); fi
endef
#
# override the definition of DLL_PREFIX in prefix.mk
#
ifndef DLL_PREFIX
DLL_PREFIX = $(NULL)
endif
#
# override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY
#
ifndef TARGETS
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
endif
ifdef LIBRARY_NAME
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)$(JDK_DEBUG_SUFFIX).lib
endif

View File

@@ -61,12 +61,10 @@ ifeq ($(USE_PTHREADS),1)
OS_CFLAGS += -pthread
endif
# The command to build a shared library on OSF1.
MKSHLIB += ld -shared -expect_unresolved "*" -soname $(notdir $@)
ifdef MAPFILE
MKSHLIB += -hidden -input $(MAPFILE)
ifeq ($(USE_IPV6),1)
OS_CFLAGS += -D_PR_INET6
endif
PROCESS_MAP_FILE = grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,^,-exported_symbol ,' > $@
# The command to build a shared library on OSF1.
MKSHLIB += ld -shared -all -expect_unresolved "*"
DSO_LDOPTS += -shared

View File

@@ -1,47 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# On OSF1 V5.0, pthreads is the default implementation strategy.
# Classic nspr is also available.
#
ifneq ($(OS_RELEASE),V3.2)
USE_PTHREADS = 1
ifeq ($(CLASSIC_NSPR), 1)
USE_PTHREADS =
IMPL_STRATEGY := _CLASSIC
endif
endif
#
# Config stuff for DEC OSF/1 V5.0
#
include $(CORE_DEPTH)/coreconf/OSF1.mk

View File

@@ -1,47 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2001 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# On OSF1 V5.1, pthreads is the default implementation strategy.
# Classic nspr is also available.
#
ifneq ($(OS_RELEASE),V3.2)
USE_PTHREADS = 1
ifeq ($(CLASSIC_NSPR), 1)
USE_PTHREADS =
IMPL_STRATEGY := _CLASSIC
endif
endif
#
# Config stuff for DEC OSF/1 V5.1
#
include $(CORE_DEPTH)/coreconf/OSF1.mk

View File

@@ -1,91 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for Open UNIX 8.
#
include $(CORE_DEPTH)/coreconf/UNIX.mk
DEFAULT_COMPILER = gcc
CC = gcc
OS_CFLAGS += -fPIC
CCC = g++
CCC += -DPRFSTREAMS_BROKEN -I/usr/gnu/lib/g++-include
# CCC = $(CORE_DEPTH)/build/hcpp
# CCC += +.cpp +w
RANLIB = /bin/true
#
# -DSCO_PM - Policy Manager AKA: SCO Licensing
# -DSCO - Changes to Netscape source (consistent with AIX, LINUX, etc..)
# -Dsco - Needed for /usr/include/X11/*
#
OS_CFLAGS += -DSCO_SV -DSYSV -D_SVID3 -DHAVE_STRERROR -DSW_THREADS -DSCO_PM -DSCO -Dsco
#OS_LIBS += -lpmapi -lsocket -lc
MKSHLIB = $(LD)
MKSHLIB += $(DSO_LDOPTS)
XINC = /usr/include/X11
MOTIFLIB += -lXm
INCLUDES += -I$(XINC)
CPU_ARCH = x86
GFX_ARCH = x
ARCH = sco
LOCALE_MAP = $(CORE_DEPTH)/cmd/xfe/intl/sco.lm
EN_LOCALE = C
DE_LOCALE = de_DE.ISO8859-1
FR_LOCALE = fr_FR.ISO8859-1
JP_LOCALE = ja
SJIS_LOCALE = ja_JP.SJIS
KR_LOCALE = ko_KR.EUC
CN_LOCALE = zh
TW_LOCALE = zh
I2_LOCALE = i2
LOC_LIB_DIR = /usr/lib/X11
NOSUCHFILE = /solaris-rm-f-sucks
BSDECHO = /bin/echo
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 $(LIBRARY_NAME).def $@
#
# These defines are for building unix plugins
#
BUILD_UNIX_PLUGINS = 1
#DSO_LDOPTS += -b elf -G -z defs
DSO_LDOPTS += -G
DSO_LDFLAGS += -nostdlib -L/lib -L/usr/lib -lXm -lXt -lX11 -lgen
# Used for Java compiler
EXPORT_FLAGS += -W l,-Bexport

View File

@@ -1,60 +0,0 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.1 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
#
# Config stuff for Compaq OpenVMS
#
include $(CORE_DEPTH)/coreconf/UNIX.mk
CC = cc
CCC = cxx
RANLIB = /gnu/bin/true
CPU_ARCH := $(shell uname -Wh)
OS_CFLAGS = -DVMS
OS_CXXFLAGS = -DVMS
# Maybe this should go into rules.mk or something?
ifdef NSPR_INCLUDE_DIR
INCLUDES += -I$(NSPR_INCLUDE_DIR)
endif
#
# XCFLAGS are the only CFLAGS that are used during a link operation. Defining
# OPTIMIZER in XCFLAGS means that each compilation line gets OPTIMIZER
# included twice, but at least we get OPTIMIZER included in the link
# operations; and OpenVMS needs it!
#
XCFLAGS += $(OPTIMIZER)
DSO_LDOPTS = -shared -auto_symvec
MKSHLIB = $(CC) $(OPTIMIZER) $(LDFLAGS) $(DSO_LDOPTS)
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 $(LIBRARY_NAME).def $@
#
# Always set CPU_TAG on Linux, OpenVMS, WINCE.
#
CPU_TAG = _$(CPU_ARCH)

View File

@@ -1,22 +0,0 @@
#
# The contents of this file are subject to the Netscape Public License
# Version 1.1 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
#
# Config stuff for Compaq OpenVMS
#
include $(CORE_DEPTH)/coreconf/OpenVMS.mk

View File

@@ -1,70 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2001 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for QNX
#
include $(CORE_DEPTH)/coreconf/UNIX.mk
USE_PTHREADS = 1
ifeq ($(USE_PTHREADS),1)
IMPL_STRATEGY = _PTH
endif
CC = qcc
CCC = qcc
RANLIB = ranlib
DEFAULT_COMPILER = qcc
ifeq ($(OS_TEST),mips)
CPU_ARCH = mips
else
CPU_ARCH = x86
endif
MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
ifdef BUILD_OPT
OPTIMIZER = -O2
endif
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Vgcc_ntox86 -Wall -pipe -DNTO -DHAVE_STRERROR -D_QNX_SOURCE -D_POSIX_C_SOURCE=199506 -D_XOPEN_SOURCE=500
ifdef USE_PTHREADS
DEFINES += -D_REENTRANT
endif
ARCH = QNX
DSO_CFLAGS = -Wc,-fPIC
DSO_LDOPTS = -shared
DSO_LDFLAGS =

View File

@@ -232,6 +232,9 @@ OVERVIEW of "config.mk":
$(OS_CONFIG).mk <architecture>-specific macros
(dependent upon <architecture> tags)
platform.mk source and release <platform> tags
(dependent upon <architecture> tags)
tree.mk release <tree> tags
(dependent upon <architecture> tags)
@@ -313,7 +316,8 @@ OVERVIEW of "rules.mk":
libs:: recursively build
static (archival) $(LIBRARY), shared
(dynamic link) $(SHARED_LIBRARY),
and/or import $(IMPORT_LIBRARY)
import $(IMPORT_LIBRARY), and/or
"purified" $(PURE_LIBRARY)
libraries
program:: recursively build $(PROGRAM)
@@ -420,6 +424,10 @@ OVERVIEW of "rules.mk":
specified by the
$(SHARED_LIBRARY) variable
$(PURE_LIBRARY): build the "purified" library
specified by the
$(PURE_LIBRARY) variable
PROGRAMS
--------

View File

@@ -65,11 +65,6 @@ else
MKSHLIB += -G -h $(@:$(OBJDIR)/%.so=%.so)
DSO_LDOPTS += -G -W l,-Blargedynsym
endif
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 $(LIBRARY_NAME).def $@
NOSUCHFILE = /sni-rm-f-sucks
ODD_CFLAGS += -DSVR4 -DSNI -DRELIANTUNIX
@@ -82,6 +77,7 @@ NOMD_OS_CFLAGS += $(ODD_CFLAGS)
# we do not have -MDupdate ...
OS_CFLAGS += $(NOMD_OS_CFLAGS)
OS_LIBS += -lsocket -lnsl -lresolv -lgen -ldl -lc /usr/ucblib/libucb.a
HAVE_PURIFY = 0
ifdef DSO_BACKEND
DSO_LDOPTS += -h $(DSO_NAME)

View File

@@ -73,11 +73,6 @@ I2_LOCALE = i2
LOC_LIB_DIR = /usr/lib/X11
NOSUCHFILE = /solaris-rm-f-sucks
BSDECHO = /bin/echo
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 $(LIBRARY_NAME).def $@
#
# These defines are for building unix plugins

View File

@@ -51,6 +51,7 @@ NOMD_OS_CFLAGS += -Wall -Wno-format -DSUNOS4
OS_CFLAGS += $(DSO_CFLAGS) $(NOMD_OS_CFLAGS) -MDupdate $(DEPENDENCIES)
MKSHLIB = $(LD)
MKSHLIB += $(DSO_LDOPTS)
HAVE_PURIFY = 1
NOSUCHFILE = /solaris-rm-f-sucks
DSO_LDOPTS =

View File

@@ -1,44 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for SunOS5.10
#
SOL_CFLAGS += -D_SVID_GETTOD
include $(CORE_DEPTH)/coreconf/SunOS5.mk
ifeq ($(OS_RELEASE),5.10)
OS_DEFINES += -DSOLARIS2_10
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@@ -1,48 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for Solaris 10 on x86
#
SOL_CFLAGS = -D_SVID_GETTOD
include $(CORE_DEPTH)/coreconf/SunOS5.mk
CPU_ARCH = x86
ARCHFLAG =
OS_DEFINES += -Di386
ifeq ($(OS_RELEASE),5.10_i86pc)
OS_DEFINES += -DSOLARIS2_10
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@@ -43,9 +43,10 @@ ifdef NS_USE_GCC
CCC = g++
CCC += -Wall -Wno-format
ASFLAGS += -x assembler-with-cpp
OS_CFLAGS += $(NOMD_OS_CFLAGS)
ifdef USE_MDUPDATE
OS_CFLAGS += -MDupdate $(DEPENDENCIES)
ifdef NO_MDUPDATE
OS_CFLAGS += $(NOMD_OS_CFLAGS)
else
OS_CFLAGS += $(NOMD_OS_CFLAGS) -MDupdate $(DEPENDENCIES)
endif
else
CC = cc

View File

@@ -38,7 +38,6 @@ SOL_CFLAGS = -D_SVID_GETTOD
include $(CORE_DEPTH)/coreconf/SunOS5.mk
CPU_ARCH = x86
ARCHFLAG =
OS_DEFINES += -Di386
ifeq ($(OS_RELEASE),5.5.1_i86pc)

View File

@@ -38,7 +38,6 @@ SOL_CFLAGS = -D_SVID_GETTOD
include $(CORE_DEPTH)/coreconf/SunOS5.mk
CPU_ARCH = x86
ARCHFLAG =
OS_DEFINES += -Di386
ifeq ($(OS_RELEASE),5.6_i86pc)

View File

@@ -1,48 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for Solaris 7 on x86
#
SOL_CFLAGS = -D_SVID_GETTOD
include $(CORE_DEPTH)/coreconf/SunOS5.mk
CPU_ARCH = x86
ARCHFLAG =
OS_DEFINES += -Di386
ifeq ($(OS_RELEASE),5.7_i86pc)
OS_DEFINES += -DSOLARIS2_7
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@@ -1,48 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for Solaris 8 on x86
#
SOL_CFLAGS = -D_SVID_GETTOD
include $(CORE_DEPTH)/coreconf/SunOS5.mk
CPU_ARCH = x86
ARCHFLAG =
OS_DEFINES += -Di386
ifeq ($(OS_RELEASE),5.8_i86pc)
OS_DEFINES += -DSOLARIS2_8
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@@ -1,44 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for SunOS5.9
#
SOL_CFLAGS += -D_SVID_GETTOD
include $(CORE_DEPTH)/coreconf/SunOS5.mk
ifeq ($(OS_RELEASE),5.9)
OS_DEFINES += -DSOLARIS2_9
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@@ -1,48 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
# Config stuff for Solaris 9 on x86
#
SOL_CFLAGS = -D_SVID_GETTOD
include $(CORE_DEPTH)/coreconf/SunOS5.mk
CPU_ARCH = x86
ARCHFLAG =
OS_DEFINES += -Di386
ifeq ($(OS_RELEASE),5.9_i86pc)
OS_DEFINES += -DSOLARIS2_9
endif
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc

View File

@@ -35,6 +35,13 @@
include $(CORE_DEPTH)/coreconf/UNIX.mk
ifeq ($(USE_64), 1)
ARCHFLAG=-xarch=v9
LD=/usr/ccs/bin/ld
else
ARCHFLAG=-xarch=v8
endif
#
# Temporary define for the Client; to be removed when binary release is used
#
@@ -45,34 +52,6 @@ ifdef MOZILLA_CLIENT
endif
endif
# Sun's WorkShop defines v8, v8plus and v9 architectures.
# gcc on Solaris defines v8 and v9 "cpus".
# gcc's v9 is equivalent to Workshop's v8plus.
# gcc apparently has no equivalent to Workshop's v9
# We always use Sun's assembler and linker, which use Sun's naming convention.
ifeq ($(USE_64), 1)
ifdef NS_USE_GCC
ARCHFLAG= UNKNOWN
else
ARCHFLAG=-xarch=v9
endif
else
ifdef NS_USE_GCC
ifdef USE_HYBRID
ARCHFLAG=-mcpu=v9 -Wa,-xarch=v8plus
else
ARCHFLAG=-mcpu=v8
endif
else
ifdef USE_HYBRID
ARCHFLAG=-xarch=v8plus
else
ARCHFLAG=-xarch=v8
endif
endif
endif
#
# The default implementation strategy for Solaris is classic nspr.
#
@@ -81,6 +60,9 @@ ifeq ($(USE_PTHREADS),1)
else
ifeq ($(LOCAL_THREADS_ONLY),1)
IMPL_STRATEGY = _LOCAL
DEFINES += -D_PR_LOCAL_THREADS_ONLY
else
DEFINES += -D_PR_GLOBAL_THREADS_ONLY
endif
endif
@@ -99,11 +81,11 @@ ifdef NS_USE_GCC
CCC = g++
CCC += -Wall -Wno-format
ASFLAGS += -x assembler-with-cpp
OS_CFLAGS += $(NOMD_OS_CFLAGS)
ifdef USE_MDUPDATE
OS_CFLAGS += -MDupdate $(DEPENDENCIES)
ifdef NO_MDUPDATE
OS_CFLAGS += $(NOMD_OS_CFLAGS)
else
OS_CFLAGS += $(NOMD_OS_CFLAGS) -MDupdate $(DEPENDENCIES)
endif
OS_CFLAGS += $(ARCHFLAG)
else
CC = cc
CCC = CC
@@ -111,8 +93,8 @@ else
OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG)
ifndef BUILD_OPT
OS_CFLAGS += -xs
else
OPTIMIZER = -xO4
# else
# OPTIMIZER += -fast
endif
endif
@@ -130,40 +112,13 @@ endif
# Purify doesn't like -MDupdate
NOMD_OS_CFLAGS += $(DSO_CFLAGS) $(OS_DEFINES) $(SOL_CFLAGS)
MKSHLIB = $(CC) $(DSO_LDOPTS)
ifdef NS_USE_GCC
ifeq (GNU,$(findstring GNU,$(shell `$(CC) -print-prog-name=ld` -v 2>&1)))
GCC_USE_GNU_LD = 1
endif
endif
ifdef MAPFILE
ifdef NS_USE_GCC
ifdef GCC_USE_GNU_LD
MKSHLIB += -Wl,--version-script,$(MAPFILE)
else
MKSHLIB += -Wl,-M,$(MAPFILE)
endif
else
MKSHLIB += -M $(MAPFILE)
endif
endif
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
MKSHLIB = $(LD)
MKSHLIB += $(DSO_LDOPTS)
# ld options:
# -G: produce a shared object
# -z defs: no unresolved symbols allowed
ifdef NS_USE_GCC
DSO_LDOPTS += -shared -h $(notdir $@)
else
ifeq ($(USE_64), 1)
DSO_LDOPTS += -xarch=v9
endif
DSO_LDOPTS += -G -h $(notdir $@)
endif
DSO_LDOPTS += -G
# -KPIC generates position independent code for use in shared libraries.
# (Similarly for -fPIC in case of gcc.)
@@ -173,5 +128,6 @@ else
DSO_CFLAGS += -KPIC
endif
HAVE_PURIFY = 1
NOSUCHFILE = /solaris-rm-f-sucks

View File

@@ -46,13 +46,8 @@ else
DEFINES += -DDEBUG -UNDEBUG -DDEBUG_$(shell whoami)
endif
ifdef BUILD_TREE
NSINSTALL_DIR = $(BUILD_TREE)/nss
NSINSTALL = $(BUILD_TREE)/nss/nsinstall
else
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
NSINSTALL = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/nsinstall
endif
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
MKDEPEND = $(MKDEPEND_DIR)/$(OBJDIR_NAME)/mkdepend

View File

@@ -49,9 +49,3 @@ DSO_LDOPTS += -G
CPU_ARCH = x86
ARCH = sco
NOSUCHFILE = /solaris-rm-f-sucks
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 $(LIBRARY_NAME).def $@

View File

@@ -109,101 +109,9 @@ OS_DLL_OPTION = CASEEXACT
OS_DLLFLAGS =
OS_LIBS =
W16_EXPORTS = #
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 = copy $(LIBRARY_NAME).def $@
#
# The following is NOT needed for the NSPR 2.0 library.
#
OS_CFLAGS += -d_WINDOWS -d_MSC_VER=700
#
# override the definitions of RELEASE_TREE found in tree.mk
#
ifndef RELEASE_TREE
ifdef BUILD_SHIP
ifdef USE_SHIPS
RELEASE_TREE = $(NTBUILD_SHIP)
else
RELEASE_TREE = //redbuild/components
endif
else
RELEASE_TREE = //redbuild/components
endif
endif
#
# override the definitions of LIB_PREFIX and DLL_PREFIX in prefix.mk
#
ifndef LIB_PREFIX
LIB_PREFIX = $(NULL)
endif
ifndef DLL_PREFIX
DLL_PREFIX = $(NULL)
endif
#
# override the definitions of various _SUFFIX symbols in suffix.mk
#
#
# Object suffixes
#
ifndef OBJ_SUFFIX
OBJ_SUFFIX = .obj
endif
#
# Assembler source suffixes
#
ifndef ASM_SUFFIX
ASM_SUFFIX = .asm
endif
#
# Library suffixes
#
ifndef IMPORT_LIB_SUFFIX
IMPORT_LIB_SUFFIX = .$(LIB_SUFFIX)
endif
ifndef DYNAMIC_LIB_SUFFIX_FOR_LINKING
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(IMPORT_LIB_SUFFIX)
endif
#
# Program suffixes
#
ifndef PROG_SUFFIX
PROG_SUFFIX = .exe
endif
#
# When the processor is NOT 386-based on Windows NT, override the
# value of $(CPU_TAG). For WinNT, 95, 16, not CE.
#
ifneq ($(CPU_ARCH),x386)
CPU_TAG = _$(CPU_ARCH)
endif
#
# override ruleset.mk, removing the "lib" prefix for library names, and
# adding the "32" after the LIBRARY_VERSION.
#
ifdef LIBRARY_NAME
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).dll
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).lib
endif
#
# override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY
#
ifndef TARGETS
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
endif

View File

@@ -38,32 +38,15 @@
DEFAULT_COMPILER = cl
ifdef NS_USE_GCC
CC = gcc
CCC = g++
LINK = ld
AR = ar
AR += cr $@
RANLIB = ranlib
BSDECHO = echo
RC = windres.exe -O coff --use-temp-file
LINK_DLL = $(CC) $(OS_DLLFLAGS) $(DLLFLAGS)
else
CC = cl
CCC = cl
LINK = link
AR = lib
AR += -NOLOGO -OUT:"$@"
RANLIB = echo
BSDECHO = echo
RC = rc.exe
endif
CC = cl
CCC = cl
LINK = link
AR = lib
AR += -NOLOGO -OUT:"$@"
RANLIB = echo
BSDECHO = echo
ifdef BUILD_TREE
NSINSTALL_DIR = $(BUILD_TREE)/nss
else
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
endif
NSINSTALL = nsinstall
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
@@ -75,50 +58,18 @@ MKDEPENDENCIES = $(OBJDIR_NAME)/depend.mk
INSTALL = $(NSINSTALL)
MAKE_OBJDIR = mkdir
MAKE_OBJDIR += $(OBJDIR)
RC = rc.exe
GARBAGE += $(OBJDIR)/vc20.pdb $(OBJDIR)/vc40.pdb
XP_DEFINE += -DXP_PC
ifdef NS_USE_GCC
LIB_SUFFIX = a
else
LIB_SUFFIX = lib
endif
DLL_SUFFIX = dll
ifdef NS_USE_GCC
OS_CFLAGS += -mno-cygwin -mms-bitfields
_GEN_IMPORT_LIB=-Wl,--out-implib,$(IMPORT_LIBRARY)
DLLFLAGS += -mno-cygwin -o $@ -shared -Wl,--export-all-symbols $(if $(IMPORT_LIBRARY),$(_GEN_IMPORT_LIB))
ifdef BUILD_OPT
OPTIMIZER += -O2
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
#
# Add symbolic information for a profiler
#
ifdef MOZ_PROFILE
OPTIMIZER += -g
endif
else
OPTIMIZER += -g
NULLSTRING :=
SPACE := $(NULLSTRING) # end of the line
USERNAME := $(subst $(SPACE),_,$(USERNAME))
USERNAME := $(subst -,_,$(USERNAME))
DEFINES += -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USERNAME)
endif
else # !NS_USE_GCC
ifdef BUILD_OPT
ifdef BUILD_OPT
OS_CFLAGS += -MD
OPTIMIZER += -O2
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
DLLFLAGS += -OUT:"$@"
#
# Add symbolic information for a profiler
#
ifdef MOZ_PROFILE
OPTIMIZER += -Z7
DLLFLAGS += -DEBUG -DEBUGTYPE:CV
endif
else
else
#
# Define USE_DEBUG_RTL if you want to use the debug runtime library
# (RTL) in the debug build
@@ -130,25 +81,12 @@ else # !NS_USE_GCC
endif
OPTIMIZER += -Od -Z7
#OPTIMIZER += -Zi -Fd$(OBJDIR)/ -Od
NULLSTRING :=
SPACE := $(NULLSTRING) # end of the line
USERNAME := $(subst $(SPACE),_,$(USERNAME))
USERNAME := $(subst -,_,$(USERNAME))
DEFINES += -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USERNAME)
DLLFLAGS += -DEBUG -DEBUGTYPE:CV -OUT:"$@"
LDFLAGS += -DEBUG -DEBUGTYPE:CV -PDB:NONE
endif
endif # NS_USE_GCC
LDFLAGS += -DEBUG -DEBUGTYPE:CV
endif
DEFINES += -DWIN32
ifdef MAPFILE
ifndef NS_USE_GCC
DLLFLAGS += -DEF:$(MAPFILE)
endif
endif
# Change PROCESS to put the mapfile in the correct format for this platform
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
#
# The following is NOT needed for the NSPR 2.0 library.
@@ -157,120 +95,6 @@ PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
DEFINES += -D_WINDOWS
# override default, which is ASFLAGS = CFLAGS
ifdef NS_USE_GCC
AS = $(CC)
ASFLAGS = $(INCLUDES)
else
AS = ml.exe
ASFLAGS = -Cp -Sn -Zi -coff $(INCLUDES)
endif
#
# override the definitions of RELEASE_TREE found in tree.mk
#
ifndef RELEASE_TREE
ifdef BUILD_SHIP
ifdef USE_SHIPS
RELEASE_TREE = $(NTBUILD_SHIP)
else
RELEASE_TREE = //redbuild/components
endif
else
RELEASE_TREE = //redbuild/components
endif
endif
#
# override the definitions of IMPORT_LIB_PREFIX, LIB_PREFIX, and
# DLL_PREFIX in prefix.mk
#
ifndef IMPORT_LIB_PREFIX
ifdef NS_USE_GCC
IMPORT_LIB_PREFIX = lib
else
IMPORT_LIB_PREFIX = $(NULL)
endif
endif
ifndef LIB_PREFIX
ifdef NS_USE_GCC
LIB_PREFIX = lib
else
LIB_PREFIX = $(NULL)
endif
endif
ifndef DLL_PREFIX
DLL_PREFIX = $(NULL)
endif
#
# override the definitions of various _SUFFIX symbols in suffix.mk
#
#
# Object suffixes
#
ifndef OBJ_SUFFIX
ifdef NS_USE_GCC
OBJ_SUFFIX = .o
else
OBJ_SUFFIX = .obj
endif
endif
#
# Assembler source suffixes
#
ifndef ASM_SUFFIX
ifdef NS_USE_GCC
ASM_SUFFIX = .s
else
ASM_SUFFIX = .asm
endif
endif
#
# Library suffixes
#
ifndef IMPORT_LIB_SUFFIX
IMPORT_LIB_SUFFIX = .$(LIB_SUFFIX)
endif
ifndef DYNAMIC_LIB_SUFFIX_FOR_LINKING
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(IMPORT_LIB_SUFFIX)
endif
#
# Program suffixes
#
ifndef PROG_SUFFIX
PROG_SUFFIX = .exe
endif
#
# When the processor is NOT 386-based on Windows NT, override the
# value of $(CPU_TAG). For WinNT, 95, 16, not CE.
#
ifneq ($(CPU_ARCH),x386)
CPU_TAG = _$(CPU_ARCH)
endif
#
# override ruleset.mk, removing the "lib" prefix for library names, and
# adding the "32" after the LIBRARY_VERSION.
#
ifdef LIBRARY_NAME
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).dll
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).lib
endif
#
# override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY
#
ifndef TARGETS
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
endif
AS = ml.exe
ASFLAGS = -Cp -Sn -Zi -coff $(INCLUDES)

View File

@@ -35,29 +35,29 @@
# Config stuff for WIN95
#
# This makefile defines the following variables:
# OS_CFLAGS and OS_DLLFLAGS.
# CPU_ARCH, OS_CFLAGS, and OS_DLLFLAGS.
# PROCESSOR is an internal variable.
include $(CORE_DEPTH)/coreconf/WIN32.mk
ifeq ($(CPU_ARCH), x386)
ifndef NS_USE_GCC
OS_CFLAGS += -W3 -nologo
endif
DEFINES += -D_X86_
PROCESSOR := $(shell uname -p)
ifeq ($(PROCESSOR), I386)
CPU_ARCH = x386
OS_CFLAGS += -W3 -nologo -D_X86_
else
ifeq ($(CPU_ARCH), MIPS)
#OS_CFLAGS += -W3 -nologo
#DEFINES += -D_MIPS_
ifeq ($(PROCESSOR), MIPS)
CPU_ARCH = MIPS
#OS_CFLAGS += -W3 -nologo -D_MIPS_
OS_CFLAGS += -W3 -nologo
else
ifeq ($(CPU_ARCH), ALPHA)
OS_CFLAGS += -W3 -nologo
DEFINES += -D_ALPHA_=1
ifeq ($(PROCESSOR), ALPHA)
CPU_ARCH = ALPHA
OS_CFLAGS += -W3 -nologo -D_ALPHA_=1
else
CPU_ARCH = processor_is_undefined
endif
endif
endif
ifndef NS_USE_GCC
OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS -PDB:NONE
endif
DEFINES += -DWIN95

View File

@@ -1,207 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
#
# Configuration common to all versions of Windows CE and Pocket PC x.
#
ifeq ($(CPU_ARCH),x86)
DEFAULT_COMPILER = cl
CC = cl
CCC = cl
else
ifeq ($(CPU_ARCH),ARM)
DEFAULT_COMPILER = clarm
CC = clarm
CCC = clarm
else
include CPU_ARCH_is_not_recognized
include _$(CPU_ARCH)
endif
endif
LINK = link
AR = lib
AR += -NOLOGO -OUT:"$@"
RANLIB = echo
BSDECHO = echo
ifdef BUILD_TREE
NSINSTALL_DIR = $(BUILD_TREE)/nss
else
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
endif
NSINSTALL = nsinstall
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
MKDEPEND = $(MKDEPEND_DIR)/$(OBJDIR_NAME)/mkdepend.exe
# Note: MKDEPENDENCIES __MUST__ be a relative pathname, not absolute.
# If it is absolute, gmake will crash unless the named file exists.
MKDEPENDENCIES = $(OBJDIR_NAME)/depend.mk
INSTALL = $(NSINSTALL)
MAKE_OBJDIR = mkdir
MAKE_OBJDIR += $(OBJDIR)
RC = rc.exe
GARBAGE += $(OBJDIR)/vc20.pdb $(OBJDIR)/vc40.pdb
XP_DEFINE += -DXP_PC
LIB_SUFFIX = lib
DLL_SUFFIX = dll
ifdef BUILD_OPT
# OS_CFLAGS += -MD
OPTIMIZER += -O2
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
DLLFLAGS += -OUT:"$@"
else
#
# Define USE_DEBUG_RTL if you want to use the debug runtime library
# (RTL) in the debug build
#
ifdef USE_DEBUG_RTL
# OS_CFLAGS += -MDd
else
# OS_CFLAGS += -MD
endif
OPTIMIZER += -Od -Z7
#OPTIMIZER += -Zi -Fd$(OBJDIR)/ -Od
DEFINES += -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USERNAME)
DLLFLAGS += -DEBUG -DEBUGTYPE:CV -OUT:"$@"
LDFLAGS += -DEBUG -DEBUGTYPE:CV
endif
# DEFINES += -DWIN32
ifdef MAPFILE
DLLFLAGS += -DEF:$(MAPFILE)
endif
# Change PROCESS to put the mapfile in the correct format for this platform
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
#
# The following is NOT needed for the NSPR 2.0 library.
#
DEFINES += -D_WINDOWS
# override default, which is ASFLAGS = CFLAGS
AS = ml.exe
ASFLAGS = -Cp -Sn -Zi -coff $(INCLUDES)
#
# override the definitions of RELEASE_TREE found in tree.mk
#
ifndef RELEASE_TREE
ifdef BUILD_SHIP
ifdef USE_SHIPS
RELEASE_TREE = $(NTBUILD_SHIP)
else
RELEASE_TREE = //redbuild/components
endif
else
RELEASE_TREE = //redbuild/components
endif
endif
#
# override the definitions of LIB_PREFIX and DLL_PREFIX in prefix.mk
#
ifndef LIB_PREFIX
LIB_PREFIX = $(NULL)
endif
ifndef DLL_PREFIX
DLL_PREFIX = $(NULL)
endif
#
# override the definitions of various _SUFFIX symbols in suffix.mk
#
#
# Object suffixes
#
ifndef OBJ_SUFFIX
OBJ_SUFFIX = .obj
endif
#
# Assembler source suffixes
#
ifndef ASM_SUFFIX
ASM_SUFFIX = .asm
endif
#
# Library suffixes
#
ifndef IMPORT_LIB_SUFFIX
IMPORT_LIB_SUFFIX = .$(LIB_SUFFIX)
endif
ifndef DYNAMIC_LIB_SUFFIX_FOR_LINKING
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(IMPORT_LIB_SUFFIX)
endif
#
# Program suffixes
#
ifndef PROG_SUFFIX
PROG_SUFFIX = .exe
endif
#
# override ruleset.mk, removing the "lib" prefix for library names, and
# adding the "32" after the LIBRARY_VERSION.
#
ifdef LIBRARY_NAME
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).dll
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).lib
endif
#
# override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY
#
ifndef TARGETS
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
endif
#
# Always set CPU_TAG on Linux, OpenVMS, WINCE.
#
CPU_TAG = _$(CPU_ARCH)

View File

@@ -1,99 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
#
# Config stuff for WINCE 3.0 (MS Pocket PC 2002)
#
# CPU_ARCH must already be defined to one of:
# x86, ARM
#
# This makefile defines the following variables:
# OS_CFLAGS, and OS_DLLFLAGS.
include $(CORE_DEPTH)/coreconf/WINCE.mk
CEVersion = 300
CePlatform = WIN32_PLATFORM_PSPC=310
ifeq ($(CPU_ARCH), x86)
DEFINES += -D_X86_ -D_i386_ -Di_386_ -Dx86
OS_CFLAGS += -Gs8192 -GF
OS_DLLFLAGS += -machine:IX86
else
ifeq ($(CPU_ARCH), ARM)
DEFINES += -DARM -D_ARM_
OS_DLLFLAGS += -machine:ARM
else
include CPU_ARCH_is_undefined
endif
endif
DEFINES += -D_WIN32_WCE=300 -DUNDER_CE=300
DEFINES += -DWIN32_PLATFORM_PSPC=310
DEFINES += -DUNICODE -D_UNICODE
OS_CFLAGS += -W3 -nologo
OS_DLLFLAGS += -DLL
LINKFLAGS = -nologo -PDB:NONE -subsystem:windowsce,3.00 \
-nodefaultlib:libc.lib \
-nodefaultlib:libcd.lib \
-nodefaultlib:libcmt.lib \
-nodefaultlib:libcmtd.lib \
-nodefaultlib:msvcrt.lib \
-nodefaultlib:msvcrtd.lib \
-nodefaultlib:oldnames.lib \
$(NULL)
LINK += $(LINKFLAGS)
LDFLAGS += $(LINKFLAGS)
OS_LIBS= coredll.lib corelibc.lib
#DLLBASE = -base:"0x00100000" -stack:0x10000,0x1000 -entry:"_DllMainCRTStartup"
DLLBASE += -align:"4096"
#SUB_SHLOBJS =
#EXTRA_LIBS =
#EXTRA_SHARED_LIBS =
#OS_LIBS=
#LD_LIBS=
#
# Win NT needs -GT so that fibers can work
#
#OS_CFLAGS += -GT
#DEFINES += -DWINNT
# WINNT uses the lib prefix, Win95 and WinCE don't
#NSPR31_LIB_PREFIX = lib

View File

@@ -35,20 +35,26 @@
# Config stuff for WINNT 3.51
#
# This makefile defines the following variables:
# OS_CFLAGS and OS_DLLFLAGS.
# CPU_ARCH, OS_CFLAGS, and OS_DLLFLAGS.
# It has the following internal variables:
# OS_PROC_CFLAGS and OS_WIN_CFLAGS.
include $(CORE_DEPTH)/coreconf/WIN32.mk
ifeq ($(CPU_ARCH), x386)
PROCESSOR := $(shell uname -p)
ifeq ($(PROCESSOR), I386)
CPU_ARCH = x386
OS_PROC_CFLAGS += -D_X86_
else
ifeq ($(CPU_ARCH), MIPS)
ifeq ($(PROCESSOR), MIPS)
CPU_ARCH = MIPS
OS_PROC_CFLAGS += -D_MIPS_
else
ifeq ($(CPU_ARCH), ALPHA)
ifeq ($(PROCESSOR), ALPHA)
CPU_ARCH = ALPHA
OS_PROC_CFLAGS += -D_ALPHA_
else
CPU_ARCH = processor_is_undefined
endif
endif
endif

View File

@@ -35,22 +35,26 @@
# Config stuff for WINNT 4.0
#
# This makefile defines the following variables:
# OS_CFLAGS and OS_DLLFLAGS.
# CPU_ARCH, OS_CFLAGS, and OS_DLLFLAGS.
# PROCESSOR is an internal variable.
include $(CORE_DEPTH)/coreconf/WIN32.mk
ifeq ($(CPU_ARCH), x386)
OS_CFLAGS += -W3 -nologo
DEFINES += -D_X86_
PROCESSOR := $(shell uname -p)
ifeq ($(PROCESSOR), I386)
CPU_ARCH = x386
OS_CFLAGS += -W3 -nologo -D_X86_
else
ifeq ($(CPU_ARCH), MIPS)
#OS_CFLAGS += -W3 -nologo
#DEFINES += -D_MIPS_
ifeq ($(PROCESSOR), MIPS)
CPU_ARCH = MIPS
#OS_CFLAGS += -W3 -nologo -D_MIPS_
OS_CFLAGS += -W3 -nologo
else
ifeq ($(CPU_ARCH), ALPHA)
OS_CFLAGS += -W3 -nologo
DEFINES += -D_ALPHA_=1
ifeq ($(PROCESSOR), ALPHA)
CPU_ARCH = ALPHA
OS_CFLAGS += -W3 -nologo -D_ALPHA_=1
else
CPU_ARCH = processor_is_undefined
endif
endif
endif
@@ -60,6 +64,6 @@ OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS -PDB:NONE
# Win NT needs -GT so that fibers can work
#
OS_CFLAGS += -GT
DEFINES += -DWINNT
OS_CFLAGS += -DWINNT
NSPR31_LIB_PREFIX = lib

View File

@@ -35,22 +35,26 @@
# Config stuff for WINNT 5.0 (Windows 2000)
#
# This makefile defines the following variables:
# OS_CFLAGS and OS_DLLFLAGS.
# CPU_ARCH, OS_CFLAGS, and OS_DLLFLAGS.
# PROCESSOR is an internal variable.
include $(CORE_DEPTH)/coreconf/WIN32.mk
ifeq ($(CPU_ARCH), x386)
OS_CFLAGS += -W3 -nologo
DEFINES += -D_X86_
PROCESSOR := $(shell uname -p)
ifeq ($(PROCESSOR), I386)
CPU_ARCH = x386
OS_CFLAGS += -W3 -nologo -D_X86_
else
ifeq ($(CPU_ARCH), MIPS)
#OS_CFLAGS += -W3 -nologo
#DEFINES += -D_MIPS_
ifeq ($(PROCESSOR), MIPS)
CPU_ARCH = MIPS
#OS_CFLAGS += -W3 -nologo -D_MIPS_
OS_CFLAGS += -W3 -nologo
else
ifeq ($(CPU_ARCH), ALPHA)
OS_CFLAGS += -W3 -nologo
DEFINES += -D_ALPHA_=1
ifeq ($(PROCESSOR), ALPHA)
CPU_ARCH = ALPHA
OS_CFLAGS += -W3 -nologo -D_ALPHA_=1
else
CPU_ARCH = processor_is_undefined
endif
endif
endif
@@ -60,6 +64,6 @@ OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS -PDB:NONE
# Win NT needs -GT so that fibers can work
#
OS_CFLAGS += -GT
DEFINES += -DWINNT
OS_CFLAGS += -DWINNT
NSPR31_LIB_PREFIX = lib

View File

@@ -1,65 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
#
# Config stuff for WINNT 5.1 (Windows XP)
#
# This makefile defines the following variables:
# OS_CFLAGS and OS_DLLFLAGS.
include $(CORE_DEPTH)/coreconf/WIN32.mk
ifeq ($(CPU_ARCH), x386)
OS_CFLAGS += -W3 -nologo
DEFINES += -D_X86_
else
ifeq ($(CPU_ARCH), MIPS)
#OS_CFLAGS += -W3 -nologo
#DEFINES += -D_MIPS_
OS_CFLAGS += -W3 -nologo
else
ifeq ($(CPU_ARCH), ALPHA)
OS_CFLAGS += -W3 -nologo
DEFINES += -D_ALPHA_=1
endif
endif
endif
OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS -PDB:NONE
#
# Win NT needs -GT so that fibers can work
#
OS_CFLAGS += -GT
DEFINES += -DWINNT
NSPR31_LIB_PREFIX = lib

View File

@@ -33,16 +33,6 @@
#######################################################################
# Master "Core Components" macros for getting the OS architecture #
# defines these symbols:
# 64BIT_TAG
# OS_ARCH (from uname -r)
# OS_TEST (from uname -m)
# OS_RELEASE (from uname -v and/or -r)
# OS_TARGET User defined, or set to OS_ARCH
# CPU_ARCH (from unmame -m or -p, ONLY on WINNT)
# OS_CONFIG OS_TARGET + OS_RELEASE
# OBJDIR_TAG
# OBJDIR_NAME
#######################################################################
#
@@ -63,9 +53,9 @@ OS_ARCH := $(subst /,_,$(shell uname -s))
OS_TEST := $(shell uname -m)
ifeq ($(OS_TEST),i86pc)
OS_RELEASE := $(shell uname -r)_$(OS_TEST)
OS_RELEASE := $(shell uname -r)_$(OS_TEST)
else
OS_RELEASE := $(shell uname -r)
OS_RELEASE := $(shell uname -r)
endif
#
@@ -73,15 +63,15 @@ endif
#
ifeq ($(OS_ARCH),IRIX64)
OS_ARCH = IRIX
OS_ARCH = IRIX
endif
#
# Force the older BSD/OS versions to use the new arch name.
# Force the newer BSDI versions to use the old arch name.
#
ifeq ($(OS_ARCH),BSD_386)
OS_ARCH = BSD_OS
ifeq ($(OS_ARCH),BSD_OS)
OS_ARCH = BSD_386
endif
#
@@ -89,23 +79,23 @@ endif
#
ifeq ($(OS_ARCH),UNIX_SV)
ifneq ($(findstring NCR, $(shell grep NCR /etc/bcheckrc | head -1 )),)
OS_ARCH = NCR
else
# Make UnixWare something human readable
OS_ARCH = UNIXWARE
endif
ifneq ($(findstring NCR, $(shell grep NCR /etc/bcheckrc | head -1 )),)
OS_ARCH = NCR
else
# Make UnixWare something human readable
OS_ARCH = UNIXWARE
endif
# Get the OS release number, not 4.2
OS_RELEASE := $(shell uname -v)
# Get the OS release number, not 4.2
OS_RELEASE := $(shell uname -v)
endif
ifeq ($(OS_ARCH),UNIX_System_V)
OS_ARCH = NEC
OS_ARCH = NEC
endif
ifeq ($(OS_ARCH),AIX)
OS_RELEASE := $(shell uname -v).$(shell uname -r)
OS_RELEASE := $(shell uname -v).$(shell uname -r)
endif
#
@@ -113,13 +103,13 @@ endif
#
ifeq ($(OS_ARCH)$(OS_RELEASE),OSF1V4.0)
OS_VERSION := $(shell uname -v)
ifeq ($(OS_VERSION),564)
OS_RELEASE := V4.0B
endif
ifeq ($(OS_VERSION),878)
OS_RELEASE := V4.0D
endif
OS_VERSION := $(shell uname -v)
ifeq ($(OS_VERSION),564)
OS_RELEASE := V4.0B
endif
ifeq ($(OS_VERSION),878)
OS_RELEASE := V4.0D
endif
endif
#
@@ -127,42 +117,25 @@ endif
#
ifeq ($(OS_ARCH),ReliantUNIX-N)
OS_ARCH = ReliantUNIX
OS_RELEASE = 5.4
OS_ARCH = ReliantUNIX
OS_RELEASE = 5.4
endif
ifeq ($(OS_ARCH),SINIX-N)
OS_ARCH = ReliantUNIX
OS_RELEASE = 5.4
OS_ARCH = ReliantUNIX
OS_RELEASE = 5.4
endif
#
# Handle FreeBSD 2.2-STABLE, Linux 2.0.30-osfmach3, and
# IRIX 6.5-ALPHA-1289139620.
# Handle FreeBSD 2.2-STABLE and Linux 2.0.30-osfmach3
#
ifeq (,$(filter-out Linux FreeBSD IRIX,$(OS_ARCH)))
OS_RELEASE := $(shell echo $(OS_RELEASE) | sed 's/-.*//')
ifeq (,$(filter-out Linux FreeBSD,$(OS_ARCH)))
OS_RELEASE := $(shell echo $(OS_RELEASE) | sed 's/-.*//')
endif
ifeq ($(OS_ARCH),Linux)
OS_RELEASE := $(subst ., ,$(OS_RELEASE))
ifneq ($(words $(OS_RELEASE)),1)
OS_RELEASE := $(word 1,$(OS_RELEASE)).$(word 2,$(OS_RELEASE))
endif
endif
#
# For OS/2
#
ifeq ($(OS_ARCH),OS_2)
OS_ARCH = OS2
OS_RELEASE := $(shell uname -v)
endif
ifneq (,$(findstring OpenVMS,$(OS_ARCH)))
OS_ARCH = OpenVMS
OS_RELEASE := $(shell uname -v)
OS_RELEASE := $(basename $(OS_RELEASE))
endif
#######################################################################
@@ -188,37 +161,30 @@ endif
#
# The following hack allows one to build on a WIN95 machine (as if
# s/he were cross-compiling on a WINNT host for a WIN95 target).
# It also accomodates for MKS's and Cygwin's uname.exe.
# It also accomodates for MKS's uname.exe. If you never intend
# to do development on a WIN95 machine, you don't need this. It doesn't
# work any more anyway.
#
ifeq ($(OS_ARCH),WIN95)
OS_ARCH = WINNT
OS_TARGET = WIN95
OS_ARCH = WINNT
OS_TARGET = WIN95
endif
ifeq ($(OS_ARCH),Windows_95)
OS_ARCH = Windows_NT
OS_TARGET = WIN95
endif
ifeq ($(OS_ARCH),CYGWIN_95-4.0)
OS_ARCH = CYGWIN_NT-4.0
OS_TARGET = WIN95
endif
ifeq ($(OS_ARCH),CYGWIN_98-4.10)
OS_ARCH = CYGWIN_NT-4.0
OS_ARCH = Windows_NT
OS_TARGET = WIN95
endif
#
# On WIN32, we also define the variable CPU_ARCH, if it isn't already.
# On WIN32, we also define the variable CPU_ARCH.
#
ifndef CPU_ARCH
ifeq ($(OS_ARCH), WINNT)
ifeq ($(OS_ARCH), WINNT)
CPU_ARCH := $(shell uname -p)
ifeq ($(CPU_ARCH),I386)
CPU_ARCH = x386
CPU_ARCH = x386
endif
endif
endif
else
#
# If uname -s returns "Windows_NT", we assume that we are using
# the uname.exe in MKS toolkit.
#
@@ -227,54 +193,33 @@ endif
# Moreover, it doesn't have the -p option, so we need to use uname -m.
#
ifeq ($(OS_ARCH), Windows_NT)
OS_ARCH = WINNT
OS_MINOR_RELEASE := $(shell uname -v)
# strip leading 0
OS_MINOR_RELEASE := $(patsubst 0%,%,$(OS_MINOR_RELEASE))
OS_RELEASE := $(OS_RELEASE).$(OS_MINOR_RELEASE)
ifndef CPU_ARCH
OS_ARCH = WINNT
OS_MINOR_RELEASE := $(shell uname -v)
ifeq ($(OS_MINOR_RELEASE),00)
OS_MINOR_RELEASE = 0
endif
OS_RELEASE = $(OS_RELEASE).$(OS_MINOR_RELEASE)
CPU_ARCH := $(shell uname -m)
#
# MKS's uname -m returns "586" on a Pentium machine.
#
ifneq (,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x386
CPU_ARCH = x386
endif
endif
endif
#
# If uname -s returns "CYGWIN_NT-4.0", we assume that we are using
# the uname.exe in the Cygwin tools.
#
ifeq (CYGWIN_NT,$(findstring CYGWIN_NT,$(OS_ARCH)))
OS_RELEASE := $(patsubst CYGWIN_NT-%,%,$(OS_ARCH))
OS_ARCH = WINNT
ifndef CPU_ARCH
CPU_ARCH := $(shell uname -m)
#
# Cygwin's uname -m returns "i686" on a Pentium Pro machine.
#
ifneq (,$(findstring 86,$(CPU_ARCH)))
CPU_ARCH = x386
endif
endif
endif
ifndef OS_TARGET
OS_TARGET = $(OS_ARCH)
OS_TARGET = $(OS_ARCH)
endif
ifeq ($(OS_TARGET), WIN95)
OS_RELEASE = 4.0
OS_RELEASE = 4.0
endif
ifeq ($(OS_TARGET), WIN16)
OS_RELEASE =
# OS_RELEASE = _3.11
endif
ifdef OS_TARGET_RELEASE
OS_RELEASE = $(OS_TARGET_RELEASE)
OS_RELEASE =
# OS_RELEASE = _3.11
endif
#
@@ -289,25 +234,25 @@ OS_CONFIG = $(OS_TARGET)$(OS_RELEASE)
#
ifdef BUILD_OPT
ifeq ($(OS_TARGET),WIN16)
OBJDIR_TAG = _O
else
OBJDIR_TAG = $(64BIT_TAG)_OPT
endif
ifeq ($(OS_TARGET),WIN16)
OBJDIR_TAG = _O
else
OBJDIR_TAG = $(64BIT_TAG)_OPT
endif
else
ifdef BUILD_IDG
ifeq ($(OS_TARGET),WIN16)
OBJDIR_TAG = _I
ifdef BUILD_IDG
ifeq ($(OS_TARGET),WIN16)
OBJDIR_TAG = _I
else
OBJDIR_TAG = $(64BIT_TAG)_IDG
endif
else
OBJDIR_TAG = $(64BIT_TAG)_IDG
ifeq ($(OS_TARGET),WIN16)
OBJDIR_TAG = _D
else
OBJDIR_TAG = $(64BIT_TAG)_DBG
endif
endif
else
ifeq ($(OS_TARGET),WIN16)
OBJDIR_TAG = _D
else
OBJDIR_TAG = $(64BIT_TAG)_DBG
endif
endif
endif
#
@@ -319,18 +264,29 @@ endif
# IMPL_STRATEGY may be defined too.
#
OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJ
# Name of the binary code directories
ifeq ($(OS_ARCH), WINNT)
ifeq ($(CPU_ARCH),x386)
OBJDIR_NAME = $(OS_CONFIG)$(OBJDIR_TAG).OBJ
else
OBJDIR_NAME = $(OS_CONFIG)$(CPU_ARCH)$(OBJDIR_TAG).OBJ
endif
else
endif
ifeq (,$(filter-out WINNT WIN95 WINCE,$(OS_TARGET))) # list omits WIN16
OBJDIR_NAME = $(OS_CONFIG)$(CPU_TAG)$(COMPILER_TAG)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJ
ifeq ($(OS_ARCH), WINNT)
ifneq ($(OS_TARGET),WIN16)
ifndef BUILD_OPT
#
# Define USE_DEBUG_RTL if you want to use the debug runtime library
# (RTL) in the debug build
#
ifdef USE_DEBUG_RTL
OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJD
OBJDIR_NAME = $(OS_CONFIG)$(CPU_TAG)$(COMPILER_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJD
endif
endif
endif
endif
MK_ARCH = included

View File

@@ -39,17 +39,17 @@
AS = $(CC)
ASFLAGS += $(CFLAGS)
CCF = $(CC) $(CFLAGS)
PURIFY = purify $(PURIFYOPTIONS)
LINK_DLL = $(LINK) $(OS_DLLFLAGS) $(DLLFLAGS)
LINK_EXE = $(LINK) $(OS_LFLAGS) $(LFLAGS)
NFSPWD = $(NSINSTALL_DIR)/nfspwd
CFLAGS = $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
CFLAGS += $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
$(XCFLAGS)
RANLIB = echo
TAR = /bin/tar
#
# For purify
#
NOMD_CFLAGS += $(OPTIMIZER) $(NOMD_OS_CFLAGS) $(XP_DEFINE) $(DEFINES) \
$(INCLUDES) $(XCFLAGS)
NOMD_CFLAGS += $(OPTIMIZER) $(NOMD_OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
$(XCFLAGS)
MK_COMMAND = included

View File

@@ -37,49 +37,36 @@
# [1.0] Master "Core Components" source and release <architecture> #
# tags #
#######################################################################
ifndef MK_ARCH
include $(CORE_DEPTH)/coreconf/arch.mk
endif
#######################################################################
# [2.0] Master "Core Components" default command macros #
# (NOTE: may be overridden in $(OS_TARGET)$(OS_RELEASE).mk) #
# (NOTE: may be overridden in $(OS_CONFIG).mk) #
#######################################################################
ifndef MK_COMMAND
include $(CORE_DEPTH)/coreconf/command.mk
endif
#######################################################################
# [3.0] Master "Core Components" <architecture>-specific macros #
# (dependent upon <architecture> tags) #
# #
# We are moving towards just having a $(OS_TARGET).mk file #
# as opposed to multiple $(OS_TARGET)$(OS_RELEASE).mk files, #
# one for each OS release. #
#######################################################################
TARGET_OSES = FreeBSD BSD_OS NetBSD OpenUNIX OS2 QNX Darwin BeOS OpenBSD \
OpenVMS
ifeq (,$(filter-out $(TARGET_OSES),$(OS_TARGET)))
include $(CORE_DEPTH)/coreconf/$(OS_TARGET).mk
else
include $(CORE_DEPTH)/coreconf/$(OS_TARGET)$(OS_RELEASE).mk
endif
include $(CORE_DEPTH)/coreconf/$(OS_CONFIG).mk
#######################################################################
# [4.0] Master "Core Components" source and release <platform> tags #
# (dependent upon <architecture> tags) #
#######################################################################
PLATFORM = $(OBJDIR_NAME)
include $(CORE_DEPTH)/coreconf/platform.mk
#######################################################################
# [5.0] Master "Core Components" release <tree> tags #
# (dependent upon <architecture> tags) #
#######################################################################
ifndef MK_TREE
include $(CORE_DEPTH)/coreconf/tree.mk
endif
#######################################################################
# [6.0] Master "Core Components" source and release <component> tags #
@@ -88,9 +75,8 @@ endif
# command line, as an environment variable, or in individual #
# makefiles, or more appropriately, manifest.mn) #
#######################################################################
ifndef MK_MODULE
include $(CORE_DEPTH)/coreconf/module.mk
endif
#######################################################################
# [7.0] Master "Core Components" release <version> tags #
@@ -98,27 +84,24 @@ endif
# command line, as an environment variable, or in individual #
# makefiles, or more appropriately, manifest.mn) #
#######################################################################
ifndef MK_VERSION
include $(CORE_DEPTH)/coreconf/version.mk
endif
#######################################################################
# [8.0] Master "Core Components" macros to figure out #
# binary code location #
# (dependent upon <platform> tags) #
#######################################################################
ifndef MK_LOCATION
include $(CORE_DEPTH)/coreconf/location.mk
endif
#######################################################################
# [9.0] Master "Core Components" <component>-specific source path #
# (dependent upon <user_source_tree>, <source_component>, #
# <version>, and <platform> tags) #
#######################################################################
ifndef MK_SOURCE
include $(CORE_DEPTH)/coreconf/source.mk
endif
#######################################################################
# [10.0] Master "Core Components" include switch for support header #
@@ -126,43 +109,34 @@ endif
# (dependent upon <tree>, <component>, <version>, #
# and <platform> tags) #
#######################################################################
ifndef MK_HEADERS
include $(CORE_DEPTH)/coreconf/headers.mk
endif
#######################################################################
# [11.0] Master "Core Components" for computing program prefixes #
#######################################################################
ifndef MK_PREFIX
include $(CORE_DEPTH)/coreconf/prefix.mk
endif
#######################################################################
# [12.0] Master "Core Components" for computing program suffixes #
# (dependent upon <architecture> tags) #
#######################################################################
ifndef MK_SUFFIX
include $(CORE_DEPTH)/coreconf/suffix.mk
endif
#######################################################################
# [13.0] Master "Core Components" for defining JDK #
# (dependent upon <architecture>, <source>, and <suffix> tags)#
#######################################################################
ifdef NS_USE_JDK
include $(CORE_DEPTH)/coreconf/jdk.mk
endif
#######################################################################
# [14.0] Master "Core Components" rule set #
# (should always be the last file included by config.mk) #
#######################################################################
ifndef MK_RULESET
include $(CORE_DEPTH)/coreconf/ruleset.mk
endif
#######################################################################
# [15.0] Dependencies.
#######################################################################
-include $(MKDEPENDENCIES)

View File

@@ -43,7 +43,7 @@
INCLUDES += -I$(SOURCE_MDHEADERS_DIR)
ifneq ($(OS_TARGET),WIN16)
INCLUDES += -I$(SOURCE_XPHEADERS_DIR)
INCLUDES += -I$(SOURCE_XPHEADERS_DIR)
endif
#
@@ -52,9 +52,3 @@ endif
#
INCLUDES += -I$(SOURCE_XPPRIVATE_DIR)
ifdef MOZILLA_CLIENT
INCLUDES += -I$(SOURCE_XP_DIR)/include $(MOZILLA_INCLUDES)
endif
MK_HEADERS = included

View File

@@ -82,6 +82,11 @@ endif
# set [Microsoft Windows] platforms
ifeq ($(OS_ARCH), WINNT)
# (1) specify "location" information
ifeq ($(JAVA_HOME),)
JAVA_HOME = //iridium/components/jdk/1.2.2_01/WINNT
endif
JAVA_CLASSES = $(JAVA_HOME)/lib/classes.zip
ifeq ($(JRE_HOME),)
@@ -119,6 +124,11 @@ endif
# set [Sun Solaris] platforms
ifeq ($(OS_ARCH), SunOS)
# (1) specify "location" information
ifeq ($(JAVA_HOME),)
JAVA_HOME = /share/builds/components/jdk/1.2.2_01/SunOS
endif
JAVA_CLASSES = $(JAVA_HOME)/lib/classes.zip
ifeq ($(JRE_HOME),)
@@ -139,34 +149,18 @@ ifeq ($(OS_ARCH), SunOS)
INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH)
# (3) specify "linker" information
ifeq ($(USE_64), 1)
JAVA_CPU = $(shell uname -p)v9
else
JAVA_CPU = $(shell uname -p)
endif
JAVA_CPU = sparc
ifeq ($(JDK_VERSION), 1.1)
JAVA_LIBDIR = lib/$(JAVA_CPU)
else
JAVA_LIBDIR = jre/lib/$(JAVA_CPU)
endif
# ** IMPORTANT ** having -lthread before -lnspr is critical on solaris
# when linking with -ljava as nspr redefines symbols in libthread that
# cause JNI executables to fail with assert of bad thread stack values.
JAVA_CLIBS = -lthread
ifneq ($(JDK_VERSION), 1.1)
ifeq ($(USE_64), 1)
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/server
else
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/classic
endif
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)
JAVA_LIBS += -ljvm -ljava
else
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/$(JDK_THREADING_MODEL) -ljava
endif
JAVA_LIBS = -L$(JAVA_HOME)/$(JAVA_LIBDIR)/$(JDK_THREADING_MODEL) -lhpi
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/classic -ljvm
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR) -ljava
JAVA_LIBS += $(JAVA_CLIBS)
LDFLAGS += $(JAVA_LIBS)
@@ -177,6 +171,11 @@ endif
# set [Hewlett Packard HP-UX] platforms
ifeq ($(OS_ARCH), HP-UX)
# (1) specify "location" information (currently ONLY on "orville")
ifeq ($(JAVA_HOME),)
JAVA_HOME = /opt/java1.2
endif
JAVA_CLASSES = $(JAVA_HOME)/lib/classes.zip
ifeq ($(JRE_HOME),)
@@ -216,6 +215,11 @@ endif
# set [Redhat Linux] platforms
ifeq ($(OS_ARCH), Linux)
# (1) specify "location" information
ifeq ($(JAVA_HOME),)
JAVA_HOME = /share/builds/components/jdk/1.2.2/Linux
endif
JAVA_CLASSES = $(JAVA_HOME)/lib/classes.zip
ifeq ($(JRE_HOME),)
@@ -242,11 +246,8 @@ ifeq ($(OS_ARCH), Linux)
JAVA_CLIBS =
ifeq ($(JDK_VERSION), 1.4)
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/server -ljvm
else
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/classic -ljvm
endif
JAVA_LIBS = -L$(JAVA_HOME)/$(JAVA_LIBDIR)/$(JDK_THREADING_MODEL) -lhpi
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/classic -ljvm
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR) -ljava
JAVA_LIBS += $(JAVA_CLIBS)
@@ -258,6 +259,11 @@ endif
# set [IBM AIX] platforms
ifeq ($(OS_ARCH), AIX)
# (1) specify "location" information
ifeq ($(JAVA_HOME),)
JAVA_HOME = /share/builds/components/jdk/1.2.2/AIX
endif
JAVA_CLASSES = $(JAVA_HOME)/lib/classes.zip
ifeq ($(JRE_HOME),)
@@ -275,7 +281,6 @@ ifeq ($(OS_ARCH), AIX)
JAVA_ARCH = aix
INCLUDES += -I$(JAVA_HOME)/include
INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH)
# (3) specify "linker" information
JAVA_CPU = aix
@@ -297,6 +302,11 @@ endif
# set [Digital UNIX] platforms
ifeq ($(OS_ARCH), OSF1)
# (1) specify "location" information
ifeq ($(JAVA_HOME),)
JAVA_HOME = /share/builds/components/jdk/1.2.2_3/OSF1
endif
JAVA_CLASSES = $(JAVA_HOME)/lib/classes.zip
ifeq ($(JRE_HOME),)
@@ -336,6 +346,11 @@ endif
# set [Silicon Graphics IRIX] platforms
ifeq ($(OS_ARCH), IRIX)
# (1) specify "location" information
ifeq ($(JAVA_HOME),)
JAVA_HOME = /share/builds/components/jdk/1.2.1/IRIX
endif
JAVA_CLASSES = $(JAVA_HOME)/lib/dev.jar:$(JAVA_HOME)/lib/rt.jar
ifeq ($(JRE_HOME),)
@@ -397,9 +412,14 @@ ifeq ($(JDK_CLASS_REPOSITORY_OPT),)
JDK_CLASS_REPOSITORY_OPT = -d $(JAVA_DESTPATH)
endif
# initialize the JDK heap size option to a default value
ifeq ($(JDK_INIT_HEAP_OPT),)
JDK_INIT_HEAP_OPT = -ms8m
endif
# define a default JDK classpath
ifeq ($(JDK_CLASSPATH),)
JDK_CLASSPATH = '$(JAVA_DESTPATH)$(PATH_SEPARATOR)$(JAVA_SOURCEPATH)$(PATH_SEPARATOR)$(JAVA_CLASSES)'
JDK_CLASSPATH = "$(JAVA_DESTPATH)$(PATH_SEPARATOR)$(JAVA_SOURCEPATH)$(PATH_SEPARATOR)$(JAVA_CLASSES)"
endif
# by default, override CLASSPATH environment variable using the JDK classpath option with $(JDK_CLASSPATH)
@@ -407,13 +427,11 @@ ifeq ($(JDK_CLASSPATH_OPT),)
JDK_CLASSPATH_OPT = -classpath $(JDK_CLASSPATH)
endif
ifeq ($(USE_64), 1)
JDK_USE_64 = -d64
endif
endif
ifdef NS_USE_JDK_TOOLSET
#######################################################################
# [5] Define JDK "Core Components" toolset; #
# (always allow a user to override these values) #
@@ -450,8 +468,8 @@ ifeq ($(JAVA),)
JAVA_FLAGS = $(JDK_THREADING_MODEL_OPT)
JAVA_FLAGS += $(JDK_DEBUG_OPT)
JAVA_FLAGS += $(JDK_CLASSPATH_OPT)
JAVA_FLAGS += $(JDK_INIT_HEAP_OPT)
JAVA_FLAGS += $(JDK_JIT_OPT)
JAVA_FLAGS += $(JDK_USE_64)
JAVA = $(JAVA_PROG) $(JAVA_FLAGS)
endif
@@ -465,8 +483,8 @@ ifeq ($(JAVAC),)
JAVAC_FLAGS += $(JDK_OPTIMIZER_OPT)
JAVAC_FLAGS += $(JDK_DEBUG_OPT)
JAVAC_FLAGS += $(JDK_CLASSPATH_OPT)
JAVAC_FLAGS += -J$(JDK_INIT_HEAP_OPT)
JAVAC_FLAGS += $(JDK_CLASS_REPOSITORY_OPT)
JAVAC_FLAGS += $(JDK_USE_64)
JAVAC = $(JAVAC_PROG) $(JAVAC_FLAGS)
endif
@@ -478,6 +496,7 @@ ifeq ($(JAVADOC),)
JAVADOC_PROG = $(JAVA_HOME)/bin/javadoc$(PROG_SUFFIX)
JAVADOC_FLAGS = $(JDK_THREADING_MODEL_OPT)
JAVADOC_FLAGS += $(JDK_CLASSPATH_OPT)
JAVADOC_FLAGS += -J$(JDK_INIT_HEAP_OPT)
JAVADOC = $(JAVADOC_PROG) $(JAVADOC_FLAGS)
endif
@@ -510,6 +529,7 @@ ifeq ($(JAVAP),)
JAVAP_PROG = $(JAVA_HOME)/bin/javap$(PROG_SUFFIX)
JAVAP_FLAGS = $(JDK_THREADING_MODEL_OPT)
JAVAP_FLAGS += $(JDK_CLASSPATH_OPT)
JAVAP_FLAGS += -J$(JDK_INIT_HEAP_OPT)
JAVAP = $(JAVAP_PROG) $(JAVAP_FLAGS)
endif
@@ -542,6 +562,7 @@ ifeq ($(JAVAW),)
jJAVAW_FLAGS = $(JDK_THREADING_MODEL_OPT)
jJAVAW_FLAGS += $(JDK_DEBUG_OPT)
jJAVAW_FLAGS += $(JDK_CLASSPATH_OPT)
jJAVAW_FLAGS += $(JDK_INIT_HEAP_OPT)
jJAVAW_FLAGS += $(JDK_JIT_OPT)
jJAVAW = $(JAVAW_PROG) $(JAVAW_FLAGS)
endif
@@ -555,6 +576,7 @@ ifeq ($(JDB),)
JDB_FLAGS = $(JDK_THREADING_MODEL_OPT)
JDB_FLAGS += $(JDK_DEBUG_OPT)
JDB_FLAGS += $(JDK_CLASSPATH_OPT)
JDB_FLAGS += $(JDK_INIT_HEAP_OPT)
JDB_FLAGS += $(JDK_JIT_OPT)
JDB = $(JDB_PROG) $(JDB_FLAGS)
endif
@@ -567,6 +589,7 @@ ifeq ($(JRE),)
JRE_PROG = $(JAVA_HOME)/bin/jre$(PROG_SUFFIX)
JRE_FLAGS = $(JDK_THREADING_MODEL_OPT)
JRE_FLAGS += $(JDK_CLASSPATH_OPT)
JRE_FLAGS += $(JDK_INIT_HEAP_OPT)
JRE_FLAGS += $(JDK_JIT_OPT)
JRE = $(JRE_PROG) $(JRE_FLAGS)
endif
@@ -579,6 +602,7 @@ ifeq ($(JREW),)
JREW_PROG = $(JAVA_HOME)/bin/jrew$(PROG_SUFFIX)
JREW_FLAGS = $(JDK_THREADING_MODEL_OPT)
JREW_FLAGS += $(JDK_CLASSPATH_OPT)
JREW_FLAGS += $(JDK_INIT_HEAP_OPT)
JREW_FLAGS += $(JDK_JIT_OPT)
JREW = $(JREW_PROG) $(JREW_FLAGS)
endif
@@ -624,3 +648,5 @@ ifeq ($(SERIALVER),)
SERIALVER_FLAGS = $(JDK_THREADING_MODEL_OPT)
SERIALVER = $(SERIALVER_PROG) $(SERIALVER_FLAGS)
endif
endif

View File

@@ -32,39 +32,28 @@
# GPL.
#
# Input: -d dir -j javahcmd foo1 foo2 . . .
# Input: -d dir foo1 foo2 . . .
# Compares generated "_jni/foo1.h" file with "foo1.class", and
# generated "_jni/foo2.h" file with "foo2.class", etc.
# (NOTE: unlike its closely related cousin, outofdate.pl,
# the "-d dir" must always be specified)
# Runs the javahcmd on all files that are different.
#
# Returns: list of headers which are OLDER than corresponding class
# files (non-existant class files are considered to be real old :-)
my $javah = "";
my $classdir = "";
$found = 1;
while(1) {
if ($ARGV[0] eq '-d') {
$classdir = $ARGV[1];
$classdir .= "/";
shift;
shift;
} elsif($ARGV[0] eq '-j') {
$javah = $ARGV[1];
shift;
shift;
} else {
last;
}
if ($ARGV[0] eq '-d')
{
$classdir = $ARGV[1];
$classdir .= "/";
shift;
shift;
}
if( $javah eq "") {
die "Must specify -j <javah command>";
}
if( $classdir eq "") {
die "Must specify -d <classdir>";
else
{
print STDERR "Usage: perl ", $0, " -d dir foo1 foo2 . . .\n";
exit -1;
}
foreach $filename (@ARGV)
@@ -92,16 +81,12 @@ foreach $filename (@ARGV)
# NOTE: Since this is used by "javah", and "javah" refuses to overwrite
# an existing file, we force an unlink from this script, since
# we actually want to regenerate the header file at this time.
unlink $headerfilename;
push @filelist, $filename;
unlink $headerfilename;
print $filename, " ";
$found = 0;
}
}
if( @filelist ) {
$cmd = "$javah " . join(" ",@filelist);
$cmd =~ s/\'/\"/g; # because windows doesn't understand single quote
print "$cmd\n";
exit (system($cmd) >> 8);
} else {
print "All JNI header files up to date.\n"
}
print "\n";
exit 0;

View File

@@ -39,28 +39,19 @@
# Figure out where the binary code lives.
#
ifdef BUILD_TREE
ifdef LIBRARY_NAME
BUILD = $(BUILD_TREE)/nss/$(LIBRARY_NAME)
OBJDIR = $(BUILD_TREE)/nss/$(LIBRARY_NAME)
DEPENDENCIES = $(BUILD_TREE)/nss/$(LIBRARY_NAME)/.md
else
BUILD = $(BUILD_TREE)/nss
OBJDIR = $(BUILD_TREE)/nss
DEPENDENCIES = $(BUILD_TREE)/nss/.md
endif
else
BUILD = $(PLATFORM)
OBJDIR = $(PLATFORM)
DEPENDENCIES = $(PLATFORM)/.md
DIST = $(CORE_DEPTH)/../dist/$(PLATFORM)
ifdef MOZILLA_CLIENT
DIST = $(CORE_DEPTH)/../mozilla/dist/$(PLATFORM)
endif
DIST = $(SOURCE_PREFIX)/$(PLATFORM)
VPATH = $(NSINSTALL_DIR)/$(PLATFORM)
DEPENDENCIES = $(PLATFORM)/.md
ifdef BUILD_DEBUG_GC
DEFINES += -DDEBUG_GC
DEFINES += -DDEBUG_GC
endif
GARBAGE += $(DEPENDENCIES) core $(wildcard core.[0-9]*)
MK_LOCATION = included

View File

@@ -43,23 +43,22 @@
#
ifndef JAVA_SOURCE_COMPONENT
JAVA_SOURCE_COMPONENT = java
JAVA_SOURCE_COMPONENT = java
endif
ifndef NETLIB_SOURCE_COMPONENT
NETLIB_SOURCE_COMPONENT = netlib
NETLIB_SOURCE_COMPONENT = netlib
endif
ifndef NSPR_SOURCE_COMPONENT
NSPR_SOURCE_COMPONENT = nspr20
NSPR_SOURCE_COMPONENT = nspr20
endif
ifndef SECTOOLS_SOURCE_COMPONENT
SECTOOLS_SOURCE_COMPONENT = sectools
SECTOOLS_SOURCE_COMPONENT = sectools
endif
ifndef SECURITY_SOURCE_COMPONENT
SECURITY_SOURCE_COMPONENT = security
SECURITY_SOURCE_COMPONENT = security
endif
MK_MODULE = included

View File

@@ -42,26 +42,14 @@ PLSRCS = nfspwd.pl
PROGRAM = nsinstall
# Indicate that this directory builds build tools.
INTERNAL_TOOLS = 1
include $(DEPTH)/coreconf/config.mk
ifeq (,$(filter-out OS2 WIN%,$(OS_TARGET)))
ifeq ($(OS_ARCH),WINNT)
PROGRAM =
else
TARGETS = $(PROGRAM) $(PLSRCS:.pl=)
endif
ifdef NATIVE_CC
CC=$(NATIVE_CC)
endif
ifdef NATIVE_FLAGS
OS_CFLAGS=$(NATIVE_FLAGS)
endif
include $(DEPTH)/coreconf/rules.mk
# Redefine MAKE_OBJDIR for just this directory

View File

@@ -55,16 +55,10 @@ typedef unsigned int mode_t;
#define HAVE_LCHOWN
#if defined(AIX) || defined(BSDI) || defined(HPUX) || defined(LINUX) || defined(SUNOS4) || defined(SCO) || defined(UNIXWARE) || defined(VMS) || defined(NTO) || defined(DARWIN) || defined(BEOS)
#if defined(AIX) || defined(BSDI) || defined(HPUX) || defined(LINUX) || defined(SUNOS4) || defined(SCO) || defined(UNIXWARE)
#undef HAVE_LCHOWN
#endif
#define HAVE_FCHMOD
#if defined(BEOS)
#undef HAVE_FCHMOD
#endif
#ifdef LINUX
#include <getopt.h>
#endif
@@ -79,34 +73,13 @@ typedef unsigned int mode_t;
extern int fchmod(int fildes, mode_t mode);
#endif
#ifdef GETCWD_CANT_MALLOC
/*
* this should probably go into a utility library in case other applications
* need it.
*/
static char *
getcwd_do_malloc(char *path, int len) {
if (!path) {
path = malloc(PATH_MAX +1);
if (!path) return NULL;
}
return getcwd(path, PATH_MAX);
}
#define GETCWD getcwd_do_malloc
#else
#define GETCWD getcwd
#endif
static void
usage(void)
{
fprintf(stderr,
"usage: %s [-C cwd] [-L linkprefix] [-m mode] [-o owner] [-g group]\n"
" %*s [-DdltR] file [file ...] directory\n",
program, (int)strlen(program), "");
program, strlen(program), "");
exit(2);
}
@@ -266,14 +239,14 @@ main(int argc, char **argv)
return 0;
if (!cwd) {
cwd = GETCWD(0, PATH_MAX);
cwd = getcwd(0, PATH_MAX);
if (!cwd)
fail("could not get CWD");
}
/* make sure we can get into todir. */
xchdir(todir);
todir = GETCWD(0, PATH_MAX);
todir = getcwd(0, PATH_MAX);
if (!todir)
fail("could not get CWD in todir");
tdlen = strlen(todir);
@@ -403,24 +376,14 @@ retry:
if (ftruncate(tofd, sb.st_size) < 0)
fail("cannot truncate %s", toname);
/*
** On OpenVMS we can't chmod() until the file is closed, and we
** have to utime() last since fchown/chmod alter the timestamps.
*/
#ifndef VMS
if (dotimes) {
utb.actime = sb.st_atime;
utb.modtime = sb.st_mtime;
if (utime(toname, &utb) < 0)
fail("cannot set times of %s", toname);
}
#ifdef HAVE_FCHMOD
if (fchmod(tofd, mode) < 0)
#else
if (chmod(toname, mode) < 0)
#endif
fail("cannot change mode of %s", toname);
#endif
if ((owner || group) && fchown(tofd, uid, gid) < 0)
fail("cannot change owner of %s", toname);
@@ -428,16 +391,6 @@ retry:
if (close(tofd) < 0)
fail("close reports write error on %s", toname);
close(fromfd);
#ifdef VMS
if (chmod(toname, mode) < 0)
fail("cannot change mode of %s", toname);
if (dotimes) {
utb.actime = sb.st_atime;
utb.modtime = sb.st_mtime;
if (utime(toname, &utb) < 0)
fail("cannot set times of %s", toname);
}
#endif
}
free(toname);

View File

@@ -35,7 +35,7 @@
** Pathname subroutines.
*/
#include <assert.h>
#if defined(FREEBSD) || defined(BSDI) || defined(DARWIN)
#ifdef FREEBSD
#include <sys/types.h>
#endif /* FREEBSD */
#include <dirent.h>
@@ -69,7 +69,7 @@ fail(char *format, ...)
va_start(ap, format);
vfprintf(stderr, format, ap);
va_end(ap);
if (error) {
if (error)
#ifdef USE_REENTRANT_LIBC
R_STRERROR_R(errno);
@@ -77,8 +77,7 @@ fail(char *format, ...)
#else
fprintf(stderr, ": %s", strerror(errno));
#endif
}
putc('\n', stderr);
abort();
exit(1);

View File

@@ -30,13 +30,9 @@
# may use your version of this file under either the MPL or the
# GPL.
#
all::
release:: release_security abort_rule
#######################################################################
# Master "Core Components" <platform> tag #
#######################################################################
release_security:
@echo "cd security; $(MAKE) release"
$(MAKE) -C security release
abort_rule:
@"Security Complete. (Don't worry about this, it really should abort here!)"
PLATFORM = $(OBJDIR_NAME)

View File

@@ -40,7 +40,7 @@
#
ifndef OBJ_PREFIX
OBJ_PREFIX =
OBJ_PREFIX =
endif
#
@@ -48,17 +48,34 @@ endif
#
ifndef LIB_PREFIX
LIB_PREFIX = lib
ifeq ($(OS_ARCH), WINNT)
LIB_PREFIX =
else
LIB_PREFIX = lib
endif
endif
ifndef DLL_PREFIX
DLL_PREFIX = lib
ifeq ($(OS_ARCH), WINNT)
DLL_PREFIX =
else
DLL_PREFIX = lib
endif
endif
ifndef IMPORT_LIB_PREFIX
IMPORT_LIB_PREFIX =
IMPORT_LIB_PREFIX =
endif
ifndef PURE_LIB_PREFIX
ifeq ($(OS_ARCH), WINNT)
PURE_LIB_PREFIX =
else
PURE_LIB_PREFIX = purelib
endif
endif
#
@@ -66,7 +83,6 @@ endif
#
ifndef PROG_PREFIX
PROG_PREFIX =
PROG_PREFIX =
endif
MK_PREFIX = included

View File

@@ -59,6 +59,13 @@ foreach $jarfile (split(/ /,$var{FILES}) ) {
}
}
# don't compress jar files containing classes since some java
# implementations do not implement decompression correctly
if ( ($jarfile eq 'xpclass.jar') || ($jarfile eq 'xpclass_dbg.jar') ) {
$zipoptions .= ' -0';
}
# just in case the directory ends in a /, remove it
if ($jardir =~ /\/$/) {
chop $jardir;

View File

@@ -41,7 +41,7 @@
# Double-Colon rules for utilizing the binary release model. #
#######################################################################
all:: export libs
all:: export libs program install
ifeq ($(AUTOCLEAN),1)
autobuild:: clean export private_export libs program install
@@ -52,13 +52,6 @@ endif
platform::
@echo $(OBJDIR_NAME)
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
USE_NT_C_SYNTAX=1
endif
ifdef XP_OS2_VACPP
USE_NT_C_SYNTAX=1
endif
#
# IMPORTS will always be associated with a component. Therefore,
@@ -87,12 +80,8 @@ import::
"$(XPHEADER_JAR)=$(IMPORT_XP_DIR)|$(SOURCE_XP_DIR)/public/|v" \
"$(MDHEADER_JAR)=$(IMPORT_MD_DIR)|$(SOURCE_MD_DIR)/include|" \
"$(MDBINARY_JAR)=$(IMPORT_MD_DIR)|$(SOURCE_MD_DIR)|"
# On Mac OS X ranlib needs to be rerun after static libs are moved.
ifeq ($(OS_TARGET),Darwin)
find $(SOURCE_MD_DIR)/lib -name "*.a" -exec $(RANLIB) {} \;
endif
export::
export::
+$(LOOP_OVER_DIRS)
private_export::
@@ -114,6 +103,9 @@ endif
ifdef IMPORT_LIBRARY
$(INSTALL) -m 775 $(IMPORT_LIBRARY) $(SOURCE_LIB_DIR)
endif
ifdef PURE_LIBRARY
$(INSTALL) -m 775 $(PURE_LIBRARY) $(SOURCE_LIB_DIR)
endif
ifdef PROGRAM
$(INSTALL) -m 775 $(PROGRAM) $(SOURCE_BIN_DIR)
endif
@@ -240,33 +232,66 @@ endif
endif
ifneq ($(POLICY),)
release_policy::
ifdef LIBRARY
-$(PLCYPATCH) $(PLCYPATCH_ARGS) $(LIBRARY)
endif
ifdef SHARED_LIBRARY
ifdef COMPRESS_TARGET
if test -f $(SHARED_LIBRARY).bak; then \
cp $(SHARED_LIBRARY).bak $(SHARED_LIBRARY); \
fi;
endif
-$(PLCYPATCH) $(PLCYPATCH_ARGS) $(SHARED_LIBRARY)
ifdef COMPRESS_TARGET
$(COMPRESS_TARGET) $(SHARED_LIBRARY)
endif
endif
ifdef IMPORT_LIBRARY
-$(PLCYPATCH) $(PLCYPATCH_ARGS) $(IMPORT_LIBRARY)
endif
ifdef PURE_LIBRARY
-$(PLCYPATCH) $(PLCYPATCH_ARGS) $(PURE_LIBRARY)
endif
ifdef PROGRAM
ifdef COMPRESS_TARGET
if test -f $(PROGRAM).bak; then \
cp $(PROGRAM).bak $(PROGRAM); \
fi;
endif
-$(PLCYPATCH) $(PLCYPATCH_ARGS) $(PROGRAM)
ifdef COMPRESS_TARGET
$(COMPRESS_TARGET) $(PROGRAM)
endif
endif
ifdef PROGRAMS
-$(PLCYPATCH) $(PLCYPATCH_ARGS) $(PROGRAMS)
endif
+$(LOOP_OVER_DIRS)
else
release_policy::
+$(LOOP_OVER_DIRS)
ifndef NO_MD_RELEASE
ifdef LIBRARY
MD_LIB_RELEASE_FILES += $(LIBRARY)
endif
ifdef SHARED_LIBRARY
MD_LIB_RELEASE_FILES += $(SHARED_LIBRARY)
endif
ifdef IMPORT_LIBRARY
MD_LIB_RELEASE_FILES += $(IMPORT_LIBRARY)
endif
ifdef PROGRAM
MD_BIN_RELEASE_FILES += $(PROGRAM)
endif
ifdef PROGRAMS
MD_BIN_RELEASE_FILES += $(PROGRAMS)
endif
endif
release_md::
ifneq ($(MD_LIB_RELEASE_FILES),)
$(INSTALL) -m 444 $(MD_LIB_RELEASE_FILES) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_LIB_DIR)
ifdef LIBRARY
$(INSTALL) -m 444 $(LIBRARY) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_LIB_DIR)
endif
ifneq ($(MD_BIN_RELEASE_FILES),)
$(INSTALL) -m 555 $(MD_BIN_RELEASE_FILES) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_BIN_DIR)
ifdef SHARED_LIBRARY
$(INSTALL) -m 555 $(SHARED_LIBRARY) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_LIB_DIR)
endif
ifdef IMPORT_LIBRARY
$(INSTALL) -m 555 $(IMPORT_LIBRARY) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_LIB_DIR)
endif
ifdef PURE_LIBRARY
$(INSTALL) -m 555 $(PURE_LIBRARY) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_LIB_DIR)
endif
ifdef PROGRAM
$(INSTALL) -m 555 $(PROGRAM) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_BIN_DIR)
endif
ifdef PROGRAMS
$(INSTALL) -m 555 $(PROGRAMS) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_BIN_DIR)
endif
+$(LOOP_OVER_DIRS)
@@ -276,58 +301,53 @@ alltags:
find . -name dist -prune -o \( -name '*.[hc]' -o -name '*.cp' -o -name '*.cpp' \) -print | xargs etags -a
find . -name dist -prune -o \( -name '*.[hc]' -o -name '*.cp' -o -name '*.cpp' \) -print | xargs ctags -a
ifdef XP_OS2_VACPP
# list of libs (such as -lnspr4) do not work for our compiler
# change it to be $(DIST)/lib/nspr4.lib
EXTRA_SHARED_LIBS := $(filter-out -L%,$(EXTRA_SHARED_LIBS))
EXTRA_SHARED_LIBS := $(patsubst -l%,$(DIST)/lib/%.$(LIB_SUFFIX),$(EXTRA_SHARED_LIBS))
endif
$(PROGRAM): $(OBJS) $(EXTRA_LIBS)
@$(MAKE_OBJDIR)
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
$(MKPROG) $(subst /,\\,$(OBJS)) -Fe$@ -link $(LDFLAGS) $(subst /,\\,$(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS))
ifeq ($(OS_ARCH),WINNT)
ifeq ($(OS_TARGET),WIN16)
echo system windows >w16link
echo option map >>w16link
echo option oneautodata >>w16link
echo option heapsize=32K >>w16link
echo debug watcom all >>w16link
echo name $@ >>w16link
echo file >>w16link
echo $(W16OBJS) , >>w16link
echo $(W16LDFLAGS) >> w16link
echo library >>w16link
echo winsock.lib >>w16link
$(LINK) @w16link.
rm w16link
else
ifdef XP_OS2_VACPP
$(MKPROG) -Fe$@ $(CFLAGS) $(OBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
$(MKPROG) $(OBJS) -Fe$@ -link $(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
endif
else
$(MKPROG) -o $@ $(CFLAGS) $(OBJS) $(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
endif
ifneq ($(POLICY),)
#ifdef COMPRESS_TARGET
# $(COMPRESS_TARGET)
# We're going to cache a copy to keep around
# cp $(PROGRAM) $(PROGRAM).org
#endif
-$(PLCYPATCH) $(PLCYPATCH_ARGS) $@
endif
get_objs:
@echo $(OBJS)
$(LIBRARY): $(OBJS)
@$(MAKE_OBJDIR)
rm -f $@
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
$(AR) $(subst /,\\,$(OBJS))
else
$(AR) $(OBJS)
endif
$(RANLIB) $@
ifeq ($(OS_TARGET),OS2)
$(IMPORT_LIBRARY): $(MAPFILE)
rm -f $@
$(IMPLIB) $@ $(MAPFILE)
$(RANLIB) $@
ifeq ($(OS_TARGET), WIN16)
$(IMPORT_LIBRARY): $(SHARED_LIBRARY)
wlib +$(SHARED_LIBRARY)
endif
ifdef SHARED_LIBRARY_LIBS
ifdef BUILD_TREE
SUB_SHLOBJS = $(foreach dir,$(SHARED_LIBRARY_DIRS),$(shell $(MAKE) -C $(dir) --no-print-directory get_objs))
else
SUB_SHLOBJS = $(foreach dir,$(SHARED_LIBRARY_DIRS),$(addprefix $(dir)/,$(shell $(MAKE) -C $(dir) --no-print-directory get_objs)))
endif
endif
$(SHARED_LIBRARY): $(OBJS) $(RES) $(MAPFILE) $(SUB_SHLOBJS)
$(SHARED_LIBRARY): $(OBJS)
@$(MAKE_OBJDIR)
rm -f $@
ifeq ($(OS_TARGET)$(OS_RELEASE), AIX4.1)
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
echo "#!" > $(OBJDIR)/lib$(LIBRARY_NAME)_syms
nm -B -C -g $(OBJS) \
| awk '/ [T,D] / {print $$3}' \
@@ -336,47 +356,53 @@ ifeq ($(OS_TARGET)$(OS_RELEASE), AIX4.1)
$(LD) $(XCFLAGS) -o $@ $(OBJS) -bE:$(OBJDIR)/lib$(LIBRARY_NAME)_syms \
-bM:SRE -bnoentry $(OS_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
else
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
ifdef NS_USE_GCC
$(LINK_DLL) $(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS) $(RES)
ifeq ($(OS_ARCH), WINNT)
ifeq ($(OS_TARGET), WIN16)
echo system windows dll initinstance >w16link
echo option map >>w16link
echo option oneautodata >>w16link
echo option heapsize=32K >>w16link
echo debug watcom all >>w16link
echo name $@ >>w16link
echo file >>w16link
echo $(W16OBJS) >>w16link
echo $(W16LIBS) >>w16link
echo libfile libentry >>w16link
$(LINK) @w16link.
rm w16link
else
$(LINK_DLL) -MAP $(DLLBASE) $(subst /,\\,$(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS) $(RES))
$(LINK_DLL) -MAP $(DLLBASE) $(OBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS)
endif
else
ifdef XP_OS2_VACPP
$(MKSHLIB) $(DLLFLAGS) $(LDFLAGS) $(OBJS) $(SUB_SHLOBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
else
$(MKSHLIB) -o $@ $(OBJS) $(SUB_SHLOBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
endif
$(MKSHLIB) -o $@ $(OBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
chmod +x $@
ifeq ($(OS_TARGET),Darwin)
ifdef MAPFILE
nmedit -s $(MAPFILE) $@
endif
endif
endif
ifneq ($(POLICY),)
#ifdef COMPRESS_TARGET
# $(COMPRESS_TARGET)
# cp $@ $@.org
#endif
-$(PLCYPATCH) $(PLCYPATCH_ARGS) $@
endif
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
$(PURE_LIBRARY):
rm -f $@
ifneq ($(OS_ARCH), WINNT)
$(AR) $(OBJS)
endif
$(RANLIB) $@
ifeq ($(OS_ARCH), WINNT)
$(RES): $(RESNAME)
@$(MAKE_OBJDIR)
# The resource compiler does not understand the -U option.
ifdef NS_USE_GCC
$(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
else
$(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES) -Fo$@ $<
endif
$(RC) -Fo$(RES) $(RESNAME)
@echo $(RES) finished
endif
$(MAPFILE): $(LIBRARY_NAME).def
@$(MAKE_OBJDIR)
$(PROCESS_MAP_FILE)
$(OBJDIR)/$(PROG_PREFIX)%$(PROG_SUFFIX): $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX)
@$(MAKE_OBJDIR)
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
ifeq ($(OS_ARCH),WINNT)
$(MKPROG) $(OBJDIR)/$(PROG_PREFIX)$*$(OBJ_SUFFIX) -Fe$@ -link \
$(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
else
@@ -384,124 +410,100 @@ else
$(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
endif
ifdef HAVE_PURIFY
$(OBJDIR)/$(PROG_PREFIX)%.pure: $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX)
@$(MAKE_OBJDIR)
ifeq ($(OS_ARCH),WINNT)
$(PURIFY) $(CC) -Fo$@ -c $(CFLAGS) $(OBJDIR)/$(PROG_PREFIX)$*$(OBJ_SUFFIX) $(PURELDFLAGS)
else
$(PURIFY) $(CC) -o $@ $(CFLAGS) $(OBJDIR)/$(PROG_PREFIX)$*$(OBJ_SUFFIX) $(PURELDFLAGS)
endif
endif
WCCFLAGS1 := $(subst /,\\,$(CFLAGS))
WCCFLAGS2 := $(subst -I,-i=,$(WCCFLAGS1))
WCCFLAGS3 := $(subst -D,-d,$(WCCFLAGS2))
# Translate source filenames to absolute paths. This is required for
# debuggers under Windows & OS/2 to find source files automatically
ifeq (,$(filter-out OS2%,$(OS_TARGET)))
NEED_ABSOLUTE_PATH := 1
PWD := $(shell pwd)
endif
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
NEED_ABSOLUTE_PATH := 1
ifeq (,$(findstring ;,$(PATH)))
PWD := $(subst \,/,$(shell cygpath -w `pwd`))
else
PWD := $(shell pwd)
endif
endif
ifdef NEED_ABSOLUTE_PATH
abspath = $(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(1)),$(1),$(PWD)/$(1)))
else
abspath = $(1)
endif
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c
@$(MAKE_OBJDIR)
ifdef USE_NT_C_SYNTAX
$(CC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
ifeq ($(OS_ARCH), WINNT)
ifeq ($(OS_TARGET), WIN16)
echo $(WCCFLAGS3) >w16wccf
$(CC) -zq -fo$(OBJDIR)\\$(PROG_PREFIX)$*$(OBJ_SUFFIX) @w16wccf $*.c
rm w16wccf
else
ifdef NEED_ABSOLUTE_PATH
$(CC) -o $@ -c $(CFLAGS) $(call abspath,$<)
else
$(CC) -o $@ -c $(CFLAGS) $<
$(CC) -Fo$@ -c $(CFLAGS) $*.c
endif
else
$(CC) -o $@ -c $(CFLAGS) $*.c
endif
$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c
ifdef USE_NT_C_SYNTAX
$(CC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
else
ifdef NEED_ABSOLUTE_PATH
$(CC) -o $@ -c $(CFLAGS) $(call abspath,$<)
else
$(CC) -o $@ -c $(CFLAGS) $<
endif
endif
ifndef XP_OS2_VACPP
ifneq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
ifneq ($(OS_ARCH), WINNT)
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.s
@$(MAKE_OBJDIR)
$(AS) -o $@ $(ASFLAGS) -c $<
endif
$(AS) -o $@ $(ASFLAGS) -c $*.s
endif
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.asm
@$(MAKE_OBJDIR)
ifdef XP_OS2_VACPP
$(AS) -Fdo:$(OBJDIR) $(ASFLAGS) $(subst /,\\,$<)
else
$(AS) -Fo$@ $(ASFLAGS) -c $<
endif
$(AS) -Fo$@ $(ASFLAGS) -c $*.asm
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.S
@$(MAKE_OBJDIR)
$(AS) -o $@ $(ASFLAGS) -c $<
$(AS) -o $@ $(ASFLAGS) -c $*.S
$(OBJDIR)/$(PROG_PREFIX)%: %.cpp
@$(MAKE_OBJDIR)
ifdef USE_NT_C_SYNTAX
$(CCC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
else
ifdef NEED_ABSOLUTE_PATH
$(CCC) -o $@ -c $(CFLAGS) $(call abspath,$<)
ifeq ($(OS_ARCH), WINNT)
$(CCC) -Fo$@ -c $(CFLAGS) $<
else
$(CCC) -o $@ -c $(CFLAGS) $<
endif
endif
#
# Please keep the next two rules in sync.
#
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.cc
@$(MAKE_OBJDIR)
$(CCC) -o $@ -c $(CFLAGS) $<
$(CCC) -o $@ -c $(CFLAGS) $*.cc
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.cpp
@$(MAKE_OBJDIR)
ifdef STRICT_CPLUSPLUS_SUFFIX
echo "#line 1 \"$<\"" | cat - $< > $(OBJDIR)/t_$*.cc
echo "#line 1 \"$*.cpp\"" | cat - $*.cpp > $(OBJDIR)/t_$*.cc
$(CCC) -o $@ -c $(CFLAGS) $(OBJDIR)/t_$*.cc
rm -f $(OBJDIR)/t_$*.cc
else
ifdef USE_NT_C_SYNTAX
$(CCC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
ifeq ($(OS_ARCH),WINNT)
$(CCC) -Fo$@ -c $(CFLAGS) $*.cpp
else
ifdef NEED_ABSOLUTE_PATH
$(CCC) -o $@ -c $(CFLAGS) $(call abspath,$<)
else
$(CCC) -o $@ -c $(CFLAGS) $<
endif
$(CCC) -o $@ -c $(CFLAGS) $*.cpp
endif
endif #STRICT_CPLUSPLUS_SUFFIX
%.i: %.cpp
ifeq ($(OS_TARGET), WIN16)
echo $(WCCFLAGS3) >w16wccf
$(CCC) -pl -fo=$* @w16wccf $*.cpp
rm w16wccf
else
$(CCC) -C -E $(CFLAGS) $< > $*.i
endif
%.i: %.c
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
ifeq ($(OS_TARGET), WIN16)
echo $(WCCFLAGS3) >w16wccf
$(CC) -pl -fo=$* @w16wccf $*.c
rm w16wccf
else
ifeq ($(OS_ARCH),WINNT)
$(CC) -C /P $(CFLAGS) $<
else
$(CC) -C -E $(CFLAGS) $< > $*.i
endif
endif
ifneq (,$(filter-out WIN%,$(OS_TARGET)))
ifneq ($(OS_ARCH), WINNT)
%.i: %.s
$(CC) -C -E $(CFLAGS) $< > $*.i
endif
@@ -595,14 +597,7 @@ ifdef NETLIBDEPTH
CORE_DEPTH := $(NETLIBDEPTH)
endif
# !!!!! THIS WILL CRASH SHMSDOS.EXE !!!!!
# shmsdos does not support shell variables. It will crash when it tries
# to parse the '=' character. A solution is to rewrite outofdate.pl so it
# takes the Javac command as an argument and executes the command itself,
# instead of returning a list of files.
export:: $(JAVA_DESTPATH) $(JAVA_DESTPATH)/$(PACKAGE)
@echo "!!! THIS COMMAND IS BROKEN ON WINDOWS--SEE rules.mk FOR DETAILS !!!"
return -1
@for d in $(JDIRS); do \
if test -d $$d; then \
set $(EXIT_ON_ERROR); \
@@ -736,8 +731,14 @@ export::
$(JAVAH) -jni -d $(JNI_GEN_DIR) $(JNI_GEN); \
else \
echo "Checking for out of date header files" ; \
perl $(CORE_DEPTH)/coreconf/jniregen.pl $(PERLARG) \
-d $(JAVA_DESTPATH) -j "$(JAVAH) -jni -d $(JNI_GEN_DIR)" $(JNI_GEN);\
cmd="perl $(CORE_DEPTH)/coreconf/jniregen.pl $(PERLARG) \
-d $(JAVA_DESTPATH) $(JNI_GEN)"; \
echo $$cmd; \
list=`$$cmd`; \
if test "$${list}x" != "x"; then \
echo $(JAVAH) -jni -d $(JNI_GEN_DIR) $$list; \
$(JAVAH) -jni -d $(JNI_GEN_DIR) $$list; \
fi \
fi
endif
endif
@@ -788,6 +789,11 @@ endif
# Copy each element of EXPORTS to $(SOURCE_XP_DIR)/public/$(MODULE)/
#
PUBLIC_EXPORT_DIR = $(SOURCE_XP_DIR)/public/$(MODULE)
ifeq ($(OS_ARCH),WINNT)
ifeq ($(OS_TARGET),WIN16)
PUBLIC_EXPORT_DIR = $(SOURCE_XP_DIR)/public/win16
endif
endif
ifneq ($(EXPORTS),)
$(PUBLIC_EXPORT_DIR)::
@@ -796,17 +802,18 @@ $(PUBLIC_EXPORT_DIR)::
$(NSINSTALL) -D $@; \
fi
export:: $(PUBLIC_EXPORT_DIR)
export:: $(EXPORTS)
$(INSTALL) -m 444 $^ $(PUBLIC_EXPORT_DIR)
export:: $(BUILT_SRCS)
export:: $(EXPORTS) $(PUBLIC_EXPORT_DIR)
$(INSTALL) -m 444 $(EXPORTS) $(PUBLIC_EXPORT_DIR)
endif
# Duplicate export rule for private exports, with different directories
PRIVATE_EXPORT_DIR = $(SOURCE_XP_DIR)/private/$(MODULE)
ifeq ($(OS_ARCH),WINNT)
ifeq ($(OS_TARGET),WIN16)
PRIVATE_EXPORT_DIR = $(SOURCE_XP_DIR)/public/win16
endif
endif
ifneq ($(PRIVATE_EXPORTS),)
$(PRIVATE_EXPORT_DIR)::
@@ -815,10 +822,8 @@ $(PRIVATE_EXPORT_DIR)::
$(NSINSTALL) -D $@; \
fi
private_export:: $(PRIVATE_EXPORT_DIR)
private_export:: $(PRIVATE_EXPORTS)
$(INSTALL) -m 444 $^ $(PRIVATE_EXPORT_DIR)
private_export:: $(PRIVATE_EXPORTS) $(PRIVATE_EXPORT_DIR)
$(INSTALL) -m 444 $(PRIVATE_EXPORTS) $(PRIVATE_EXPORT_DIR)
else
private_export::
@echo There are no private exports.;
@@ -830,14 +835,9 @@ endif
### AND RESULTS_SUBDIR TO BE SET TO SOMETHING LIKE SECURITY/PKCS5
##########################################################################
TESTS_DIR = $(RESULTS_DIR)/$(RESULTS_SUBDIR)/$(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(IMPL_STRATEGY)
TESTS_DIR = $(RESULTS_DIR)/$(RESULTS_SUBDIR)/$(OS_CONFIG)$(CPU_TAG)$(COMPILER_TAG)$(IMPL_STRATEGY)
ifneq ($(REGRESSION_SPEC),)
ifneq ($(BUILD_OPT),)
REGDATE = $(subst \ ,, $(shell perl $(CORE_DEPTH)/$(MODULE)/scripts/now))
endif
tests:: $(REGRESSION_SPEC)
cd $(PLATFORM); \
../$(SOURCE_MD_DIR)/bin/regress$(PROG_SUFFIX) specfile=../$(REGRESSION_SPEC) progress $(EXTRA_REGRESS_OPTIONS); \
@@ -866,10 +866,8 @@ $(SOURCE_RELEASE_XP_DIR)/include::
$(NSINSTALL) -D $@; \
fi
release_export:: $(SOURCE_RELEASE_XP_DIR)/include
release_export:: $(EXPORTS)
$(INSTALL) -m 444 $^ $(SOURCE_RELEASE_XP_DIR)/include
release_export:: $(EXPORTS) $(SOURCE_RELEASE_XP_DIR)/include
$(INSTALL) -m 444 $(EXPORTS) $(SOURCE_RELEASE_XP_DIR)/include
endif
@@ -879,7 +877,7 @@ endif
-include $(DEPENDENCIES)
ifneq (,$(filter-out OpenVMS OS2 WIN%,$(OS_TARGET)))
ifneq ($(OS_ARCH),WINNT)
# Can't use sed because of its 4000-char line length limit, so resort to perl
.DEFAULT:
@perl -e ' \
@@ -969,5 +967,5 @@ endif
# Fake targets. Always run these rules, even if a file/directory with that
# name already exists.
#
.PHONY: all all_platforms alltags boot clean clobber clobber_all export install libs program realclean release $(OBJDIR) $(DIRS)
.PHONY: all all_platforms alltags boot clean clobber clobber_all export install libs realclean release $(OBJDIR) $(DIRS)

View File

@@ -77,26 +77,53 @@
#######################################################################
#
# CPU_TAG is now defined in the $(TARGET).mk files
# At this time, the CPU_TAG value is actually assigned.
#
CPU_TAG =
#
# When the processor is NOT 386-based on Windows NT, override the
# value of $(CPU_TAG).
#
ifeq ($(OS_ARCH), WINNT)
ifneq ($(CPU_ARCH),x386)
CPU_TAG = _$(CPU_ARCH)
endif
endif
#
# Always set CPU_TAG on Linux.
#
ifeq ($(OS_ARCH), Linux)
CPU_TAG = _$(CPU_ARCH)
endif
#
# At this time, the COMPILER_TAG value is actually assigned.
#
ifndef COMPILER_TAG
ifneq ($(DEFAULT_COMPILER), $(notdir $(CC)))
ifneq ($(DEFAULT_COMPILER), $(CC))
#
# Temporary define for the Client; to be removed when binary release is used
#
ifdef MOZILLA_CLIENT
COMPILER_TAG =
COMPILER_TAG =
else
COMPILER_TAG = _$(notdir $(CC))
COMPILER_TAG = _$(CC)
endif
else
else
COMPILER_TAG =
endif
endif
endif
#
# At this time, a default value of $(CC) is assigned to MKPROG.
#
ifeq ($(MKPROG),)
MKPROG = $(CC)
MKPROG = $(CC)
endif
#
@@ -104,21 +131,44 @@ endif
# objects:
# - (1) LIBRARY: a static (archival) library
# - (2) SHARED_LIBRARY: a shared (dynamic link) library
# - (3) IMPORT_LIBRARY: an import library, defined in $(OS_TARGET).mk
# - (4) PROGRAM: an executable binary
# - (3) IMPORT_LIBRARY: an import library, used only on Windows
# - (4) PURE_LIBRARY: a library for Purify
# - (5) PROGRAM: an executable binary
#
# NOTE: The names of libraries can be generated by simply specifying
# LIBRARY_NAME (and LIBRARY_VERSION in the case of non-static libraries).
# LIBRARY and SHARED_LIBRARY may be defined differently in $(OS_TARGET).mk
#
ifdef LIBRARY_NAME
ifndef LIBRARY
LIBRARY = $(OBJDIR)/$(LIB_PREFIX)$(LIBRARY_NAME).$(LIB_SUFFIX)
endif
ifndef SHARED_LIBRARY
SHARED_LIBRARY = $(OBJDIR)/$(DLL_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION)$(JDK_DEBUG_SUFFIX).$(DLL_SUFFIX)
endif
ifeq ($(OS_ARCH), WINNT)
#
# Win16 requires library names conforming to the 8.3 rule.
# other platforms do not.
#
LIBRARY = $(OBJDIR)/$(LIBRARY_NAME).lib
ifeq ($(OS_TARGET), WIN16)
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)16$(JDK_DEBUG_SUFFIX).dll
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)16$(JDK_DEBUG_SUFFIX).lib
else
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).dll
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).lib
endif
else
LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME).$(LIB_SUFFIX)
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)_shr$(JDK_DEBUG_SUFFIX).a
else
SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)$(JDK_DEBUG_SUFFIX).$(DLL_SUFFIX)
endif
ifdef HAVE_PURIFY
ifdef DSO_BACKEND
PURE_LIBRARY = $(OBJDIR)/purelib$(LIBRARY_NAME)$(LIBRARY_VERSION)$(JDK_DEBUG_SUFFIX).$(DLL_SUFFIX)
else
PURE_LIBRARY = $(OBJDIR)/purelib$(LIBRARY_NAME).$(LIB_SUFFIX)
endif
endif
endif
endif
#
@@ -126,71 +176,85 @@ endif
#
ifdef PROGRAM
PROGRAM := $(addprefix $(OBJDIR)/, $(PROGRAM)$(JDK_DEBUG_SUFFIX)$(PROG_SUFFIX))
PROGRAM := $(addprefix $(OBJDIR)/, $(PROGRAM)$(JDK_DEBUG_SUFFIX)$(PROG_SUFFIX))
endif
ifdef PROGRAMS
PROGRAMS := $(addprefix $(OBJDIR)/, $(PROGRAMS:%=%$(JDK_DEBUG_SUFFIX)$(PROG_SUFFIX)))
PROGRAMS := $(addprefix $(OBJDIR)/, $(PROGRAMS:%=%$(JDK_DEBUG_SUFFIX)$(PROG_SUFFIX)))
endif
ifndef TARGETS
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(PROGRAM)
ifeq ($(OS_ARCH), WINNT)
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
else
TARGETS = $(LIBRARY) $(SHARED_LIBRARY)
ifdef HAVE_PURIFY
TARGETS += $(PURE_LIBRARY)
endif
TARGETS += $(PROGRAM)
endif
endif
ifndef OBJS
SIMPLE_OBJS = $(JRI_STUB_CFILES) \
SIMPLE_OBJS = $(JRI_STUB_CFILES) \
$(addsuffix $(OBJ_SUFFIX), $(JMC_GEN)) \
$(CSRCS:.c=$(OBJ_SUFFIX)) \
$(CPPSRCS:.cpp=$(OBJ_SUFFIX)) \
$(ASFILES:$(ASM_SUFFIX)=$(OBJ_SUFFIX)) \
$(BUILT_CSRCS:.c=$(OBJ_SUFFIX)) \
$(BUILT_CPPSRCS:.cpp=$(OBJ_SUFFIX)) \
$(BUILT_ASFILES:$(ASM_SUFFIX)=$(OBJ_SUFFIX))
OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(SIMPLE_OBJS))
$(ASFILES:$(ASM_SUFFIX)=$(OBJ_SUFFIX))
OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(SIMPLE_OBJS))
endif
ifndef BUILT_SRCS
BUILT_SRCS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), \
$(BUILT_CSRCS) $(BUILT_CPPSRCS) $(BUILT_ASFILES))
ifeq ($(OS_TARGET), WIN16)
comma := ,
empty :=
space := $(empty) $(empty)
W16OBJS := $(subst $(space),$(comma)$(space),$(strip $(OBJS)))
W16TEMP = $(OS_LIBS) $(EXTRA_LIBS)
ifeq ($(strip $(W16TEMP)),)
W16LIBS =
else
W16LIBS := library $(subst $(space),$(comma)$(space),$(strip $(W16TEMP)))
endif
endif
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
MAKE_OBJDIR = $(INSTALL) -D $(OBJDIR)
ifeq ($(OS_ARCH),WINNT)
ifneq ($(OS_TARGET), WIN16)
OBJS += $(RES)
endif
MAKE_OBJDIR = $(INSTALL) -D $(OBJDIR)
else
define MAKE_OBJDIR
define MAKE_OBJDIR
if test ! -d $(@D); then rm -rf $(@D); $(NSINSTALL) -D $(@D); fi
endef
endef
endif
ifndef PACKAGE
PACKAGE = .
PACKAGE = .
endif
ALL_TRASH := $(TARGETS) $(OBJS) $(OBJDIR) LOGS TAGS $(GARBAGE) \
$(NOSUCHFILE) $(JDK_HEADER_CFILES) $(JDK_STUB_CFILES) \
$(JRI_HEADER_CFILES) $(JRI_STUB_CFILES) $(JNI_HEADERS) \
$(JMC_STUBS) $(JMC_HEADERS) $(JMC_EXPORT_FILES) \
so_locations _gen _jmc _jri _jni _stubs \
$(wildcard $(JAVA_DESTPATH)/$(PACKAGE)/*.class) \
$(BUILT_SRCS)
$(JRI_HEADER_CFILES) $(JRI_STUB_CFILES) $(JNI_HEADERS) $(JMC_STUBS) \
$(JMC_HEADERS) $(JMC_EXPORT_FILES) so_locations \
_gen _jmc _jri _jni _stubs \
$(wildcard $(JAVA_DESTPATH)/$(PACKAGE)/*.class)
ifdef JDIRS
ALL_TRASH += $(addprefix $(JAVA_DESTPATH)/,$(JDIRS))
ALL_TRASH += $(addprefix $(JAVA_DESTPATH)/,$(JDIRS))
endif
ifdef NSBUILDROOT
JDK_GEN_DIR = $(SOURCE_XP_DIR)/_gen
JMC_GEN_DIR = $(SOURCE_XP_DIR)/_jmc
JNI_GEN_DIR = $(SOURCE_XP_DIR)/_jni
JRI_GEN_DIR = $(SOURCE_XP_DIR)/_jri
JDK_STUB_DIR = $(SOURCE_XP_DIR)/_stubs
JDK_GEN_DIR = $(SOURCE_XP_DIR)/_gen
JMC_GEN_DIR = $(SOURCE_XP_DIR)/_jmc
JNI_GEN_DIR = $(SOURCE_XP_DIR)/_jni
JRI_GEN_DIR = $(SOURCE_XP_DIR)/_jri
JDK_STUB_DIR = $(SOURCE_XP_DIR)/_stubs
else
JDK_GEN_DIR = _gen
JMC_GEN_DIR = _jmc
JNI_GEN_DIR = _jni
JRI_GEN_DIR = _jri
JDK_STUB_DIR = _stubs
JDK_GEN_DIR = _gen
JMC_GEN_DIR = _jmc
JNI_GEN_DIR = _jni
JRI_GEN_DIR = _jri
JDK_STUB_DIR = _stubs
endif
#
@@ -199,39 +263,100 @@ endif
#
ifdef BUILD_OFFICIAL
EXIT_ON_ERROR = +e
CLICK_STOPWATCH = date
EXIT_ON_ERROR = +e
CLICK_STOPWATCH = date
else
EXIT_ON_ERROR = -e
CLICK_STOPWATCH = true
EXIT_ON_ERROR = -e
CLICK_STOPWATCH = true
endif
ifdef REQUIRES
MODULE_INCLUDES := $(addprefix -I$(SOURCE_XP_DIR)/public/, $(REQUIRES))
INCLUDES += $(MODULE_INCLUDES)
ifeq ($(MODULE), sectools)
PRIVATE_INCLUDES := $(addprefix -I$(SOURCE_XP_DIR)/private/, $(REQUIRES))
INCLUDES += $(PRIVATE_INCLUDES)
endif
ifeq ($(OS_TARGET),WIN16)
INCLUDES += -I$(SOURCE_XP_DIR)/public/win16
else
MODULE_INCLUDES := $(addprefix -I$(SOURCE_XP_DIR)/public/, $(REQUIRES))
INCLUDES += $(MODULE_INCLUDES)
ifeq ($(MODULE), sectools)
PRIVATE_INCLUDES := $(addprefix -I$(SOURCE_XP_DIR)/private/, $(REQUIRES))
INCLUDES += $(PRIVATE_INCLUDES)
endif
endif
endif
ifdef SYSTEM_INCL_DIR
YOPT = -Y$(SYSTEM_INCL_DIR)
YOPT = -Y$(SYSTEM_INCL_DIR)
endif
ifdef DIRS
LOOP_OVER_DIRS = \
@for directory in $(DIRS); do \
if test -d $$directory; then \
set $(EXIT_ON_ERROR); \
echo "cd $$directory; $(MAKE) $@"; \
$(MAKE) -C $$directory $@; \
set +e; \
else \
echo "Skipping non-directory $$directory..."; \
fi; \
$(CLICK_STOPWATCH); \
done
LOOP_OVER_DIRS = \
@for directory in $(DIRS); do \
if test -d $$directory; then \
set $(EXIT_ON_ERROR); \
echo "cd $$directory; $(MAKE) $@"; \
$(MAKE) -C $$directory $@; \
set +e; \
else \
echo "Skipping non-directory $$directory..."; \
fi; \
$(CLICK_STOPWATCH); \
done
endif
MK_RULESET = included
# special stuff for tests rule in rules.mk
ifneq ($(OS_ARCH),WINNT)
REGDATE = $(subst \ ,, $(shell perl $(CORE_DEPTH)/$(MODULE)/scripts/now))
else
REGCOREDEPTH = $(subst \\,/,$(CORE_DEPTH))
REGDATE = $(subst \ ,, $(shell perl $(CORE_DEPTH)/$(MODULE)/scripts/now))
endif
#
# export control policy patcher program and arguments
#
PLCYPATCH = $(SOURCE_BIN_DIR)/plcypatch$(PROG_SUFFIX)
DOMESTIC_POLICY = -us
EXPORT_POLICY = -ex
FRANCE_POLICY = -fr
ifeq ($(POLICY), domestic)
PLCYPATCH_ARGS = $(DOMESTIC_POLICY)
else
ifeq ($(POLICY), export)
PLCYPATCH_ARGS = $(EXPORT_POLICY)
else
ifeq ($(POLICY), france)
PLCYPATCH_ARGS = $(FRANCE_POLICY)
else
PLCYPATCH_ARGS =
endif
endif
endif
#
# Compressor for executables and DLLs on Win32. Reduces download footprint
# and helps solve some export control problem.
#
# PKLIT32C Program must be installed to be used. Path below is the default
# installation path. No site license is available for this program.
#
ifeq ($(OS_ARCH), WINNT)
ifdef BUILD_OPT
PKLITE = $(shell which PKLIT32C.EXE)
PKLITE_ARGS = -is.rdata
#COMPRESS_TARGET = \
# @if test -f $(PKLITE); then \
# echo $(PKLITE) $(PKLITE_ARGS) $@; \
# $(PKLITE) $(PKLITE_ARGS) $@; fi
ifneq ($(PKLITE), )
COMPRESS_TARGET = pklit32c.exe $(PKLITE_ARGS)
endif
endif
endif

View File

@@ -39,21 +39,16 @@
# <user_source_tree> master import/export directory prefix
#
ifndef SOURCE_PREFIX
ifndef BUILD_TREE
SOURCE_PREFIX = $(CORE_DEPTH)/../dist
else
SOURCE_PREFIX = $(BUILD_TREE)/dist
endif
SOURCE_PREFIX = $(CORE_DEPTH)/../dist
ifdef MOZILLA_CLIENT
SOURCE_PREFIX = $(CORE_DEPTH)/../mozilla/dist
endif
#
# <user_source_tree> cross-platform (xp) master import/export directory
#
ifndef SOURCE_XP_DIR
SOURCE_XP_DIR = $(SOURCE_PREFIX)
endif
SOURCE_XP_DIR = $(SOURCE_PREFIX)
#
# <user_source_tree> cross-platform (xp) import/export directories
@@ -65,37 +60,24 @@ SOURCE_XPHEADERS_DIR = $(SOURCE_XP_DIR)/public/$(MODULE)
SOURCE_XPPRIVATE_DIR = $(SOURCE_XP_DIR)/private/$(MODULE)
ifdef BUILD_OPT
IMPORT_XPCLASS_DIR = $(SOURCE_CLASSES_DIR)
IMPORT_XPCLASS_DIR = $(SOURCE_CLASSES_DIR)
else
IMPORT_XPCLASS_DIR = $(SOURCE_CLASSES_DBG_DIR)
IMPORT_XPCLASS_DIR = $(SOURCE_CLASSES_DBG_DIR)
endif
#
# <user_source_tree> machine-dependent (md) master import/export directory
#
ifndef SOURCE_MD_DIR
SOURCE_MD_DIR = $(SOURCE_PREFIX)/$(PLATFORM)
endif
SOURCE_MD_DIR = $(SOURCE_PREFIX)/$(PLATFORM)
#
# <user_source_tree> machine-dependent (md) import/export directories
#
#This is where we install built executables and (for Windows only) DLLs.
ifndef SOURCE_BIN_DIR
SOURCE_BIN_DIR = $(SOURCE_MD_DIR)/bin
endif
#This is where we install built libraries (.a, .so, .lib).
ifndef SOURCE_LIB_DIR
SOURCE_LIB_DIR = $(SOURCE_MD_DIR)/lib
endif
# This is where NSPR header files are found.
ifndef SOURCE_MDHEADERS_DIR
SOURCE_MDHEADERS_DIR = $(SOURCE_MD_DIR)/include
endif
SOURCE_BIN_DIR = $(SOURCE_MD_DIR)/bin
SOURCE_LIB_DIR = $(SOURCE_MD_DIR)/lib
SOURCE_MDHEADERS_DIR = $(SOURCE_MD_DIR)/include
#######################################################################
# Master <component>-specific source release directories and files #
@@ -108,14 +90,14 @@ endif
#
ifeq ($(POLICY), domestic)
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/domestic
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/domestic
else
ifeq ($(POLICY), export)
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/export
else
ifeq ($(POLICY), france)
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/france
ifeq ($(POLICY), export)
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/export
else
ifeq ($(POLICY), france)
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/france
else
#We shouldn't have to put another directory under here, but without it the perl
#script for releasing doesn't find the directory. It thinks it doesn't exist.
#So we're adding this no-policy directory so that the script for releasing works
@@ -123,9 +105,9 @@ else
#files land, only where they are placed in the local tree when building the jar
#files. When there is no policy, the jar files will still land in
#<dist>/<module>/<date>/<platform> like they used to.
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/no-policy
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/no-policy
endif
endif
endif
endif
#
@@ -151,11 +133,9 @@ XPCLASS_DBG_JAR = xpclass_dbg.jar
XPHEADER_JAR = xpheader.jar
ifdef BUILD_OPT
SOURCE_RELEASE_XP_CLASSES_DIR = $(SOURCE_RELEASE_CLASSES_DIR)
IMPORT_XPCLASS_JAR = $(XPCLASS_JAR)
IMPORT_XPCLASS_JAR = $(XPCLASS_JAR)
else
SOURCE_RELEASE_XP_CLASSES_DIR = $(SOURCE_RELEASE_CLASSES_DBG_DIR)
IMPORT_XPCLASS_JAR = $(XPCLASS_DBG_JAR)
IMPORT_XPCLASS_JAR = $(XPCLASS_DBG_JAR)
endif
#
@@ -184,7 +164,6 @@ MDHEADER_JAR = mdheader.jar
# Where to put the results
ifneq ($(RESULTS_DIR),)
RESULTS_DIR = $(RELEASE_TREE)/sectools/results
RESULTS_DIR = $(RELEASE_TREE)/sectools/results
endif
MK_SOURCE = included

View File

@@ -36,60 +36,97 @@
#######################################################################
#
# Object suffixes (OS2 and WIN% override this)
# Object suffixes
#
ifndef OBJ_SUFFIX
OBJ_SUFFIX = .o
ifeq ($(OS_ARCH), WINNT)
OBJ_SUFFIX = .obj
else
OBJ_SUFFIX = .o
endif
endif
#
# Assembler source suffixes (OS2 and WIN% override this)
# Assembler source suffixes
#
ifndef ASM_SUFFIX
ASM_SUFFIX = .s
ifeq ($(OS_ARCH), WINNT)
ASM_SUFFIX = .asm
else
ASM_SUFFIX = .s
endif
endif
#
# Library suffixes
#
STATIC_LIB_EXTENSION =
ifndef DYNAMIC_LIB_EXTENSION
DYNAMIC_LIB_EXTENSION =
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
DYNAMIC_LIB_EXTENSION = _shr
else
DYNAMIC_LIB_EXTENSION =
endif
endif
ifndef STATIC_LIB_SUFFIX
STATIC_LIB_SUFFIX = .$(LIB_SUFFIX)
STATIC_LIB_SUFFIX = .$(LIB_SUFFIX)
endif
ifndef DYNAMIC_LIB_SUFFIX
DYNAMIC_LIB_SUFFIX = .$(DLL_SUFFIX)
DYNAMIC_LIB_SUFFIX = .$(DLL_SUFFIX)
endif
# WIN% overridese this
ifndef IMPORT_LIB_SUFFIX
IMPORT_LIB_SUFFIX =
ifeq ($(OS_ARCH), WINNT)
IMPORT_LIB_SUFFIX = .$(LIB_SUFFIX)
else
IMPORT_LIB_SUFFIX =
endif
endif
ifndef PURE_LIB_SUFFIX
ifeq ($(OS_ARCH), WINNT)
PURE_LIB_SUFFIX =
else
ifdef DSO_BACKEND
PURE_LIB_SUFFIX = .$(DLL_SUFFIX)
else
PURE_LIB_SUFFIX = .$(LIB_SUFFIX)
endif
endif
endif
ifndef STATIC_LIB_SUFFIX_FOR_LINKING
STATIC_LIB_SUFFIX_FOR_LINKING = $(STATIC_LIB_SUFFIX)
STATIC_LIB_SUFFIX_FOR_LINKING = $(STATIC_LIB_SUFFIX)
endif
# WIN% overridese this
ifndef DYNAMIC_LIB_SUFFIX_FOR_LINKING
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(DYNAMIC_LIB_SUFFIX)
ifeq ($(OS_ARCH), WINNT)
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(IMPORT_LIB_SUFFIX)
else
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(DYNAMIC_LIB_SUFFIX)
endif
endif
#
# Program suffixes (OS2 and WIN% override this)
# Program suffixes
#
ifndef PROG_SUFFIX
PROG_SUFFIX =
ifeq ($(OS_ARCH), WINNT)
PROG_SUFFIX = .exe
else
PROG_SUFFIX =
endif
endif
MK_SUFFIX = included

View File

@@ -35,17 +35,53 @@
# Master "Core Components" file system "release" prefixes #
#######################################################################
# Windows platforms override this. See WIN32.mk or WIN16.mk.
# RELEASE_TREE = $(CORE_DEPTH)/../coredist
ifndef RELEASE_TREE
ifdef BUILD_SHIP
ifdef USE_SHIPS
RELEASE_TREE = $(BUILD_SHIP)
ifdef BUILD_SHIP
ifdef USE_SHIPS
RELEASE_TREE = $(BUILD_SHIP)
else
RELEASE_TREE = /m/dist
endif
else
RELEASE_TREE = /share/builds/components
RELEASE_TREE = /m/dist
endif
ifeq ($(OS_TARGET), WINNT)
ifdef BUILD_SHIP
ifdef USE_SHIPS
RELEASE_TREE = $(NTBUILD_SHIP)
else
RELEASE_TREE = //helium/dist
endif
else
RELEASE_TREE = //helium/dist
endif
endif
ifeq ($(OS_TARGET), WIN95)
ifdef BUILD_SHIP
ifdef USE_SHIPS
RELEASE_TREE = $(NTBUILD_SHIP)
else
RELEASE_TREE = //helium/dist
endif
else
RELEASE_TREE = //helium/dist
endif
endif
ifeq ($(OS_TARGET), WIN16)
ifdef BUILD_SHIP
ifdef USE_SHIPS
RELEASE_TREE = $(NTBUILD_SHIP)
else
RELEASE_TREE = //helium/dist
endif
else
RELEASE_TREE = //helium/dist
endif
endif
else
RELEASE_TREE = /share/builds/components
endif
endif
#
@@ -54,21 +90,21 @@ endif
#
ifeq ($(POLICY), domestic)
RELEASE_XP_DIR = domestic
RELEASE_MD_DIR = domestic/$(PLATFORM)
RELEASE_XP_DIR = domestic
RELEASE_MD_DIR = domestic/$(PLATFORM)
else
ifeq ($(POLICY), export)
RELEASE_XP_DIR = export
RELEASE_MD_DIR = export/$(PLATFORM)
else
ifeq ($(POLICY), france)
RELEASE_XP_DIR = france
RELEASE_MD_DIR = france/$(PLATFORM)
ifeq ($(POLICY), export)
RELEASE_XP_DIR = export
RELEASE_MD_DIR = export/$(PLATFORM)
else
RELEASE_XP_DIR =
RELEASE_MD_DIR = $(PLATFORM)
ifeq ($(POLICY), france)
RELEASE_XP_DIR = france
RELEASE_MD_DIR = france/$(PLATFORM)
else
RELEASE_XP_DIR =
RELEASE_MD_DIR = $(PLATFORM)
endif
endif
endif
endif
@@ -76,5 +112,3 @@ REPORTER_TREE = $(subst \,\\,$(RELEASE_TREE))
IMPORT_XP_DIR =
IMPORT_MD_DIR = $(PLATFORM)
MK_TREE = included

View File

@@ -47,15 +47,15 @@ CURRENT_VERSION_SYMLINK = current
#
ifndef VERSION
ifdef BUILD_NUM
VERSION = $(BUILD_NUM)
endif
ifdef BUILD_NUM
VERSION = $(BUILD_NUM)
endif
endif
ifndef RELEASE_VERSION
ifdef BUILD_NUM
RELEASE_VERSION = $(BUILD_NUM)
endif
ifdef BUILD_NUM
RELEASE_VERSION = $(BUILD_NUM)
endif
endif
#
@@ -65,7 +65,7 @@ endif
# to $(CURRENT_VERSION_SYMLINK).
ifndef VERSION
VERSION = $(CURRENT_VERSION_SYMLINK)
VERSION = $(CURRENT_VERSION_SYMLINK)
endif
# If RELEASE_VERSION has still NOT been set on the command line,
@@ -75,7 +75,7 @@ endif
#
ifndef RELEASE_VERSION
RELEASE_VERSION =
RELEASE_VERSION =
endif
#
@@ -83,23 +83,21 @@ endif
#
ifndef JAVA_VERSION
JAVA_VERSION = $(CURRENT_VERSION_SYMLINK)
JAVA_VERSION = $(CURRENT_VERSION_SYMLINK)
endif
ifndef NETLIB_VERSION
NETLIB_VERSION = $(CURRENT_VERSION_SYMLINK)
NETLIB_VERSION = $(CURRENT_VERSION_SYMLINK)
endif
ifndef NSPR_VERSION
NSPR_VERSION = $(CURRENT_VERSION_SYMLINK)
NSPR_VERSION = $(CURRENT_VERSION_SYMLINK)
endif
ifndef SECTOOLS_VERSION
SECTOOLS_VERSION = $(CURRENT_VERSION_SYMLINK)
SECTOOLS_VERSION = $(CURRENT_VERSION_SYMLINK)
endif
ifndef SECURITY_VERSION
SECURITY_VERSION = $(CURRENT_VERSION_SYMLINK)
SECURITY_VERSION = $(CURRENT_VERSION_SYMLINK)
endif
MK_VERSION = included

View File

@@ -54,9 +54,7 @@ include $(CORE_DEPTH)/coreconf/config.mk
# (4) Include "local" platform-dependent assignments (OPTIONAL). #
#######################################################################
ifeq ($(OS_TARGET),WINCE)
DIRS = lib # omit cmd since wince has no command line shell
endif
#######################################################################
# (5) Execute "global" rules. (OPTIONAL) #
@@ -74,75 +72,8 @@ include $(CORE_DEPTH)/coreconf/rules.mk
# (7) Execute "local" rules. (OPTIONAL). #
#######################################################################
nss_build_all: build_coreconf build_nspr build_dbm all
build_coreconf:
cd $(CORE_DEPTH)/coreconf ; $(MAKE)
NSPR_CONFIG_STATUS = $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME)/config.status
NSPR_CONFIGURE = $(CORE_DEPTH)/../nsprpub/configure
#
# Translate coreconf build options to NSPR configure options.
#
ifdef BUILD_OPT
NSPR_CONFIGURE_OPTS += --disable-debug --enable-optimize
endif
ifdef USE_64
NSPR_CONFIGURE_OPTS += --enable-64bit
endif
ifeq ($(OS_TARGET),WIN95)
NSPR_CONFIGURE_OPTS += --enable-win32-target=WIN95
endif
ifdef USE_DEBUG_RTL
NSPR_CONFIGURE_OPTS += --enable-debug-rtl
endif
ifdef NS_USE_GCC
NSPR_COMPILERS = CC=gcc CXX=g++
endif
#
# Some pwd commands on Windows (for example, the pwd
# command in Cygwin) return a pathname that begins
# with a (forward) slash. When such a pathname is
# passed to Windows build tools (for example, cl), it
# is mistaken as a command-line option. If that is the case,
# we use a relative pathname as NSPR's prefix on Windows.
#
USEABSPATH="YES"
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
ifeq (,$(findstring :,$(shell pwd)))
USEABSPATH="NO"
endif
endif
ifeq ($(USEABSPATH),"YES")
NSPR_PREFIX = $(shell pwd)/../../dist/$(OBJDIR_NAME)
else
NSPR_PREFIX = $$(topsrcdir)/../dist/$(OBJDIR_NAME)
endif
$(NSPR_CONFIG_STATUS): $(NSPR_CONFIGURE)
$(NSINSTALL) -D $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME)
cd $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME) ; \
$(NSPR_COMPILERS) sh ../configure \
$(NSPR_CONFIGURE_OPTS) \
--with-dist-prefix='$(NSPR_PREFIX)' \
--with-dist-includedir='$(NSPR_PREFIX)/include'
build_nspr: $(NSPR_CONFIG_STATUS)
cd $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME) ; $(MAKE)
build_dbm:
cd $(CORE_DEPTH)/dbm ; $(MAKE) export libs
moz_import::
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
$(NSINSTALL) -D $(DIST)/include/nspr
cp $(DIST)/../include/nspr/*.h $(DIST)/include/nspr
ifeq ($(OS_ARCH),WINNT)
cp $(DIST)/../include/* $(DIST)/include
ifdef BUILD_OPT
cp $(DIST)/../WIN32_O.OBJ/lib/* $(DIST)/lib
@@ -150,19 +81,46 @@ else
cp $(DIST)/../WIN32_D.OBJ/lib/* $(DIST)/lib
endif
mv $(DIST)/lib/dbm32.lib $(DIST)/lib/dbm.lib
else
ifeq ($(OS_TARGET),OS2)
cp -rf $(DIST)/../include $(DIST)
cp -rf $(DIST)/../lib $(DIST)
cp -f $(DIST)/lib/libmozdbm_s.$(LIB_SUFFIX) $(DIST)/lib/libdbm.$(LIB_SUFFIX)
else
$(NSINSTALL) -L ../../dist include $(DIST)
$(NSINSTALL) -L ../../dist lib $(DIST)
cp $(DIST)/lib/libmozdbm_s.$(LIB_SUFFIX) $(DIST)/lib/libdbm.$(LIB_SUFFIX)
endif
cp $(DIST)/lib/libmozdbm_s.a $(DIST)/lib/libdbm.a
endif
nss_RelEng_bld: build_coreconf import all
nsm:: all
cd ssm/lib/protocol; gmake
cd ssm/server; gmake import; gmake
package:
$(MAKE) -C pkg publish
nsm_rebuild::
cd ssm/lib/protocol; gmake
cd ssm/ui; gmake
cd ssm/server; gmake import; gmake
nsm_protocol: all
cd ssm/lib/protocol; gmake
nsm_ui: all
cd ssm/ui; gmake
nsm_gromit: nsm_protocol
cd ssm/lib/client; gmake
cd ssm/nav/gromit; gmake
nsm_server: nsm_protocol nsm_ui
cd ssm/server; gmake import; gmake
coreconf_hack:
cd ../coreconf; gmake
gmake import
nss_RelEng_bld: coreconf_hack
# gmake import; gmake
# cd ns/svrcore; gmake
gmake
nsm_RelEng_srvr_coreconf_import:
gmake import
nsm_RelEng_srvr_bld_Win: nsm_RelEng_srvr_coreconf_import nsm_server
nsm_RelEng_srvr_bld: coreconf_hack nsm_server

View File

@@ -100,34 +100,34 @@ US_FLAGS = -DEXPORT_VERSION
EXPORT_FLAGS = -DEXPORT_VERSION
BASE_LIBS = \
$(DIST)/lib/libdbm.$(LIB_SUFFIX) \
$(DIST)/lib/libxp.$(LIB_SUFFIX) \
$(DIST)/lib/libnspr.$(LIB_SUFFIX) \
$(DIST)/lib/libdbm.a \
$(DIST)/lib/libxp.a \
$(DIST)/lib/libnspr.a \
$(NULL)
# $(DIST)/lib/libpurenspr.$(LIB_SUFFIX) \
# $(DIST)/lib/libpurenspr.a \
#There is a circular dependancy in security/lib, and here is a gross fix
SEC_LIBS = \
$(DIST)/lib/libsecnav.$(LIB_SUFFIX) \
$(DIST)/lib/libssl.$(LIB_SUFFIX) \
$(DIST)/lib/libpkcs7.$(LIB_SUFFIX) \
$(DIST)/lib/libcert.$(LIB_SUFFIX) \
$(DIST)/lib/libkey.$(LIB_SUFFIX) \
$(DIST)/lib/libsecmod.$(LIB_SUFFIX) \
$(DIST)/lib/libcrypto.$(LIB_SUFFIX) \
$(DIST)/lib/libsecutil.$(LIB_SUFFIX) \
$(DIST)/lib/libssl.$(LIB_SUFFIX) \
$(DIST)/lib/libpkcs7.$(LIB_SUFFIX) \
$(DIST)/lib/libcert.$(LIB_SUFFIX) \
$(DIST)/lib/libkey.$(LIB_SUFFIX) \
$(DIST)/lib/libsecmod.$(LIB_SUFFIX) \
$(DIST)/lib/libcrypto.$(LIB_SUFFIX) \
$(DIST)/lib/libsecutil.$(LIB_SUFFIX) \
$(DIST)/lib/libhash.$(LIB_SUFFIX) \
$(DIST)/lib/libsecnav.a \
$(DIST)/lib/libssl.a \
$(DIST)/lib/libpkcs7.a \
$(DIST)/lib/libcert.a \
$(DIST)/lib/libkey.a \
$(DIST)/lib/libsecmod.a \
$(DIST)/lib/libcrypto.a \
$(DIST)/lib/libsecutil.a \
$(DIST)/lib/libssl.a \
$(DIST)/lib/libpkcs7.a \
$(DIST)/lib/libcert.a \
$(DIST)/lib/libkey.a \
$(DIST)/lib/libsecmod.a \
$(DIST)/lib/libcrypto.a \
$(DIST)/lib/libsecutil.a \
$(DIST)/lib/libhash.a \
$(NULL)
MYLIB = lib/$(OBJDIR)/libsectool.$(LIB_SUFFIX)
MYLIB = lib/$(OBJDIR)/libsectool.a
US_LIBS = $(MYLIB) $(SEC_LIBS) $(BASE_LIBS) $(MYLIB) $(BASE_LIBS)
EX_LIBS = $(MYLIB) $(SEC_LIBS) $(BASE_LIBS) $(MYLIB) $(BASE_LIBS)
@@ -149,7 +149,7 @@ TARGETS = $(NON_DIRS)
include $(CORE_DEPTH)/coreconf/rules.mk
ifneq ($(OS_TARGET),OS2)
ifneq ($(OS_ARCH),OS2)
$(OBJDIR)/%-us.o: %.c
@$(MAKE_OBJDIR)
$(CCF) -o $@ $(US_FLAGS) -c $*.c

View File

@@ -38,7 +38,7 @@ all default export libs program install release_export::
$(MAKE) -f make.server $@
# only do these things once for the whole directory
depend dependclean clean clobber realclean clobber_all release_classes release_clean release_cpdistdir release_export release_jars release_md release_policy show::
depend dependclean clean clobber release_classes release_clean release_cpdistdir release_export release_jars release_md release_policy show::
$(MAKE) -f make.client $@

View File

@@ -36,7 +36,7 @@ ARCH := $(shell uname)
ifeq ($(ARCH), SunOS)
DEFINES = -KPIC -DSVR4 -DSOLARIS -DSYSV -D__svr4 -D__svr4__ \
-D_REENTRANT -DSOLARIS2_5 -D_SVID_GETTOD -DXP_UNIX -UDEBUG -DNDEBUG \
-DXP_UNIX
-D_PR_GLOBAL_THREADS_ONLY -DXP_UNIX
INCPATH = -I. -I../include/dbm -I../include/nspr -I../include/security
LIBPATH = -L../lib
LIBS = -lnss -lssl -lpkcs7 -lpkcs12 -lsecmod -lcert -lkey \

View File

@@ -64,6 +64,7 @@
#define RD_BUF_SIZE (60 * 1024)
extern int cipherSuites[];
extern int ssl2CipherSuites[];
extern int ssl3CipherSuites[];
@@ -92,9 +93,7 @@ setupSSLSocket(PRNetAddr *addr)
PRStatus prStatus;
SECStatus secStatus;
#if 0
retry:
#endif
tcpSocket = PR_NewTCPSocket();
if (tcpSocket == NULL) {
@@ -135,15 +134,15 @@ retry:
}
/* Set configuration options. */
secStatus = SSL_OptionSet(sslSocket, SSL_SECURITY, PR_TRUE);
secStatus = SSL_Enable(sslSocket, SSL_SECURITY, PR_TRUE);
if (secStatus != SECSuccess) {
errWarn("SSL_OptionSet:SSL_SECURITY");
errWarn("SSL_Enable:SSL_SECURITY");
goto loser;
}
secStatus = SSL_OptionSet(sslSocket, SSL_HANDSHAKE_AS_CLIENT, PR_TRUE);
secStatus = SSL_Enable(sslSocket, SSL_HANDSHAKE_AS_CLIENT, PR_TRUE);
if (secStatus != SECSuccess) {
errWarn("SSL_OptionSet:SSL_HANDSHAKE_AS_CLIENT");
errWarn("SSL_Enable:SSL_HANDSHAKE_AS_CLIENT");
goto loser;
}
@@ -418,35 +417,34 @@ main(int argc, char **argv)
/* All cipher suites except RSA_NULL_MD5 are enabled by Domestic Policy. */
NSS_SetDomesticPolicy();
SSL_CipherPrefSetDefault(SSL_RSA_WITH_NULL_MD5, PR_TRUE);
SSL_EnableCipher(SSL_RSA_WITH_NULL_MD5, SSL_ALLOWED);
/* all the SSL2 and SSL3 cipher suites are enabled by default. */
if (cipherString) {
int ndx;
int ndx;
/* disable all the ciphers, then enable the ones we want. */
disableAllSSLCiphers();
/* disable all the ciphers, then enable the ones we want. */
disableSSL2Ciphers();
disableSSL3Ciphers();
while (0 != (ndx = *cipherString++)) {
int *cptr;
int cipher;
while (0 != (ndx = *cipherString++)) {
int *cptr;
int cipher;
if (! isalpha(ndx))
Usage(progName);
cptr = islower(ndx) ? ssl3CipherSuites : ssl2CipherSuites;
for (ndx &= 0x1f; (cipher = *cptr++) != 0 && --ndx > 0; )
/* do nothing */;
if (cipher) {
SSL_CipherPrefSetDefault(cipher, PR_TRUE);
if (! isalpha(ndx))
Usage(progName);
cptr = islower(ndx) ? ssl3CipherSuites : ssl2CipherSuites;
for (ndx &= 0x1f; (cipher = *cptr++) != 0 && --ndx > 0; )
/* do nothing */;
if (cipher) {
SSL_EnableCipher(cipher, SSL_ALLOWED);
}
}
}
}
client_main(port, connections, hostName);
if (NSS_Shutdown() != SECSuccess) {
exit(1);
}
NSS_Shutdown();
PR_Cleanup();
return 0;
}

View File

@@ -32,7 +32,7 @@
CORE_DEPTH = ../../..
MODULE = nss
MODULE = security
EXPORTS =
@@ -44,7 +44,7 @@ PROGRAM = client
REQUIRES = dbm
IMPORTS = nss/lib/nss
IMPORTS = security/lib/nss
DEFINES = -DNSPR20

View File

@@ -55,6 +55,7 @@
#include "ssl.h"
#include "certt.h"
#include "nss.h"
#include "secrng.h"
#include "secder.h"
#include "key.h"
#include "sslproto.h"
@@ -222,29 +223,29 @@ setupSSLSocket(PRFileDesc *tcpSocket, int requestCert)
goto loser;
}
secStatus = SSL_OptionSet(sslSocket, SSL_SECURITY, PR_TRUE);
secStatus = SSL_Enable(sslSocket, SSL_SECURITY, PR_TRUE);
if (secStatus != SECSuccess) {
errWarn("SSL_OptionSet SSL_SECURITY");
errWarn("SSL_Enable SSL_SECURITY");
goto loser;
}
secStatus = SSL_OptionSet(sslSocket, SSL_HANDSHAKE_AS_SERVER, PR_TRUE);
secStatus = SSL_Enable(sslSocket, SSL_HANDSHAKE_AS_SERVER, PR_TRUE);
if (secStatus != SECSuccess) {
errWarn("SSL_OptionSet:SSL_HANDSHAKE_AS_SERVER");
errWarn("SSL_Enable:SSL_HANDSHAKE_AS_SERVER");
goto loser;
}
secStatus = SSL_OptionSet(sslSocket, SSL_REQUEST_CERTIFICATE,
secStatus = SSL_Enable(sslSocket, SSL_REQUEST_CERTIFICATE,
(requestCert >= REQUEST_CERT_ONCE));
if (secStatus != SECSuccess) {
errWarn("SSL_OptionSet:SSL_REQUEST_CERTIFICATE");
errWarn("SSL_Enable:SSL_REQUEST_CERTIFICATE");
goto loser;
}
secStatus = SSL_OptionSet(sslSocket, SSL_REQUIRE_CERTIFICATE,
secStatus = SSL_Enable(sslSocket, SSL_REQUIRE_CERTIFICATE,
(requestCert == REQUIRE_CERT_ONCE));
if (secStatus != SECSuccess) {
errWarn("SSL_OptionSet:SSL_REQUIRE_CERTIFICATE");
errWarn("SSL_Enable:SSL_REQUIRE_CERTIFICATE");
goto loser;
}
@@ -315,24 +316,24 @@ authenticateSocket(PRFileDesc *sslSocket, PRBool requireCert)
}
/* Request client to authenticate itself. */
secStatus = SSL_OptionSet(sslSocket, SSL_REQUEST_CERTIFICATE, PR_TRUE);
secStatus = SSL_Enable(sslSocket, SSL_REQUEST_CERTIFICATE, PR_TRUE);
if (secStatus != SECSuccess) {
errWarn("SSL_OptionSet:SSL_REQUEST_CERTIFICATE");
errWarn("SSL_Enable:SSL_REQUEST_CERTIFICATE");
return SECFailure;
}
/* If desired, require client to authenticate itself. Note
* SSL_REQUEST_CERTIFICATE must also be on, as above. */
secStatus = SSL_OptionSet(sslSocket, SSL_REQUIRE_CERTIFICATE, requireCert);
secStatus = SSL_Enable(sslSocket, SSL_REQUIRE_CERTIFICATE, requireCert);
if (secStatus != SECSuccess) {
errWarn("SSL_OptionSet:SSL_REQUIRE_CERTIFICATE");
errWarn("SSL_Enable:SSL_REQUIRE_CERTIFICATE");
return SECFailure;
}
/* Having changed socket configuration parameters, redo handshake. */
secStatus = SSL_ReHandshake(sslSocket, PR_TRUE);
secStatus = SSL_RedoHandshake(sslSocket);
if (secStatus != SECSuccess) {
errWarn("SSL_ReHandshake");
errWarn("SSL_RedoHandshake");
return SECFailure;
}
@@ -388,6 +389,7 @@ writeDataToSocket(PRFileDesc *sslSocket, DataBuffer *buffer, char *fileName)
PORT_Free(fileName);
/* Maybe a GET not sent from client.c? */
goto writerequest;
return SECSuccess;
}
local_file_fd = PR_Open(fileName, PR_RDONLY, 0);
@@ -669,9 +671,9 @@ server_main(
/* This cipher is not on by default. The Acceptance test
* would like it to be. Turn this cipher on.
*/
secStatus = SSL_CipherPrefSetDefault(SSL_RSA_WITH_NULL_MD5, PR_TRUE);
secStatus = SSL_EnableCipher(SSL_RSA_WITH_NULL_MD5, PR_TRUE);
if (secStatus != SECSuccess) {
exitErr("SSL_CipherPrefSetDefault:SSL_RSA_WITH_NULL_MD5");
exitErr("SSL_EnableCipher:SSL_RSA_WITH_NULL_MD5");
}
/* Configure the network connection. */
@@ -770,27 +772,28 @@ main(int argc, char **argv)
/* XXX keep this? */
/* all the SSL2 and SSL3 cipher suites are enabled by default. */
if (cipherString) {
int ndx;
int ndx;
/* disable all the ciphers, then enable the ones we want. */
disableAllSSLCiphers();
/* disable all the ciphers, then enable the ones we want. */
disableSSL2Ciphers();
disableSSL3Ciphers();
while (0 != (ndx = *cipherString++)) {
int *cptr;
int cipher;
while (0 != (ndx = *cipherString++)) {
int *cptr;
int cipher;
if (! isalpha(ndx))
Usage(progName);
cptr = islower(ndx) ? ssl3CipherSuites : ssl2CipherSuites;
for (ndx &= 0x1f; (cipher = *cptr++) != 0 && --ndx > 0; )
/* do nothing */;
if (cipher) {
SECStatus status;
status = SSL_CipherPrefSetDefault(cipher, PR_TRUE);
if (status != SECSuccess)
errWarn("SSL_CipherPrefSetDefault()");
if (! isalpha(ndx))
Usage(progName);
cptr = islower(ndx) ? ssl3CipherSuites : ssl2CipherSuites;
for (ndx &= 0x1f; (cipher = *cptr++) != 0 && --ndx > 0; )
/* do nothing */;
if (cipher) {
SECStatus status;
status = SSL_CipherPrefSetDefault(cipher, SSL_ALLOWED);
if (status != SECSuccess)
errWarn("SSL_CipherPrefSetDefault()");
}
}
}
}
/* Get own certificate and private key. */
@@ -813,9 +816,7 @@ main(int argc, char **argv)
server_main(port, requestCert, privKey, cert, disableSSL3);
/* Shutdown NSS and exit NSPR gracefully. */
if (NSS_Shutdown() != SECSuccess) {
exit(1);
}
NSS_Shutdown();
PR_Cleanup();
return 0;
}

View File

@@ -32,7 +32,7 @@
CORE_DEPTH = ../../..
MODULE = nss
MODULE = security
EXPORTS =

View File

@@ -74,7 +74,7 @@ SSL_Strerror(PRErrorCode errNum) {
* binary search depends on it.
*/
if (!initDone) {
PRErrorCode lastNum = (PRInt32)0x80000000;
PRErrorCode lastNum = 0x80000000;
for (i = low; i <= high; ++i) {
num = errStrings[i].errNum;
if (num <= lastNum) {

View File

@@ -36,6 +36,19 @@
/* Declare SSL cipher suites. */
int cipherSuites[] = {
SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA,
SSL_FORTEZZA_DMS_WITH_RC4_128_SHA,
SSL_RSA_WITH_RC4_128_MD5,
SSL_RSA_WITH_3DES_EDE_CBC_SHA,
SSL_RSA_WITH_DES_CBC_SHA,
SSL_RSA_EXPORT_WITH_RC4_40_MD5,
SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5,
SSL_FORTEZZA_DMS_WITH_NULL_SHA,
SSL_RSA_WITH_NULL_MD5,
0
};
int ssl2CipherSuites[] = {
SSL_EN_RC4_128_WITH_MD5, /* A */
SSL_EN_RC4_128_EXPORT40_WITH_MD5, /* B */
@@ -127,7 +140,6 @@ myAuthCertificate(void *arg, PRFileDesc *socket,
/* If this is a server, we're finished. */
if (isServer || secStatus != SECSuccess) {
CERT_DestroyCertificate(cert);
return secStatus;
}
@@ -150,7 +162,6 @@ myAuthCertificate(void *arg, PRFileDesc *socket,
if (hostName)
PR_Free(hostName);
CERT_DestroyCertificate(cert);
return secStatus;
}
@@ -241,40 +252,40 @@ myGetClientAuthData(void *arg,
}
}
} else { /* no nickname given, automatically find the right cert */
CERTCertNicknames *names;
int i;
CERTCertNicknames *names;
int i;
names = CERT_GetCertNicknames(CERT_GetDefaultCertDB(),
SEC_CERT_NICKNAMES_USER, proto_win);
names = CERT_GetCertNicknames(CERT_GetDefaultCertDB(),
SEC_CERT_NICKNAMES_USER, proto_win);
if (names != NULL) {
for(i = 0; i < names->numnicknames; i++ ) {
if (names != NULL) {
for(i = 0; i < names->numnicknames; i++ ) {
cert = PK11_FindCertFromNickname(names->nicknames[i],
proto_win);
if (!cert) {
continue;
cert = PK11_FindCertFromNickname(names->nicknames[i],
proto_win);
if (!cert) {
continue;
}
/* Only check unexpired certs */
if (CERT_CheckCertValidTimes(cert, PR_Now(), PR_FALSE)
!= secCertTimeValid ) {
CERT_DestroyCertificate(cert);
continue;
}
secStatus = NSS_CmpCertChainWCANames(cert, caNames);
if (secStatus == SECSuccess) {
privKey = PK11_FindKeyByAnyCert(cert, proto_win);
if (privKey) {
break;
}
secStatus = SECFailure;
break;
}
CERT_FreeNicknames(names);
} /* for loop */
}
/* Only check unexpired certs */
if (CERT_CheckCertValidTimes(cert, PR_Now(), PR_FALSE)
!= secCertTimeValid ) {
CERT_DestroyCertificate(cert);
continue;
}
secStatus = NSS_CmpCertChainWCANames(cert, caNames);
if (secStatus == SECSuccess) {
privKey = PK11_FindKeyByAnyCert(cert, proto_win);
if (privKey) {
break;
}
secStatus = SECFailure;
break;
}
} /* for loop */
CERT_FreeNicknames(names);
}
}
if (secStatus == SECSuccess) {
@@ -290,7 +301,7 @@ myGetClientAuthData(void *arg,
* Purpose: Called by SSL to inform application that the handshake is
* complete. This function is mostly used on the server side of an SSL
* connection, although it is provided for a client as well.
* Useful when a non-blocking SSL_ReHandshake or SSL_ResetHandshake
* Useful when a non-blocking SSL_RedoHandshake or SSL_ResetHandshake
* is used to initiate a handshake.
*
* A typical scenario would be:
@@ -323,23 +334,25 @@ myHandshakeCallback(PRFileDesc *socket, void *arg)
**************************************************************************/
void
disableAllSSLCiphers(void)
disableSSL2Ciphers(void)
{
const PRUint16 *cipherSuites = SSL_ImplementedCiphers;
int i = SSL_NumImplementedCiphers;
SECStatus rv;
int i;
/* disable all the SSL3 cipher suites */
while (--i >= 0) {
PRUint16 suite = cipherSuites[i];
rv = SSL_CipherPrefSetDefault(suite, PR_FALSE);
if (rv != SECSuccess) {
printf("SSL_CipherPrefSetDefault didn't like value 0x%04x (i = %d)\n",
suite, i);
errWarn("SSL_CipherPrefSetDefault");
exit(2);
/* disable all the SSL2 cipher suites */
for (i = 0; ssl2CipherSuites[i] != 0; ++i) {
SSL_EnableCipher(ssl2CipherSuites[i], SSL_NOT_ALLOWED);
}
}
void
disableSSL3Ciphers(void)
{
int i;
/* disable all the SSL3 cipher suites */
for (i = 0; ssl3CipherSuites[i] != 0; ++i) {
SSL_EnableCipher(ssl3CipherSuites[i], SSL_NOT_ALLOWED);
}
}
}
/**************************************************************************
@@ -363,8 +376,7 @@ exitErr(char *function)
{
errWarn(function);
/* Exit gracefully. */
/* ignoring return value of NSS_Shutdown as code exits with 1*/
(void) NSS_Shutdown();
NSS_Shutdown();
PR_Cleanup();
exit(1);
}
@@ -379,7 +391,23 @@ printSecurityInfo(PRFileDesc *fd)
int kp0; /* total key bits */
int kp1; /* secret key bits */
int result;
SSL3Statistics * ssl3stats = SSL_GetStatistics();
#if 0
/* statistics from ssl3_SendClientHello (sch) */
extern long ssl3_sch_sid_cache_hits;
extern long ssl3_sch_sid_cache_misses;
extern long ssl3_sch_sid_cache_not_ok;
/* statistics from ssl3_HandleServerHello (hsh) */
extern long ssl3_hsh_sid_cache_hits;
extern long ssl3_hsh_sid_cache_misses;
extern long ssl3_hsh_sid_cache_not_ok;
#endif
/* statistics from ssl3_HandleClientHello (hch) */
extern long ssl3_hch_sid_cache_hits;
extern long ssl3_hch_sid_cache_misses;
extern long ssl3_hch_sid_cache_not_ok;
result = SSL_SecurityStatus(fd, &op, &cp, &kp0, &kp1, &ip, &sp);
if (result != SECSuccess)
@@ -392,8 +420,8 @@ printSecurityInfo(PRFileDesc *fd)
PR_Free(sp);
printf("%ld cache hits; %ld cache misses, %ld cache not reusable\n",
ssl3stats->hch_sid_cache_hits, ssl3stats->hch_sid_cache_misses,
ssl3stats->hch_sid_cache_not_ok);
ssl3_hch_sid_cache_hits, ssl3_hch_sid_cache_misses,
ssl3_hch_sid_cache_not_ok);
}
@@ -494,22 +522,22 @@ reap_threads(GlobalThreadMgr *threadMGR)
return 0;
PR_Lock(threadMGR->threadLock);
while (threadMGR->numRunning > 0) {
PR_WaitCondVar(threadMGR->threadEndQ, PR_INTERVAL_NO_TIMEOUT);
for (i = 0; i < threadMGR->numUsed; ++i) {
slot = &threadMGR->threads[i];
if (slot->running == rs_zombie) {
/* Handle cleanup of thread here. */
printf("Thread in slot %d returned %d\n", i, slot->rv);
PR_WaitCondVar(threadMGR->threadEndQ, PR_INTERVAL_NO_TIMEOUT);
for (i = 0; i < threadMGR->numUsed; ++i) {
slot = &threadMGR->threads[i];
if (slot->running == rs_zombie) {
/* Handle cleanup of thread here. */
printf("Thread in slot %d returned %d\n", i, slot->rv);
/* Now make sure the thread has ended OK. */
PR_JoinThread(slot->prThread);
slot->running = rs_idle;
--threadMGR->numRunning;
/* Now make sure the thread has ended OK. */
PR_JoinThread(slot->prThread);
slot->running = rs_idle;
--threadMGR->numRunning;
/* notify the thread launcher. */
PR_NotifyCondVar(threadMGR->threadStartQ);
/* notify the thread launcher. */
PR_NotifyCondVar(threadMGR->threadStartQ);
}
}
}
}
/* Safety Sam sez: make sure count is right. */

View File

@@ -52,6 +52,7 @@
#include "ssl.h"
#include "certt.h"
#include "nss.h"
#include "secrng.h"
#include "secder.h"
#include "key.h"
#include "sslproto.h"
@@ -97,8 +98,9 @@ SECStatus myGetClientAuthData(void *arg, PRFileDesc *socket,
/* Disable all v2/v3 SSL ciphers. */
void disableAllSSLCiphers(void);
void disableSSL2Ciphers(void);
void disableSSL3Ciphers(void);
/* Error and information utilities. */

View File

@@ -1,76 +0,0 @@
#! gmake
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
#######################################################################
# (1) Include initial platform-independent assignments (MANDATORY). #
#######################################################################
include manifest.mn
#######################################################################
# (2) Include "global" configuration information. (OPTIONAL) #
#######################################################################
include $(CORE_DEPTH)/coreconf/config.mk
#######################################################################
# (3) Include "component" configuration information. (OPTIONAL) #
#######################################################################
#######################################################################
# (4) Include "local" platform-dependent assignments (OPTIONAL). #
#######################################################################
include ../platlibs.mk
#######################################################################
# (5) Execute "global" rules. (OPTIONAL) #
#######################################################################
include $(CORE_DEPTH)/coreconf/rules.mk
#######################################################################
# (6) Execute "component" rules. (OPTIONAL) #
#######################################################################
#######################################################################
# (7) Execute "local" rules. (OPTIONAL). #
#######################################################################
include ../platrules.mk

View File

@@ -1,357 +0,0 @@
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
/*
* Tool for converting builtin CA certs.
*
* $Id: addbuiltin.c,v 1.6 2003-01-07 22:22:10 bishakhabanerjee%netscape.com Exp $
*/
#include "nss.h"
#include "cert.h"
#include "certdb.h"
#include "secutil.h"
#include "pk11func.h"
void dumpbytes(unsigned char *buf, int len)
{
int i;
for (i=0; i < len; i++) {
if ((i !=0) && ((i & 0xf) == 0)) {
printf("\n");
}
printf("\\%03o",buf[i]);
}
printf("\n");
}
char *getTrustString(unsigned int trust)
{
if (trust & CERTDB_TRUSTED) {
if (trust & CERTDB_TRUSTED_CA) {
return "CKT_NETSCAPE_TRUSTED_DELEGATOR|CKT_NETSCAPE_TRUSTED";
} else {
return "CKT_NETSCAPE_TRUSTED";
}
} else {
if (trust & CERTDB_TRUSTED_CA) {
return "CKT_NETSCAPE_TRUSTED_DELEGATOR";
} else {
return "CKT_NETSCAPE_VALID";
}
}
return "CKT_NETSCAPE_VALID"; /* not reached */
}
static const SEC_ASN1Template serialTemplate[] = {
{ SEC_ASN1_INTEGER, offsetof(CERTCertificate,serialNumber) },
{ 0 }
};
static SECStatus
ConvertCertificate(SECItem *sdder, char *nickname, CERTCertTrust *trust)
{
SECStatus rv = SECSuccess;
CERTCertificate *cert;
unsigned char sha1_hash[SHA1_LENGTH];
unsigned char md5_hash[MD5_LENGTH];
SECItem *serial = NULL;
cert = CERT_DecodeDERCertificate(sdder, PR_FALSE, nickname);
if (!cert) {
return SECFailure;
}
serial = SEC_ASN1EncodeItem(NULL,NULL,cert,serialTemplate);
if (!serial) {
return SECFailure;
}
printf("\n#\n# Certificate \"%s\"\n#\n",nickname);
printf("CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE\n");
printf("CKA_TOKEN CK_BBOOL CK_TRUE\n");
printf("CKA_PRIVATE CK_BBOOL CK_FALSE\n");
printf("CKA_MODIFIABLE CK_BBOOL CK_FALSE\n");
printf("CKA_LABEL UTF8 \"%s\"\n",nickname);
printf("CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509\n");
printf("CKA_SUBJECT MULTILINE_OCTAL\n");
dumpbytes(cert->derSubject.data,cert->derSubject.len);
printf("END\n");
printf("CKA_ID UTF8 \"0\"\n");
printf("CKA_ISSUER MULTILINE_OCTAL\n");
dumpbytes(cert->derIssuer.data,cert->derIssuer.len);
printf("END\n");
printf("CKA_SERIAL_NUMBER MULTILINE_OCTAL\n");
dumpbytes(serial->data,serial->len);
printf("END\n");
printf("CKA_VALUE MULTILINE_OCTAL\n");
dumpbytes(sdder->data,sdder->len);
printf("END\n");
PK11_HashBuf(SEC_OID_SHA1, sha1_hash, sdder->data, sdder->len);
PK11_HashBuf(SEC_OID_MD5, md5_hash, sdder->data, sdder->len);
printf("\n# Trust for Certificate \"%s\"\n",nickname);
printf("CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST\n");
printf("CKA_TOKEN CK_BBOOL CK_TRUE\n");
printf("CKA_PRIVATE CK_BBOOL CK_FALSE\n");
printf("CKA_MODIFIABLE CK_BBOOL CK_FALSE\n");
printf("CKA_LABEL UTF8 \"%s\"\n",nickname);
printf("CKA_CERT_SHA1_HASH MULTILINE_OCTAL\n");
dumpbytes(sha1_hash,SHA1_LENGTH);
printf("END\n");
printf("CKA_CERT_MD5_HASH MULTILINE_OCTAL\n");
dumpbytes(md5_hash,MD5_LENGTH);
printf("END\n");
printf("CKA_ISSUER MULTILINE_OCTAL\n");
dumpbytes(cert->derIssuer.data,cert->derIssuer.len);
printf("END\n");
printf("CKA_SERIAL_NUMBER MULTILINE_OCTAL\n");
dumpbytes(serial->data,serial->len);
printf("END\n");
printf("CKA_TRUST_SERVER_AUTH CK_TRUST %s\n",
getTrustString(trust->sslFlags));
printf("CKA_TRUST_EMAIL_PROTECTION CK_TRUST %s\n",
getTrustString(trust->emailFlags));
printf("CKA_TRUST_CODE_SIGNING CK_TRUST %s\n",
getTrustString(trust->objectSigningFlags));
#ifdef notdef
printf("CKA_TRUST_CLIENT_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED\n");*/
printf("CKA_TRUST_DIGITAL_SIGNATURE CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR\n");
printf("CKA_TRUST_NON_REPUDIATION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR\n");
printf("CKA_TRUST_KEY_ENCIPHERMENT CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR\n");
printf("CKA_TRUST_DATA_ENCIPHERMENT CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR\n");
printf("CKA_TRUST_KEY_AGREEMENT CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR\n");
printf("CKA_TRUST_KEY_CERT_SIGN CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR\n");
#endif
PORT_Free(sdder->data);
return(rv);
}
printheader() {
printf("# \n"
"# The contents of this file are subject to the Mozilla Public\n"
"# License Version 1.1 (the \"License\"); you may not use this file\n"
"# except in compliance with the License. You may obtain a copy of\n"
"# the License at http://www.mozilla.org/MPL/\n"
"# \n"
"# Software distributed under the License is distributed on an \"AS\n"
"# IS\" basis, WITHOUT WARRANTY OF ANY KIND, either express or\n"
"# implied. See the License for the specific language governing\n"
"# rights and limitations under the License.\n"
"# \n"
"# The Original Code is the Netscape security libraries.\n"
"# \n"
"# The Initial Developer of the Original Code is Netscape\n"
"# Communications Corporation. Portions created by Netscape are \n"
"# Copyright (C) 1994-2000 Netscape Communications Corporation. All\n"
"# Rights Reserved.\n"
"# \n"
"# Contributor(s):\n"
"# \n"
"# Alternatively, the contents of this file may be used under the\n"
"# terms of the GNU General Public License Version 2 or later (the\n"
"# \"GPL\"), in which case the provisions of the GPL are applicable \n"
"# instead of those above. If you wish to allow use of your \n"
"# version of this file only under the terms of the GPL and not to\n"
"# allow others to use your version of this file under the MPL,\n"
"# indicate your decision by deleting the provisions above and\n"
"# replace them with the notice and other provisions required by\n"
"# the GPL. If you do not delete the provisions above, a recipient\n"
"# may use your version of this file under either the MPL or the\n"
"# GPL.\n"
"#\n"
"CVS_ID \"@(#) $RCSfile: addbuiltin.c,v $ $Revision: 1.6 $ $Date: 2003-01-07 22:22:10 $ $Name: not supported by cvs2svn $\"\n"
"\n"
"#\n"
"# certdata.txt\n"
"#\n"
"# This file contains the object definitions for the certs and other\n"
"# information \"built into\" NSS.\n"
"#\n"
"# Object definitions:\n"
"#\n"
"# Certificates\n"
"#\n"
"# -- Attribute -- -- type -- -- value --\n"
"# CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE\n"
"# CKA_TOKEN CK_BBOOL CK_TRUE\n"
"# CKA_PRIVATE CK_BBOOL CK_FALSE\n"
"# CKA_MODIFIABLE CK_BBOOL CK_FALSE\n"
"# CKA_LABEL UTF8 (varies)\n"
"# CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509\n"
"# CKA_SUBJECT DER+base64 (varies)\n"
"# CKA_ID byte array (varies)\n"
"# CKA_ISSUER DER+base64 (varies)\n"
"# CKA_SERIAL_NUMBER DER+base64 (varies)\n"
"# CKA_VALUE DER+base64 (varies)\n"
"# CKA_NETSCAPE_EMAIL ASCII7 (unused here)\n"
"#\n"
"# Trust\n"
"#\n"
"# -- Attribute -- -- type -- -- value --\n"
"# CKA_CLASS CK_OBJECT_CLASS CKO_TRUST\n"
"# CKA_TOKEN CK_BBOOL CK_TRUE\n"
"# CKA_PRIVATE CK_BBOOL CK_FALSE\n"
"# CKA_MODIFIABLE CK_BBOOL CK_FALSE\n"
"# CKA_LABEL UTF8 (varies)\n"
"# CKA_ISSUER DER+base64 (varies)\n"
"# CKA_SERIAL_NUMBER DER+base64 (varies)\n"
"# CKA_CERT_HASH binary+base64 (varies)\n"
"# CKA_EXPIRES CK_DATE (not used here)\n"
"# CKA_TRUST_DIGITAL_SIGNATURE CK_TRUST (varies)\n"
"# CKA_TRUST_NON_REPUDIATION CK_TRUST (varies)\n"
"# CKA_TRUST_KEY_ENCIPHERMENT CK_TRUST (varies)\n"
"# CKA_TRUST_DATA_ENCIPHERMENT CK_TRUST (varies)\n"
"# CKA_TRUST_KEY_AGREEMENT CK_TRUST (varies)\n"
"# CKA_TRUST_KEY_CERT_SIGN CK_TRUST (varies)\n"
"# CKA_TRUST_CRL_SIGN CK_TRUST (varies)\n"
"# CKA_TRUST_SERVER_AUTH CK_TRUST (varies)\n"
"# CKA_TRUST_CLIENT_AUTH CK_TRUST (varies)\n"
"# CKA_TRUST_CODE_SIGNING CK_TRUST (varies)\n"
"# CKA_TRUST_EMAIL_PROTECTION CK_TRUST (varies)\n"
"# CKA_TRUST_IPSEC_END_SYSTEM CK_TRUST (varies)\n"
"# CKA_TRUST_IPSEC_TUNNEL CK_TRUST (varies)\n"
"# CKA_TRUST_IPSEC_USER CK_TRUST (varies)\n"
"# CKA_TRUST_TIME_STAMPING CK_TRUST (varies)\n"
"# (other trust attributes can be defined)\n"
"#\n"
"\n"
"#\n"
"# The object to tell NSS that this is a root list and we don't\n"
"# have to go looking for others.\n"
"#\n"
"BEGINDATA\n"
"CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_BUILTIN_ROOT_LIST\n"
"CKA_TOKEN CK_BBOOL CK_TRUE\n"
"CKA_PRIVATE CK_BBOOL CK_FALSE\n"
"CKA_MODIFIABLE CK_BBOOL CK_FALSE\n"
"CKA_LABEL UTF8 \"Mozilla Builtin Roots\"\n");
}
static void Usage(char *progName)
{
fprintf(stderr, "%s -n nickname -t trust\n", progName);
fprintf(stderr,
"read a der-encoded cert from stdin in, and output\n"
"it to stdout in a format suitable for the builtin root module.\n"
"example: %s -n MyCA -t \"C,C,C\" < myca.der >> certdata.txt\n"
"(pipe through atob if the cert is b64-encoded)\n");
fprintf(stderr, "%15s nickname to assign to builtin cert.\n",
"-n nickname");
fprintf(stderr, "%15s default trust flags (cCTpPuw).\n",
"-t trust");
exit(-1);
}
enum {
opt_Input = 0,
opt_Nickname,
opt_Trust
};
static secuCommandFlag addbuiltin_options[] =
{
{ /* opt_Input */ 'i', PR_TRUE, 0, PR_FALSE },
{ /* opt_Nickname */ 'n', PR_TRUE, 0, PR_FALSE },
{ /* opt_Trust */ 't', PR_TRUE, 0, PR_FALSE }
};
main(int argc, char **argv)
{
SECStatus rv;
char *nickname;
char *trusts;
char *progName;
PRFileDesc *infile;
CERTCertTrust trust = { 0 };
SECItem derCert = { 0 };
secuCommand addbuiltin = { 0 };
addbuiltin.numOptions = sizeof(addbuiltin_options)/sizeof(secuCommandFlag);
addbuiltin.options = addbuiltin_options;
progName = strrchr(argv[0], '/');
progName = progName ? progName+1 : argv[0];
rv = SECU_ParseCommandLine(argc, argv, progName, &addbuiltin);
if (rv != SECSuccess)
Usage(progName);
if (!addbuiltin.options[opt_Nickname].activated &&
!addbuiltin.options[opt_Trust].activated) {
fprintf(stderr, "%s: you must specify both a nickname and trust.\n");
Usage(progName);
}
if (addbuiltin.options[opt_Input].activated) {
infile = PR_Open(addbuiltin.options[opt_Input].arg, PR_RDONLY, 00660);
if (!infile) {
fprintf(stderr, "%s: failed to open input file.\n");
exit(1);
}
} else {
infile = PR_STDIN;
}
nickname = strdup(addbuiltin.options[opt_Nickname].arg);
trusts = strdup(addbuiltin.options[opt_Trust].arg);
NSS_NoDB_Init(NULL);
rv = CERT_DecodeTrustString(&trust, trusts);
if (rv) {
fprintf(stderr, "%s: incorrectly formatted trust string.\n", progName);
Usage(progName);
}
SECU_FileToItem(&derCert, infile);
/*printheader();*/
rv = ConvertCertificate(&derCert, nickname, &trust);
if (rv) {
fprintf(stderr, "%s: failed to convert certificate.\n", progName);
exit(1);
}
if (NSS_Shutdown() != SECSuccess) {
exit(1);
}
return(SECSuccess);
}

View File

@@ -1,49 +0,0 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Netscape security libraries.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. If you wish to allow use of your
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL. If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
#
CORE_DEPTH = ../../..
# MODULE public and private header directories are implicitly REQUIRED.
MODULE = nss
CSRCS = \
addbuiltin.c \
$(NULL)
# The MODULE is always implicitly required.
# Listing it here in REQUIRES makes it appear twice in the cc command line.
REQUIRES = dbm seccmd
PROGRAM = addbuiltin
USE_STATIC_LIBS = 1

View File

@@ -34,7 +34,6 @@
#include "plgetopt.h"
#include "secutil.h"
#include "nssb64.h"
#include <errno.h>
#if defined(XP_WIN) || (defined(__sun) && !defined(SVR4))
#if !defined(WIN32)

Some files were not shown because too many files have changed in this diff Show More