Bug 1035599: Merge the mozilla-central and comm-central objdir, r=Standard8, a=me for CLOSED TREE
authorJoshua Cranmer <Pidgeot18@gmail.com>
Mon, 25 Nov 2013 17:03:48 -0600
changeset 16440 949e0465b1c39f629dc4e2ecb1d9cf607432d0c3
parent 16439 1c0a95ffa495895fbfe341148658f1230e3f57da
child 16441 53be54f7311aea3967ef936b2feeaf3106ce9f9a
push id1234
push usermbanner@mozilla.com
push dateMon, 13 Oct 2014 17:59:18 +0000
treeherdercomm-esr52@b5a0add9fb18 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersStandard8, me
bugs1035599
Bug 1035599: Merge the mozilla-central and comm-central objdir, r=Standard8, a=me for CLOSED TREE This change merges mozilla-central and comm-central into having a single topobjdir file but retaining two topsrcdirs (and two build systems). This state is hopefully only the first part of a series of changes that eliminate the comm-central build system partial clone completely. In other words: $(DEPTH) has accessible, addon-sdk, ..., mail, mailnews $(topsrcdir) has mail, mailnews, ..., mozilla
Makefile.in
bridge/bridge.mozbuild
calendar/lightning/build/universal.mk
config/baseconfig.mk
config/config.mk
configure.in
im/app.mozbuild
im/build.mk
im/locales/Makefile.in
mail/app.mozbuild
mail/build.mk
mail/configure.in
mail/locales/Makefile.in
mail/testsuite-targets.mk
mailnews/mailnews.mozbuild
suite/app.mozbuild
suite/build.mk
suite/configure.in
suite/locales/Makefile.in
--- a/Makefile.in
+++ b/Makefile.in
@@ -36,16 +36,18 @@ libs binaries export tools:: $(topsrcdir
 
 config.status: $(topsrcdir)/configure
 	@echo 'STOP!  configure has changed and needs to be run in this build directory.'
 	@echo 'Please rerun configure.'
 	@echo 'To ignore this message, touch "config.status" in the build directory.'
 	@exit 1
 
 default export libs clean realclean distclean alldep \
+package installer package-compare stage-package install source-package \
+upload source-upload hg-bundle l10n-check \
 maybe_clobber_profiledbuild uploadsymbols all:: $(SUBMAKEFILES)
 	$(MAKE) -C mozilla $@
 
 ifdef ENABLE_TESTS
 check mochitest reftest crashtest xpcshell-tests:: $(SUBMAKEFILES)
 	$(MAKE) -C mozilla $@
 
 mochitest-% :: $(SUBMAKEFILES)
@@ -54,21 +56,19 @@ mochitest-% :: $(SUBMAKEFILES)
 check-sync-dirs::
 	@$(PYTHON) $(topsrcdir)/mail/check-sync-dirs.py \
 	   $(topsrcdir)/build $(topsrcdir)/mozilla/build
 	@$(PYTHON) $(topsrcdir)/mail/check-sync-dirs.py \
 	   $(topsrcdir)/config/makefiles $(topsrcdir)/mozilla/config/makefiles
 
 check:: check-sync-dirs
 
-ifndef MOZ_THUNDERBIRD
 package-tests:: $(SUBMAKEFILES)
 	$(MAKE) -C mozilla $@
 endif
-endif
 
 # http://bugzilla.mozilla.org/show_bug.cgi?id=450485
 MAKE_SYM_STORE_PATH=dist/bin
 ifeq ($(OS_ARCH),Darwin)
 ifdef UNIVERSAL_BINARY
   MAKE_SYM_STORE_PATH=dist/universal
 endif
 endif
--- a/calendar/lightning/build/universal.mk
+++ b/calendar/lightning/build/universal.mk
@@ -1,17 +1,17 @@
 # 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/.
 
 ifndef OBJDIR
 OBJDIR_ARCH_1 = $(MOZ_OBJDIR)/$(firstword $(MOZ_BUILD_PROJECTS))
 OBJDIR_ARCH_2 = $(MOZ_OBJDIR)/$(word 2,$(MOZ_BUILD_PROJECTS))
-DIST_ARCH_1 = $(OBJDIR_ARCH_1)/mozilla/dist
-DIST_ARCH_2 = $(OBJDIR_ARCH_2)/mozilla/dist
+DIST_ARCH_1 = $(OBJDIR_ARCH_1)/dist
+DIST_ARCH_2 = $(OBJDIR_ARCH_2)/dist
 DIST_UNI = $(DIST_ARCH_1)/universal
 OBJDIR = $(OBJDIR_ARCH_1)
 endif
 
 topsrcdir = $(TOPSRCDIR)
 DEPTH = $(OBJDIR)
 
 include $(DEPTH)/config/autoconf.mk
--- a/config/baseconfig.mk
+++ b/config/baseconfig.mk
@@ -2,17 +2,17 @@
 # directly in python/mozbuild/mozbuild/base.py for gmake validation.
 # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
 # whether a normal build is happening or whether the check is running.
 includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
 idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
 installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
 sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
 MOZILLA_SRCDIR = $(topsrcdir)/mozilla
-MOZDEPTH = $(DEPTH)/mozilla
+MOZDEPTH = $(DEPTH)
 DIST = $(MOZDEPTH)/dist
 
 # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
 # manually use it before config.mk inclusion
 _OBJ_SUFFIX := $(OBJ_SUFFIX)
 OBJ_SUFFIX = $(error config/config.mk needs to be included before using OBJ_SUFFIX)
 
 ifeq ($(HOST_OS_ARCH),WINNT)
--- a/config/config.mk
+++ b/config/config.mk
@@ -181,17 +181,17 @@ VERSION_NUMBER		= 50
 ifeq ($(HOST_OS_ARCH),WINNT)
 win_srcdir      := $(subst $(topsrcdir),$(WIN_TOP_SRC),$(srcdir))
 BUILD_TOOLS     = $(WIN_TOP_SRC)/mozilla/build/unix
 else
 win_srcdir      := $(srcdir)
 BUILD_TOOLS     = $(MOZILLA_SRCDIR)/build/unix
 endif
 
-CONFIG_TOOLS	= $(MOZ_BUILD_ROOT)/mozilla/config
+CONFIG_TOOLS	= $(MOZ_BUILD_ROOT)/config
 AUTOCONF_TOOLS	= $(MOZILLA_SRCDIR)/build/autoconf
 
 #
 # Strip off the excessively long version numbers on these platforms,
 # but save the version to allow multiple versions of the same base
 # platform to be built in the same tree.
 #
 ifneq (,$(filter FreeBSD HP-UX Linux NetBSD OpenBSD SunOS,$(OS_ARCH)))
--- a/configure.in
+++ b/configure.in
@@ -255,17 +255,17 @@ external_topsrcdir=$_topsrcdir
 
 if test "$msyshost"; then
     external_topsrcdir=`cd $_topsrcdir && pwd -W $_topsrcdir`
 fi
 
 # --enable-application needs to find confvars.sh, build.mk, etc in the gived dir, so add ../
 # --external-source-dir is so the build system doesn't reject files outside known locations.
 # --disable-official-branding disables all checks for official branding, as we're doing this ourselves in our own repo
-ac_configure_args="$_SUBDIR_CONFIG_ARGS --enable-application=../$MOZ_BUILD_APP --with-external-source-dir=$external_topsrcdir --disable-official-branding --with-branding=../$REAL_BRANDING_DIRECTORY"
+ac_configure_args="$_SUBDIR_CONFIG_ARGS --enable-application=../$MOZ_BUILD_APP --with-external-source-dir=$external_topsrcdir --disable-official-branding --with-branding=$REAL_BRANDING_DIRECTORY"
 if test -n "$L10NBASEDIR"; then
     dnl Override the initial value with the new one which is guaranteed to be an absolute path.
     ac_configure_args="$ac_configure_args --with-l10n-base=$L10NBASEDIR"
 fi
 
 # for Mac universal builds, we need to call the Mozilla configure with MOZ_BUILD_APP=[i386|x86_64]
 MOZ_BUILD_APP_CACHED="$MOZ_BUILD_APP"
 if test -n "$MOZ_CURRENT_PROJECT"; then
--- a/im/app.mozbuild
+++ b/im/app.mozbuild
@@ -2,15 +2,15 @@
 # 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 not CONFIG['LIBXUL_SDK']:
     include('/toolkit/toolkit.mozbuild')
 
 add_tier_dir('app', CONFIG['MOZ_BRANDING_DIRECTORY'])
 
-add_tier_dir('app', '../chat')
+add_tier_dir('app', 'chat')
 
 # Ensure extensions are built after chat/ so purplexpcom can build.
 if CONFIG['MOZ_EXTENSIONS']:
     add_tier_dir('app', 'extensions')
 
-add_tier_dir('app', '../im')
+add_tier_dir('app', 'im')
--- a/im/build.mk
+++ b/im/build.mk
@@ -1,18 +1,15 @@
 # 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/.
 
-ifdef COMM_BUILD
+ifndef COMM_BUILD
 
-ifndef MOZILLA_DIR
-MOZILLA_DIR = $(MOZILLA_SRCDIR)
-endif
-include $(MOZILLA_SRCDIR)/toolkit/mozapps/installer/package-name.mk
+include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk
 
 BUILD_YEAR := $(shell echo $(BUILDID) | cut -c 1-4)
 BUILD_MONTH := $(shell echo $(BUILDID) | cut -c 5-6)
 BUILD_DAY := $(shell echo $(BUILDID) | cut -c 7-8)
 BUILD_HOUR := $(shell echo $(BUILDID) | cut -c 9-10)
 
 ifndef PKG_SUFFIX
 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
@@ -94,17 +91,17 @@ ifdef LIST_PREVIOUS_MAR_CMD
 	touch $(PATCH_FILE)
 	$(foreach marline,$(shell $(LIST_PREVIOUS_MAR_CMD)),\
 	  $(foreach MAR_FILE_SRC,$(shell echo $(marline) |cut -d : -f 3),\
 	    $(foreach AB_CD,$(filter $(shell echo $(marline) |cut -d : -f 2),$(AB_CD) $(SHIPPED_LOCALES)),\
 	      $(foreach buildid,$(shell echo $(marline) |cut -d : -f 1),\
 		mkdir -p $(PREVIOUS_MAR_DIR)/$(buildid) ; \
 	        $(DOWNLOAD_MAR_CMD) ; \
 		echo "$(MAR_FILE_DEST),$(DIST)/$(COMPLETE_MAR),$(DIST)/$(PKG_UPDATE_PATH)$(PKG_UPDATE_BASENAME).partial.from-$(buildid).mar,$(FORCE_UPDATE)" >> $(PATCH_FILE) ;))))
-	PATH="$(realpath $(LIBXUL_DIST)/host/bin):$(PATH)" $(PYTHON) $(MOZILLA_SRCDIR)/tools/update-packaging/make_incremental_updates.py -f $(PATCH_FILE)
+	PATH="$(realpath $(LIBXUL_DIST)/host/bin):$(PATH)" $(PYTHON) $(topsrcdir)/tools/update-packaging/make_incremental_updates.py -f $(PATCH_FILE)
 endif
 endif
 ifdef SYMBOL_SERVER_HOST
 	@$(MAKE) uploadsymbols
 endif
 ifdef UPLOAD_CMD
 	$(MAKE) upload
 endif
--- a/im/locales/Makefile.in
+++ b/im/locales/Makefile.in
@@ -75,20 +75,20 @@ PKG_INST_PATH =
 
 SEARCH_PLUGINS = $(shell cat $(call MERGE_FILE,/searchplugins/list.txt))
 
 libs:: $(addsuffix .xml,$(SEARCH_PLUGINS))
 	$(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/searchplugins
 
 libs-%:
 	$(NSINSTALL) -D $(DIST)/install
-	@$(MAKE) -C ../../mozilla/toolkit/locales libs-$*
+	@$(MAKE) -C $(DEPTH)/toolkit/locales libs-$*
 	@$(MAKE) -C ../../chat/locales AB_CD=$* XPI_NAME=locale-$*
-	@$(MAKE) -C ../../mozilla/extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
-	@$(MAKE) -C ../../mozilla/intl/locales AB_CD=$* XPI_NAME=locale-$*
+	@$(MAKE) -C $(DEPTH)/extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
+	@$(MAKE) -C $(DEPTH)/intl/locales AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref
 	@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$*
 
 
 # Note the funny extra "../" in SFX_HEADER is because the repackage-zip command
 # is actually run effectively from within the mozilla/ part of the objdir, so
 # topsrcdir points to the wrong place and we have to go one directory higher.
 repackage-win32-installer: WIN32_INSTALLER_OUT="$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe"
--- a/mail/app.mozbuild
+++ b/mail/app.mozbuild
@@ -1,25 +1,25 @@
 # 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/.
 
-include('../bridge/bridge.mozbuild')
+include('/mailnews/mailnews.mozbuild')
 
-add_tier_dir('app', '../mail/components')
+add_tier_dir('app', 'mail/components')
 
 if not CONFIG['LIBXUL_SDK']:
     include('/toolkit/toolkit.mozbuild')
 
 if CONFIG['MOZ_EXTENSIONS']:
     add_tier_dir('app', 'extensions')
 
 add_tier_dir('app', CONFIG['MOZ_BRANDING_DIRECTORY'])
 
 if CONFIG['MOZ_COMPOSER']:
-    add_tier_dir('app', '../editor/ui')
+    add_tier_dir('app', 'editor/ui')
 
 if CONFIG['MOZ_CALENDAR']:
-    add_tier_dir('app', '../calendar/lightning')
+    add_tier_dir('app', 'calendar/lightning')
 
-add_tier_dir('app', '../chat')
-add_tier_dir('app', '../mail')
+add_tier_dir('app', 'chat')
+add_tier_dir('app', 'mail')
--- a/mail/build.mk
+++ b/mail/build.mk
@@ -1,18 +1,13 @@
 # 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/.
 
-ifdef COMM_BUILD
-ifndef MOZ_INCOMPLETE_EXTERNAL_LINKAGE
-# workaround Bug 599809 by making these makefiles be generated here
-SUBMAKEFILES += $(addsuffix /Makefile, $(APP_LIBXUL_DIRS) $(APP_LIBXUL_STATICDIRS))
-endif
-
+ifndef COMM_BUILD
 installer:
 	@$(MAKE) -C mail/installer installer
 
 package:
 	@$(MAKE) -C mail/installer
 
 package-compare:
 	@$(MAKE) -C mail/installer package-compare
@@ -38,12 +33,11 @@ source-upload::
 
 hg-bundle::
 	@$(MAKE) -C mail/installer hg-bundle
 
 l10n-check::
 	@$(MAKE) -C mail/locales l10n-check
 
 ifdef ENABLE_TESTS
-include $(srcdir)/mail/testsuite-targets.mk
+include $(topsrcdir)/../mail/testsuite-targets.mk
 endif
-
-endif # COMM_BUILD
+endif
--- a/mail/configure.in
+++ b/mail/configure.in
@@ -19,22 +19,17 @@ fi
 if test "$OS_ARCH" != "WINNT"; then
   MOZ_MOVEMAIL=1
   HAVE_MOVEMAIL=1
   AC_DEFINE(HAVE_MOVEMAIL)
 fi
 AC_SUBST(MOZ_MOVEMAIL)
 
 dnl Get other versions (for the calendar plugin)
-if test "$COMM_BUILD" = "1"; then
-  commdir=$topsrcdir
-else
-  commdir=$topsrcdir/..
-fi
-SEAMONKEY_VERSION=`cat $commdir/suite/config/version.txt`
+SEAMONKEY_VERSION=`cat $topsrcdir/suite/config/version.txt`
 AC_SUBST(SEAMONKEY_VERSION)
 
 dnl =========================================================
 dnl = Lightning extension
 dnl =========================================================
 MOZ_ARG_ENABLE_BOOL(calendar,
 [  --enable-calendar      Enable building of the Lightning calendar extension],
     MOZ_CALENDAR=1,
@@ -101,41 +96,26 @@ fi
 
 # if we're building the LDAP XPCOM component, we need to build
 # the c-sdk first.
 if test -n "$COMPILE_ENVIRONMENT" -a -n "$MOZ_LDAP_XPCOM"; then
     # Save configure args so we can restore them after configuring LDAP.
     _save_ac_configure_args="$ac_configure_args"
     ac_configure_args="$_SUBDIR_CONFIG_ARGS"
 
-    mkdir -p ../ldap/sdks/c-sdk/ldap
-    # these subdirs may not yet have been created in the build tree.
-    # don't use the "-p" switch to mkdir, since not all platforms have it
-    if test ! -d "ldap/sdks/c-sdk/ldap"; then
-        if test ! -d "ldap/sdks/c-sdk"; then
-            if test ! -d "ldap/sdks"; then
-                if test ! -d "ldap"; then
-                    mkdir "ldap"
-                fi
-                mkdir "ldap/sdks"
-            fi
-            mkdir "ldap/sdks/c-sdk"
-        fi
-        mkdir "ldap/sdks/c-sdk/ldap"
-    fi
-
+    mkdir -p ldap/sdks/c-sdk/ldap
     ac_configure_args="$_SUBDIR_CONFIG_ARGS --prefix=$MOZ_BUILD_ROOT/dist --with-dist-prefix=$MOZ_BUILD_ROOT/dist --without-nss --with-mozilla"
     if test -n "$HAVE_64BIT_BUILD"; then
         dnl A 64-bit OS was (auto-)detected: (explicitly) enable 64-bit support.
         ac_configure_args="$ac_configure_args --enable-64bit"
     fi
     if test -n "$LIBXUL_SDK"; then
         ac_configure_args="$ac_configure_args --with-nspr=$LIBXUL_DIST"
     fi
 
     dnl The cache file needs to be an absolute path to work properly.
     cache_file_base=`dirname $cache_file`
     cache_file=`cd $cache_file_base && pwd`/`basename $cache_file`
 
-    AC_OUTPUT_SUBDIRS(../ldap/sdks/c-sdk)
+    AC_OUTPUT_SUBDIRS(ldap/sdks/c-sdk)
     ac_configure_args="$_save_ac_configure_args"
 fi # COMPILE_ENVIRONMENT && MOZ_LDAP_XPCOM
 
--- a/mail/locales/Makefile.in
+++ b/mail/locales/Makefile.in
@@ -70,21 +70,21 @@ include $(topsrcdir)/mozilla/toolkit/loc
 
 SEARCH_PLUGINS = $(shell cat $(call MERGE_FILE,/searchplugins/list.txt))
 
 libs:: $(addsuffix .xml,$(SEARCH_PLUGINS))
 	$(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/searchplugins
 
 libs-%:
 	$(NSINSTALL) -D $(DIST)/install
-	@$(MAKE) -C ../../mozilla/toolkit/locales libs-$*
+	@$(MAKE) -C $(DEPTH)/toolkit/locales libs-$*
 	@$(MAKE) -C ../../chat/locales AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) -C ../../editor/ui/locales AB_CD=$* XPI_NAME=locale-$*
-	@$(MAKE) -C ../../mozilla/extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
-	@$(MAKE) -C ../../mozilla/intl/locales AB_CD=$* XPI_NAME=locale-$*
+	@$(MAKE) -C $(DEPTH)/extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
+	@$(MAKE) -C $(DEPTH)/intl/locales AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref
 	@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$*
 
 
 # Note the funny extra '../' in SFX_HEADER is because the repackage-zip command
 # is actually run effectively from within the mozilla/ part of the objdir, so
 # topsrcdir points to the wrong place and we have to go one directory higher.
 repackage-win32-installer: WIN32_INSTALLER_OUT=$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe
--- a/mail/testsuite-targets.mk
+++ b/mail/testsuite-targets.mk
@@ -1,102 +1,64 @@
 # 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/.
 
-MOZMILLDIR=$(DEPTH)/mozilla/_tests/mozmill
+MOZMILLDIR=$(DEPTH)/_tests/mozmill
 ifeq ($(OS_ARCH),WINNT)
 VIRTUALENV_BIN = $(MOZMILLDIR)/../mozmill-virtualenv/Scripts
 else
 VIRTUALENV_BIN = $(MOZMILLDIR)/../mozmill-virtualenv/bin
 endif
 MOZMILLPYTHON = $(abspath $(VIRTUALENV_BIN)/python$(BIN_SUFFIX))
 
 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
 # Mac options
 APP_NAME = $(MOZ_APP_DISPLAYNAME)
 ifdef MOZ_DEBUG
 APP_NAME := $(APP_NAME)Debug
 endif
-PROGRAM = ../../../$(DIST)/$(APP_NAME).app/
+BINARY = ../../../$(DIST)/$(APP_NAME).app/
 else
 # Non-mac options
-PROGRAM = ../../../$(DIST)/bin/thunderbird$(BIN_SUFFIX)
+BINARY = ../../../$(DIST)/bin/thunderbird$(BIN_SUFFIX)
 endif
 
 check-no-solo = $(foreach solo,SOLO_TEST SOLO_FILE,$(if $($(solo)),$(error $(subst SOLOVAR,$(solo),$(1)))))
 find-solo-test = $(if $(and $(SOLO_TEST),$(SOLO_FILE)),$(error Both SOLO_TEST and SOLO_FILE are specified. You may only specify one.),$(if $(SOLO_TEST),$(SOLO_TEST),$(if $(SOLO_FILE),$(SOLO_FILE),$(error SOLO_TEST or SOLO_FILE needs to be specified.))))
 
 # PYTHONHOME messes very badly with virtualenv setups, so unset it.
 mozmill:
 	$(call check-no-solo,SOLOVAR is specified. Perhaps you meant mozmill-one.)
 	unset PYTHONHOME && cd $(MOZMILLDIR) && MACOSX_DEPLOYMENT_TARGET= \
 	$(MOZMILLPYTHON) runtestlist.py --list=mozmilltests.list \
-	--binary=$(PROGRAM) \
-	--dir=$(abspath $(topsrcdir))/mail/test/mozmill \
+	--binary=$(BINARY) \
+	--dir=$(abspath $(topsrcdir))/../mail/test/mozmill \
 	--symbols-path=$(abspath $(DIST)/crashreporter-symbols) \
 	--plugins-path=$(abspath $(DIST)/plugins) \
 	$(MOZMILL_EXTRA)
 
 mozmill-one: solo-test = $(find-solo-test)
 mozmill-one:
 	unset PYTHONHOME && cd $(MOZMILLDIR) && MACOSX_DEPLOYMENT_TARGET= \
 	$(MOZMILLPYTHON) runtest.py \
-	--test=$(abspath $(topsrcdir))/mail/test/mozmill/$(solo-test) \
-	--binary=$(PROGRAM) \
+	--test=$(abspath $(topsrcdir))/../mail/test/mozmill/$(solo-test) \
+	--binary=$(BINARY) \
 	--symbols-path=$(abspath $(DIST)/crashreporter-symbols) \
 	--plugins-path=$(abspath $(DIST)/plugins) \
 	$(MOZMILL_EXTRA)
 
-# XXX The mozilla/testing/testsuite-targets.mk doesn't really allow for hooks
-# outside of itself. Therefore we replicate the functionality we need here,
-# calling into the relevant mozilla dirs when necessary for the core tests.
+# We need to add the mozmill tests to the package for tests.
 ifndef UNIVERSAL_BINARY
-PKG_STAGE = $(DIST)/test-stage
-package-tests:: stage-mozilla-tests stage-mozmill stage-modules
-
 # If Lightning is enabled, also stage the lightning extension
 ifdef MOZ_CALENDAR
-package-tests:: stage-calendar
+package-tests: stage-calendar
 endif
-
-else
-# This staging area has been built for us by universal/flight.mk
-PKG_STAGE = $(DIST)/universal/test-stage
+package-tests: stage-mozmill
 endif
 
-package-tests::
-	@rm -f '$(DIST)/$(PKG_PATH)$(TEST_PACKAGE)'
-ifndef UNIVERSAL_BINARY
-	$(NSINSTALL) -D $(DIST)/$(PKG_PATH)
-endif
-	cd $(PKG_STAGE) && \
-	  zip -r9D '$(abspath $(DIST))/$(PKG_PATH)$(TEST_PACKAGE)' \
-	  * -x \*/.mkdir.done
-
-make-stage-dir:
-	rm -rf $(PKG_STAGE) && $(NSINSTALL) -D $(PKG_STAGE) && $(NSINSTALL) -D $(PKG_STAGE)/bin && $(NSINSTALL) -D $(PKG_STAGE)/bin/components && $(NSINSTALL) -D $(PKG_STAGE)/certs && $(NSINSTALL) -D $(PKG_STAGE)/extensions
-
-# Of the core tests, we only currently support xpcshell. Unfortunately
-# some of the required xpcshell bits are packaged by mochitest, so we have to
-# package those as well.
-stage-mozilla-tests: make-stage-dir
-	$(MAKE) -C $(DEPTH)/mozilla/layout/tools/reftest stage-package
-	$(MAKE) -C $(DEPTH)/mozilla/testing/mochitest stage-package
-	$(MAKE) -C $(DEPTH)/mozilla/testing/xpcshell stage-package
-	$(MAKE) -C $(DEPTH)/mozilla/testing/mozbase stage-package
-
-# Although we should probably depend on make-stage-dir here, we don't as the
-# make-stage-dir actually removes the package directory for us. Given that we
-# are running stage-mozilla-tests which calls testing/testsuite-targets.mk which
-# does do this for some tests, then we're actually fine.
 stage-mozmill: make-stage-dir
 	$(MAKE) -C $(DEPTH)/mail/test/mozmill stage-package
 
-stage-modules: make-stage-dir
-	$(NSINSTALL) -D $(PKG_STAGE)/modules
-	cp -RL $(DEPTH)/mozilla/_tests/modules $(PKG_STAGE)
-
 stage-calendar: make-stage-dir
 	$(MAKE) -C $(DEPTH)/calendar/lightning stage-package
 
-.PHONY: \
-  package-tests make-stage-dir stage-mozmill stage-modules stage-calendar
+.PHONY: stage-mozmill stage-calendar
rename from bridge/bridge.mozbuild
rename to mailnews/mailnews.mozbuild
--- a/bridge/bridge.mozbuild
+++ b/mailnews/mailnews.mozbuild
@@ -1,14 +1,14 @@
 # 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['MOZ_LDAP_XPCOM']:
-    add_tier_dir('app', '../ldap')
-    add_tier_dir('app', '../ldap/xpcom')
+    add_tier_dir('app', 'ldap')
+    add_tier_dir('app', 'ldap/xpcom')
 
 if CONFIG['MOZ_MORK']:
-    add_tier_dir('app', '../db')
+    add_tier_dir('app', 'db')
 
-add_tier_dir('app', '../mailnews')
+add_tier_dir('app', 'mailnews')
 
--- a/suite/app.mozbuild
+++ b/suite/app.mozbuild
@@ -1,22 +1,22 @@
 # 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/.
 
-include('../bridge/bridge.mozbuild')
+include('/mailnews/mailnews.mozbuild')
 
 if not CONFIG['LIBXUL_SDK']:
     include('/toolkit/toolkit.mozbuild')
 
 if CONFIG['MOZ_EXTENSIONS']:
     add_tier_dir('app', 'extensions')
 
 if CONFIG['MOZ_COMPOSER']:
-    add_tier_dir('app', '../editor/ui')
+    add_tier_dir('app', 'editor/ui')
 
 add_tier_dir('app', CONFIG['MOZ_BRANDING_DIRECTORY'])
 
 if CONFIG['MOZ_CALENDAR']:
-    add_tier_dir('app', '../calendar/lightning')
+    add_tier_dir('app', 'calendar/lightning')
 
-add_tier_dir('app', ['../mozilla/xpfe/components/autocomplete', '../suite'])
+add_tier_dir('app', ['xpfe/components/autocomplete', 'suite'])
--- a/suite/build.mk
+++ b/suite/build.mk
@@ -1,19 +1,13 @@
 # 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/.
 
-ifdef COMM_BUILD # Mozilla Makefile
-ifndef MOZ_INCOMPLETE_EXTERNAL_LINKAGE
-# workaround Bug 599809 by making these makefiles be generated here
-SUBMAKEFILES += $(addsuffix /Makefile, $(APP_LIBXUL_DIRS) $(APP_LIBXUL_STATICDIRS))
-endif
-endif
-
+ifndef COMM_BUILD
 installer:
 	@$(MAKE) -C suite/installer installer
 
 package:
 	@$(MAKE) -C suite/installer
 
 package-compare:
 	@$(MAKE) -C suite/installer package-compare
@@ -22,25 +16,22 @@ install::
 	@$(MAKE) -C suite/installer install
 
 source-package::
 	@$(MAKE) -C suite/installer source-package
 
 upload::
 	@$(MAKE) -C suite/installer upload
 
-ifndef COMM_BUILD # Mozilla Makefile
-
 # mochitests need to be run from the Mozilla build system
 ifdef ENABLE_TESTS
 # Backend is implemented in mozilla/testing/testsuite-targets.mk.
 # This part is copied from mozilla/browser/build.mk.
 
 mochitest-browser-chrome:
 	$(RUN_MOCHITEST) --browser-chrome
 	$(CHECK_TEST_ERROR)
 
 mochitest:: mochitest-browser-chrome
 
 .PHONY: mochitest-browser-chrome
 endif
-
-endif # COMM_BUILD
+endif
--- a/suite/configure.in
+++ b/suite/configure.in
@@ -19,22 +19,17 @@ fi
 if test "$OS_ARCH" != "WINNT"; then
   MOZ_MOVEMAIL=1
   HAVE_MOVEMAIL=1
   AC_DEFINE(HAVE_MOVEMAIL)
 fi
 AC_SUBST(MOZ_MOVEMAIL)
 
 dnl Get other versions (for the calendar plugin)
-if test "$COMM_BUILD" = "1"; then
-  commdir=$topsrcdir
-else
-  commdir=$topsrcdir/..
-fi
-THUNDERBIRD_VERSION=`cat $commdir/mail/config/version.txt`
+THUNDERBIRD_VERSION=`cat $topsrcdir/mail/config/version.txt`
 AC_SUBST(THUNDERBIRD_VERSION)
 
 dnl =========================================================
 dnl = Lightning extension
 dnl =========================================================
 MOZ_ARG_ENABLE_BOOL(calendar,
 [  --enable-calendar      Enable building of the Lightning calendar extension],
     MOZ_CALENDAR=1,
@@ -101,41 +96,26 @@ fi
 
 # if we're building the LDAP XPCOM component, we need to build
 # the c-sdk first.
 if test -n "$COMPILE_ENVIRONMENT" -a -n "$MOZ_LDAP_XPCOM"; then
     # Save configure args so we can restore them after configuring LDAP.
     _save_ac_configure_args="$ac_configure_args"
     ac_configure_args="$_SUBDIR_CONFIG_ARGS"
 
-    mkdir -p ../ldap/sdks/c-sdk/ldap
-    # these subdirs may not yet have been created in the build tree.
-    # don't use the "-p" switch to mkdir, since not all platforms have it
-    if test ! -d "ldap/sdks/c-sdk/ldap"; then
-        if test ! -d "ldap/sdks/c-sdk"; then
-            if test ! -d "ldap/sdks"; then
-                if test ! -d "ldap"; then
-                    mkdir "ldap"
-                fi
-                mkdir "ldap/sdks"
-            fi
-            mkdir "ldap/sdks/c-sdk"
-        fi
-        mkdir "ldap/sdks/c-sdk/ldap"
-    fi
-
+    mkdir -p ldap/sdks/c-sdk/ldap
     ac_configure_args="$_SUBDIR_CONFIG_ARGS --prefix=$MOZ_BUILD_ROOT/dist --with-dist-prefix=$MOZ_BUILD_ROOT/dist --without-nss --with-mozilla"
     if test -n "$HAVE_64BIT_BUILD"; then
         dnl A 64-bit OS was (auto-)detected: (explicitly) enable 64-bit support.
         ac_configure_args="$ac_configure_args --enable-64bit"
     fi
     if test -n "$LIBXUL_SDK"; then
         ac_configure_args="$ac_configure_args --with-nspr=$LIBXUL_DIST"
     fi
 
     dnl The cache file needs to be an absolute path to work properly.
     cache_file_base=`dirname $cache_file`
     cache_file=`cd $cache_file_base && pwd`/`basename $cache_file`
 
-    AC_OUTPUT_SUBDIRS(../ldap/sdks/c-sdk)
+    AC_OUTPUT_SUBDIRS(ldap/sdks/c-sdk)
     ac_configure_args="$_save_ac_configure_args"
 fi # COMPILE_ENVIRONMENT && MOZ_LDAP_XPCOM
 
--- a/suite/locales/Makefile.in
+++ b/suite/locales/Makefile.in
@@ -126,24 +126,24 @@ libs:: $(addsuffix .xml,$(SEARCH_PLUGINS
 	$(SYSINSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/searchplugins
 
 # Extend l10n.mk clobber-% target for our localised extensions
 clobber-%:
 	$(RM) -rf $(DIST)/xpi-stage/chatzilla-$* $(DIST)/xpi-stage/chatzilla-*.$*.xpi
 
 libs-%:
 	$(NSINSTALL) -D $(DIST)/install
-	@$(MAKE) -C ../../mozilla/toolkit/locales libs-$*
-	@$(MAKE) -C ../../mozilla/services/sync/locales AB_CD=$* XPI_NAME=locale-$*
+	@$(MAKE) -C $(DEPTH)/toolkit/locales libs-$*
+	@$(MAKE) -C $(DEPTH)/services/sync/locales AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) -C ../../editor/ui/locales AB_CD=$* XPI_NAME=locale-$*
-	@if test -d ../../mozilla/extensions/irc; then \
-	  $(MAKE) -C ../../mozilla/extensions/irc/locales libs-$*; \
+	@if test -d $(DEPTH)/extensions/irc; then \
+	  $(MAKE) -C $(DEPTH)/extensions/irc/locales libs-$*; \
 	fi
-	@$(MAKE) -C ../../mozilla/extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
-	@$(MAKE) -C ../../mozilla/intl/locales AB_CD=$* XPI_NAME=locale-$*
+	@$(MAKE) -C $(DEPTH)/extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
+	@$(MAKE) -C $(DEPTH)/intl/locales AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref
 
 repackage-win32-installer: WIN32_INSTALLER_OUT=$(_ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe
 repackage-win32-installer: $(call ESCAPE_WILDCARD,$(WIN32_INSTALLER_IN)) $(SUBMAKEFILES)
 	@echo "Repackaging $(WIN32_INSTALLER_IN) into $(WIN32_INSTALLER_OUT)."
 	$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY) export
 	$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen l10ngen/setup.exe l10ngen/7zSD.sfx
 	$(MAKE) repackage-zip \
@@ -179,18 +179,18 @@ clobber-zip:
 	  $(STAGEDIST)/defaults/profile \
 	  $(STAGEDIST)/chrome/$(AB_CD) \
 	  $(STAGEDIST)/extensions/langpack-$(AB_CD)@* \
 	  $(STAGEDIST)/distribution/extensions/langpack-$(AB_CD)@* \
 
 repackage-zip: repackage-extensions
 
 repackage-extensions: $(STAGEDIST)
-	if test -d ../../mozilla/extensions/irc; then \
-	  $(MAKE) -C ../../mozilla/extensions/irc/locales repackage-zip-$(AB_CD) STAGEDIST=$(STAGEDIST); \
+	if test -d $(DEPTH)/extensions/irc; then \
+	  $(MAKE) -C $(DEPTH)/extensions/irc/locales repackage-zip-$(AB_CD) STAGEDIST=$(STAGEDIST); \
 	fi
 ifdef MOZ_OMNIJAR
 	$(MAKE) -C ../app pack-ext AB_CD=$(AB_CD) STAGEDIST=$(STAGEDIST);
 endif
 
 repackage-zip-%: $(call ESCAPE_WILDCARD,$(ZIP_IN)) $(STAGEDIST) libs-%
 	@$(MAKE) repackage-zip AB_CD=$* ZIP_IN=$(ZIP_IN)