summaryrefslogtreecommitdiffstats
path: root/security/nss/lib/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'security/nss/lib/Makefile')
-rw-r--r--security/nss/lib/Makefile109
1 files changed, 109 insertions, 0 deletions
diff --git a/security/nss/lib/Makefile b/security/nss/lib/Makefile
new file mode 100644
index 0000000000..6e26e32410
--- /dev/null
+++ b/security/nss/lib/Makefile
@@ -0,0 +1,109 @@
+#! gmake
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+CORE_DEPTH = ..
+DEPTH = ..
+
+include $(CORE_DEPTH)/coreconf/config.mk
+
+# This "jungle" of conditionals evaluates which DIRS to build!
+# The main reason for it is AFAIK /automation/taskcluster/scripts/split.sh
+#
+# The fundamental organisation is:
+# if NSS_BUILD_UTIL_ONLY
+# else
+# if NSS_BUILD_SOFTOKEN_ONLY
+# else # build "all" the rest of NSS
+# endif
+#
+# But there is even some build (NSS_BUILD_WITHOUT_SOFTOKEN), which
+# depends on a previous partial build!
+#
+# FWIW, the dependencies are sorted and "compacted" instead of single
+# lines for smaller patches, as these probably won't change much and
+# it's easier to read this way.
+
+# Building softoken (and freebl) only requires that the paths
+# to the locations where the util headers and libraries were
+# previously installed by a prior util-only build - likely in
+# in a system location that varies with the distribution. This
+# cannot be addressed here and requires that downstream package
+# mantainers add suitable modifications. Building full nss will
+# not have that problem as everything is available.
+
+ifndef USE_SYSTEM_ZLIB
+ZLIB_SRCDIR = zlib
+endif
+
+ifndef MOZILLA_CLIENT
+ifndef NSS_USE_SYSTEM_SQLITE
+SQLITE_SRCDIR = sqlite
+endif
+
+ifeq ($(OS_ARCH),Linux)
+SYSINIT_SRCDIR = sysinit
+endif
+endif # MOZILLA_CLIENT
+
+ifndef NSS_DISABLE_DBM
+DBM_SRCDIR = dbm
+endif
+
+ifndef NSS_DISABLE_LIBPKIX
+LIBPKIX_SRCDIR = libpkix
+endif
+
+ifeq ($(NSS_BUILD_UTIL_ONLY),1)
+ UTIL_SRCDIR = util
+
+else
+ ifeq ($(NSS_BUILD_SOFTOKEN_ONLY),1)
+ FREEBL_SRCDIR = freebl
+ SOFTOKEN_SRCDIR = softoken
+ else
+ # Not included when building nss without softoken
+ # This build type uses the build results of the prior
+ # NSS_BUILD_UTIL_ONLY and NSS_BUILD_SOFTOKEN_ONLY builds
+ ifneq ($(NSS_BUILD_WITHOUT_SOFTOKEN),1)
+ FREEBL_SRCDIR = freebl
+ SOFTOKEN_SRCDIR = softoken
+ UTIL_SRCDIR = util
+ endif
+ endif
+
+ SOFTOKEN_SRCDIRS = \
+ $(DBM_SRCDIR) $(FREEBL_SRCDIR) $(SOFTOKEN_SRCDIR) \
+ $(SQLITE_SRCDIR) $(NULL)
+
+ ifneq (,$(FREEBL_SRCDIR))
+ $(FREEBL_SRCDIR): $(UTIL_SRCDIR)
+ endif
+
+ ifneq (,$(SOFTOKEN_SRCDIR))
+ $(SOFTOKEN_SRCDIR): $(DBM_SRCDIR) $(FREEBL_SRCDIR) $(SQLITE_SRCDIR) $(UTIL_SRCDIR)
+ endif
+
+ ifndef NSS_BUILD_SOFTOKEN_ONLY
+ NSS_SRCDIRS = \
+ base certdb certhigh ckfw crmf cryptohi dev jar $(LIBPKIX_SRCDIR) \
+ nss pk11wrap pkcs12 pkcs7 pki smime ssl $(SYSINIT_SRCDIR) $(ZLIB_SRCDIR)
+
+ ifneq (,$(SYSINIT_SRCDIR))
+ $(SYSINIT_SRCDIR): $(UTIL_SRCDIR)
+ endif
+
+ nss: base certdb certhigh cryptohi dev $(LIBPKIX_SRCDIR) pk11wrap pki $(UTIL_SRCDIR)
+ smime: nss pkcs7 pkcs12
+ ssl: nss
+ ckfw: nss
+
+ endif # !NSS_BUILD_SOFTOKEN_ONLY
+endif # !NSS_BUILD_UTIL_ONLY
+
+DIRS = \
+ $(NSS_SRCDIRS) $(SOFTOKEN_SRCDIRS) $(UTIL_SRCDIR) $(NULL)
+
+include $(CORE_DEPTH)/coreconf/rules.mk