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