Bug 158704: merged the Solaris packaging stuff onto the trunk. The three

shared libraries are built with mapfiles that specify versioned export
symbols.  We use the $ORIGIN and $ISALIST linker keywords to specify the
location of the ultrasparc filtee.


git-svn-id: svn://10.0.0.236/trunk@135843 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
wtc%netscape.com 2003-01-04 02:14:13 +00:00
parent a932bb97cf
commit f38ca95e78
26 changed files with 664 additions and 42 deletions

View File

@ -142,5 +142,9 @@ endif
cp -f mdheader.jar $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME); \
chmod 664 $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME)/mdheader.jar
solarispkg:
@echo Making Solaris packages.
$(MAKE) -C pkg/solaris publish
depend:
@echo "NSPR20 has no dependencies. Skipped."

View File

@ -105,7 +105,6 @@ NOSUCHFILE = @NOSUCHFILE@
AIX_LINK_OPTS = @AIX_LINK_OPTS@
MOZ_OBJFORMAT = @MOZ_OBJFORMAT@
ULTRASPARC_LIBRARY = @ULTRASPARC_LIBRARY@
ULTRASPARC_FILTER_LIBRARY = @ULTRASPARC_FILTER_LIBRARY@
OBJECT_MODE = @OBJECT_MODE@
ifdef OBJECT_MODE

View File

@ -36,5 +36,7 @@
#
# A module is also called a component or a subsystem.
MOD_NAME = nspr20
MOD_VERSION = 4
MOD_NAME = $(NSPR_MODNAME)
MOD_VERSION = $(MOD_MAJOR_VERSION)
MOD_MINOR = $(MOD_MINOR_VERSION)
MOD_PATCH = $(MOD_REVISION_VERSION)

View File

@ -311,7 +311,7 @@ $(IMPORT_LIBRARY): $(SHARED_LIBRARY)
$(IMPLIB) $@ $(SHARED_LIBRARY).def
endif
$(SHARED_LIBRARY): $(OBJS)
$(SHARED_LIBRARY): $(OBJS) $(MAPFILE)
@$(MAKE_OBJDIR)
rm -f $@
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
@ -364,6 +364,13 @@ endif
@echo $(RES) finished
endif
$(MAPFILE): $(LIBRARY_NAME).def
@$(MAKE_OBJDIR)
ifeq ($(OS_ARCH),SunOS)
grep -v ';-' $< | \
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
endif
$(OBJDIR)/%.$(OBJ_SUFFIX): %.cpp
@$(MAKE_OBJDIR)
ifeq ($(OS_ARCH), WINNT)

View File

@ -680,7 +680,7 @@ test "$host_alias" != "$target_alias" &&
MOD_MAJOR_VERSION=4
MOD_MINOR_VERSION=2
MOD_MINOR_VERSION=3
MOD_REVISION_VERSION=0
NSPR_MODNAME=nspr20
_HAVE_PTHREADS=
@ -4485,7 +4485,8 @@ EOF
fi
PR_MD_CSRCS=solaris.c
LD=/usr/ccs/bin/ld
DSO_LDOPTS='-G -h $(notdir $@)'
DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs'
RESOLVE_LINK_SYMBOLS=1
if test -n "$GNU_CC"; then
DSO_CFLAGS=-fPIC
else
@ -4573,9 +4574,7 @@ EOF
# 64-bit Solaris requires SPARC V9 architecture, so the following
# is not needed.
if test -z "$USE_64"; then
ULTRASPARC_LIBRARY=ultrasparc
ULTRASPARC_FILTER_LIBRARY=libatomic.so
DSO_LDOPTS="$DSO_LDOPTS -f "'$(ULTRASPARC_FILTER_LIBRARY)'
ULTRASPARC_LIBRARY=nspr_flt
fi
fi
# Purify requires that binaries linked against nspr also
@ -4757,12 +4756,12 @@ esac
if test -z "$SKIP_LIBRARY_CHECKS"; then
echo $ac_n "checking for dlopen""... $ac_c" 1>&6
echo "configure:4761: checking for dlopen" >&5
echo "configure:4760: checking for dlopen" >&5
if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 4766 "configure"
#line 4765 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char dlopen(); below. */
@ -4785,7 +4784,7 @@ dlopen();
; return 0; }
EOF
if { (eval echo configure:4789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:4788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_dlopen=yes"
else
@ -4804,7 +4803,7 @@ else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
echo "configure:4808: checking for dlopen in -ldl" >&5
echo "configure:4807: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -4812,7 +4811,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
#line 4816 "configure"
#line 4815 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -4823,7 +4822,7 @@ int main() {
dlopen()
; return 0; }
EOF
if { (eval echo configure:4827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:4826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -4851,13 +4850,13 @@ fi
if test $ac_cv_prog_gcc = yes; then
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
echo "configure:4855: checking whether ${CC-cc} needs -traditional" >&5
echo "configure:4854: checking whether ${CC-cc} needs -traditional" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_pattern="Autoconf.*'x'"
cat > conftest.$ac_ext <<EOF
#line 4861 "configure"
#line 4860 "configure"
#include "confdefs.h"
#include <sgtty.h>
Autoconf TIOCGETP
@ -4875,7 +4874,7 @@ rm -f conftest*
if test $ac_cv_prog_gcc_traditional = no; then
cat > conftest.$ac_ext <<EOF
#line 4879 "configure"
#line 4878 "configure"
#include "confdefs.h"
#include <termio.h>
Autoconf TCGETA
@ -4899,12 +4898,12 @@ fi
for ac_func in lchown strerror
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:4903: checking for $ac_func" >&5
echo "configure:4902: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 4908 "configure"
#line 4907 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@ -4927,7 +4926,7 @@ $ac_func();
; return 0; }
EOF
if { (eval echo configure:4931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:4930: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@ -4966,7 +4965,7 @@ hpux*)
if test -z "$GNU_CC"; then
echo $ac_n "checking for +Olit support""... $ac_c" 1>&6
echo "configure:4970: checking for +Olit support" >&5
echo "configure:4969: checking for +Olit support" >&5
if eval "test \"`echo '$''{'ac_cv_hpux_usable_olit_option'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -5000,7 +4999,7 @@ esac
echo $ac_n "checking for pthread_create in -lpthreads""... $ac_c" 1>&6
echo "configure:5004: checking for pthread_create in -lpthreads" >&5
echo "configure:5003: checking for pthread_create in -lpthreads" >&5
echo "
#include <pthread.h>
void *foo(void *v) { return v; }
@ -5022,7 +5021,7 @@ echo "
echo "$ac_t""no" 1>&6
echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6
echo "configure:5026: checking for pthread_create in -lpthread" >&5
echo "configure:5025: checking for pthread_create in -lpthread" >&5
echo "
#include <pthread.h>
void *foo(void *v) { return v; }
@ -5044,7 +5043,7 @@ echo "
echo "$ac_t""no" 1>&6
echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6
echo "configure:5048: checking for pthread_create in -lc_r" >&5
echo "configure:5047: checking for pthread_create in -lc_r" >&5
echo "
#include <pthread.h>
void *foo(void *v) { return v; }
@ -5066,7 +5065,7 @@ echo "
echo "$ac_t""no" 1>&6
echo $ac_n "checking for pthread_create in -lc""... $ac_c" 1>&6
echo "configure:5070: checking for pthread_create in -lc" >&5
echo "configure:5069: checking for pthread_create in -lc" >&5
echo "
#include <pthread.h>
void *foo(void *v) { return v; }
@ -5218,7 +5217,7 @@ if test -n "$USE_PTHREADS"; then
rm -f conftest*
ac_cv_have_dash_pthread=no
echo $ac_n "checking whether ${CC-cc} accepts -pthread""... $ac_c" 1>&6
echo "configure:5222: checking whether ${CC-cc} accepts -pthread" >&5
echo "configure:5221: checking whether ${CC-cc} accepts -pthread" >&5
echo 'int main() { return 0; }' | cat > conftest.c
${CC-cc} -pthread -o conftest conftest.c > conftest.out 2>&1
if test $? -eq 0; then
@ -5241,7 +5240,7 @@ echo "configure:5222: checking whether ${CC-cc} accepts -pthread" >&5
ac_cv_have_dash_pthreads=no
if test "$ac_cv_have_dash_pthread" = "no"; then
echo $ac_n "checking whether ${CC-cc} accepts -pthreads""... $ac_c" 1>&6
echo "configure:5245: checking whether ${CC-cc} accepts -pthreads" >&5
echo "configure:5244: checking whether ${CC-cc} accepts -pthreads" >&5
echo 'int main() { return 0; }' | cat > conftest.c
${CC-cc} -pthreads -o conftest conftest.c > conftest.out 2>&1
if test $? -eq 0; then
@ -5624,7 +5623,6 @@ RELEASE_OBJDIR_NAME="${OS_CONFIG}${CPU_ARCH_TAG}${COMPILER_TAG}${IMPL_STRATEGY}$
MAKEFILES="
@ -5640,6 +5638,10 @@ lib/libc/Makefile
lib/libc/include/Makefile
lib/libc/src/Makefile
lib/tests/Makefile
pkg/Makefile
pkg/solaris/Makefile
pkg/solaris/SUNWpr/Makefile
pkg/solaris/SUNWprx/Makefile
pr/Makefile
pr/include/Makefile
pr/include/md/Makefile
@ -5899,7 +5901,6 @@ s%@AIX_LINK_OPTS@%$AIX_LINK_OPTS%g
s%@NOSUCHFILE@%$NOSUCHFILE%g
s%@MOZ_OBJFORMAT@%$MOZ_OBJFORMAT%g
s%@ULTRASPARC_LIBRARY@%$ULTRASPARC_LIBRARY%g
s%@ULTRASPARC_FILTER_LIBRARY@%$ULTRASPARC_FILTER_LIBRARY%g
s%@OBJDIR@%$OBJDIR%g
s%@OBJDIR_NAME@%$OBJDIR_NAME%g
s%@RELEASE_OBJDIR_NAME@%$RELEASE_OBJDIR_NAME%g

View File

@ -43,7 +43,7 @@ dnl ========================================================
dnl = Defaults
dnl ========================================================
MOD_MAJOR_VERSION=4
MOD_MINOR_VERSION=2
MOD_MINOR_VERSION=3
MOD_REVISION_VERSION=0
NSPR_MODNAME=nspr20
_HAVE_PTHREADS=
@ -1634,7 +1634,8 @@ mips-sony-newsos*)
fi
PR_MD_CSRCS=solaris.c
LD=/usr/ccs/bin/ld
DSO_LDOPTS='-G -h $(notdir $@)'
DSO_LDOPTS='-G -h $(notdir $@) -z combreloc -z defs'
RESOLVE_LINK_SYMBOLS=1
if test -n "$GNU_CC"; then
DSO_CFLAGS=-fPIC
else
@ -1704,9 +1705,7 @@ mips-sony-newsos*)
# 64-bit Solaris requires SPARC V9 architecture, so the following
# is not needed.
if test -z "$USE_64"; then
ULTRASPARC_LIBRARY=ultrasparc
ULTRASPARC_FILTER_LIBRARY=libatomic.so
DSO_LDOPTS="$DSO_LDOPTS -f "'$(ULTRASPARC_FILTER_LIBRARY)'
ULTRASPARC_LIBRARY=nspr_flt
fi
fi
# Purify requires that binaries linked against nspr also
@ -2394,7 +2393,6 @@ AC_SUBST(AIX_LINK_OPTS)
AC_SUBST(NOSUCHFILE)
AC_SUBST(MOZ_OBJFORMAT)
AC_SUBST(ULTRASPARC_LIBRARY)
AC_SUBST(ULTRASPARC_FILTER_LIBRARY)
AC_SUBST(OBJDIR)
AC_SUBST(OBJDIR_NAME)
@ -2423,6 +2421,10 @@ lib/libc/Makefile
lib/libc/include/Makefile
lib/libc/src/Makefile
lib/tests/Makefile
pkg/Makefile
pkg/solaris/Makefile
pkg/solaris/SUNWpr/Makefile
pkg/solaris/SUNWprx/Makefile
pr/Makefile
pr/include/Makefile
pr/include/md/Makefile

View File

@ -77,6 +77,13 @@ ifeq ($(OS_ARCH),IRIX)
OS_LIBS = -lc
endif
ifeq ($(OS_ARCH),SunOS)
OS_LIBS = -lc
MAPFILE = $(OBJDIR)/pldsmap.sun
ALL_TRASH += $(MAPFILE)
MKSHLIB += -M $(MAPFILE)
endif
EXTRA_LIBS = $(LIBNSPR)
# On NCR and SCOOS, we can't link with extra libraries when

View File

@ -86,6 +86,13 @@ ifeq ($(OS_ARCH),IRIX)
OS_LIBS = -lc
endif
ifeq ($(OS_ARCH),SunOS)
OS_LIBS = -lc
MAPFILE = $(OBJDIR)/plcmap.sun
ALL_TRASH += $(MAPFILE)
MKSHLIB += -M $(MAPFILE)
endif
EXTRA_LIBS = $(LIBNSPR)
# On NCR and SCOOS, we can't link with extra libraries when

View File

@ -0,0 +1,30 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: Makefile.com,v 1.2 2003-01-04 02:13:57 wtc%netscape.com Exp $"
#
MACH = $(shell mach)
PUBLISH_ROOT = $(DIST)
ifeq ($(MOD_DEPTH),../..)
ROOT = ROOT
else
ROOT = $(subst ../../,,$(MOD_DEPTH))/ROOT
endif
PKGARCHIVE = $(dist_libdir)/pkgarchive
DATAFILES = copyright
FILES = $(DATAFILES) pkginfo
PACKAGE = $(shell basename `pwd`)
PRODUCT_VERSION = $(MOD_VERSION).$(MOD_MINOR).$(MOD_PATCH)
LN = /usr/bin/ln
CLOBBERFILES = $(FILES)
include $(topsrcdir)/config/rules.mk
# vim: ft=make

View File

@ -0,0 +1,60 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: Makefile.in,v 1.1 2003-01-04 02:13:58 wtc%netscape.com Exp $"
#
MOD_DEPTH = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(MOD_DEPTH)/config/autoconf.mk
%: %.ksh
$(RM) $@
cp $< $@
chmod +x $@
ifeq ($(USE_64), 1)
DIRS = \
SUNWprx
else
DIRS = \
SUNWpr
endif
PROTO = \
$(ROOT) \
$(ROOT)/usr \
$(ROOT)/usr/lib \
$(ROOT)/usr/lib/mps
ifdef USE_64
PROTO += $(ROOT)/usr/lib/mps/sparcv9
endif
include $(srcdir)/Makefile.com
awk_pkginfo: bld_awk_pkginfo
./bld_awk_pkginfo -m $(MACH) -p "$(PRODUCT_VERSION)" -o $@ -v $(PRODUCT_VERSION)
all:: awk_pkginfo $(PROTO)
publish: awk_pkginfo $(PROTO)
+$(LOOP_OVER_DIRS)
clean clobber::
$(RM) awk_pkginfo bld_awk_pkginfo
$(RM) -r $(ROOT)
$(ROOT) $(ROOT)/%:
mkdir -p $@
ifdef USE_64
$(ROOT)/usr/lib/mps/sparcv9:
$(LN) -sf ../../../../$(dist_libdir) $@
else
$(ROOT)/usr/lib/mps:
$(LN) -sf ../../../$(dist_libdir) $@
endif

View File

@ -0,0 +1,33 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: Makefile.targ,v 1.2 2003-01-04 02:13:59 wtc%netscape.com Exp $"
#
pkginfo: pkginfo.tmpl ../awk_pkginfo
$(RM) $@; nawk -f ../awk_pkginfo $< > $@
# we need to copy prototype_sparc to current too find copyright in current
pkg: $(PKGARCHIVE)
cp $(srcdir)/prototype_com .
cp $(srcdir)/prototype_$(MACH) .
cp $(srcdir)/depend .
pkgmk -f prototype_$(MACH) -d $(PKGARCHIVE) -r $(ROOT) -o $(PACKAGE)
$(PKGARCHIVE):
[ -d $(PKGARCHIVE) ] || mkdir -p $(PKGARCHIVE)
$(DATAFILES): %: $(srcdir)/../common_files/%
$(RM) $@; cp $(srcdir)/../common_files/$@ $@
#$(MACHDATAFILES): %: $(srcdir)/../common_files/%_$(MACH)
# $(RM) $@; cp $(srcdir)/../common_files/$@_$(MACH) $@
#
#$(MACHDATAFILES): %: $(srcdir)/%_$(MACH)
# $(RM) $@; cp $(srcdir)/$@_$(MACH) $@
clobber clean::
-$(RM) $(CLOBBERFILES) $(CLEANFILES)
.PHONY: pkg

View File

@ -0,0 +1,22 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: Makefile.in,v 1.1 2003-01-04 02:14:01 wtc%netscape.com Exp $"
#
MOD_DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(MOD_DEPTH)/config/autoconf.mk
include $(srcdir)/../Makefile.com
DATAFILES +=
all:: $(FILES)
publish:: all pkg
include $(srcdir)/../Makefile.targ

View File

@ -0,0 +1,27 @@
# Copyright 2002 Microsystems, Inc. All Rights Reserved.
# Use is subject to license terms.
#
# $Id: depend,v 1.2 2003-01-04 02:14:02 wtc%netscape.com Exp $
#
# This package information file defines software dependencies associated
# with the pkg. You can define three types of pkg dependencies with this file:
# P indicates a prerequisite for installation
# I indicates an incompatible package
# R indicates a reverse dependency
# <pkg.abbr> see pkginfo(4), PKG parameter
# <name> see pkginfo(4), NAME parameter
# <version> see pkginfo(4), VERSION parameter
# <arch> see pkginfo(4), ARCH parameter
# <type> <pkg.abbr> <name>
# (<arch>)<version>
# (<arch>)<version>
# ...
# <type> <pkg.abbr> <name>
# ...
P SUNWcar Core Architecture, (Root)
P SUNWkvm Core Architecture, (Kvm)
P SUNWcsr Core Solaris, (Root)
P SUNWcsu Core Solaris, (Usr)
P SUNWcsd Core Solaris Devices
P SUNWcsl Core Solaris Libraries

View File

@ -0,0 +1,34 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: pkginfo.tmpl,v 1.2 2003-01-04 02:14:02 wtc%netscape.com Exp $"
#
#
# This required package information file describes characteristics of the
# package, such as package abbreviation, full package name, package version,
# and package architecture.
#
PKG="SUNWpr"
NAME="Netscape Portable Runtime"
ARCH="ISA"
VERSION="NSPRVERS,REV=0.0.0"
SUNW_PRODNAME="Netscape Portable Runtime"
SUNW_PRODVERS="NSPRVERS"
SUNW_PKGTYPE="usr"
MAXINST="1000"
CATEGORY="system"
DESC="Netscape Portable Runtime Interface"
VENDOR="Sun Microsystems, Inc."
HOTLINE="Please contact your local service provider"
EMAIL=""
CLASSES="none"
BASEDIR=/
SUNW_PKGVERS="1.0"
#VSTOCK="<reserved by Release Engineering for package part #>"
#ISTATES="<developer defined>"
#RSTATES='<developer defined>'
#ULIMIT="<developer defined>"
#ORDER="<developer defined>"
#PSTAMP="<developer defined>"
#INTONLY="<developer defined>"

View File

@ -0,0 +1,31 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: prototype_com,v 1.2 2003-01-04 02:14:02 wtc%netscape.com Exp $"
#
# This required package information file contains a list of package contents.
# The 'pkgmk' command uses this file to identify the contents of a package
# and their location on the development machine when building the package.
# Can be created via a text editor or through use of the 'pkgproto' command.
#!search <pathname pathname ...> # where to find pkg objects
#!include <filename> # include another 'prototype' file
#!default <mode> <owner> <group> # default used if not specified on entry
#!<param>=<value> # puts parameter in pkg environment
# packaging files
i copyright
i pkginfo
i depend
#
# source locations relative to the prototype file
#
# SUNWpr
#
d none usr 755 root sys
d none usr/lib 755 root bin
d none usr/lib/mps 755 root bin
f none usr/lib/mps/libnspr4.so 755 root bin
f none usr/lib/mps/libplc4.so 755 root bin
f none usr/lib/mps/libplds4.so 755 root bin

View File

@ -0,0 +1,30 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: prototype_i386,v 1.2 2003-01-04 02:14:02 wtc%netscape.com Exp $"
#
# This required package information file contains a list of package contents.
# The 'pkgmk' command uses this file to identify the contents of a package
# and their location on the development machine when building the package.
# Can be created via a text editor or through use of the 'pkgproto' command.
#!search <pathname pathname ...> # where to find pkg objects
#!include <filename> # include another 'prototype' file
#!default <mode> <owner> <group> # default used if not specified on entry
#!<param>=<value> # puts parameter in pkg environment
#
# Include ISA independent files (prototype_com)
#
!include prototype_com
#
#
#
# List files which are i386 specific here
#
# source locations relative to the prototype file
#
#
# SUNWpr
#

View File

@ -0,0 +1,33 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: prototype_sparc,v 1.2 2003-01-04 02:14:02 wtc%netscape.com Exp $"
#
# This required package information file contains a list of package contents.
# The 'pkgmk' command uses this file to identify the contents of a package
# and their location on the development machine when building the package.
# Can be created via a text editor or through use of the 'pkgproto' command.
#!search <pathname pathname ...> # where to find pkg objects
#!include <filename> # include another 'prototype' file
#!default <mode> <owner> <group> # default used if not specified on entry
#!<param>=<value> # puts parameter in pkg environment
#
# Include ISA independent files (prototype_com)
#
!include prototype_com
#
#
#
# List files which are SPARC specific here
#
# source locations relative to the prototype file
#
#
# SUNWpr
#
d none usr/lib/mps/cpu 755 root bin
d none usr/lib/mps/cpu/sparcv8plus 755 root bin
f none usr/lib/mps/cpu/sparcv8plus/libnspr_flt4.so 755 root bin

View File

@ -0,0 +1,22 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: Makefile.in,v 1.1 2003-01-04 02:14:04 wtc%netscape.com Exp $"
#
MOD_DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(MOD_DEPTH)/config/autoconf.mk
include $(srcdir)/../Makefile.com
DATAFILES +=
all:: $(FILES)
publish:: all pkg
include $(srcdir)/../Makefile.targ

View File

@ -0,0 +1,30 @@
# Copyright 2002 Microsystems, Inc. All Rights Reserved.
# Use is subject to license terms.
#
# $Id: depend,v 1.2 2003-01-04 02:14:04 wtc%netscape.com Exp $
#
# This package information file defines software dependencies associated
# with the pkg. You can define three types of pkg dependencies with this file:
# P indicates a prerequisite for installation
# I indicates an incompatible package
# R indicates a reverse dependency
# <pkg.abbr> see pkginfo(4), PKG parameter
# <name> see pkginfo(4), NAME parameter
# <version> see pkginfo(4), VERSION parameter
# <arch> see pkginfo(4), ARCH parameter
# <type> <pkg.abbr> <name>
# (<arch>)<version>
# (<arch>)<version>
# ...
# <type> <pkg.abbr> <name>
# ...
P SUNWcar Core Architecture, (Root)
P SUNWkvm Core Architecture, (Kvm)
P SUNWcsr Core Solaris, (Root)
P SUNWcsu Core Solaris, (Usr)
P SUNWcsd Core Solaris Devices
P SUNWcsl Core Solaris Libraries
P SUNWcarx Core Architecture, (Root) (64-bit)
P SUNWcsxu Core Solaris (Usr) (64-bit)
P SUNWcslx Core Solaris Libraries (64-bit)

View File

@ -0,0 +1,35 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: pkginfo.tmpl,v 1.2 2003-01-04 02:14:06 wtc%netscape.com Exp $"
#
#
# This required package information file describes characteristics of the
# package, such as package abbreviation, full package name, package version,
# and package architecture.
#
PKG="SUNWprx"
NAME="Netscape Portable Runtime (64-bit)"
ARCH="ISA"
SUNW_ISA="sparcv9"
VERSION="NSPRVERS,REV=0.0.0"
SUNW_PRODNAME="Netscape Portable Runtime"
SUNW_PRODVERS="NSPRVERS"
SUNW_PKGTYPE="usr"
MAXINST="1000"
CATEGORY="system"
DESC="Netscape Portable Runtime Interface (64-bit)"
VENDOR="Sun Microsystems, Inc."
HOTLINE="Please contact your local service provider"
EMAIL=""
CLASSES="none"
BASEDIR=/
SUNW_PKGVERS="1.0"
#VSTOCK="<reserved by Release Engineering for package part #>"
#ISTATES="<developer defined>"
#RSTATES='<developer defined>'
#ULIMIT="<developer defined>"
#ORDER="<developer defined>"
#PSTAMP="<developer defined>"
#INTONLY="<developer defined>"

View File

@ -0,0 +1,28 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: prototype_com,v 1.2 2003-01-04 02:14:06 wtc%netscape.com Exp $"
#
# This required package information file contains a list of package contents.
# The 'pkgmk' command uses this file to identify the contents of a package
# and their location on the development machine when building the package.
# Can be created via a text editor or through use of the 'pkgproto' command.
#!search <pathname pathname ...> # where to find pkg objects
#!include <filename> # include another 'prototype' file
#!default <mode> <owner> <group> # default used if not specified on entry
#!<param>=<value> # puts parameter in pkg environment
# packaging files
i copyright
i pkginfo
i depend
#
# source locations relative to the prototype file
#
# SUNWprx
#
d none usr 755 root sys
d none usr/lib 755 root bin
d none usr/lib/mps 755 root bin

View File

@ -0,0 +1,35 @@
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#ident "$Id: prototype_sparc,v 1.2 2003-01-04 02:14:07 wtc%netscape.com Exp $"
#
# This required package information file contains a list of package contents.
# The 'pkgmk' command uses this file to identify the contents of a package
# and their location on the development machine when building the package.
# Can be created via a text editor or through use of the 'pkgproto' command.
#!search <pathname pathname ...> # where to find pkg objects
#!include <filename> # include another 'prototype' file
#!default <mode> <owner> <group> # default used if not specified on entry
#!<param>=<value> # puts parameter in pkg environment
#
# Include ISA independent files (prototype_com)
#
!include prototype_com
#
#
#
# List files which are SPARC specific here
#
# source locations relative to the prototype file
#
#
# SUNWprx
#
s none usr/lib/mps/64=sparcv9
d none usr/lib/mps/sparcv9 755 root bin
f none usr/lib/mps/sparcv9/libnspr4.so 755 root bin
f none usr/lib/mps/sparcv9/libplc4.so 755 root bin
f none usr/lib/mps/sparcv9/libplds4.so 755 root bin

View File

@ -0,0 +1,105 @@
#!/usr/bin/ksh -p
#
#ident "$Id: bld_awk_pkginfo.ksh,v 1.2 2003-01-04 02:13:59 wtc%netscape.com Exp $"
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# Simple script which builds the awk_pkginfo awk script. This awk script
# is used to convert the pkginfo.tmpl files into pkginfo files
# for the build.
#
usage()
{
cat <<-EOF
usage: bld_awk_pkginfo -p <prodver> -m <mach> -o <awk_script> [-v <version>]
EOF
}
#
# Awk strings
#
# two VERSION patterns: one for Dewey decimal, one for Dewey plus ,REV=n
# the first has one '=' the second has two or more '='
#
VERSION1="VERSION=[^=]*$"
VERSION2="VERSION=[^=]*=.*$"
PRODVERS="^SUNW_PRODVERS="
ARCH='ARCH=\"ISA\"'
#
# parse command line
#
mach=""
prodver=""
awk_script=""
version="NSPRVERS"
while getopts o:p:m:v: c
do
case $c in
o)
awk_script=$OPTARG
;;
m)
mach=$OPTARG
;;
p)
prodver=$OPTARG
;;
v)
version=$OPTARG
;;
\?)
usage
exit 1
;;
esac
done
if [[ ( -z $prodver ) || ( -z $mach ) || ( -z $awk_script ) ]]
then
usage
exit 1
fi
if [[ -f $awk_script ]]
then
rm -f $awk_script
fi
#
# Build REV= field based on date
#
rev=$(date "+%Y.%m.%d.%H.%M")
#
# Build awk script which will process all the
# pkginfo.tmpl files.
#
# the first VERSION pattern is replaced with a leading quotation mark
#
rm -f $awk_script
cat << EOF > $awk_script
/$VERSION1/ {
sub(/\=[^=]*$/,"=\"$rev\"")
print
next
}
/$VERSION2/ {
sub(/\=[^=]*$/,"=$rev\"")
sub(/NSPRVERS/,"$version")
print
next
}
/$PRODVERS/ {
printf "SUNW_PRODVERS=\"%s\"\n", "$prodver"
next
}
/$ARCH/ {
printf "ARCH=\"%s\"\n", "$mach"
next
}
{ print }
EOF

View File

@ -0,0 +1,28 @@
The contents of this package are subject to the Mozilla Public License
Version 1.1 (the "License"); you may not use this package 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 Portable Runtime (NSPR).
The Initial Developer of the Original Code is Netscape Communications
Corporation. Portions created by Netscape are Copyright (C) 1998-2000
Netscape Communications Corporation. All Rights Reserved.
Contributor(s):
Alternatively, the contents of this package 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 package only
under the terms of the GPL and not to allow others to use your version
of this package 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 package under either the MPL or
the GPL.

View File

@ -69,7 +69,9 @@ ifeq ($(OS_ARCH),SunOS)
ifeq ($(OS_RELEASE),4.1.3_U1)
OS_LIBS = -lm
else # 4.1.3_U1
MAPFILE = $(OBJDIR)/nsprmap.sun
ALL_TRASH += $(MAPFILE)
MKSHLIB += -M $(MAPFILE)
#
# In Solaris 2.6 or earlier, -lrt is called -lposix4.
#
@ -81,14 +83,19 @@ LIBRT=-lposix4
endif
ifdef USE_PTHREADS
OS_LIBS = -lpthread -lthread ${LIBRT} -lsocket -lnsl -ldl
OS_LIBS = -lpthread -lthread ${LIBRT} -lsocket -lnsl -ldl -lc
else
ifdef LOCAL_THREADS_ONLY
OS_LIBS = -lsocket -lnsl -ldl
OS_LIBS = -lsocket -lnsl -ldl -lc
else
OS_LIBS = -lthread ${LIBRT} -lsocket -lnsl -ldl
OS_LIBS = -lthread ${LIBRT} -lsocket -lnsl -ldl -lc
endif # LOCAL_THREADS_ONLY
endif # USE_PTHREADS
ifeq ($(OS_TEST),sun4u)
ifndef USE_64
DSO_LDOPTS += -f \$$ORIGIN/cpu/\$$ISALIST/lib$(ULTRASPARC_LIBRARY)$(LIBRARY_VERSION).so
endif
endif # sun4u
endif # 4.1.3_U1
endif # SunOS

View File

@ -98,8 +98,11 @@ $(ULTRASPARC_ASOBJS): $(ULTRASPARC_ASFILES)
/usr/ccs/bin/as -o $@ -K PIC -P -D_ASM -D__STDC__=0 -xarch=v9 $<
else
$(SHARED_LIBRARY): $(ULTRASPARC_ASOBJS)
$(LD) -G -z text -o $@ $(ULTRASPARC_ASOBJS)
$(INSTALL) -m 444 $@ $(dist_libdir)
$(LD) -G -z text -z endfiltee -o $@ $(ULTRASPARC_ASOBJS)
$(INSTALL) -m 444 $@ $(dist_libdir)/cpu/sparcv8plus
ifneq ($(NSDISTMODE),copy)
$(INSTALL) -m 444 $@ ../../cpu/sparcv8plus
endif
$(ULTRASPARC_ASOBJS): $(ULTRASPARC_ASFILES)
/usr/ccs/bin/as -o $@ -K PIC -P -D_ASM -D__STDC__=0 -xarch=v8plus $<