--- 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/.
+