Bug 528250 - Unify all the intermediate tiers (xpcom/necko/external/gecko/toolkit) into one tier_platform, r=ted sr=vlad
authorBenjamin Smedberg <benjamin@smedbergs.us>
Thu, 12 Nov 2009 14:37:34 -0500
changeset 38822 b7b5c61b1af8c2d2beea507ebc943b59c70e13d3
parent 38821 cdc530fc500eee1dcad367634e6634039f22524b
child 38823 a9452916c0b6821db9fe6550fff16e5523d6b20c
push id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersted, vlad
bugs528250
milestone1.9.3a3pre
Bug 528250 - Unify all the intermediate tiers (xpcom/necko/external/gecko/toolkit) into one tier_platform, r=ted sr=vlad
Makefile.in
config/rules.mk
ipc/Makefile.in
js/src/config/rules.mk
netwerk/build.mk
toolkit/toolkit-tiers.mk
xpcom/build.mk
--- a/Makefile.in
+++ b/Makefile.in
@@ -121,30 +121,16 @@ ifdef ENABLE_TESTS
 include $(topsrcdir)/testing/testsuite-targets.mk
 else
 # OS X Universal builds will want to call this, so stub it out
 package-tests:
 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)
 
 ifeq ($(OS_ARCH),WINNT)
 # we want to copy PDB files on Windows
 MAKE_SYM_STORE_ARGS := -c
 ifdef PDBSTR_PATH
--- a/config/rules.mk
+++ b/config/rules.mk
@@ -771,16 +771,17 @@ tools_tier_%:
 	@$(MAKE_TIER_SUBMAKEFILES)
 	$(foreach dir,$(tier_$*_dirs),$(call SUBMAKE,tools,$(dir)))
 
 $(foreach tier,$(TIERS),tier_$(tier))::
 	@$(ECHO) "$@: $($@_staticdirs) $($@_dirs)"
 	$(foreach dir,$($@_staticdirs),$(call SUBMAKE,,$(dir)))
 	$(MAKE) export_$@
 	$(MAKE) libs_$@
+	$(MAKE) tools_$@
 
 # Do everything from scratch
 everything::
 	$(MAKE) clean
 	$(MAKE) alldep
 
 # Add dummy depend target for tinderboxes
 depend::
--- a/ipc/Makefile.in
+++ b/ipc/Makefile.in
@@ -36,16 +36,13 @@
 
 DEPTH = ..
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 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
 
 include $(topsrcdir)/config/rules.mk
--- a/js/src/config/rules.mk
+++ b/js/src/config/rules.mk
@@ -771,16 +771,17 @@ tools_tier_%:
 	@$(MAKE_TIER_SUBMAKEFILES)
 	$(foreach dir,$(tier_$*_dirs),$(call SUBMAKE,tools,$(dir)))
 
 $(foreach tier,$(TIERS),tier_$(tier))::
 	@$(ECHO) "$@: $($@_staticdirs) $($@_dirs)"
 	$(foreach dir,$($@_staticdirs),$(call SUBMAKE,,$(dir)))
 	$(MAKE) export_$@
 	$(MAKE) libs_$@
+	$(MAKE) tools_$@
 
 # Do everything from scratch
 everything::
 	$(MAKE) clean
 	$(MAKE) alldep
 
 # Add dummy depend target for tinderboxes
 depend::
deleted file mode 100644
--- 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
-
--- a/toolkit/toolkit-tiers.mk
+++ b/toolkit/toolkit-tiers.mk
@@ -36,122 +36,142 @@
 # ***** END LICENSE BLOCK *****
 
 ifdef LIBXUL_SDK
 $(error toolkit-tiers.mk is not compatible with --enable-libxul-sdk=)
 endif
 
 include $(topsrcdir)/config/nspr/build.mk
 include $(topsrcdir)/config/js/build.mk
-include $(topsrcdir)/xpcom/build.mk
-include $(topsrcdir)/netwerk/build.mk
+
+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
 
-TIERS += \
-	external \
-	gecko \
-	toolkit \
-	$(NULL)
+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 \
 		$(NULL)
 
 ifdef BUILD_CTYPES
 ifndef _MSC_VER
-tier_gecko_staticdirs += \
+tier_platform_staticdirs += \
 		js/ctypes/libffi \
 		$(NULL)
 endif
 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 \
 		media/liboggz \
 		media/libtheora \
 		media/libvorbis \
 		$(NULL)
 endif
 
 ifdef MOZ_SYDNEYAUDIO
-tier_gecko_dirs += \
+tier_platform_dirs += \
 		media/libsydneyaudio \
 		$(NULL)
 endif
 
-tier_gecko_dirs	+= \
+tier_platform_dirs	+= \
 		uriloader \
 		modules/libimg \
 		caps \
 		parser \
 		gfx \
 		modules/libpr0n \
 		modules/plugin \
 		dom \
@@ -162,108 +182,101 @@ tier_gecko_dirs	+= \
 		layout \
 		docshell \
 		webshell \
 		embedding \
 		xpfe/appshell \
 		$(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
deleted file mode 100644
--- 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 <http://www.mozilla.org/>.
-# Portions created by the Initial Developer are Copyright (C) 2006
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#   Benjamin Smedberg <benjamin@smedbergs.us> (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