Bumping manifests a=b2g-bump
[gecko.git] / config / baseconfig.mk
blob47560e352fa24aebb7a1fa999babcb602287f346
1 # This file is normally included by autoconf.mk, but it is also used
2 # directly in python/mozbuild/mozbuild/base.py for gmake validation.
3 # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
4 # whether a normal build is happening or whether the check is running.
5 includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
6 idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
7 installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
8 sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
9 ifndef TOP_DIST
10 TOP_DIST = dist
11 endif
12 ifneq (,$(filter /%,$(TOP_DIST)))
13 DIST = $(TOP_DIST)
14 else
15 ifeq (.,$(DEPTH))
16 DIST = $(TOP_DIST)
17 else
18 DIST = $(DEPTH)/$(TOP_DIST)
19 endif
20 endif
22 # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
23 # manually use it before config.mk inclusion
24 _OBJ_SUFFIX := $(OBJ_SUFFIX)
25 OBJ_SUFFIX = $(error config/config.mk needs to be included before using OBJ_SUFFIX)
27 ifeq ($(HOST_OS_ARCH),WINNT)
28 # We only support building with a non-msys gnu make version
29 # strictly above 4.0.
30 ifdef .PYMAKE
31 $(error Pymake is no longer supported. Please upgrade to MozillaBuild 1.9 or newer and build with 'mach' or 'mozmake')
32 endif
34 ifeq (a,$(firstword a$(subst /, ,$(abspath .))))
35 $(error MSYS make is not supported)
36 endif
37 # 4.0- happens to be greater than 4.0, lower than the mozmake version,
38 # and lower than 4.0.1 or 4.1, whatever next version of gnu make will
39 # be released.
40 ifneq (4.0-,$(firstword $(sort 4.0- $(MAKE_VERSION))))
41 $(error Make version too old. Only versions strictly greater than 4.0 are supported.)
42 endif
44 ifdef INCLUDED_AUTOCONF_MK
45 ifeq (a,$(firstword a$(subst /, ,$(srcdir))))
46 $(error MSYS-style srcdir are not supported for Windows builds.)
47 endif
48 endif
49 endif # WINNT
51 include_deps = $(eval $(if $(2),,-)include $(1))
53 ifndef INCLUDED_AUTOCONF_MK
54 default::
55 else
57 # Integrate with mozbuild-generated make files. We first verify that no
58 # variables provided by the automatically generated .mk files are
59 # present. If they are, this is a violation of the separation of
60 # responsibility between Makefile.in and mozbuild files.
61 _MOZBUILD_EXTERNAL_VARIABLES := \
62 ANDROID_GENERATED_RESFILES \
63 ANDROID_RES_DIRS \
64 CMSRCS \
65 CMMSRCS \
66 CPP_UNIT_TESTS \
67 DIRS \
68 EXTRA_DSO_LDOPTS \
69 EXTRA_JS_MODULES \
70 EXTRA_PP_COMPONENTS \
71 EXTRA_PP_JS_MODULES \
72 FORCE_SHARED_LIB \
73 FORCE_STATIC_LIB \
74 FINAL_LIBRARY \
75 HOST_CSRCS \
76 HOST_CMMSRCS \
77 HOST_EXTRA_LIBS \
78 HOST_LIBRARY_NAME \
79 HOST_PROGRAM \
80 HOST_SIMPLE_PROGRAMS \
81 IS_COMPONENT \
82 JAR_MANIFEST \
83 JAVA_JAR_TARGETS \
84 LD_VERSION_SCRIPT \
85 LIBRARY_NAME \
86 LIBS \
87 MAKE_FRAMEWORK \
88 MODULE \
89 MSVC_ENABLE_PGO \
90 NO_DIST_INSTALL \
91 OS_LIBS \
92 PARALLEL_DIRS \
93 PROGRAM \
94 PYTHON_UNIT_TESTS \
95 RESOURCE_FILES \
96 SDK_HEADERS \
97 SDK_LIBRARY \
98 SHARED_LIBRARY_LIBS \
99 SHARED_LIBRARY_NAME \
100 SIMPLE_PROGRAMS \
101 SONAME \
102 STATIC_LIBRARY_NAME \
103 TEST_DIRS \
104 TIERS \
105 TOOL_DIRS \
106 XPCSHELL_TESTS \
107 XPIDL_MODULE \
108 $(NULL)
110 _DEPRECATED_VARIABLES := \
111 ANDROID_RESFILES \
112 EXPORT_LIBRARY \
113 EXTRA_LIBS \
114 HOST_LIBS \
115 LIBXUL_LIBRARY \
116 MOCHITEST_A11Y_FILES \
117 MOCHITEST_BROWSER_FILES \
118 MOCHITEST_BROWSER_FILES_PARTS \
119 MOCHITEST_CHROME_FILES \
120 MOCHITEST_FILES \
121 MOCHITEST_FILES_PARTS \
122 MOCHITEST_METRO_FILES \
123 MOCHITEST_ROBOCOP_FILES \
124 SHORT_LIBNAME \
125 TESTING_JS_MODULES \
126 TESTING_JS_MODULE_DIR \
127 $(NULL)
129 # Freeze the values specified by moz.build to catch them if they fail.
131 $(foreach var,$(_MOZBUILD_EXTERNAL_VARIABLES) $(_DEPRECATED_VARIABLES),$(eval $(var)_FROZEN := '$($(var))'))
133 endif