зеркало из https://github.com/mozilla/gecko-dev.git
216 строки
8.0 KiB
Makefile
216 строки
8.0 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
|
|
|
|
#######################################################################
|
|
# [14.0] Master "Core Components" rule set #
|
|
#######################################################################
|
|
ifndef MK_RULESET
|
|
include $(CORE_DEPTH)/coreconf/ruleset.mk
|
|
endif
|
|
|
|
#######################################################################
|
|
# [16.0] Global environ ment defines
|
|
#######################################################################
|
|
|
|
ifdef NSS_ALLOW_UNSUPPORTED_CRITICAL
|
|
DEFINES += -DNSS_ALLOW_UNSUPPORTED_CRITICAL
|
|
endif
|
|
|
|
ifdef BUILD_LIBPKIX_TESTS
|
|
DEFINES += -DBUILD_LIBPKIX_TESTS
|
|
endif
|
|
|
|
ifdef NSS_DISABLE_LIBPKIX
|
|
DEFINES += -DNSS_DISABLE_LIBPKIX
|
|
endif
|
|
|
|
ifdef NSS_DISABLE_DBM
|
|
DEFINES += -DNSS_DISABLE_DBM
|
|
endif
|
|
|
|
ifdef NSS_DISABLE_AVX2
|
|
ifneq ($(NSS_DISABLE_AVX2),0)
|
|
DEFINES += -DNSS_DISABLE_AVX2
|
|
endif
|
|
endif
|
|
|
|
ifdef NSS_DISABLE_CHACHAPOLY
|
|
DEFINES += -DNSS_DISABLE_CHACHAPOLY
|
|
endif
|
|
|
|
ifdef NSS_DISABLE_DEPRECATED_SEED
|
|
DEFINES += -DNSS_DISABLE_DEPRECATED_SEED
|
|
endif
|
|
|
|
ifdef NSS_PKIX_NO_LDAP
|
|
DEFINES += -DNSS_PKIX_NO_LDAP
|
|
endif
|
|
|
|
# FIPS support requires startup tests to be executed at load time of shared modules.
|
|
# For performance reasons, these tests are disabled by default.
|
|
# When compiling binaries that must support FIPS mode,
|
|
# you should define NSS_FORCE_FIPS
|
|
#
|
|
# NSS_NO_INIT_SUPPORT is always defined on platforms that don't support
|
|
# executing the startup tests at library load time.
|
|
ifndef NSS_FORCE_FIPS
|
|
DEFINES += -DNSS_NO_INIT_SUPPORT
|
|
endif
|
|
|
|
ifdef NSS_SEED_ONLY_DEV_URANDOM
|
|
DEFINES += -DSEED_ONLY_DEV_URANDOM
|
|
endif
|
|
|
|
ifdef NSS_PKCS1_AllowMissingParameters
|
|
DEFINES += -DNSS_PKCS1_AllowMissingParameters
|
|
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
|
|
|
|
# Avoid building with Neon acceleration on Arm32
|
|
ifdef NSS_DISABLE_ARM32_NEON
|
|
DEFINES += -DNSS_DISABLE_ARM32_NEON
|
|
endif
|
|
|
|
# Avoid building with PowerPC's Altivec acceleration
|
|
ifdef NSS_DISABLE_ALTIVEC
|
|
DEFINES += -DNSS_DISABLE_ALTIVEC
|
|
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
|