--- a/config/Makefile +++ b/config/Makefile @@ -0,0 +1,40 @@ +CORE_DEPTH = .. +DEPTH = .. + +include $(CORE_DEPTH)/coreconf/config.mk + +NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'` +NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'` +NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'` +PREFIX = /usr + +all: export libs + +export: + # Create the nss.pc file + mkdir -p $(DIST)/lib/pkgconfig + sed -e "s,@prefix@,$(PREFIX)," \ + -e "s,@exec_prefix@,\$${prefix}," \ + -e "s,@libdir@,\$${prefix}/lib64," \ + -e "s,@includedir@,\$${prefix}/include/nss," \ + -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \ + -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \ + -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \ + nss.pc.in > nss.pc + chmod 0644 nss.pc + ln -sf ../../../../config/nss.pc $(DIST)/lib/pkgconfig + + # Create the nss-config script + mkdir -p $(DIST)/bin + sed -e "s,@prefix@,$(PREFIX)," \ + -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \ + -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \ + -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \ + nss-config.in > nss-config + chmod 0755 nss-config + ln -sf ../../../config/nss-config $(DIST)/bin + +libs: + +dummy: all export libs + --- a/config/nss-config.in +++ b/config/nss-config.in @@ -0,0 +1,145 @@ +#!/bin/sh + +prefix=@prefix@ + +major_version=@NSS_MAJOR_VERSION@ +minor_version=@NSS_MINOR_VERSION@ +patch_version=@NSS_PATCH_VERSION@ + +usage() +{ + cat <&2 +fi + +lib_ssl=yes +lib_smime=yes +lib_nss=yes +lib_nssutil=yes + +while test $# -gt 0; do + case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + case $1 in + --prefix=*) + prefix=$optarg + ;; + --prefix) + echo_prefix=yes + ;; + --exec-prefix=*) + exec_prefix=$optarg + ;; + --exec-prefix) + echo_exec_prefix=yes + ;; + --includedir=*) + includedir=$optarg + ;; + --includedir) + echo_includedir=yes + ;; + --libdir=*) + libdir=$optarg + ;; + --libdir) + echo_libdir=yes + ;; + --version) + echo ${major_version}.${minor_version}.${patch_version} + ;; + --cflags) + echo_cflags=yes + ;; + --libs) + echo_libs=yes + ;; + ssl) + lib_ssl=yes + ;; + smime) + lib_smime=yes + ;; + nss) + lib_nss=yes + ;; + nssutil) + lib_nssutil=yes + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + +# Set variables that may be dependent upon other variables +if test -z "$exec_prefix"; then + exec_prefix=`pkg-config --variable=exec_prefix nss` +fi +if test -z "$includedir"; then + includedir=`pkg-config --variable=includedir nss` +fi +if test -z "$libdir"; then + libdir=`pkg-config --variable=libdir nss` +fi + +if test "$echo_prefix" = "yes"; then + echo $prefix +fi + +if test "$echo_exec_prefix" = "yes"; then + echo $exec_prefix +fi + +if test "$echo_includedir" = "yes"; then + echo $includedir +fi + +if test "$echo_libdir" = "yes"; then + echo $libdir +fi + +if test "$echo_cflags" = "yes"; then + echo -I$includedir +fi + +if test "$echo_libs" = "yes"; then + libdirs="" + if test -n "$lib_ssl"; then + libdirs="$libdirs -lssl${major_version}" + fi + if test -n "$lib_smime"; then + libdirs="$libdirs -lsmime${major_version}" + fi + if test -n "$lib_nss"; then + libdirs="$libdirs -lnss${major_version}" + fi + if test -n "$lib_nssutil"; then + libdirs="$libdirs -lnssutil${major_version}" + fi + echo $libdirs +fi + --- a/config/nss.pc.in +++ b/config/nss.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: NSS +Description: Network Security Services +Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@ +Requires: nspr >= 4.8 +Libs: -lssl3 -lsmime3 -lnss3 -lnssutil3 +Cflags: -I${includedir} + --- a/Makefile +++ b/Makefile @@ -47,7 +47,7 @@ # (7) Execute "local" rules. (OPTIONAL). # ####################################################################### -nss_build_all: build_nspr all latest +nss_build_all: all latest nss_clean_all: clobber_nspr clobber @@ -133,16 +133,6 @@ --prefix='$(NSS_GYP_PREFIX)' endif -build_nspr: $(NSPR_CONFIG_STATUS) - $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) - $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)/pr/tests - -install_nspr: build_nspr - $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) install - -clobber_nspr: $(NSPR_CONFIG_STATUS) - $(MAKE) -C $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) clobber - build_docs: $(MAKE) -C $(CORE_DEPTH)/doc --- a/manifest.mn +++ b/manifest.mn @@ -10,4 +10,4 @@ RELEASE = nss -DIRS = coreconf lib cmd cpputil gtests +DIRS = coreconf lib cmd cpputil config