Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 #
2 # This Source Code Form is subject to the terms of the Mozilla Public
3 # License, v. 2.0. If a copy of the MPL was not distributed with this
4 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 # Configuration information for building in the "Core Components" source module
8 #######################################################################
9 # [1.0] Master "Core Components" source and release <architecture> #
10 # tags #
11 #######################################################################
12 ifndef MK_ARCH
13 include $(CORE_DEPTH)/coreconf/arch.mk
14 endif
16 #######################################################################
17 # [2.0] Master "Core Components" default command macros #
18 # (NOTE: may be overridden in $(OS_TARGET)$(OS_RELEASE).mk) #
19 #######################################################################
20 ifndef MK_COMMAND
21 include $(CORE_DEPTH)/coreconf/command.mk
22 endif
24 #######################################################################
25 # [3.0] Master "Core Components" <architecture>-specific macros #
26 # (dependent upon <architecture> tags) #
27 # #
28 # We are moving towards just having a $(OS_TARGET).mk file #
29 # as opposed to multiple $(OS_TARGET)$(OS_RELEASE).mk files, #
30 # one for each OS release. #
31 #######################################################################
33 TARGET_OSES = FreeBSD BSD_OS NetBSD OpenUNIX OS2 QNX Darwin BeOS OpenBSD \
34 AIX RISCOS WINNT WIN95 Linux Android
36 ifeq (,$(filter-out $(TARGET_OSES),$(OS_TARGET)))
37 include $(CORE_DEPTH)/coreconf/$(OS_TARGET).mk
38 else
39 ifeq ($(OS_TARGET),SunOS)
40 include $(CORE_DEPTH)/coreconf/SunOS5.mk
41 else
42 include $(CORE_DEPTH)/coreconf/$(OS_TARGET)$(OS_RELEASE).mk
43 endif
44 endif
46 #######################################################################
47 # [4.0] Master "Core Components" source and release <platform> tags #
48 # (dependent upon <architecture> tags) #
49 #######################################################################
50 PLATFORM = $(OBJDIR_NAME)
52 #######################################################################
53 # [5.0] Master "Core Components" release <tree> tags #
54 # (dependent upon <architecture> tags) #
55 #######################################################################
56 ifndef MK_TREE
57 include $(CORE_DEPTH)/coreconf/tree.mk
58 endif
60 #######################################################################
61 # [6.0] Master "Core Components" source and release <component> tags #
62 # NOTE: A component is also called a module or a subsystem. #
63 # (dependent upon $(MODULE) being defined on the #
64 # command line, as an environment variable, or in individual #
65 # makefiles, or more appropriately, manifest.mn) #
66 #######################################################################
67 ifndef MK_MODULE
68 include $(CORE_DEPTH)/coreconf/module.mk
69 endif
71 #######################################################################
72 # [7.0] Master "Core Components" release <version> tags #
73 # (dependent upon $(MODULE) being defined on the #
74 # command line, as an environment variable, or in individual #
75 # makefiles, or more appropriately, manifest.mn) #
76 #######################################################################
77 ifndef MK_VERSION
78 include $(CORE_DEPTH)/coreconf/version.mk
79 endif
81 #######################################################################
82 # [8.0] Master "Core Components" macros to figure out #
83 # binary code location #
84 # (dependent upon <platform> tags) #
85 #######################################################################
86 ifndef MK_LOCATION
87 include $(CORE_DEPTH)/coreconf/location.mk
88 endif
90 #######################################################################
91 # [9.0] Master "Core Components" <component>-specific source path #
92 # (dependent upon <user_source_tree>, <source_component>, #
93 # <version>, and <platform> tags) #
94 #######################################################################
95 ifndef MK_SOURCE
96 include $(CORE_DEPTH)/coreconf/source.mk
97 endif
99 #######################################################################
100 # [10.0] Master "Core Components" include switch for support header #
101 # files #
102 # (dependent upon <tree>, <component>, <version>, #
103 # and <platform> tags) #
104 #######################################################################
105 ifndef MK_HEADERS
106 include $(CORE_DEPTH)/coreconf/headers.mk
107 endif
109 #######################################################################
110 # [11.0] Master "Core Components" for computing program prefixes #
111 #######################################################################
112 ifndef MK_PREFIX
113 include $(CORE_DEPTH)/coreconf/prefix.mk
114 endif
116 #######################################################################
117 # [12.0] Master "Core Components" for computing program suffixes #
118 # (dependent upon <architecture> tags) #
119 #######################################################################
120 ifndef MK_SUFFIX
121 include $(CORE_DEPTH)/coreconf/suffix.mk
122 endif
124 #######################################################################
125 # [13.0] Master "Core Components" for defining JDK #
126 # (dependent upon <architecture>, <source>, and <suffix> tags)#
127 #######################################################################
128 ifdef NS_USE_JDK
129 include $(CORE_DEPTH)/coreconf/jdk.mk
130 endif
132 #######################################################################
133 # [14.0] Master "Core Components" rule set #
134 #######################################################################
135 ifndef MK_RULESET
136 include $(CORE_DEPTH)/coreconf/ruleset.mk
137 endif
139 #######################################################################
140 # [15.0] Dependencies.
141 #######################################################################
143 -include $(MKDEPENDENCIES)
145 #######################################################################
146 # [16.0] Global environ ment defines
147 #######################################################################
149 ifdef NSS_DISABLE_ECC
150 DEFINES += -DNSS_DISABLE_ECC
151 endif
153 ifdef NSS_ECC_MORE_THAN_SUITE_B
154 DEFINES += -DNSS_ECC_MORE_THAN_SUITE_B
155 endif
157 ifdef NSS_ALLOW_UNSUPPORTED_CRITICAL
158 DEFINES += -DNSS_ALLOW_UNSUPPORTED_CRITICAL
159 endif
161 ifdef BUILD_LIBPKIX_TESTS
162 DEFINES += -DBUILD_LIBPKIX_TESTS
163 endif
165 ifdef NSS_DISABLE_DBM
166 DEFINES += -DNSS_DISABLE_DBM
167 endif
169 ifdef NSS_PKIX_NO_LDAP
170 DEFINES += -DNSS_PKIX_NO_LDAP
171 endif
173 # Avoid building object leak test code for optimized library
174 ifndef BUILD_OPT
175 ifdef PKIX_OBJECT_LEAK_TEST
176 DEFINES += -DPKIX_OBJECT_LEAK_TEST
177 endif
178 endif
180 # This allows all library and tools code to use the util function
181 # implementations directly from libnssutil3, rather than the wrappers
182 # in libnss3 which are present for binary compatibility only
183 DEFINES += -DUSE_UTIL_DIRECTLY
184 USE_UTIL_DIRECTLY = 1
186 # Build with NO_NSPR_10_SUPPORT to avoid using obsolete NSPR features
187 DEFINES += -DNO_NSPR_10_SUPPORT
189 # Hide old, deprecated, TLS cipher suite names when building NSS
190 DEFINES += -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES