diff --git a/Makefile.in b/Makefile.in
index 3291a347697..fbb33ee4fe9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -126,20 +126,6 @@ endif
include $(topsrcdir)/config/rules.mk
-# After we build tier toolkit, go back and build the tools from previous dirs
-tier_toolkit::
- $(MAKE) tools_tier_js
- $(MAKE) tools_tier_xpcom
- $(MAKE) tools_tier_necko
- $(MAKE) tools_tier_gecko
- $(MAKE) tools_tier_toolkit
-
-ifeq (netwerk,$(MOZ_BUILD_APP))
-tier_necko::
- $(EXIT_ON_ERROR) \
- $(foreach tier,$(TIERS),$(MAKE) tools_tier_$(tier); )
-endif
-
distclean::
cat unallmakefiles | $(XARGS) rm -f
rm -f unallmakefiles $(DIST_GARBAGE)
diff --git a/config/rules.mk b/config/rules.mk
index f55be1c66ff..8e6850bf749 100644
--- a/config/rules.mk
+++ b/config/rules.mk
@@ -776,6 +776,7 @@ $(foreach tier,$(TIERS),tier_$(tier))::
$(foreach dir,$($@_staticdirs),$(call SUBMAKE,,$(dir)))
$(MAKE) export_$@
$(MAKE) libs_$@
+ $(MAKE) tools_$@
# Do everything from scratch
everything::
diff --git a/ipc/Makefile.in b/ipc/Makefile.in
index aefa0db8ef3..9d74f4edebf 100644
--- a/ipc/Makefile.in
+++ b/ipc/Makefile.in
@@ -41,10 +41,7 @@ VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
-# NB: chromium/ and glue/ are in tier_xpcom
-
-# tier_gecko:
-DIRS += ipdl
+DIRS += chromium glue ipdl
TOOL_DIRS = app
diff --git a/js/src/config/rules.mk b/js/src/config/rules.mk
index f55be1c66ff..8e6850bf749 100644
--- a/js/src/config/rules.mk
+++ b/js/src/config/rules.mk
@@ -776,6 +776,7 @@ $(foreach tier,$(TIERS),tier_$(tier))::
$(foreach dir,$($@_staticdirs),$(call SUBMAKE,,$(dir)))
$(MAKE) export_$@
$(MAKE) libs_$@
+ $(MAKE) tools_$@
# Do everything from scratch
everything::
diff --git a/netwerk/build.mk b/netwerk/build.mk
deleted file mode 100644
index 1f7932edd29..00000000000
--- a/netwerk/build.mk
+++ /dev/null
@@ -1,83 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Mozilla build system.
-#
-# The Initial Developer of the Original Code is
-# Google Inc.
-# Portions created by the Initial Developer are Copyright (C) 2006
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-# NOTE: We need NSPR and xpcom, but their build.mk may or may not be
-# included yet. Include it if needed.
-
-ifndef tier_nspr_dirs
-include $(topsrcdir)/config/nspr/build.mk
-endif
-
-ifndef tier_xpcom_dirs
-include $(topsrcdir)/xpcom/build.mk
-endif
-
-TIERS += zlib \
- necko \
- $(NULL)
-
-
-ifndef MOZ_NATIVE_ZLIB
-tier_zlib_dirs += modules/zlib
-endif
-
-#
-# tier "necko" - the networking library and its dependencies
-#
-
-# the offline cache uses mozStorage
-ifdef MOZ_STORAGE
-tier_necko_dirs += storage/public
-endif
-
-# these are only in the necko tier because libpref needs it
-
-ifndef WINCE
-ifneq (,$(MOZ_XPINSTALL))
-tier_necko_dirs += modules/libreg
-endif
-endif
-
-tier_necko_dirs += \
- modules/libpref \
- intl \
- netwerk \
- $(NULL)
-
-ifdef MOZ_AUTH_EXTENSION
-tier_necko_dirs += extensions/auth
-endif
-
diff --git a/toolkit/toolkit-tiers.mk b/toolkit/toolkit-tiers.mk
index 7bb43ca0faf..d2bd4e5ce12 100644
--- a/toolkit/toolkit-tiers.mk
+++ b/toolkit/toolkit-tiers.mk
@@ -41,51 +41,71 @@ endif
include $(topsrcdir)/config/nspr/build.mk
include $(topsrcdir)/config/js/build.mk
-include $(topsrcdir)/xpcom/build.mk
-include $(topsrcdir)/netwerk/build.mk
-TIERS += \
- external \
- gecko \
- toolkit \
- $(NULL)
+TIERS += platform
+
+ifdef NS_TRACE_MALLOC
+tier_platform_dirs = tools/trace-malloc/lib
+endif
+
+tier_platform_dirs += xpcom
+
+ifndef MOZ_NATIVE_ZLIB
+tier_platform_dirs += modules/zlib
+endif
+
+ifndef WINCE
+ifneq (,$(MOZ_XPINSTALL))
+tier_platform_dirs += modules/libreg
+endif
+endif
+
+tier_platform_dirs += \
+ modules/libpref \
+ intl \
+ netwerk \
+ $(NULL)
+
+ifdef MOZ_AUTH_EXTENSION
+tier_platform_dirs += extensions/auth
+endif
#
-# tier "external" - 3rd party individual libraries
+# "external" - 3rd party individual libraries
#
ifndef MOZ_NATIVE_JPEG
-tier_external_dirs += jpeg
+tier_platform_dirs += jpeg
endif
# Installer needs standalone libjar, hence standalone zlib
ifdef MOZ_INSTALLER
-tier_external_dirs += modules/zlib/standalone
+tier_platform_dirs += modules/zlib/standalone
endif
ifdef MOZ_UPDATER
ifndef MOZ_NATIVE_BZ2
-tier_external_dirs += modules/libbz2
+tier_platform_dirs += modules/libbz2
endif
-tier_external_dirs += modules/libmar
-tier_external_dirs += other-licenses/bsdiff
+tier_platform_dirs += modules/libmar
+tier_platform_dirs += other-licenses/bsdiff
endif
-tier_external_dirs += gfx/qcms
+tier_platform_dirs += gfx/qcms
ifeq ($(OS_ARCH),WINCE)
-tier_external_dirs += modules/lib7z
+tier_platform_dirs += modules/lib7z
endif
#
-# tier "gecko" - core components
+# "gecko" - core components
#
ifdef MOZ_IPC
-tier_gecko_dirs += ipc
+tier_platform_dirs += ipc
endif
-tier_gecko_dirs += \
+tier_platform_dirs += \
js/src/xpconnect \
js/ctypes \
intl/chardet \
@@ -93,7 +113,7 @@ tier_gecko_dirs += \
ifdef BUILD_CTYPES
ifndef _MSC_VER
-tier_gecko_staticdirs += \
+tier_platform_staticdirs += \
js/ctypes/libffi \
$(NULL)
endif
@@ -101,36 +121,36 @@ endif
ifdef MOZ_ENABLE_GTK2
ifdef MOZ_X11
-tier_gecko_dirs += widget/src/gtkxtbin
+tier_platform_dirs += widget/src/gtkxtbin
endif
endif
-tier_gecko_dirs += \
+tier_platform_dirs += \
modules/libjar \
db \
$(NULL)
ifdef MOZ_PERMISSIONS
-tier_gecko_dirs += \
+tier_platform_dirs += \
extensions/cookie \
extensions/permissions \
$(NULL)
endif
ifdef MOZ_STORAGE
-tier_gecko_dirs += storage
+tier_platform_dirs += storage
endif
ifdef MOZ_RDF
-tier_gecko_dirs += rdf
+tier_platform_dirs += rdf
endif
ifdef MOZ_JSDEBUGGER
-tier_gecko_dirs += js/jsd
+tier_platform_dirs += js/jsd
endif
ifdef MOZ_OGG
-tier_gecko_dirs += \
+tier_platform_dirs += \
media/libfishsound \
media/libogg \
media/liboggplay \
@@ -141,12 +161,12 @@ tier_gecko_dirs += \
endif
ifdef MOZ_SYDNEYAUDIO
-tier_gecko_dirs += \
+tier_platform_dirs += \
media/libsydneyaudio \
$(NULL)
endif
-tier_gecko_dirs += \
+tier_platform_dirs += \
uriloader \
modules/libimg \
caps \
@@ -167,103 +187,96 @@ tier_gecko_dirs += \
$(NULL)
ifdef MOZ_UNIVERSALCHARDET
-tier_gecko_dirs += extensions/universalchardet
+tier_platform_dirs += extensions/universalchardet
endif
ifdef ACCESSIBILITY
-tier_gecko_dirs += accessible
+tier_platform_dirs += accessible
endif
-#
-# tier "toolkit" - xpfe & toolkit
#
-# The division of "gecko" and "toolkit" is somewhat arbitrary, and related
-# to history where "gecko" wasn't forked between seamonkey/firefox but
-# "toolkit" was.
+# "toolkit" - xpfe & toolkit
#
-tier_toolkit_dirs += chrome profile
+tier_platform_dirs += chrome profile
# This must preceed xpfe
ifdef MOZ_JPROF
-tier_toolkit_dirs += tools/jprof
+tier_platform_dirs += tools/jprof
endif
-tier_toolkit_dirs += \
+tier_platform_dirs += \
xpfe \
toolkit/components \
$(NULL)
ifdef MOZ_ENABLE_XREMOTE
-tier_toolkit_dirs += widget/src/xremoteclient
+tier_platform_dirs += widget/src/xremoteclient
endif
ifdef MOZ_SPELLCHECK
-tier_toolkit_dirs += extensions/spellcheck
+tier_platform_dirs += extensions/spellcheck
endif
-tier_toolkit_dirs += toolkit
+tier_platform_dirs += toolkit
ifdef MOZ_XPINSTALL
-tier_toolkit_dirs += xpinstall
+tier_platform_dirs += xpinstall
endif
ifdef MOZ_PSM
-tier_toolkit_dirs += security/manager
+tier_platform_dirs += security/manager
else
-tier_toolkit_dirs += security/manager/boot/public security/manager/ssl/public
+tier_platform_dirs += security/manager/boot/public security/manager/ssl/public
endif
ifdef MOZ_PREF_EXTENSIONS
-tier_toolkit_dirs += extensions/pref
+tier_platform_dirs += extensions/pref
endif
# JavaXPCOM JNI code is compiled into libXUL
ifdef MOZ_JAVAXPCOM
-tier_toolkit_dirs += extensions/java/xpcom/src
+tier_platform_dirs += extensions/java/xpcom/src
endif
ifndef BUILD_STATIC_LIBS
ifneq (,$(MOZ_ENABLE_GTK2))
-tier_toolkit_dirs += embedding/browser/gtk
+tier_platform_dirs += embedding/browser/gtk
endif
endif
ifndef BUILD_STATIC_LIBS
-tier_toolkit_dirs += toolkit/library
+tier_platform_dirs += toolkit/library
endif
ifdef MOZ_ENABLE_LIBXUL
-tier_toolkit_dirs += xpcom/stub
+tier_platform_dirs += xpcom/stub
endif
ifdef NS_TRACE_MALLOC
-tier_toolkit_dirs += tools/trace-malloc
+tier_platform_dirs += tools/trace-malloc
endif
ifdef MOZ_ENABLE_GNOME_COMPONENT
-tier_toolkit_dirs += toolkit/system/gnome
+tier_platform_dirs += toolkit/system/gnome
endif
ifndef MOZ_ENABLE_LIBCONIC
# if libconic is present, it will do its own network monitoring
ifdef MOZ_ENABLE_DBUS
-tier_toolkit_dirs += toolkit/system/dbus
+tier_platform_dirs += toolkit/system/dbus
endif
endif
ifdef MOZ_LEAKY
-tier_toolkit_dirs += tools/leaky
+tier_platform_dirs += tools/leaky
endif
ifdef MOZ_MAPINFO
-tier_toolkit_dirs += tools/codesighs
+tier_platform_dirs += tools/codesighs
endif
ifdef ENABLE_TESTS
-tier_toolkit_dirs += testing/mochitest
+tier_platform_dirs += testing/mochitest
endif
-ifdef MOZ_TREE_FREETYPE
-tier_external_dirs += modules/freetype2
-endif
diff --git a/xpcom/build.mk b/xpcom/build.mk
deleted file mode 100644
index f5c70fe888a..00000000000
--- a/xpcom/build.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is the Mozilla build system.
-#
-# The Initial Developer of the Original Code is
-# the Mozilla Foundation .
-# Portions created by the Initial Developer are Copyright (C) 2006
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-# Benjamin Smedberg (Initial Code)
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-TIERS += xpcom
-
-ifdef NS_TRACE_MALLOC
-tier_xpcom_dirs = tools/trace-malloc/lib
-endif
-
-tier_xpcom_dirs += xpcom
-
-ifdef MOZ_IPC
-tier_xpcom_dirs += ipc/chromium ipc/glue
-endif