Hi out there.

Due to the mozilla security announcements
 ( http://www.mozilla.org/security/announce/ )
concerning versions 1.5.0.9, I was inclined to upgrade both to 1.5.0.10.
I had to recognize that, while the pago-patch from BLFS still applies,
the system_nss patch didn't like to do so.
(Upgraded nss to 3.11.5
[
ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_11_5_RTM/src/nss-3.11.5-with-nspr-4.6.5.tar.gz
]
 , too, by the way)

I massaged the patches (for firefox as well as for thunderbird) to apply
again, but I am not in a position to judge if I "did it right", apart
from both now applying and both apps compiling and running afterwards.

If the actual maintainer of these patches might take a look at them and
correcting eventual errors, the build instructions in the BLFS(-devel)
would apply to (firefox-|thunderbird-)1.5.0.10 with working results, as
far as I could see (changing the version-numbers as they appear
explicitely would, of course, also be needed).

You'll find the two changed patches attached to this message.

                Greets,
                  Jens
-- 
[EMAIL PROTECTED]
                        23.....56.......drifting
By caffeine alone I set my mind in motion, By the beans of Java
do thoughts acquire speed,  hands acquire shaking,  the shaking
becomes a warning, By caffeine alone do I set my mind in motion

Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
Date:                    2006-01-20
Initial Package Version: 1.5
Upstream Status:         In trunk and firefox-2.0 branch.
Origin:                  https://bugzilla.mozilla.org/show_bug.cgi?id=255408
Description:             Fixes the --use-system-nss and --with-nss-prefix
                         switches so that they actually work. This patch
                         allows the Mozilla products to use the system
                         installed versions of NSS and NSPR. 


diff -Naur mozilla-orig/aclocal.m4 mozilla/aclocal.m4
--- mozilla-orig/aclocal.m4     2004-05-13 03:12:47.000000000 +0000
+++ mozilla/aclocal.m4  2006-01-21 00:57:48.000000000 +0000
@@ -8,6 +8,7 @@
 builtin(include, build/autoconf/libIDL.m4)dnl
 builtin(include, build/autoconf/libIDL-2.m4)dnl
 builtin(include, build/autoconf/nspr.m4)dnl
+builtin(include, build/autoconf/nss.m4)dnl
 builtin(include, build/autoconf/libart.m4)dnl
 builtin(include, build/autoconf/pkg.m4)dnl
 builtin(include, build/autoconf/freetype2.m4)dnl

diff -Naur mozilla-orig/build/autoconf/nss.m4 mozilla/build/autoconf/nss.m4
--- mozilla-orig/build/autoconf/nss.m4  1970-01-01 00:00:00.000000000 +0000
+++ mozilla/build/autoconf/nss.m4       2006-01-21 00:57:48.000000000 +0000
@@ -0,0 +1,67 @@
+# -*- tab-width: 4; -*-
+# Configure paths for NSS
+# Public domain - Chris Seawood <[EMAIL PROTECTED]> 2001-04-05
+# Based upon gtk.m4 (also PD) by Owen Taylor
+
+dnl AM_PATH_NSS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl Test for NSS, and define NSS_CFLAGS and NSS_LIBS
+AC_DEFUN(AM_PATH_NSS,
+[dnl
+
+AC_ARG_WITH(nss-prefix,
+       [  --with-nss-prefix=PFX  Prefix where NSS is installed],
+       nss_config_prefix="$withval",
+       nss_config_prefix="")
+
+AC_ARG_WITH(nss-exec-prefix,
+       [  --with-nss-exec-prefix=PFX
+                          Exec prefix where NSS is installed],
+       nss_config_exec_prefix="$withval",
+       nss_config_exec_prefix="")
+
+       if test -n "$nss_config_exec_prefix"; then
+               nss_config_args="$nss_config_args 
--exec-prefix=$nss_config_exec_prefix"
+               if test -z "$NSS_CONFIG"; then
+                       NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
+               fi
+       fi
+       if test -n "$nss_config_prefix"; then
+               nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
+               if test -z "$NSS_CONFIG"; then
+                       NSS_CONFIG=$nss_config_prefix/bin/nss-config
+               fi
+       fi
+
+       unset ac_cv_path_NSS_CONFIG
+       AC_PATH_PROG(NSS_CONFIG, nss-config, no)
+       min_nss_version=ifelse([$1], ,3.0.0,$1)
+       AC_MSG_CHECKING(for NSS - version >= $min_nss_version (skipping))
+
+       no_nss=""
+       if test "$NSS_CONFIG" = "no"; then
+               no_nss="yes"
+       else
+               NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
+               NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
+
+               dnl Skip version check for now
+               nss_config_major_version=`$NSS_CONFIG $nss_config_args 
--version | \
+                       sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+               nss_config_minor_version=`$NSS_CONFIG $nss_config_args 
--version | \
+                       sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+               nss_config_micro_version=`$NSS_CONFIG $nss_config_args 
--version | \
+                       sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+       fi
+
+       if test -z "$no_nss"; then
+               AC_MSG_RESULT(yes)
+               ifelse([$2], , :, [$2])     
+       else
+               AC_MSG_RESULT(no)
+       fi
+
+
+       AC_SUBST(NSS_CFLAGS)
+       AC_SUBST(NSS_LIBS)
+
+])

diff -Naur mozilla-orig/config/autoconf.mk.in mozilla/config/autoconf.mk.in
--- mozilla-orig/config/autoconf.mk.in  2005-08-17 17:17:17.000000000 +0000
+++ mozilla/config/autoconf.mk.in       2006-01-21 00:57:48.000000000 +0000
@@ -229,6 +229,7 @@
 MOZ_INSURE_EXCLUDE_DIRS = @MOZ_INSURE_EXCLUDE_DIRS@
 
 MOZ_NATIVE_NSPR = @MOZ_NATIVE_NSPR@
+MOZ_NATIVE_NSS = @MOZ_NATIVE_NSS@
 
 CROSS_COMPILE   = @CROSS_COMPILE@
 
@@ -384,6 +385,48 @@
 NSPR_CFLAGS    = @NSPR_CFLAGS@
 NSPR_LIBS      = @NSPR_LIBS@
 
+NSS_CONFIG     = @NSS_CONFIG@
+NSS_CFLAGS     = @NSS_CFLAGS@
+NSS_LIBS       = @NSS_LIBS@
+
+ifdef MOZ_NATIVE_NSS
+NSS_DEP_LIBS   = \
+       $(NULL)
+NSS_LIBS += \
+       -lcrmf \
+       $(NULL)
+else
+NSS_DEP_LIBS   = \
+       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+       $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
+       $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
+       $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
+       $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
+       $(NULL)
+NSS_LIBS = \
+       $(LIBS_DIR) \
+       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+       -lsmime3 \
+       -lssl3 \
+       -lnss3 \
+       -lsoftokn3 \
+       $(NULL)
+endif
+
+ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
+ifndef GNU_CC
+ifndef MOZ_NATIVE_NSS
+NSS_LIBS       = \
+       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+       $(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
+       $(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
+       $(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
+       $(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
+       $(NULL)
+endif
+endif
+endif
+
 LDAP_CFLAGS    = @LDAP_CFLAGS@
 LDAP_LIBS      = @LDAP_LIBS@
 XPCOM_GLUE_LDOPTS = @XPCOM_GLUE_LDOPTS@

diff -Naur mozilla-orig/config/config.mk mozilla/config/config.mk
--- mozilla-orig/config/config.mk       2005-07-28 19:48:11.000000000 +0000
+++ mozilla/config/config.mk    2006-01-21 00:57:48.000000000 +0000
@@ -138,39 +138,6 @@
 FINAL_LINK_COMPS = $(DEPTH)/config/final-link-comps
 FINAL_LINK_COMP_NAMES = $(DEPTH)/config/final-link-comp-names
 
-# 
-# NSS libs needed for final link in static build
-# 
-
-NSS_LIBS       = \
-       $(LIBS_DIR) \
-       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
-       -lsmime3 \
-       -lssl3 \
-       -lnss3 \
-       -lsoftokn3 \
-       $(NULL)
-
-ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
-ifndef GNU_CC
-NSS_LIBS       = \
-       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
-       $(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
-       $(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
-       $(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
-       $(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
-       $(NULL)
-endif
-endif
-
-NSS_DEP_LIBS   = \
-       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
-       $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
-       $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
-       $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
-       $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
-       $(NULL)
-
 MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX)
 MOZ_REGISTRY_LIBS          = $(DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX)
 MOZ_WIDGET_SUPPORT_LIBS    = 
$(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX)

diff -Naur mozilla-orig/configure mozilla/configure
--- mozilla-orig/configure      2005-10-04 06:01:48.000000000 +0000
+++ mozilla/configure   2006-01-21 00:57:47.000000000 +0000
@@ -44,6 +44,13 @@
   --with-nspr-exec-prefix=PFX
                           Exec prefix where NSPR is installed"
 ac_help="$ac_help
+  --with-system-nss      Use system installed NSS"
+ac_help="$ac_help
+  --with-nss-prefix=PFX  Prefix where NSS is installed"
+ac_help="$ac_help
+  --with-nss-exec-prefix=PFX
+                          Exec prefix where NSS is installed"
+ac_help="$ac_help
   --with-system-jpeg[=PFX]
                           Use system libjpeg [installed at prefix PFX]"
 ac_help="$ac_help
@@ -1020,6 +1027,7 @@
 MOZPNG=10207
 MOZZLIB=1.2.3
 NSPR_VERSION=4
+NSS_VERSION=3
 
 GLIB_VERSION=1.2.0
 GTK_VERSION=1.2.0
@@ -11300,6 +11308,123 @@
     fi
 fi
 
+
+# Check whether --with-system-nss or --without-system-nss was given.
+if test "${with_system_nss+set}" = set; then
+  withval="$with_system_nss"
+  if test "$withval" = "yes"; then
+    _USE_SYSTEM_NSS=1 
+  elif test "$withval" = "no"; then
+    :
+  else
+    { echo "configure: error: Option, system-nss, does not take an argument 
($withval)." 1>&2; exit 1; }
+  fi
+fi
+
+
+if test -n "$_USE_SYSTEM_NSS"; then
+    
+# Check whether --with-nss-prefix or --without-nss-prefix was given.
+if test "${with_nss_prefix+set}" = set; then
+  withval="$with_nss_prefix"
+  nss_config_prefix="$withval"
+else
+  nss_config_prefix=""
+fi
+
+
+# Check whether --with-nss-exec-prefix or --without-nss-exec-prefix was given.
+if test "${with_nss_exec_prefix+set}" = set; then
+  withval="$with_nss_exec_prefix"
+  nss_config_exec_prefix="$withval"
+else
+  nss_config_exec_prefix=""
+fi
+
+
+       if test -n "$nss_config_exec_prefix"; then
+               nss_config_args="$nss_config_args 
--exec-prefix=$nss_config_exec_prefix"
+               if test -z "$NSS_CONFIG"; then
+                       NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
+               fi
+       fi
+       if test -n "$nss_config_prefix"; then
+               nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
+               if test -z "$NSS_CONFIG"; then
+                       NSS_CONFIG=$nss_config_prefix/bin/nss-config
+               fi
+       fi
+
+       unset ac_cv_path_NSS_CONFIG
+       # Extract the first word of "nss-config", so it can be a program name 
with args.
+set dummy nss-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:11363: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_NSS_CONFIG'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$NSS_CONFIG" in
+  /*)
+  ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a 
path.
+  ;;
+  ?:/*)                         
+  ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a 
dos path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_NSS_CONFIG="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_NSS_CONFIG" && ac_cv_path_NSS_CONFIG="no"
+  ;;
+esac
+fi
+NSS_CONFIG="$ac_cv_path_NSS_CONFIG"
+if test -n "$NSS_CONFIG"; then
+  echo "$ac_t""$NSS_CONFIG" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+       min_nss_version=3.0.0
+       echo $ac_n "checking for NSS - version >= $min_nss_version 
(skipping)""... $ac_c" 1>&6
+echo "configure:11398: checking for NSS - version >= $min_nss_version 
(skipping)" >&5
+
+       no_nss=""
+       if test "$NSS_CONFIG" = "no"; then
+               no_nss="yes"
+       else
+               NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
+               NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
+
+                               nss_config_major_version=`$NSS_CONFIG 
$nss_config_args --version | \
+                       sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
+               nss_config_minor_version=`$NSS_CONFIG $nss_config_args 
--version | \
+                       sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
+               nss_config_micro_version=`$NSS_CONFIG $nss_config_args 
--version | \
+                       sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
+       fi
+
+       if test -z "$no_nss"; then
+               echo "$ac_t""yes" 1>&6
+               MOZ_NATIVE_NSS=1     
+       else
+               echo "$ac_t""no" 1>&6
+       fi
+
+
+       
+       
+
+
+fi
+
 if test -z "$SKIP_LIBRARY_CHECKS"; then
 # Check whether --with-system-jpeg or --without-system-jpeg was given.
 if test "${with_system_jpeg+set}" = set; then
@@ -19473,6 +19598,9 @@
 [EMAIL PROTECTED]@%$NSPR_CONFIG%g
 [EMAIL PROTECTED]@%$NSPR_CFLAGS%g
 [EMAIL PROTECTED]@%$NSPR_LIBS%g
[EMAIL PROTECTED]@%$NSS_CONFIG%g
[EMAIL PROTECTED]@%$NSS_CFLAGS%g
[EMAIL PROTECTED]@%$NSS_LIBS%g
 [EMAIL PROTECTED]@%$GTK_CONFIG%g
 [EMAIL PROTECTED]@%$GTK_CFLAGS%g
 [EMAIL PROTECTED]@%$GTK_LIBS%g
@@ -19753,6 +19881,7 @@
 [EMAIL PROTECTED]@%$MOZ_PNG_CFLAGS%g
 [EMAIL PROTECTED]@%$MOZ_PNG_LIBS%g
 [EMAIL PROTECTED]@%$MOZ_NATIVE_NSPR%g
[EMAIL PROTECTED]@%$MOZ_NATIVE_NSS%g
 [EMAIL PROTECTED]@%$COMPILE_CFLAGS%g
 [EMAIL PROTECTED]@%$COMPILE_CXXFLAGS%g
 [EMAIL PROTECTED]@%$CROSS_COMPILE%g

diff -Naur mozilla-orig/configure.in mozilla/configure.in
--- mozilla-orig/configure.in   2005-10-04 05:53:49.000000000 +0000
+++ mozilla/configure.in        2006-01-21 00:57:47.000000000 +0000
@@ -86,6 +86,7 @@
 MOZPNG=10207
 MOZZLIB=1.2.3
 NSPR_VERSION=4
+NSS_VERSION=3
 
 dnl Set the minimum version of toolkit libs used by mozilla
 dnl ========================================================
@@ -3472,6 +3473,19 @@
     fi
 fi
 
+dnl ========================================================
+dnl = If NSS was not detected in the system, 
+dnl = use the one in the source tree (mozilla/security/nss)
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-nss,
+[  --with-system-nss      Use system installed NSS],
+    _USE_SYSTEM_NSS=1 )
+
+if test -n "$_USE_SYSTEM_NSS"; then
+    AM_PATH_NSS(3.0.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=])
+fi
+
 if test -z "$SKIP_LIBRARY_CHECKS"; then
 dnl system JPEG support
 dnl ========================================================
@@ -6698,6 +6712,10 @@
 AC_SUBST(NSPR_LIBS)
 AC_SUBST(MOZ_NATIVE_NSPR)
 
+AC_SUBST(NSS_CFLAGS)
+AC_SUBST(NSS_LIBS)
+AC_SUBST(MOZ_NATIVE_NSS)
+
 AC_SUBST(CFLAGS)
 AC_SUBST(CXXFLAGS)
 AC_SUBST(CPPFLAGS)

diff -Naur mozilla-orig/security/manager/Makefile.in 
mozilla/security/manager/Makefile.in
--- mozilla-orig/security/manager/Makefile.in   2005-06-02 02:03:05.000000000 
+0000
+++ mozilla/security/manager/Makefile.in        2006-01-21 00:57:48.000000000 
+0000
@@ -46,6 +46,8 @@
 MODULE = psm
 
 PACKAGE_FILE = psm.pkg
+
+ifndef MOZ_NATIVE_NSS
 PACKAGE_VARS += \
        NSS3_LIB \
        SMIME3_LIB \
@@ -57,6 +59,7 @@
        $(NULL)
 
 LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
+endif
 
 NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX)
 SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX)
@@ -147,6 +150,7 @@
 export:: .nss.cleaned
 
 .nss.cleaned: .nss.checkout
+ifndef MOZ_NATIVE_NSS
        $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
        $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
 ifndef SKIP_CHK
@@ -154,9 +158,12 @@
        $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign 
$(DEFAULT_GMAKE_FLAGS) clean
 endif
        touch $@
+endif
 
 .nss.checkout:
+ifndef MOZ_NATIVE_NSS
        touch $(srcdir)/$@
+endif
 
 dependclean export packages chrome::
        $(MAKE) -C boot $@
@@ -167,12 +174,15 @@
 endif
 
 libs::
+ifndef MOZ_NATIVE_NSS
        $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS)
+endif
 ifeq ($(OS_ARCH),WINNT)
        cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) 
$(LIB_PREFIX)dbm.$(LIB_SUFFIX)
 else
        cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) 
$(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
 endif
+ifndef MOZ_NATIVE_NSS
        $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS)
 ifndef SKIP_CHK
        $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS)
@@ -210,6 +220,7 @@
        $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin
 endif
 endif
+endif
        $(MAKE) -C boot $@
        $(MAKE) -C ssl $@
        $(MAKE) -C locales $@
@@ -218,6 +229,7 @@
 endif
 
 install::
+ifndef MOZ_NATIVE_NSS
        $(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) 
$(DESTDIR)$(mozappdir)
 ifndef SKIP_CHK
        $(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir)
@@ -352,6 +352,7 @@
        $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) 
$(DESTDIR)$(mozappdir)
        $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) 
$(DESTDIR)$(mozappdir)
 endif
+endif
        $(MAKE) -C boot $@
        $(MAKE) -C ssl $@
        $(MAKE) -C locales $@
@@ -246,15 +259,18 @@
 ifdef MOZ_XUL
        $(MAKE) -C pki $@
 endif
+ifndef MOZ_NATIVE_NSS
        $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
        $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
 ifndef SKIP_CHK
        $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) 
clean
        $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign 
$(DEFAULT_GMAKE_FLAGS) clean
 endif
+endif
 
 echo-requires-recursive::
        $(MAKE) -C boot $@
        $(MAKE) -C ssl $@
        $(MAKE) -C pki $@
        $(MAKE) -C locales $@
+

diff -Naur mozilla-orig/security/manager/ssl/src/Makefile.in 
mozilla/security/manager/ssl/src/Makefile.in
--- mozilla-orig/security/manager/ssl/src/Makefile.in   2005-08-03 
05:24:18.000000000 +0000
+++ mozilla/security/manager/ssl/src/Makefile.in        2006-01-21 
00:57:48.000000000 +0000
@@ -123,8 +123,13 @@
 
 # Use local includes because they are inserted before INCLUDES
 # so that Mozilla's nss.h is used, not glibc's
+ifdef MOZ_NATIVE_NSS
+LOCAL_INCLUDES += $(NSS_CFLAGS) \
+                  $(NULL)
+else
 LOCAL_INCLUDES += -I$(DIST)/public/nss \
                   $(NULL)
+endif
 
 EXTRA_DSO_LDOPTS += \
                $(MOZ_UNICHARUTIL_LIBS) \

diff -Naur mozilla-orig/security/manager/ssl/src/nsNSSComponent.cpp 
mozilla/security/manager/ssl/src/nsNSSComponent.cpp
--- mozilla-orig/security/manager/ssl/src/nsNSSComponent.cpp    2005-08-26 
06:41:50.000000000 +0000
+++ mozilla/security/manager/ssl/src/nsNSSComponent.cpp 2006-01-21 
00:57:48.000000000 +0000
@@ -488,14 +488,6 @@
 }
 
 
-#ifdef XP_MAC
-#ifdef DEBUG
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbiDebug.shlb")
-#else
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbi.shlb")
-#endif /*DEBUG*/ 
-#endif /*XP_MAC*/
-
 static void setOCSPOptions(nsIPrefBranch * pref);
 
 NS_IMETHODIMP
@@ -689,40 +681,40 @@
 
     const char *possible_ckbi_locations[] = {
       NS_GRE_DIR,
-      NS_XPCOM_CURRENT_PROCESS_DIR
+      NS_XPCOM_CURRENT_PROCESS_DIR,
+      0
     };
-    
+
     for (size_t il = 0; il < sizeof(possible_ckbi_locations)/sizeof(const 
char*); ++il) {
       nsCOMPtr<nsILocalFile> mozFile;
-      directoryService->Get( possible_ckbi_locations[il],
-                             NS_GET_IID(nsILocalFile), 
-                             getter_AddRefs(mozFile));
+      char *fullModuleName = nsnull;
+
+      if (!possible_ckbi_locations[il])
+      {
+        fullModuleName = PR_GetLibraryName(nsnull, "nssckbi");
+      }
+      else
+      {
+        directoryService->Get( possible_ckbi_locations[il],
+                               NS_GET_IID(nsILocalFile), 
+                               getter_AddRefs(mozFile));
     
-      if (!mozFile) {
-        continue;
+        if (!mozFile) {
+          continue;
+        }
+
+        nsCAutoString processDir;
+        mozFile->GetNativePath(processDir);
+        fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
       }
 
-      char *fullModuleName = nsnull;
-#ifdef XP_MAC
-      nsCAutoString nativePath;
-      mozFile->AppendNative(NS_LITERAL_CSTRING("Essential Files"));
-      mozFile->AppendNative(LOADABLE_CERTS_MODULE);
-      mozFile->GetNativePath(nativePath);    
-      fullModuleName = (char *) nativePath.get();
-#else
-      nsCAutoString processDir;
-      mozFile->GetNativePath(processDir);
-      fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
-#endif
       /* If a module exists with the same name, delete it. */
       NS_ConvertUCS2toUTF8 modNameUTF8(modName);
       int modType;
       SECMOD_DeleteModule(NS_CONST_CAST(char*, modNameUTF8.get()), &modType);
       SECStatus rv_add = 
         SECMOD_AddNewModule(NS_CONST_CAST(char*, modNameUTF8.get()), 
fullModuleName, 0, 0);
-#ifndef XP_MAC
-      PR_Free(fullModuleName); // allocated by NSPR
-#endif
+      PR_FreeLibraryName(fullModuleName); // allocated by NSPR
       if (SECSuccess == rv_add) {
         // found a module, no need to try other directories
         break;

Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
Date:                    2006-01-20
Initial Package Version: 1.5
Upstream Status:         In trunk and firefox-2.0 branch.
Origin:                  https://bugzilla.mozilla.org/show_bug.cgi?id=255408
Description:             Fixes the --use-system-nss and --with-nss-prefix
                         switches so that they actually work. This patch
                         allows the Mozilla products to use the system
                         installed versions of NSS and NSPR. 


diff -Naur mozilla-orig/aclocal.m4 mozilla/aclocal.m4
--- mozilla-orig/aclocal.m4     2004-05-13 03:12:47.000000000 +0000
+++ mozilla/aclocal.m4  2006-01-21 00:57:48.000000000 +0000
@@ -8,6 +8,7 @@
 builtin(include, build/autoconf/libIDL.m4)dnl
 builtin(include, build/autoconf/libIDL-2.m4)dnl
 builtin(include, build/autoconf/nspr.m4)dnl
+builtin(include, build/autoconf/nss.m4)dnl
 builtin(include, build/autoconf/libart.m4)dnl
 builtin(include, build/autoconf/pkg.m4)dnl
 builtin(include, build/autoconf/freetype2.m4)dnl

diff -Naur mozilla-orig/build/autoconf/nss.m4 mozilla/build/autoconf/nss.m4
--- mozilla-orig/build/autoconf/nss.m4  1970-01-01 00:00:00.000000000 +0000
+++ mozilla/build/autoconf/nss.m4       2006-01-21 00:57:48.000000000 +0000
@@ -0,0 +1,67 @@
+# -*- tab-width: 4; -*-
+# Configure paths for NSS
+# Public domain - Chris Seawood <[EMAIL PROTECTED]> 2001-04-05
+# Based upon gtk.m4 (also PD) by Owen Taylor
+
+dnl AM_PATH_NSS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl Test for NSS, and define NSS_CFLAGS and NSS_LIBS
+AC_DEFUN(AM_PATH_NSS,
+[dnl
+
+AC_ARG_WITH(nss-prefix,
+       [  --with-nss-prefix=PFX  Prefix where NSS is installed],
+       nss_config_prefix="$withval",
+       nss_config_prefix="")
+
+AC_ARG_WITH(nss-exec-prefix,
+       [  --with-nss-exec-prefix=PFX
+                          Exec prefix where NSS is installed],
+       nss_config_exec_prefix="$withval",
+       nss_config_exec_prefix="")
+
+       if test -n "$nss_config_exec_prefix"; then
+               nss_config_args="$nss_config_args 
--exec-prefix=$nss_config_exec_prefix"
+               if test -z "$NSS_CONFIG"; then
+                       NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
+               fi
+       fi
+       if test -n "$nss_config_prefix"; then
+               nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
+               if test -z "$NSS_CONFIG"; then
+                       NSS_CONFIG=$nss_config_prefix/bin/nss-config
+               fi
+       fi
+
+       unset ac_cv_path_NSS_CONFIG
+       AC_PATH_PROG(NSS_CONFIG, nss-config, no)
+       min_nss_version=ifelse([$1], ,3.0.0,$1)
+       AC_MSG_CHECKING(for NSS - version >= $min_nss_version (skipping))
+
+       no_nss=""
+       if test "$NSS_CONFIG" = "no"; then
+               no_nss="yes"
+       else
+               NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
+               NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
+
+               dnl Skip version check for now
+               nss_config_major_version=`$NSS_CONFIG $nss_config_args 
--version | \
+                       sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+               nss_config_minor_version=`$NSS_CONFIG $nss_config_args 
--version | \
+                       sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+               nss_config_micro_version=`$NSS_CONFIG $nss_config_args 
--version | \
+                       sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+       fi
+
+       if test -z "$no_nss"; then
+               AC_MSG_RESULT(yes)
+               ifelse([$2], , :, [$2])     
+       else
+               AC_MSG_RESULT(no)
+       fi
+
+
+       AC_SUBST(NSS_CFLAGS)
+       AC_SUBST(NSS_LIBS)
+
+])

diff -Naur mozilla-orig/config/autoconf.mk.in mozilla/config/autoconf.mk.in
--- mozilla-orig/config/autoconf.mk.in  2005-08-17 17:17:17.000000000 +0000
+++ mozilla/config/autoconf.mk.in       2006-01-21 00:57:48.000000000 +0000
@@ -229,6 +229,7 @@
 MOZ_INSURE_EXCLUDE_DIRS = @MOZ_INSURE_EXCLUDE_DIRS@
 
 MOZ_NATIVE_NSPR = @MOZ_NATIVE_NSPR@
+MOZ_NATIVE_NSS = @MOZ_NATIVE_NSS@
 
 CROSS_COMPILE   = @CROSS_COMPILE@
 
@@ -384,6 +385,48 @@
 NSPR_CFLAGS    = @NSPR_CFLAGS@
 NSPR_LIBS      = @NSPR_LIBS@
 
+NSS_CONFIG     = @NSS_CONFIG@
+NSS_CFLAGS     = @NSS_CFLAGS@
+NSS_LIBS       = @NSS_LIBS@
+
+ifdef MOZ_NATIVE_NSS
+NSS_DEP_LIBS   = \
+       $(NULL)
+NSS_LIBS += \
+       -lcrmf \
+       $(NULL)
+else
+NSS_DEP_LIBS   = \
+       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+       $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
+       $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
+       $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
+       $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
+       $(NULL)
+NSS_LIBS = \
+       $(LIBS_DIR) \
+       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+       -lsmime3 \
+       -lssl3 \
+       -lnss3 \
+       -lsoftokn3 \
+       $(NULL)
+endif
+
+ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
+ifndef GNU_CC
+ifndef MOZ_NATIVE_NSS
+NSS_LIBS       = \
+       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
+       $(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
+       $(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
+       $(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
+       $(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
+       $(NULL)
+endif
+endif
+endif
+
 LDAP_CFLAGS    = @LDAP_CFLAGS@
 LDAP_LIBS      = @LDAP_LIBS@
 XPCOM_GLUE_LDOPTS = @XPCOM_GLUE_LDOPTS@

diff -Naur mozilla-orig/config/config.mk mozilla/config/config.mk
--- mozilla-orig/config/config.mk       2005-07-28 19:48:11.000000000 +0000
+++ mozilla/config/config.mk    2006-01-21 00:57:48.000000000 +0000
@@ -138,39 +138,6 @@
 FINAL_LINK_COMPS = $(DEPTH)/config/final-link-comps
 FINAL_LINK_COMP_NAMES = $(DEPTH)/config/final-link-comp-names
 
-# 
-# NSS libs needed for final link in static build
-# 
-
-NSS_LIBS       = \
-       $(LIBS_DIR) \
-       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
-       -lsmime3 \
-       -lssl3 \
-       -lnss3 \
-       -lsoftokn3 \
-       $(NULL)
-
-ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
-ifndef GNU_CC
-NSS_LIBS       = \
-       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
-       $(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
-       $(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
-       $(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
-       $(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
-       $(NULL)
-endif
-endif
-
-NSS_DEP_LIBS   = \
-       $(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
-       $(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
-       $(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
-       $(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
-       $(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
-       $(NULL)
-
 MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX)
 MOZ_REGISTRY_LIBS          = $(DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX)
 MOZ_WIDGET_SUPPORT_LIBS    = 
$(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX)

diff -Naur mozilla-orig/configure mozilla/configure
--- mozilla-orig/configure      2005-10-04 06:01:48.000000000 +0000
+++ mozilla/configure   2006-01-21 00:57:47.000000000 +0000
@@ -44,6 +44,13 @@
   --with-nspr-exec-prefix=PFX
                           Exec prefix where NSPR is installed"
 ac_help="$ac_help
+  --with-system-nss      Use system installed NSS"
+ac_help="$ac_help
+  --with-nss-prefix=PFX  Prefix where NSS is installed"
+ac_help="$ac_help
+  --with-nss-exec-prefix=PFX
+                          Exec prefix where NSS is installed"
+ac_help="$ac_help
   --with-system-jpeg[=PFX]
                           Use system libjpeg [installed at prefix PFX]"
 ac_help="$ac_help
@@ -1020,6 +1027,7 @@
 MOZPNG=10207
 MOZZLIB=1.2.3
 NSPR_VERSION=4
+NSS_VERSION=3
 
 GLIB_VERSION=1.2.0
 GTK_VERSION=1.2.0
@@ -11300,6 +11308,123 @@
     fi
 fi
 
+
+# Check whether --with-system-nss or --without-system-nss was given.
+if test "${with_system_nss+set}" = set; then
+  withval="$with_system_nss"
+  if test "$withval" = "yes"; then
+    _USE_SYSTEM_NSS=1 
+  elif test "$withval" = "no"; then
+    :
+  else
+    { echo "configure: error: Option, system-nss, does not take an argument 
($withval)." 1>&2; exit 1; }
+  fi
+fi
+
+
+if test -n "$_USE_SYSTEM_NSS"; then
+    
+# Check whether --with-nss-prefix or --without-nss-prefix was given.
+if test "${with_nss_prefix+set}" = set; then
+  withval="$with_nss_prefix"
+  nss_config_prefix="$withval"
+else
+  nss_config_prefix=""
+fi
+
+
+# Check whether --with-nss-exec-prefix or --without-nss-exec-prefix was given.
+if test "${with_nss_exec_prefix+set}" = set; then
+  withval="$with_nss_exec_prefix"
+  nss_config_exec_prefix="$withval"
+else
+  nss_config_exec_prefix=""
+fi
+
+
+       if test -n "$nss_config_exec_prefix"; then
+               nss_config_args="$nss_config_args 
--exec-prefix=$nss_config_exec_prefix"
+               if test -z "$NSS_CONFIG"; then
+                       NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
+               fi
+       fi
+       if test -n "$nss_config_prefix"; then
+               nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
+               if test -z "$NSS_CONFIG"; then
+                       NSS_CONFIG=$nss_config_prefix/bin/nss-config
+               fi
+       fi
+
+       unset ac_cv_path_NSS_CONFIG
+       # Extract the first word of "nss-config", so it can be a program name 
with args.
+set dummy nss-config; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:11363: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_NSS_CONFIG'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$NSS_CONFIG" in
+  /*)
+  ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a 
path.
+  ;;
+  ?:/*)                         
+  ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a 
dos path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_NSS_CONFIG="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_NSS_CONFIG" && ac_cv_path_NSS_CONFIG="no"
+  ;;
+esac
+fi
+NSS_CONFIG="$ac_cv_path_NSS_CONFIG"
+if test -n "$NSS_CONFIG"; then
+  echo "$ac_t""$NSS_CONFIG" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+       min_nss_version=3.0.0
+       echo $ac_n "checking for NSS - version >= $min_nss_version 
(skipping)""... $ac_c" 1>&6
+echo "configure:11398: checking for NSS - version >= $min_nss_version 
(skipping)" >&5
+
+       no_nss=""
+       if test "$NSS_CONFIG" = "no"; then
+               no_nss="yes"
+       else
+               NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
+               NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
+
+                               nss_config_major_version=`$NSS_CONFIG 
$nss_config_args --version | \
+                       sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
+               nss_config_minor_version=`$NSS_CONFIG $nss_config_args 
--version | \
+                       sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
+               nss_config_micro_version=`$NSS_CONFIG $nss_config_args 
--version | \
+                       sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
+       fi
+
+       if test -z "$no_nss"; then
+               echo "$ac_t""yes" 1>&6
+               MOZ_NATIVE_NSS=1     
+       else
+               echo "$ac_t""no" 1>&6
+       fi
+
+
+       
+       
+
+
+fi
+
 if test -z "$SKIP_LIBRARY_CHECKS"; then
 # Check whether --with-system-jpeg or --without-system-jpeg was given.
 if test "${with_system_jpeg+set}" = set; then
@@ -19473,6 +19598,9 @@
 [EMAIL PROTECTED]@%$NSPR_CONFIG%g
 [EMAIL PROTECTED]@%$NSPR_CFLAGS%g
 [EMAIL PROTECTED]@%$NSPR_LIBS%g
[EMAIL PROTECTED]@%$NSS_CONFIG%g
[EMAIL PROTECTED]@%$NSS_CFLAGS%g
[EMAIL PROTECTED]@%$NSS_LIBS%g
 [EMAIL PROTECTED]@%$GTK_CONFIG%g
 [EMAIL PROTECTED]@%$GTK_CFLAGS%g
 [EMAIL PROTECTED]@%$GTK_LIBS%g
@@ -19753,6 +19881,7 @@
 [EMAIL PROTECTED]@%$MOZ_PNG_CFLAGS%g
 [EMAIL PROTECTED]@%$MOZ_PNG_LIBS%g
 [EMAIL PROTECTED]@%$MOZ_NATIVE_NSPR%g
[EMAIL PROTECTED]@%$MOZ_NATIVE_NSS%g
 [EMAIL PROTECTED]@%$COMPILE_CFLAGS%g
 [EMAIL PROTECTED]@%$COMPILE_CXXFLAGS%g
 [EMAIL PROTECTED]@%$CROSS_COMPILE%g

diff -Naur mozilla-orig/configure.in mozilla/configure.in
--- mozilla-orig/configure.in   2005-10-04 05:53:49.000000000 +0000
+++ mozilla/configure.in        2006-01-21 00:57:47.000000000 +0000
@@ -86,6 +86,7 @@
 MOZPNG=10207
 MOZZLIB=1.2.3
 NSPR_VERSION=4
+NSS_VERSION=3
 
 dnl Set the minimum version of toolkit libs used by mozilla
 dnl ========================================================
@@ -3472,6 +3473,19 @@
     fi
 fi
 
+dnl ========================================================
+dnl = If NSS was not detected in the system, 
+dnl = use the one in the source tree (mozilla/security/nss)
+dnl ========================================================
+
+MOZ_ARG_WITH_BOOL(system-nss,
+[  --with-system-nss      Use system installed NSS],
+    _USE_SYSTEM_NSS=1 )
+
+if test -n "$_USE_SYSTEM_NSS"; then
+    AM_PATH_NSS(3.0.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=])
+fi
+
 if test -z "$SKIP_LIBRARY_CHECKS"; then
 dnl system JPEG support
 dnl ========================================================
@@ -6698,6 +6712,10 @@
 AC_SUBST(NSPR_LIBS)
 AC_SUBST(MOZ_NATIVE_NSPR)
 
+AC_SUBST(NSS_CFLAGS)
+AC_SUBST(NSS_LIBS)
+AC_SUBST(MOZ_NATIVE_NSS)
+
 AC_SUBST(CFLAGS)
 AC_SUBST(CXXFLAGS)
 AC_SUBST(CPPFLAGS)

diff -Naur mozilla-orig/security/manager/Makefile.in 
mozilla/security/manager/Makefile.in
--- mozilla-orig/security/manager/Makefile.in   2005-06-02 02:03:05.000000000 
+0000
+++ mozilla/security/manager/Makefile.in        2006-01-21 00:57:48.000000000 
+0000
@@ -46,6 +46,8 @@
 MODULE = psm
 
 PACKAGE_FILE = psm.pkg
+
+ifndef MOZ_NATIVE_NSS
 PACKAGE_VARS += \
        NSS3_LIB \
        SMIME3_LIB \
@@ -57,6 +59,7 @@
        $(NULL)
 
 LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
+endif
 
 NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX)
 SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX)
@@ -147,6 +150,7 @@
 export:: .nss.cleaned
 
 .nss.cleaned: .nss.checkout
+ifndef MOZ_NATIVE_NSS
        $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
        $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
 ifndef SKIP_CHK
@@ -154,9 +158,12 @@
        $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign 
$(DEFAULT_GMAKE_FLAGS) clean
 endif
        touch $@
+endif
 
 .nss.checkout:
+ifndef MOZ_NATIVE_NSS
        touch $(srcdir)/$@
+endif
 
 dependclean export packages chrome::
        $(MAKE) -C boot $@
@@ -167,12 +174,15 @@
 endif
 
 libs::
+ifndef MOZ_NATIVE_NSS
        $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS)
+endif
 ifeq ($(OS_ARCH),WINNT)
        cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) 
$(LIB_PREFIX)dbm.$(LIB_SUFFIX)
 else
        cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) 
$(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
 endif
+ifndef MOZ_NATIVE_NSS
        $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS)
 ifndef SKIP_CHK
        $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS)
@@ -210,6 +220,7 @@
        $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_HYBRID_MODULE) $(DIST)/bin
 endif
 endif
+endif
        $(MAKE) -C boot $@
        $(MAKE) -C ssl $@
        $(MAKE) -C locales $@
@@ -218,6 +229,7 @@
 endif
 
 install::
+ifndef MOZ_NATIVE_NSS
        $(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) 
$(DESTDIR)$(mozappdir)
 ifndef SKIP_CHK
        $(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir)
@@ -352,6 +352,7 @@
        $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) 
$(DESTDIR)$(mozappdir)
        $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) 
$(DESTDIR)$(mozappdir)
 endif
+endif
        $(MAKE) -C boot $@
        $(MAKE) -C ssl $@
        $(MAKE) -C locales $@
@@ -246,15 +259,18 @@
 ifdef MOZ_XUL
        $(MAKE) -C pki $@
 endif
+ifndef MOZ_NATIVE_NSS
        $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
        $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
 ifndef SKIP_CHK
        $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) 
clean
        $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign 
$(DEFAULT_GMAKE_FLAGS) clean
 endif
+endif
 
 echo-requires-recursive::
        $(MAKE) -C boot $@
        $(MAKE) -C ssl $@
        $(MAKE) -C pki $@
        $(MAKE) -C locales $@
+

diff -Naur mozilla-orig/security/manager/ssl/src/Makefile.in 
mozilla/security/manager/ssl/src/Makefile.in
--- mozilla-orig/security/manager/ssl/src/Makefile.in   2005-08-03 
05:24:18.000000000 +0000
+++ mozilla/security/manager/ssl/src/Makefile.in        2006-01-21 
00:57:48.000000000 +0000
@@ -123,8 +123,13 @@
 
 # Use local includes because they are inserted before INCLUDES
 # so that Mozilla's nss.h is used, not glibc's
+ifdef MOZ_NATIVE_NSS
+LOCAL_INCLUDES += $(NSS_CFLAGS) \
+                  $(NULL)
+else
 LOCAL_INCLUDES += -I$(DIST)/public/nss \
                   $(NULL)
+endif
 
 EXTRA_DSO_LDOPTS += \
                $(MOZ_UNICHARUTIL_LIBS) \

diff -Naur mozilla-orig/security/manager/ssl/src/nsNSSComponent.cpp 
mozilla/security/manager/ssl/src/nsNSSComponent.cpp
--- mozilla-orig/security/manager/ssl/src/nsNSSComponent.cpp    2005-08-26 
06:41:50.000000000 +0000
+++ mozilla/security/manager/ssl/src/nsNSSComponent.cpp 2006-01-21 
00:57:48.000000000 +0000
@@ -488,14 +488,6 @@
 }
 
 
-#ifdef XP_MAC
-#ifdef DEBUG
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbiDebug.shlb")
-#else
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbi.shlb")
-#endif /*DEBUG*/ 
-#endif /*XP_MAC*/
-
 static void setOCSPOptions(nsIPrefBranch * pref);
 
 NS_IMETHODIMP
@@ -689,40 +681,40 @@
 
     const char *possible_ckbi_locations[] = {
       NS_GRE_DIR,
-      NS_XPCOM_CURRENT_PROCESS_DIR
+      NS_XPCOM_CURRENT_PROCESS_DIR,
+      0
     };
-    
+
     for (size_t il = 0; il < sizeof(possible_ckbi_locations)/sizeof(const 
char*); ++il) {
       nsCOMPtr<nsILocalFile> mozFile;
-      directoryService->Get( possible_ckbi_locations[il],
-                             NS_GET_IID(nsILocalFile), 
-                             getter_AddRefs(mozFile));
+      char *fullModuleName = nsnull;
+
+      if (!possible_ckbi_locations[il])
+      {
+        fullModuleName = PR_GetLibraryName(nsnull, "nssckbi");
+      }
+      else
+      {
+        directoryService->Get( possible_ckbi_locations[il],
+                               NS_GET_IID(nsILocalFile), 
+                               getter_AddRefs(mozFile));
     
-      if (!mozFile) {
-        continue;
+        if (!mozFile) {
+          continue;
+        }
+
+        nsCAutoString processDir;
+        mozFile->GetNativePath(processDir);
+        fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
       }
 
-      char *fullModuleName = nsnull;
-#ifdef XP_MAC
-      nsCAutoString nativePath;
-      mozFile->AppendNative(NS_LITERAL_CSTRING("Essential Files"));
-      mozFile->AppendNative(LOADABLE_CERTS_MODULE);
-      mozFile->GetNativePath(nativePath);    
-      fullModuleName = (char *) nativePath.get();
-#else
-      nsCAutoString processDir;
-      mozFile->GetNativePath(processDir);
-      fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
-#endif
       /* If a module exists with the same name, delete it. */
       NS_ConvertUCS2toUTF8 modNameUTF8(modName);
       int modType;
       SECMOD_DeleteModule(NS_CONST_CAST(char*, modNameUTF8.get()), &modType);
       SECStatus rv_add = 
         SECMOD_AddNewModule(NS_CONST_CAST(char*, modNameUTF8.get()), 
fullModuleName, 0, 0);
-#ifndef XP_MAC
-      PR_Free(fullModuleName); // allocated by NSPR
-#endif
+      PR_FreeLibraryName(fullModuleName); // allocated by NSPR
       if (SECSuccess == rv_add) {
         // found a module, no need to try other directories
         break;

-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to