Bug 784841 - Part 18e: Convert /build, /config, and core build system; r=ted
authorGregory Szorc <gps@mozilla.com>
Mon, 25 Feb 2013 12:47:18 -0800
changeset 123663 7fc68ba4fe8012771dc3295d7d6366ccf911793c
parent 123662 3fc89f2888fe975cc617c836c79073fa352e96aa
child 123664 56b6ff7d20ec103cb9d4e27c179f5ba48e84c8cd
push id270
push userpvanderbeken@mozilla.com
push dateThu, 06 Mar 2014 09:24:21 +0000
reviewersted
bugs784841
milestone22.0a1
Bug 784841 - Part 18e: Convert /build, /config, and core build system; r=ted
Makefile.in
build/Makefile.in
build/mobile/robocop/moz.build
build/mobile/sutagent/android/fencp/moz.build
build/mobile/sutagent/android/ffxcp/moz.build
build/mobile/sutagent/android/moz.build
build/mobile/sutagent/android/watcher/moz.build
build/moz.build
build/package/moz.build
build/pgo/Makefile.in
build/pgo/blueprint/moz.build
build/pgo/js-input/moz.build
build/pgo/moz.build
build/stlport/moz.build
build/unix/Makefile.in
build/unix/elfhack/moz.build
build/unix/moz.build
build/unix/stdc++compat/moz.build
build/unix/test/moz.build
build/win32/Makefile.in
build/win32/crashinjectdll/moz.build
build/win32/moz.build
build/win32/vmwarerecordinghelper/moz.build
config/js/build.mk
config/js/js.mozbuild
config/makefiles/test/Makefile.in
config/makefiles/test/moz.build
config/moz.build
config/nspr/moz.build
config/tests/makefiles/autodeps/Makefile.in
config/tests/makefiles/autodeps/moz.build
config/tests/src-simple/Makefile.in
config/tests/src-simple/moz.build
js/src/config/check-sync-exceptions
moz.build
python/moz.build
--- a/Makefile.in
+++ b/Makefile.in
@@ -16,53 +16,16 @@ ifeq (,$(filter-out 3.78 3.79,$(MAKE_VER
 $(error GNU Make 3.80 or higher is required)
 endif
 endif
 
 include $(DEPTH)/config/autoconf.mk
 
 default::
 
-TIERS += base
-
-#
-# tier "base" - basic setup
-#
-tier_base_dirs = \
-  config \
-  build \
-  probes \
-  mfbt \
-  python \
-  $(NULL)
-
-ifndef LIBXUL_SDK
-ifeq (android,$(MOZ_WIDGET_TOOLKIT))
-tier_base_dirs += \
-  other-licenses/android \
-  $(NULL)
-endif
-ifeq (gonk,$(MOZ_WIDGET_TOOLKIT))
-tier_base_dirs += \
-  other-licenses/android \
-  $(NULL)
-endif
-
-ifdef MOZ_MEMORY
-tier_base_dirs += memory
-endif
-ifndef MOZ_NATIVE_ZLIB
-tier_base_dirs += modules/zlib
-endif
-tier_base_dirs += \
-  mozglue \
-  memory/mozalloc \
-  $(NULL)
-endif
-
 ifdef COMPILE_ENVIRONMENT
 include $(topsrcdir)/$(MOZ_BUILD_APP)/build.mk
 endif
 
 
 include $(topsrcdir)/config/config.mk
 
 GARBAGE_DIRS += dist _javagen _profile _tests staticlib
--- a/build/Makefile.in
+++ b/build/Makefile.in
@@ -9,39 +9,16 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 USE_RCS_MK := 1
 include $(topsrcdir)/config/makefiles/makeutils.mk
 
 MODULE = build
 
-ifeq (,$(filter WINNT OS2,$(OS_ARCH)))
-DIRS		= unix
-endif
-
-ifeq (WINNT,$(OS_ARCH))
-DIRS = win32
-endif
-
-ifdef STLPORT_SOURCES
-DIRS += stlport
-endif
-
-DIRS += pgo
-
-ifeq (android,$(MOZ_WIDGET_TOOLKIT))
-TEST_DIRS += mobile/sutagent/android \
-          mobile/sutagent/android/watcher \
-          mobile/sutagent/android/ffxcp \
-          mobile/sutagent/android/fencp \
-          mobile/robocop \
-          $(NULL)
-endif
-
 ifdef MOZ_APP_BASENAME
 DIST_FILES = $(srcdir)/application.ini
 
 ifneq (android,$(MOZ_WIDGET_TOOLKIT))
 ifdef MOZ_UPDATER
 DIST_FILES += update-settings.ini
 endif
 endif
new file mode 100644
--- /dev/null
+++ b/build/mobile/robocop/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/build/mobile/sutagent/android/fencp/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/build/mobile/sutagent/android/ffxcp/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/build/mobile/sutagent/android/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/build/mobile/sutagent/android/watcher/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/build/moz.build
@@ -0,0 +1,24 @@
+# vim: set filetype=python:
+# 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/.
+
+if CONFIG['OS_ARCH'] not in ('WINNT', 'OS2'):
+    DIRS += ['unix']
+elif CONFIG['OS_ARCH'] == 'WINNT':
+    DIRS += ['win32']
+
+if CONFIG['STLPORT_SOURCES']:
+    DIRS += ['stlport']
+
+DIRS += ['pgo']
+
+if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
+    TEST_DIRS += [
+        'mobile/sutagent/android',
+        'mobile/sutagent/android/watcher',
+        'mobile/sutagent/android/ffxcp',
+        'mobile/sutagent/android/fencp',
+        'mobile/robocop',
+    ]
+
new file mode 100644
--- /dev/null
+++ b/build/package/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
--- a/build/pgo/Makefile.in
+++ b/build/pgo/Makefile.in
@@ -6,21 +6,16 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 relativesrcdir = @relativesrcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-DIRS = \
-  blueprint \
-  js-input \
-  $(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
 # We install to _profile/pgo
 TARGET_DEPTH = ../..
 include $(topsrcdir)/build/automation-build.mk
 
 # Need to override the browser_path from binary-location.mk (included via automation-build.mk)
 # since we want to run from e.g. dist/firefox rather than dist/bin
new file mode 100644
--- /dev/null
+++ b/build/pgo/blueprint/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/build/pgo/js-input/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/build/pgo/moz.build
@@ -0,0 +1,6 @@
+# vim: set filetype=python:
+# 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/.
+
+DIRS += ['blueprint', 'js-input']
new file mode 100644
--- /dev/null
+++ b/build/stlport/moz.build
@@ -0,0 +1,7 @@
+# vim: set filetype=python:
+# 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/.
+
+CONFIGURE_SUBST_FILES += ['stl/config/_android.h']
+
--- a/build/unix/Makefile.in
+++ b/build/unix/Makefile.in
@@ -8,26 +8,16 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE       = build
 
-ifdef STDCXX_COMPAT
-DIRS += stdc++compat
-endif
-
-ifdef USE_ELF_HACK
-DIRS += elfhack
-endif
-
-TEST_DIRS = test
-
 SDK_BINARY = run-mozilla.sh
 
 include $(topsrcdir)/config/rules.mk
 
 libs:: $(srcdir)/run-mozilla.sh
 	$(INSTALL) $< $(DIST)/bin
 
 # EOF
new file mode 100644
--- /dev/null
+++ b/build/unix/elfhack/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/build/unix/moz.build
@@ -0,0 +1,13 @@
+# vim: set filetype=python:
+# 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/.
+
+if CONFIG['STDCXX_COMPAT']:
+    DIRS += ['stdc++compat']
+
+if CONFIG['USE_ELF_HACK']:
+    DIRS += ['elfhack']
+
+TEST_DIRS += ['test']
+
new file mode 100644
--- /dev/null
+++ b/build/unix/stdc++compat/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/build/unix/test/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
--- a/build/win32/Makefile.in
+++ b/build/win32/Makefile.in
@@ -6,26 +6,16 @@ DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 NO_PROFILE_GUIDED_OPTIMIZE = 1
 
-ifdef _MSC_VER
-ifneq ($(OS_TEST),x86_64)
-TEST_DIRS += vmwarerecordinghelper
-endif
-endif
-
-TEST_DIRS += \
-  crashinjectdll \
-  $(NULL)
-
 ifdef ENABLE_TESTS
 
 PROGRAM = crashinject$(BIN_SUFFIX)
 USE_STATIC_LIBS = 1
 CPPSRCS = crashinject.cpp
 
 endif # ENABLE_TESTS
 
new file mode 100644
--- /dev/null
+++ b/build/win32/crashinjectdll/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/build/win32/moz.build
@@ -0,0 +1,10 @@
+# vim: set filetype=python:
+# 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/.
+
+if CONFIG['_MSC_VER'] and CONFIG['OS_TEST'] != 'x86_64':
+    TEST_DIRS += ['vmwarerecordinghelper']
+
+TEST_DIRS += ['crashinjectdll']
+
new file mode 100644
--- /dev/null
+++ b/build/win32/vmwarerecordinghelper/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
deleted file mode 100644
--- a/config/js/build.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-# 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/.
-
-TIERS += js
-tier_js_dirs = js/src
new file mode 100644
--- /dev/null
+++ b/config/js/js.mozbuild
@@ -0,0 +1,7 @@
+# vim: set filetype=python:
+# 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/.
+
+add_tier_dir('js', 'js/src', static=True)
+
--- a/config/makefiles/test/Makefile.in
+++ b/config/makefiles/test/Makefile.in
@@ -6,16 +6,17 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+STANDALONE_MAKEFILE := 1
 USE_AUTOTARGETS_MK  = 1
 MAKEUTILS_UNIT_TEST = 1
 include $(topsrcdir)/config/makefiles/makeutils.mk
 
 dir-ts = .deps/test
 check-arglist        = $(dir-ts)/arglist.ts
 check-autotargets    = $(dir-ts)/autotargets_mk.ts
 check-export-targets = $(dir-ts)/export-targets-mk.ts
new file mode 100644
--- /dev/null
+++ b/config/makefiles/test/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/config/moz.build
@@ -0,0 +1,13 @@
+# vim: set filetype=python:
+# 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/.
+
+CONFIGURE_SUBST_FILES += [
+    'autoconf.mk',
+    'doxygen.cfg',
+    'makefiles/test/Makefile',
+    'tests/makefiles/autodeps/Makefile',
+    'tests/src-simple/Makefile',
+]
+
new file mode 100644
--- /dev/null
+++ b/config/nspr/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
--- a/config/tests/makefiles/autodeps/Makefile.in
+++ b/config/tests/makefiles/autodeps/Makefile.in
@@ -1,15 +1,16 @@
 # -*- 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/.
 #
 
+export STANDALONE_MAKEFILE=1
 PYTHON ?= python
 PYTEST = $(PYTHON) -E
 
 # python -B not supported by older interpreters
 export PYTHONDONTWRITEBYTECODE=1
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
new file mode 100644
--- /dev/null
+++ b/config/tests/makefiles/autodeps/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
--- a/config/tests/src-simple/Makefile.in
+++ b/config/tests/src-simple/Makefile.in
@@ -8,16 +8,18 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 LOCALE_SRCDIR = $(srcdir)/l10n
 
 include $(DEPTH)/config/autoconf.mk
 
 include $(topsrcdir)/config/config.mk
 
+STANDALONE_MAKEFILE := 1
+
 XPI_NAME = test_jar_mn
 
 DEFINES += \
 	-DAB_CD=ab-X-stuff \
 	$(NULL)
 
 MY_MANIFEST = $(if $(USE_EXTENSION_MANIFEST), $(FINAL_TARGET)/chrome.manifest, $(FINAL_TARGET)/chrome/test.manifest)
 REF_MANIFEST = $(if $(USE_EXTENSION_MANIFEST),chrome.manifest,test.manifest)
new file mode 100644
--- /dev/null
+++ b/config/tests/src-simple/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+
--- a/js/src/config/check-sync-exceptions
+++ b/js/src/config/check-sync-exceptions
@@ -4,16 +4,17 @@ autoconf.mk.in
 autoconf.mk
 baseconfig.mk
 check-sync-dirs.py
 static-checking-config.mk
 nsinstall
 nsinstall.exe
 host_nsinstall.o
 host_pathsub.o
+moz.build
 
 # This is a copy of nspr's config/make-system-wrappers.pl.
 make-system-wrappers.pl
 system_wrappers_js
 
 # Ignore detritus left lying around by editing tools.
 *~
 .#*
new file mode 100644
--- /dev/null
+++ b/moz.build
@@ -0,0 +1,23 @@
+# vim: set filetype=python:
+# 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/.
+
+add_tier_dir('base', ['config', 'build', 'probes', 'mfbt', 'python'])
+
+if not CONFIG['LIBXUL_SDK']:
+    if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gonk'):
+        add_tier_dir('base', ['other-licenses/android'])
+
+    if CONFIG['MOZ_MEMORY']:
+        add_tier_dir('base', ['memory'])
+
+    if not CONFIG['MOZ_NATIVE_ZLIB']:
+        add_tier_dir('base', ['modules/zlib'])
+
+    add_tier_dir('base', ['mozglue', 'memory/mozalloc'])
+
+# Bring in the configuration for the configured application.
+if CONFIG['COMPILE_ENVIRONMENT']:
+    include('/' + CONFIG['MOZ_BUILD_APP'] + '/app.mozbuild')
+
new file mode 100644
--- /dev/null
+++ b/python/moz.build
@@ -0,0 +1,5 @@
+# vim: set filetype=python:
+# 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/.
+