summaryrefslogtreecommitdiffstats
path: root/security/nss/Makefile
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--security/nss/Makefile163
1 files changed, 163 insertions, 0 deletions
diff --git a/security/nss/Makefile b/security/nss/Makefile
new file mode 100644
index 0000000000..eb4ed1a74b
--- /dev/null
+++ b/security/nss/Makefile
@@ -0,0 +1,163 @@
+#! 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/.
+
+#######################################################################
+# (1) Include initial platform-independent assignments (MANDATORY). #
+#######################################################################
+
+include manifest.mn
+
+#######################################################################
+# (2) Include "global" configuration information. (OPTIONAL) #
+#######################################################################
+
+include $(CORE_DEPTH)/coreconf/config.mk
+
+#######################################################################
+# (3) Include "component" configuration information. (OPTIONAL) #
+#######################################################################
+
+
+
+#######################################################################
+# (4) Include "local" platform-dependent assignments (OPTIONAL). #
+#######################################################################
+
+ifdef NSS_DISABLE_GTESTS
+DIRS := $(filter-out gtests,$(DIRS))
+DIRS := $(filter-out cpputil,$(DIRS))
+endif
+
+#######################################################################
+# (5) Execute "global" rules. (OPTIONAL) #
+#######################################################################
+
+include $(CORE_DEPTH)/coreconf/rules.mk
+
+#######################################################################
+# (6) Execute "component" rules. (OPTIONAL) #
+#######################################################################
+
+
+
+#######################################################################
+# (7) Execute "local" rules. (OPTIONAL). #
+#######################################################################
+
+nss_build_all:
+ $(MAKE) build_nspr
+ $(MAKE) all
+ $(MAKE) latest
+
+nss_clean_all:
+ $(MAKE) clobber_nspr
+ $(MAKE) clobber
+
+NSPR_CONFIG_STATUS = $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)/config.status
+NSPR_CONFIGURE = $(CORE_DEPTH)/../nspr/configure
+
+#
+# Translate coreconf build options to NSPR configure options.
+#
+
+ifeq ($(OS_TARGET),Android)
+NSPR_CONFIGURE_OPTS += --with-android-ndk=$(ANDROID_NDK) \
+ --target=$(ANDROID_PREFIX) \
+ --with-android-version=$(OS_TARGET_RELEASE) \
+ --with-android-toolchain=$(ANDROID_TOOLCHAIN) \
+ --with-android-platform=$(ANDROID_SYSROOT)
+endif
+ifdef BUILD_OPT
+NSPR_CONFIGURE_OPTS += --disable-debug --enable-optimize
+endif
+ifdef USE_X32
+NSPR_CONFIGURE_OPTS += --enable-x32
+endif
+ifdef USE_64
+NSPR_CONFIGURE_OPTS += --enable-64bit
+endif
+ifeq ($(OS_TARGET),WIN95)
+NSPR_CONFIGURE_OPTS += --enable-win32-target=WIN95
+endif
+ifdef USE_DEBUG_RTL
+NSPR_CONFIGURE_OPTS += --enable-debug-rtl
+endif
+ifdef USE_STATIC_RTL
+NSPR_CONFIGURE_OPTS += --enable-static-rtl
+endif
+ifdef NS_USE_GCC
+NSPR_CONFIGURE_ENV = CC=gcc CXX=g++
+endif
+# Make sure to remove -arch arguments. NSPR can't handle that.
+remove_arch = $(filter-out __REMOVEME%,$(subst $(NULL) -arch , __REMOVEME,$(1)))
+ifdef CC
+NSPR_CONFIGURE_ENV = CC="$(call remove_arch,$(CC))"
+endif
+ifdef CCC
+NSPR_CONFIGURE_ENV += CXX="$(call remove_arch,$(CCC))"
+endif
+
+#
+# Some pwd commands on Windows (for example, the pwd
+# command in Cygwin) return a pathname that begins
+# with a (forward) slash. When such a pathname is
+# passed to Windows build tools (for example, cl), it
+# is mistaken as a command-line option. If that is the case,
+# we use a relative pathname as NSPR's prefix on Windows.
+#
+
+USEABSPATH="YES"
+ifeq (,$(filter-out WIN%,$(OS_TARGET)))
+ifeq (,$(findstring :,$(shell pwd)))
+USEABSPATH="NO"
+endif
+endif
+ifeq ($(USEABSPATH),"YES")
+NSPR_PREFIX = $(shell pwd)/../dist/$(OBJDIR_NAME)
+else
+NSPR_PREFIX = $$(topsrcdir)/../dist/$(OBJDIR_NAME)
+endif
+
+ifndef NSS_GYP_PREFIX
+$(NSPR_CONFIG_STATUS): $(NSPR_CONFIGURE)
+ mkdir -p $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
+ cd $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) ; \
+ $(NSPR_CONFIGURE_ENV) sh ../configure \
+ $(NSPR_CONFIGURE_OPTS) \
+ --with-dist-prefix='$(NSPR_PREFIX)' \
+ --with-dist-includedir='$(NSPR_PREFIX)/include'
+else
+$(NSPR_CONFIG_STATUS): $(NSPR_CONFIGURE)
+ mkdir -p $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME)
+ cd $(CORE_DEPTH)/../nspr/$(OBJDIR_NAME) ; \
+ $(NSPR_CONFIGURE_ENV) sh ../configure \
+ $(NSPR_CONFIGURE_OPTS) \
+ --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
+
+clean_docs:
+ $(MAKE) -C $(CORE_DEPTH)/doc clean
+
+nss_RelEng_bld: import all
+
+package:
+ $(MAKE) -C pkg publish
+
+latest:
+ echo $(OBJDIR_NAME) > $(CORE_DEPTH)/../dist/latest