RetroZilla/security/nss/coreconf/config.mk
roytam1 30d33aa8e8 cherry-picked mozilla NSS upstream changes (to rev f7a4c771997e, which is on par with 3.16.1 but without windows rand() changes):
9934c8faef29, 3c3b381c4865, 5a67f6beee9a, 1b1eb6d77728, a8b668fd72f7, bug962760, bug743700, bug857304, bug972653, bug972450, bug971358, bug903885, bug977073, bug976111, bug949939, bug947653, bug947572, bug903885, bug979106, bug966596, bug979004, bug979752, bug980848, bug938369, bug981170, bug668130, bug974693, bug975056, bug979132, bug370717, bug979070, bug985070, bug900067, bug977673, bug519255, bug989558, bug557299, bug987263, bug369802, a751a5146718, bug992343, bug952572, bug979703, bug994883, bug994869, bug993489, bug984608, bug977869, bug667371, bug672828, bug793347, bug977869
2018-07-14 21:22:29 +08:00

191 lines
7.5 KiB
Makefile

#
# 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/.
# Configuration information for building in the "Core Components" source module
#######################################################################
# [1.0] Master "Core Components" source and release <architecture> #
# tags #
#######################################################################
ifndef MK_ARCH
include $(CORE_DEPTH)/coreconf/arch.mk
endif
#######################################################################
# [2.0] Master "Core Components" default command macros #
# (NOTE: may be overridden in $(OS_TARGET)$(OS_RELEASE).mk) #
#######################################################################
ifndef MK_COMMAND
include $(CORE_DEPTH)/coreconf/command.mk
endif
#######################################################################
# [3.0] Master "Core Components" <architecture>-specific macros #
# (dependent upon <architecture> tags) #
# #
# We are moving towards just having a $(OS_TARGET).mk file #
# as opposed to multiple $(OS_TARGET)$(OS_RELEASE).mk files, #
# one for each OS release. #
#######################################################################
TARGET_OSES = FreeBSD BSD_OS NetBSD OpenUNIX OS2 QNX Darwin BeOS OpenBSD \
AIX RISCOS WINNT WIN95 Linux Android
ifeq (,$(filter-out $(TARGET_OSES),$(OS_TARGET)))
include $(CORE_DEPTH)/coreconf/$(OS_TARGET).mk
else
ifeq ($(OS_TARGET),SunOS)
include $(CORE_DEPTH)/coreconf/SunOS5.mk
else
include $(CORE_DEPTH)/coreconf/$(OS_TARGET)$(OS_RELEASE).mk
endif
endif
#######################################################################
# [4.0] Master "Core Components" source and release <platform> tags #
# (dependent upon <architecture> tags) #
#######################################################################
PLATFORM = $(OBJDIR_NAME)
#######################################################################
# [5.0] Master "Core Components" release <tree> tags #
# (dependent upon <architecture> tags) #
#######################################################################
ifndef MK_TREE
include $(CORE_DEPTH)/coreconf/tree.mk
endif
#######################################################################
# [6.0] Master "Core Components" source and release <component> tags #
# NOTE: A component is also called a module or a subsystem. #
# (dependent upon $(MODULE) being defined on the #
# command line, as an environment variable, or in individual #
# makefiles, or more appropriately, manifest.mn) #
#######################################################################
ifndef MK_MODULE
include $(CORE_DEPTH)/coreconf/module.mk
endif
#######################################################################
# [7.0] Master "Core Components" release <version> tags #
# (dependent upon $(MODULE) being defined on the #
# command line, as an environment variable, or in individual #
# makefiles, or more appropriately, manifest.mn) #
#######################################################################
ifndef MK_VERSION
include $(CORE_DEPTH)/coreconf/version.mk
endif
#######################################################################
# [8.0] Master "Core Components" macros to figure out #
# binary code location #
# (dependent upon <platform> tags) #
#######################################################################
ifndef MK_LOCATION
include $(CORE_DEPTH)/coreconf/location.mk
endif
#######################################################################
# [9.0] Master "Core Components" <component>-specific source path #
# (dependent upon <user_source_tree>, <source_component>, #
# <version>, and <platform> tags) #
#######################################################################
ifndef MK_SOURCE
include $(CORE_DEPTH)/coreconf/source.mk
endif
#######################################################################
# [10.0] Master "Core Components" include switch for support header #
# files #
# (dependent upon <tree>, <component>, <version>, #
# and <platform> tags) #
#######################################################################
ifndef MK_HEADERS
include $(CORE_DEPTH)/coreconf/headers.mk
endif
#######################################################################
# [11.0] Master "Core Components" for computing program prefixes #
#######################################################################
ifndef MK_PREFIX
include $(CORE_DEPTH)/coreconf/prefix.mk
endif
#######################################################################
# [12.0] Master "Core Components" for computing program suffixes #
# (dependent upon <architecture> tags) #
#######################################################################
ifndef MK_SUFFIX
include $(CORE_DEPTH)/coreconf/suffix.mk
endif
#######################################################################
# [13.0] Master "Core Components" for defining JDK #
# (dependent upon <architecture>, <source>, and <suffix> tags)#
#######################################################################
ifdef NS_USE_JDK
include $(CORE_DEPTH)/coreconf/jdk.mk
endif
#######################################################################
# [14.0] Master "Core Components" rule set #
#######################################################################
ifndef MK_RULESET
include $(CORE_DEPTH)/coreconf/ruleset.mk
endif
#######################################################################
# [15.0] Dependencies.
#######################################################################
-include $(MKDEPENDENCIES)
#######################################################################
# [16.0] Global environ ment defines
#######################################################################
ifdef NSS_DISABLE_ECC
DEFINES += -DNSS_DISABLE_ECC
endif
ifdef NSS_ECC_MORE_THAN_SUITE_B
DEFINES += -DNSS_ECC_MORE_THAN_SUITE_B
endif
ifdef NSS_ALLOW_UNSUPPORTED_CRITICAL
DEFINES += -DNSS_ALLOW_UNSUPPORTED_CRITICAL
endif
ifdef BUILD_LIBPKIX_TESTS
DEFINES += -DBUILD_LIBPKIX_TESTS
endif
ifdef NSS_DISABLE_DBM
DEFINES += -DNSS_DISABLE_DBM
endif
ifdef NSS_PKIX_NO_LDAP
DEFINES += -DNSS_PKIX_NO_LDAP
endif
# Avoid building object leak test code for optimized library
ifndef BUILD_OPT
ifdef PKIX_OBJECT_LEAK_TEST
DEFINES += -DPKIX_OBJECT_LEAK_TEST
endif
endif
# This allows all library and tools code to use the util function
# implementations directly from libnssutil3, rather than the wrappers
# in libnss3 which are present for binary compatibility only
DEFINES += -DUSE_UTIL_DIRECTLY
USE_UTIL_DIRECTLY = 1
# Build with NO_NSPR_10_SUPPORT to avoid using obsolete NSPR features
DEFINES += -DNO_NSPR_10_SUPPORT
# Hide old, deprecated, TLS cipher suite names when building NSS
DEFINES += -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES