ce233c8
--- mozilla/configure.in.ccc	2006-08-31 17:37:23.000000000 +0200
ce233c8
+++ mozilla/configure.in	2007-02-22 14:42:15.000000000 +0100
ce233c8
@@ -86,6 +86,7 @@
ce233c8
 MOZPNG=10207
ce233c8
 MOZZLIB=1.2.3
ce233c8
 NSPR_VERSION=4
ce233c8
+NSS_VERSION=3
ce233c8
 
ce233c8
 dnl Set the minimum version of toolkit libs used by mozilla
ce233c8
 dnl ========================================================
ce233c8
@@ -3537,6 +3538,19 @@
ce233c8
     fi
ce233c8
 fi
ce233c8
 
ce233c8
+dnl ========================================================
ce233c8
+dnl = If NSS was not detected in the system, 
ce233c8
+dnl = use the one in the source tree (mozilla/security/nss)
ce233c8
+dnl ========================================================
ce233c8
+
ce233c8
+MOZ_ARG_WITH_BOOL(system-nss,
ce233c8
+[  --with-system-nss      Use system installed NSS],
ce233c8
+    _USE_SYSTEM_NSS=1 )
ce233c8
+
ce233c8
+if test -n "$_USE_SYSTEM_NSS"; then
ce233c8
+    AM_PATH_NSS(3.0.0, [MOZ_NATIVE_NSS=1], [MOZ_NATIVE_NSS=])
ce233c8
+fi
ce233c8
+
ce233c8
 if test -z "$SKIP_LIBRARY_CHECKS"; then
ce233c8
 dnl system JPEG support
ce233c8
 dnl ========================================================
ce233c8
@@ -6783,6 +6797,10 @@
ce233c8
 AC_SUBST(NSPR_LIBS)
ce233c8
 AC_SUBST(MOZ_NATIVE_NSPR)
ce233c8
 
ce233c8
+AC_SUBST(NSS_CFLAGS)
ce233c8
+AC_SUBST(NSS_LIBS)
ce233c8
+AC_SUBST(MOZ_NATIVE_NSS)
ce233c8
+
ce233c8
 AC_SUBST(CFLAGS)
ce233c8
 AC_SUBST(CXXFLAGS)
ce233c8
 AC_SUBST(CPPFLAGS)
ce233c8
--- mozilla/config/autoconf.mk.in.ccc	2006-04-21 22:50:30.000000000 +0200
ce233c8
+++ mozilla/config/autoconf.mk.in	2007-02-22 14:42:14.000000000 +0100
ce233c8
@@ -231,6 +231,7 @@
ce233c8
 MOZ_INSURE_EXCLUDE_DIRS = @MOZ_INSURE_EXCLUDE_DIRS@
ce233c8
 
ce233c8
 MOZ_NATIVE_NSPR = @MOZ_NATIVE_NSPR@
ce233c8
+MOZ_NATIVE_NSS = @MOZ_NATIVE_NSS@
ce233c8
 
ce233c8
 CROSS_COMPILE   = @CROSS_COMPILE@
ce233c8
 
ce233c8
@@ -386,6 +387,48 @@
ce233c8
 NSPR_CFLAGS	= @NSPR_CFLAGS@
ce233c8
 NSPR_LIBS	= @NSPR_LIBS@
ce233c8
 
ce233c8
+NSS_CONFIG	= @NSS_CONFIG@
ce233c8
+NSS_CFLAGS	= @NSS_CFLAGS@
ce233c8
+NSS_LIBS	= @NSS_LIBS@
ce233c8
+
ce233c8
+ifdef MOZ_NATIVE_NSS
ce233c8
+NSS_DEP_LIBS	= \
ce233c8
+	$(NULL)
ce233c8
+NSS_LIBS += \
ce233c8
+	-lcrmf \
ce233c8
+	$(NULL)
ce233c8
+else
ce233c8
+NSS_DEP_LIBS	= \
ce233c8
+	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
ce233c8
+	$(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
ce233c8
+	$(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
ce233c8
+	$(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
ce233c8
+	$(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
ce233c8
+	$(NULL)
ce233c8
+NSS_LIBS = \
ce233c8
+	$(LIBS_DIR) \
ce233c8
+	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
ce233c8
+	-lsmime3 \
ce233c8
+	-lssl3 \
ce233c8
+	-lnss3 \
ce233c8
+	-lsoftokn3 \
ce233c8
+	$(NULL)
ce233c8
+endif
ce233c8
+
ce233c8
+ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
ce233c8
+ifndef GNU_CC
ce233c8
+ifndef MOZ_NATIVE_NSS
ce233c8
+NSS_LIBS	= \
ce233c8
+	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
ce233c8
+	$(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
ce233c8
+	$(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
ce233c8
+	$(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
ce233c8
+	$(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
ce233c8
+	$(NULL)
ce233c8
+endif
ce233c8
+endif
ce233c8
+endif
ce233c8
+
ce233c8
 LDAP_CFLAGS	= @LDAP_CFLAGS@
ce233c8
 LDAP_LIBS	= @LDAP_LIBS@
ce233c8
 XPCOM_GLUE_LDOPTS = @XPCOM_GLUE_LDOPTS@
ce233c8
--- mozilla/config/config.mk.ccc	2006-04-06 18:28:13.000000000 +0200
ce233c8
+++ mozilla/config/config.mk	2007-02-22 14:42:14.000000000 +0100
ce233c8
@@ -138,39 +138,6 @@
ce233c8
 FINAL_LINK_COMPS = $(DEPTH)/config/final-link-comps
ce233c8
 FINAL_LINK_COMP_NAMES = $(DEPTH)/config/final-link-comp-names
ce233c8
 
ce233c8
-# 
ce233c8
-# NSS libs needed for final link in static build
ce233c8
-# 
ce233c8
-
ce233c8
-NSS_LIBS	= \
ce233c8
-	$(LIBS_DIR) \
ce233c8
-	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
ce233c8
-	-lsmime3 \
ce233c8
-	-lssl3 \
ce233c8
-	-lnss3 \
ce233c8
-	-lsoftokn3 \
ce233c8
-	$(NULL)
ce233c8
-
ce233c8
-ifneq (,$(filter OS2 WINNT WINCE, $(OS_ARCH)))
ce233c8
-ifndef GNU_CC
ce233c8
-NSS_LIBS	= \
ce233c8
-	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
ce233c8
-	$(DIST)/lib/$(LIB_PREFIX)smime3.$(IMPORT_LIB_SUFFIX) \
ce233c8
-	$(DIST)/lib/$(LIB_PREFIX)ssl3.$(IMPORT_LIB_SUFFIX) \
ce233c8
-	$(DIST)/lib/$(LIB_PREFIX)nss3.$(IMPORT_LIB_SUFFIX) \
ce233c8
-	$(DIST)/lib/$(LIB_PREFIX)softokn3.$(IMPORT_LIB_SUFFIX) \
ce233c8
-	$(NULL)
ce233c8
-endif
ce233c8
-endif
ce233c8
-
ce233c8
-NSS_DEP_LIBS	= \
ce233c8
-	$(DIST)/lib/$(LIB_PREFIX)crmf.$(LIB_SUFFIX) \
ce233c8
-	$(DIST)/lib/$(DLL_PREFIX)smime3$(DLL_SUFFIX) \
ce233c8
-	$(DIST)/lib/$(DLL_PREFIX)ssl3$(DLL_SUFFIX) \
ce233c8
-	$(DIST)/lib/$(DLL_PREFIX)nss3$(DLL_SUFFIX) \
ce233c8
-	$(DIST)/lib/$(DLL_PREFIX)softokn3$(DLL_SUFFIX) \
ce233c8
-	$(NULL)
ce233c8
-
ce233c8
 MOZ_UNICHARUTIL_LIBS = $(DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX)
ce233c8
 MOZ_REGISTRY_LIBS          = $(DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX)
ce233c8
 MOZ_WIDGET_SUPPORT_LIBS    = $(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX)
ce233c8
--- mozilla/aclocal.m4.ccc	2004-05-13 05:12:47.000000000 +0200
ce233c8
+++ mozilla/aclocal.m4	2007-02-22 14:42:14.000000000 +0100
ce233c8
@@ -8,6 +8,7 @@
ce233c8
 builtin(include, build/autoconf/libIDL.m4)dnl
ce233c8
 builtin(include, build/autoconf/libIDL-2.m4)dnl
ce233c8
 builtin(include, build/autoconf/nspr.m4)dnl
ce233c8
+builtin(include, build/autoconf/nss.m4)dnl
ce233c8
 builtin(include, build/autoconf/libart.m4)dnl
ce233c8
 builtin(include, build/autoconf/pkg.m4)dnl
ce233c8
 builtin(include, build/autoconf/freetype2.m4)dnl
ce233c8
--- /dev/null	2007-02-21 10:09:45.647705500 +0100
ce233c8
+++ mozilla/build/autoconf/nss.m4	2007-02-22 14:42:15.000000000 +0100
ce233c8
@@ -0,0 +1,67 @@
ce233c8
+# -*- tab-width: 4; -*-
ce233c8
+# Configure paths for NSS
ce233c8
+# Public domain - Chris Seawood <cls@seawood.org> 2001-04-05
ce233c8
+# Based upon gtk.m4 (also PD) by Owen Taylor
ce233c8
+
ce233c8
+dnl AM_PATH_NSS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
ce233c8
+dnl Test for NSS, and define NSS_CFLAGS and NSS_LIBS
ce233c8
+AC_DEFUN(AM_PATH_NSS,
ce233c8
+[dnl
ce233c8
+
ce233c8
+AC_ARG_WITH(nss-prefix,
ce233c8
+	[  --with-nss-prefix=PFX  Prefix where NSS is installed],
ce233c8
+	nss_config_prefix="$withval",
ce233c8
+	nss_config_prefix="")
ce233c8
+
ce233c8
+AC_ARG_WITH(nss-exec-prefix,
ce233c8
+	[  --with-nss-exec-prefix=PFX
ce233c8
+                          Exec prefix where NSS is installed],
ce233c8
+	nss_config_exec_prefix="$withval",
ce233c8
+	nss_config_exec_prefix="")
ce233c8
+
ce233c8
+	if test -n "$nss_config_exec_prefix"; then
ce233c8
+		nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix"
ce233c8
+		if test -z "$NSS_CONFIG"; then
ce233c8
+			NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
ce233c8
+		fi
ce233c8
+	fi
ce233c8
+	if test -n "$nss_config_prefix"; then
ce233c8
+		nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
ce233c8
+		if test -z "$NSS_CONFIG"; then
ce233c8
+			NSS_CONFIG=$nss_config_prefix/bin/nss-config
ce233c8
+		fi
ce233c8
+	fi
ce233c8
+
ce233c8
+	unset ac_cv_path_NSS_CONFIG
ce233c8
+	AC_PATH_PROG(NSS_CONFIG, nss-config, no)
ce233c8
+	min_nss_version=ifelse([$1], ,3.0.0,$1)
ce233c8
+	AC_MSG_CHECKING(for NSS - version >= $min_nss_version (skipping))
ce233c8
+
ce233c8
+	no_nss=""
ce233c8
+	if test "$NSS_CONFIG" = "no"; then
ce233c8
+		no_nss="yes"
ce233c8
+	else
ce233c8
+		NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
ce233c8
+		NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
ce233c8
+
ce233c8
+		dnl Skip version check for now
ce233c8
+		nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
ce233c8
+			sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
ce233c8
+		nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
ce233c8
+			sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
ce233c8
+		nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
ce233c8
+			sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
ce233c8
+	fi
ce233c8
+
ce233c8
+	if test -z "$no_nss"; then
ce233c8
+		AC_MSG_RESULT(yes)
ce233c8
+		ifelse([$2], , :, [$2])     
ce233c8
+	else
ce233c8
+		AC_MSG_RESULT(no)
ce233c8
+	fi
ce233c8
+
ce233c8
+
ce233c8
+	AC_SUBST(NSS_CFLAGS)
ce233c8
+	AC_SUBST(NSS_LIBS)
ce233c8
+
ce233c8
+])
ce233c8
--- mozilla/configure.ccc	2006-08-31 17:37:23.000000000 +0200
ce233c8
+++ mozilla/configure	2007-02-22 14:42:15.000000000 +0100
ce233c8
@@ -44,6 +44,13 @@
ce233c8
   --with-nspr-exec-prefix=PFX
ce233c8
                           Exec prefix where NSPR is installed"
ce233c8
 ac_help="$ac_help
ce233c8
+  --with-system-nss      Use system installed NSS"
ce233c8
+ac_help="$ac_help
ce233c8
+  --with-nss-prefix=PFX  Prefix where NSS is installed"
ce233c8
+ac_help="$ac_help
ce233c8
+  --with-nss-exec-prefix=PFX
ce233c8
+                          Exec prefix where NSS is installed"
ce233c8
+ac_help="$ac_help
ce233c8
   --with-system-jpeg[=PFX]
ce233c8
                           Use system libjpeg [installed at prefix PFX]"
ce233c8
 ac_help="$ac_help
ce233c8
@@ -1023,6 +1030,7 @@
ce233c8
 MOZPNG=10207
ce233c8
 MOZZLIB=1.2.3
ce233c8
 NSPR_VERSION=4
ce233c8
+NSS_VERSION=3
ce233c8
 
ce233c8
 GLIB_VERSION=1.2.0
ce233c8
 GTK_VERSION=1.2.0
ce233c8
@@ -11399,6 +11407,123 @@
ce233c8
     fi
ce233c8
 fi
ce233c8
 
ce233c8
+
ce233c8
+# Check whether --with-system-nss or --without-system-nss was given.
ce233c8
+if test "${with_system_nss+set}" = set; then
ce233c8
+  withval="$with_system_nss"
ce233c8
+  if test "$withval" = "yes"; then
ce233c8
+    _USE_SYSTEM_NSS=1 
ce233c8
+  elif test "$withval" = "no"; then
ce233c8
+    :
ce233c8
+  else
ce233c8
+    { echo "configure: error: Option, system-nss, does not take an argument ($withval)." 1>&2; exit 1; }
ce233c8
+  fi
ce233c8
+fi
ce233c8
+
ce233c8
+
ce233c8
+if test -n "$_USE_SYSTEM_NSS"; then
ce233c8
+    
ce233c8
+# Check whether --with-nss-prefix or --without-nss-prefix was given.
ce233c8
+if test "${with_nss_prefix+set}" = set; then
ce233c8
+  withval="$with_nss_prefix"
ce233c8
+  nss_config_prefix="$withval"
ce233c8
+else
ce233c8
+  nss_config_prefix=""
ce233c8
+fi
ce233c8
+
ce233c8
+
ce233c8
+# Check whether --with-nss-exec-prefix or --without-nss-exec-prefix was given.
ce233c8
+if test "${with_nss_exec_prefix+set}" = set; then
ce233c8
+  withval="$with_nss_exec_prefix"
ce233c8
+  nss_config_exec_prefix="$withval"
ce233c8
+else
ce233c8
+  nss_config_exec_prefix=""
ce233c8
+fi
ce233c8
+
ce233c8
+
ce233c8
+	if test -n "$nss_config_exec_prefix"; then
ce233c8
+		nss_config_args="$nss_config_args --exec-prefix=$nss_config_exec_prefix"
ce233c8
+		if test -z "$NSS_CONFIG"; then
ce233c8
+			NSS_CONFIG=$nss_config_exec_prefix/bin/nss-config
ce233c8
+		fi
ce233c8
+	fi
ce233c8
+	if test -n "$nss_config_prefix"; then
ce233c8
+		nss_config_args="$nss_config_args --prefix=$nss_config_prefix"
ce233c8
+		if test -z "$NSS_CONFIG"; then
ce233c8
+			NSS_CONFIG=$nss_config_prefix/bin/nss-config
ce233c8
+		fi
ce233c8
+	fi
ce233c8
+
ce233c8
+	unset ac_cv_path_NSS_CONFIG
ce233c8
+	# Extract the first word of "nss-config", so it can be a program name with args.
ce233c8
+set dummy nss-config; ac_word=$2
ce233c8
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
ce233c8
+echo "configure:11363: checking for $ac_word" >&5
ce233c8
+if eval "test \"`echo '$''{'ac_cv_path_NSS_CONFIG'+set}'`\" = set"; then
ce233c8
+  echo $ac_n "(cached) $ac_c" 1>&6
ce233c8
+else
ce233c8
+  case "$NSS_CONFIG" in
ce233c8
+  /*)
ce233c8
+  ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a path.
ce233c8
+  ;;
ce233c8
+  ?:/*)			 
ce233c8
+  ac_cv_path_NSS_CONFIG="$NSS_CONFIG" # Let the user override the test with a dos path.
ce233c8
+  ;;
ce233c8
+  *)
ce233c8
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
ce233c8
+  ac_dummy="$PATH"
ce233c8
+  for ac_dir in $ac_dummy; do 
ce233c8
+    test -z "$ac_dir" && ac_dir=.
ce233c8
+    if test -f $ac_dir/$ac_word; then
ce233c8
+      ac_cv_path_NSS_CONFIG="$ac_dir/$ac_word"
ce233c8
+      break
ce233c8
+    fi
ce233c8
+  done
ce233c8
+  IFS="$ac_save_ifs"
ce233c8
+  test -z "$ac_cv_path_NSS_CONFIG" && ac_cv_path_NSS_CONFIG="no"
ce233c8
+  ;;
ce233c8
+esac
ce233c8
+fi
ce233c8
+NSS_CONFIG="$ac_cv_path_NSS_CONFIG"
ce233c8
+if test -n "$NSS_CONFIG"; then
ce233c8
+  echo "$ac_t""$NSS_CONFIG" 1>&6
ce233c8
+else
ce233c8
+  echo "$ac_t""no" 1>&6
ce233c8
+fi
ce233c8
+
ce233c8
+	min_nss_version=3.0.0
ce233c8
+	echo $ac_n "checking for NSS - version >= $min_nss_version (skipping)""... $ac_c" 1>&6
ce233c8
+echo "configure:11398: checking for NSS - version >= $min_nss_version (skipping)" >&5
ce233c8
+
ce233c8
+	no_nss=""
ce233c8
+	if test "$NSS_CONFIG" = "no"; then
ce233c8
+		no_nss="yes"
ce233c8
+	else
ce233c8
+		NSS_CFLAGS=`$NSS_CONFIG $nss_config_args --cflags`
ce233c8
+		NSS_LIBS=`$NSS_CONFIG $nss_config_args --libs`
ce233c8
+
ce233c8
+				nss_config_major_version=`$NSS_CONFIG $nss_config_args --version | \
ce233c8
+			sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
ce233c8
+		nss_config_minor_version=`$NSS_CONFIG $nss_config_args --version | \
ce233c8
+			sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
ce233c8
+		nss_config_micro_version=`$NSS_CONFIG $nss_config_args --version | \
ce233c8
+			sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
ce233c8
+	fi
ce233c8
+
ce233c8
+	if test -z "$no_nss"; then
ce233c8
+		echo "$ac_t""yes" 1>&6
ce233c8
+		MOZ_NATIVE_NSS=1     
ce233c8
+	else
ce233c8
+		echo "$ac_t""no" 1>&6
ce233c8
+	fi
ce233c8
+
ce233c8
+
ce233c8
+	
ce233c8
+	
ce233c8
+
ce233c8
+
ce233c8
+fi
ce233c8
+
ce233c8
 if test -z "$SKIP_LIBRARY_CHECKS"; then
ce233c8
 # Check whether --with-system-jpeg or --without-system-jpeg was given.
ce233c8
 if test "${with_system_jpeg+set}" = set; then
ce233c8
@@ -19598,6 +19723,9 @@
ce233c8
 s%@NSPR_CONFIG@%$NSPR_CONFIG%g
ce233c8
 s%@NSPR_CFLAGS@%$NSPR_CFLAGS%g
ce233c8
 s%@NSPR_LIBS@%$NSPR_LIBS%g
ce233c8
+s%@NSS_CONFIG@%$NSS_CONFIG%g
ce233c8
+s%@NSS_CFLAGS@%$NSS_CFLAGS%g
ce233c8
+s%@NSS_LIBS@%$NSS_LIBS%g
ce233c8
 s%@GTK_CONFIG@%$GTK_CONFIG%g
ce233c8
 s%@GTK_CFLAGS@%$GTK_CFLAGS%g
ce233c8
 s%@GTK_LIBS@%$GTK_LIBS%g
ce233c8
@@ -19879,6 +20007,7 @@
ce233c8
 s%@MOZ_PNG_CFLAGS@%$MOZ_PNG_CFLAGS%g
ce233c8
 s%@MOZ_PNG_LIBS@%$MOZ_PNG_LIBS%g
ce233c8
 s%@MOZ_NATIVE_NSPR@%$MOZ_NATIVE_NSPR%g
ce233c8
+s%@MOZ_NATIVE_NSS@%$MOZ_NATIVE_NSS%g
ce233c8
 s%@COMPILE_CFLAGS@%$COMPILE_CFLAGS%g
ce233c8
 s%@COMPILE_CXXFLAGS@%$COMPILE_CXXFLAGS%g
ce233c8
 s%@CROSS_COMPILE@%$CROSS_COMPILE%g
ce233c8
--- mozilla/security/manager/ssl/src/nsNSSComponent.cpp.ccc	2005-08-26 08:41:50.000000000 +0200
ce233c8
+++ mozilla/security/manager/ssl/src/nsNSSComponent.cpp	2007-02-22 14:42:15.000000000 +0100
ce233c8
@@ -488,14 +488,6 @@
ce233c8
 }
ce233c8
 
ce233c8
 
ce233c8
-#ifdef XP_MAC
ce233c8
-#ifdef DEBUG
ce233c8
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbiDebug.shlb")
ce233c8
-#else
ce233c8
-#define LOADABLE_CERTS_MODULE NS_LITERAL_CSTRING("NSSckbi.shlb")
ce233c8
-#endif /*DEBUG*/ 
ce233c8
-#endif /*XP_MAC*/
ce233c8
-
ce233c8
 static void setOCSPOptions(nsIPrefBranch * pref);
ce233c8
 
ce233c8
 NS_IMETHODIMP
ce233c8
@@ -689,40 +681,40 @@
ce233c8
 
ce233c8
     const char *possible_ckbi_locations[] = {
ce233c8
       NS_GRE_DIR,
ce233c8
-      NS_XPCOM_CURRENT_PROCESS_DIR
ce233c8
+      NS_XPCOM_CURRENT_PROCESS_DIR,
ce233c8
+      0
ce233c8
     };
ce233c8
-    
ce233c8
+
ce233c8
     for (size_t il = 0; il < sizeof(possible_ckbi_locations)/sizeof(const char*); ++il) {
ce233c8
       nsCOMPtr<nsILocalFile> mozFile;
ce233c8
-      directoryService->Get( possible_ckbi_locations[il],
ce233c8
-                             NS_GET_IID(nsILocalFile), 
ce233c8
-                             getter_AddRefs(mozFile));
ce233c8
+      char *fullModuleName = nsnull;
ce233c8
+
ce233c8
+      if (!possible_ckbi_locations[il])
ce233c8
+      {
ce233c8
+        fullModuleName = PR_GetLibraryName(nsnull, "nssckbi");
ce233c8
+      }
ce233c8
+      else
ce233c8
+      {
ce233c8
+        directoryService->Get( possible_ckbi_locations[il],
ce233c8
+                               NS_GET_IID(nsILocalFile), 
ce233c8
+                               getter_AddRefs(mozFile));
ce233c8
     
ce233c8
-      if (!mozFile) {
ce233c8
-        continue;
ce233c8
+        if (!mozFile) {
ce233c8
+          continue;
ce233c8
+        }
ce233c8
+
ce233c8
+        nsCAutoString processDir;
ce233c8
+        mozFile->GetNativePath(processDir);
ce233c8
+        fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
ce233c8
       }
ce233c8
 
ce233c8
-      char *fullModuleName = nsnull;
ce233c8
-#ifdef XP_MAC
ce233c8
-      nsCAutoString nativePath;
ce233c8
-      mozFile->AppendNative(NS_LITERAL_CSTRING("Essential Files"));
ce233c8
-      mozFile->AppendNative(LOADABLE_CERTS_MODULE);
ce233c8
-      mozFile->GetNativePath(nativePath);    
ce233c8
-      fullModuleName = (char *) nativePath.get();
ce233c8
-#else
ce233c8
-      nsCAutoString processDir;
ce233c8
-      mozFile->GetNativePath(processDir);
ce233c8
-      fullModuleName = PR_GetLibraryName(processDir.get(), "nssckbi");
ce233c8
-#endif
ce233c8
       /* If a module exists with the same name, delete it. */
ce233c8
       NS_ConvertUCS2toUTF8 modNameUTF8(modName);
ce233c8
       int modType;
ce233c8
       SECMOD_DeleteModule(NS_CONST_CAST(char*, modNameUTF8.get()), &modType);
ce233c8
       SECStatus rv_add = 
ce233c8
         SECMOD_AddNewModule(NS_CONST_CAST(char*, modNameUTF8.get()), fullModuleName, 0, 0);
ce233c8
-#ifndef XP_MAC
ce233c8
-      PR_Free(fullModuleName); // allocated by NSPR
ce233c8
-#endif
ce233c8
+      PR_FreeLibraryName(fullModuleName); // allocated by NSPR
ce233c8
       if (SECSuccess == rv_add) {
ce233c8
         // found a module, no need to try other directories
ce233c8
         break;
ce233c8
--- mozilla/security/manager/ssl/src/Makefile.in.ccc	2005-08-03 07:24:18.000000000 +0200
ce233c8
+++ mozilla/security/manager/ssl/src/Makefile.in	2007-02-22 14:42:15.000000000 +0100
ce233c8
@@ -123,8 +123,13 @@
ce233c8
 
ce233c8
 # Use local includes because they are inserted before INCLUDES
ce233c8
 # so that Mozilla's nss.h is used, not glibc's
ce233c8
+ifdef MOZ_NATIVE_NSS
ce233c8
+LOCAL_INCLUDES += $(NSS_CFLAGS) \
ce233c8
+                  $(NULL)
ce233c8
+else
ce233c8
 LOCAL_INCLUDES += -I$(DIST)/public/nss \
ce233c8
                   $(NULL)
ce233c8
+endif
ce233c8
 
ce233c8
 EXTRA_DSO_LDOPTS += \
ce233c8
 		$(MOZ_UNICHARUTIL_LIBS) \
ce233c8
--- mozilla/security/manager/Makefile.in.ccc	2007-02-22 14:42:14.000000000 +0100
ce233c8
+++ mozilla/security/manager/Makefile.in	2007-02-22 14:45:44.000000000 +0100
ce233c8
@@ -46,6 +46,8 @@
ce233c8
 MODULE = psm
ce233c8
 
ce233c8
 PACKAGE_FILE = psm.pkg
ce233c8
+
ce233c8
+ifndef MOZ_NATIVE_NSS
ce233c8
 PACKAGE_VARS += \
ce233c8
 	NSS3_LIB \
ce233c8
 	SMIME3_LIB \
ce233c8
@@ -60,6 +62,7 @@
ce233c8
 	$(NULL)
ce233c8
 
ce233c8
 LOADABLE_ROOT_MODULE = $(DLL_PREFIX)nssckbi$(DLL_SUFFIX)
ce233c8
+endif
ce233c8
 
ce233c8
 NSS3_LIB = $(DLL_PREFIX)nss3$(DLL_SUFFIX)
ce233c8
 SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX)
ce233c8
@@ -200,6 +203,7 @@
ce233c8
 export:: .nss.cleaned
ce233c8
 
ce233c8
 .nss.cleaned: .nss.checkout
ce233c8
+ifndef MOZ_NATIVE_NSS
ce233c8
 	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
ce233c8
 	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
ce233c8
 ifndef SKIP_CHK
ce233c8
@@ -207,9 +211,12 @@
ce233c8
 	$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
ce233c8
 endif
ce233c8
 	touch $@
ce233c8
+endif
ce233c8
 
ce233c8
 .nss.checkout:
ce233c8
+ifndef MOZ_NATIVE_NSS
ce233c8
 	touch $(srcdir)/$@
ce233c8
+endif
ce233c8
 
ce233c8
 dependclean export packages chrome::
ce233c8
 	$(MAKE) -C boot $@
ce233c8
@@ -220,12 +227,15 @@
ce233c8
 endif
ce233c8
 
ce233c8
 libs::
ce233c8
+ifndef MOZ_NATIVE_NSS
ce233c8
 	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS)
ce233c8
+endif
ce233c8
 ifeq ($(OS_ARCH),WINNT)
ce233c8
 	cd $(DIST)/lib; cp -f $(LIB_PREFIX)dbm$(MOZ_BITS).$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
ce233c8
 else
ce233c8
 	cd $(DIST)/lib; cp -f $(LIB_PREFIX)mozdbm_s.$(LIB_SUFFIX) $(LIB_PREFIX)dbm.$(LIB_SUFFIX); $(RANLIB) $(LIB_PREFIX)dbm.$(LIB_SUFFIX)
ce233c8
 endif
ce233c8
+ifndef MOZ_NATIVE_NSS
ce233c8
 	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS)
ce233c8
 ifndef SKIP_CHK
ce233c8
 	$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS)
ce233c8
@@ -307,6 +317,7 @@
ce233c8
 	$(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DIST)/bin
ce233c8
 endif
ce233c8
 endif
ce233c8
+endif
ce233c8
 	$(MAKE) -C boot $@
ce233c8
 	$(MAKE) -C ssl $@
ce233c8
 	$(MAKE) -C locales $@
ce233c8
@@ -315,6 +326,7 @@
ce233c8
 endif
ce233c8
 
ce233c8
 install::
ce233c8
+ifndef MOZ_NATIVE_NSS
ce233c8
 	$(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir)
ce233c8
 ifndef SKIP_CHK
ce233c8
 	$(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir)
ce233c8
@@ -351,6 +363,7 @@
ce233c8
 	$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) $(DESTDIR)$(mozappdir)
ce233c8
 	$(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DESTDIR)$(mozappdir)
ce233c8
 endif
ce233c8
+endif
ce233c8
 	$(MAKE) -C boot $@
ce233c8
 	$(MAKE) -C ssl $@
ce233c8
 	$(MAKE) -C locales $@
ce233c8
@@ -365,15 +378,18 @@
ce233c8
 ifdef MOZ_XUL
ce233c8
 	$(MAKE) -C pki $@
ce233c8
 endif
ce233c8
+ifndef MOZ_NATIVE_NSS
ce233c8
 	$(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean
ce233c8
 	$(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean
ce233c8
 ifndef SKIP_CHK
ce233c8
 	$(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean
ce233c8
 	$(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean
ce233c8
 endif
ce233c8
+endif
ce233c8
 
ce233c8
 echo-requires-recursive::
ce233c8
 	$(MAKE) -C boot $@
ce233c8
 	$(MAKE) -C ssl $@
ce233c8
 	$(MAKE) -C pki $@
ce233c8
 	$(MAKE) -C locales $@
ce233c8
+