Backed out changeset 8da0792b3050 (Bug 1322402). a=jorgk DONTBUILD
authorJorg K
Thu, 23 Feb 2017 23:52:52 +0100
changeset 27777 6afc02c2de5faec1edaf317b5c1d8a64c2fa6f8c
parent 27776 d44987b4332bb2dcad9f36442e9f346f0666def3
child 27780 553621213f69789dba95fd1f1316cc37b242f260
push id1850
push userclokep@gmail.com
push dateWed, 08 Mar 2017 19:29:12 +0000
treeherdercomm-esr52@028df196b2d9 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjorgk
bugs1322402
backs out8da0792b305012c730d5c8e0dda8712338c4f5b3
Backed out changeset 8da0792b3050 (Bug 1322402). a=jorgk DONTBUILD
build/macosx/universal/check-sync-exceptions
build/macosx/universal/flight.mk
build/macosx/universal/mozconfig
build/macosx/universal/mozconfig.common
mail/config/mozconfigs/macosx-universal/l10n-mozconfig
mail/config/mozconfigs/macosx-universal/nightly
mail/config/mozconfigs/macosx-universal/release
mail/config/mozconfigs/macosx64/l10n-mozconfig
mail/config/mozconfigs/macosx64/nightly
mail/config/mozconfigs/macosx64/release
new file mode 100644
--- /dev/null
+++ b/build/macosx/universal/check-sync-exceptions
@@ -0,0 +1,9 @@
+flight.mk
+mozconfig.common
+
+# Ignore detritus left lying around by editing tools.
+*~
+.#*
+#*#
+*.orig
+*.rej
new file mode 100644
--- /dev/null
+++ b/build/macosx/universal/flight.mk
@@ -0,0 +1,33 @@
+# 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/.
+
+# BE CAREFUL!  This makefile handles a postflight_all rule for a
+# multi-project build, so DON'T rely on anything that might differ between
+# the two OBJDIRs.
+
+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)/dist
+DIST_ARCH_2 = $(OBJDIR_ARCH_2)/dist
+DIST_UNI = $(DIST_ARCH_1)/universal
+OBJDIR = $(OBJDIR_ARCH_1)
+endif
+
+topsrcdir = $(TOPSRCDIR)
+DEPTH = $(OBJDIR)
+include $(OBJDIR)/config/autoconf.mk
+
+core_abspath = $(if $(filter /%,$(1)),$(1),$(CURDIR)/$(1))
+
+DIST = $(OBJDIR)/dist
+
+postflight_all:
+	mkdir -p $(DIST_UNI)/$(MOZ_PKG_APPNAME)
+	rm -f $(DIST_ARCH_2)/universal
+	ln -s $(abspath $(DIST_UNI)) $(DIST_ARCH_2)/universal
+# Stage a package for buildsymbols to be happy. Doing so in OBJDIR_ARCH_1
+# actually does a universal staging with both OBJDIR_ARCH_1 and OBJDIR_ARCH_2.
+	$(MAKE) -C $(OBJDIR_ARCH_1)/$(subst ../,,$(MOZ_BUILD_APP))/installer \
+	   PKG_SKIP_STRIP=1 stage-package
new file mode 100644
--- /dev/null
+++ b/build/macosx/universal/mozconfig
@@ -0,0 +1,11 @@
+# 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/.
+
+# i386/x86-64 Universal Build mozconfig
+
+# As used here, arguments in $MOZ_BUILD_PROJECTS are suitable as arguments
+# to gcc's -arch parameter.
+mk_add_options MOZ_BUILD_PROJECTS="x86_64 i386"
+
+. $topsrcdir/build/macosx/universal/mozconfig.common
new file mode 100644
--- /dev/null
+++ b/build/macosx/universal/mozconfig.common
@@ -0,0 +1,54 @@
+# 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/.
+
+mk_add_options MOZ_UNIFY_BDATE=1
+
+mk_add_options MOZ_POSTFLIGHT_ALL+=build/macosx/universal/flight.mk
+
+DARWIN_VERSION=`uname -r`
+ac_add_app_options i386 --target=i386-apple-darwin$DARWIN_VERSION
+ac_add_app_options x86_64 --target=x86_64-apple-darwin$DARWIN_VERSION
+ac_add_app_options i386 --with-unify-dist=../x86_64/dist
+ac_add_app_options x86_64 --with-unify-dist=../i386/dist
+
+ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.7.sdk
+
+. $topsrcdir/build/macosx/mozconfig.common
+
+# $MOZ_BUILD_APP is only defined when sourced by configure.  That's not a
+# problem, because the variables it affects only need to be set for
+# configure.
+if test -n "$MOZ_BUILD_APP" ; then
+if test "$MOZ_BUILD_APP" = "i386" -o "$MOZ_BUILD_APP" = "x86_64"; then
+  TARGET_CPU=$MOZ_BUILD_APP
+
+  # $HOST_CXX is presently unused.  $HOST_CC will only be used during a cross
+  # compile.
+  HOST_CC=$CC
+  HOST_CXX=$CXX
+
+  NATIVE_CPU=`$topsrcdir/build/autoconf/config.guess | cut -f1 -d-`
+
+  # It's not strictly necessary to specify -arch during native builds, but it
+  # makes the merged about:buildconfig easier to follow, and it reduces
+  # conditionalized differences between builds.
+  CC="$CC -arch $TARGET_CPU"
+  CXX="$CXX -arch $TARGET_CPU"
+
+  # These must be set for cross builds, and don't hurt straight builds.
+  RANLIB=ranlib
+  AR=ar
+  AS=$CC
+  LD=ld
+  STRIP="strip"
+  OTOOL="otool"
+
+  # Each per-CPU build should be entirely oblivious to the fact that a
+  # universal binary will be produced.  The exception is packager.mk, which
+  # needs to know to look for universal bits when building the .dmg.
+  UNIVERSAL_BINARY=1
+
+  export CC CXX HOST_CC HOST_CXX RANLIB AR AS LD STRIP OTOOL
+fi
+fi
new file mode 100644
--- /dev/null
+++ b/mail/config/mozconfigs/macosx-universal/l10n-mozconfig
@@ -0,0 +1,18 @@
+ac_add_options --enable-application=mail
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --disable-install-strip
+ac_add_options --with-l10n-base=../../../l10n
+ac_add_options --disable-compile-environment
+
+# Build lightning locales
+ac_add_options --enable-calendar
+mk_add_options MOZ_POSTFLIGHT_ALL+=calendar/lightning/build/universal.mk
+
+# Disable checking that add-ons are signed by the trusted root
+MOZ_ADDON_SIGNING=0
+# Disable enforcing that add-ons are signed by the trusted root
+MOZ_REQUIRE_ADDON_SIGNING=0
+
+# Run client.py
+mk_add_options CLIENT_PY_ARGS="$([ -f $topsrcdir/build/client.py-l10n-args ] && cat $topsrcdir/build/client.py-l10n-args)"
+mk_add_options ALWAYS_RUN_CLIENT_PY=1
new file mode 100644
--- /dev/null
+++ b/mail/config/mozconfigs/macosx-universal/nightly
@@ -0,0 +1,42 @@
+# Big Hack that unsets CC / CXX so that mozconfig.common doesn't get
+# mixed up with host/target CPUs when trying to work out how to do the
+# universal build. When we redo the build system (bug 648979) this will
+# go away.
+if test -e "$topsrcdir/mail/config/version.txt"; then
+  unset CC
+  unset CXX
+fi
+
+# Make sure Lightning is also unified, this needs to happen before including
+# the universal mozconfig because Lightning's univeral.mk needs to run first.
+mk_add_options MOZ_POSTFLIGHT_ALL+=calendar/lightning/build/universal.mk
+
+. $topsrcdir/build/macosx/universal/mozconfig
+
+# Universal builds override the default of mail (bug 575283 comment 29)
+ac_add_options --enable-application=mail
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --disable-install-strip
+ac_add_options --enable-calendar
+
+# For NSS symbols
+export MOZ_DEBUG_SYMBOLS=1
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+export MOZ_TELEMETRY_REPORTING=1
+
+# Package js shell
+export MOZ_PACKAGE_JSSHELL=1
+
+# Disable checking that add-ons are signed by the trusted root
+MOZ_ADDON_SIGNING=0
+# Disable enforcing that add-ons are signed by the trusted root
+MOZ_REQUIRE_ADDON_SIGNING=0
+
+ac_add_options --with-ccache
+
+# Run client.py
+mk_add_options CLIENT_PY_ARGS="$([ -f $topsrcdir/build/client.py-args ] && cat $topsrcdir/build/client.py-args)"
+mk_add_options ALWAYS_RUN_CLIENT_PY=1
new file mode 100644
--- /dev/null
+++ b/mail/config/mozconfigs/macosx-universal/release
@@ -0,0 +1,40 @@
+# Big Hack that unsets CC / CXX so that mozconfig.common doesn't get
+# mixed up with host/target CPUs when trying to work out how to do the
+# universal build. When we redo the build system (bug 648979) this will
+# go away.
+if test -e "$topsrcdir/mail/config/version.txt"; then
+  unset CC
+  unset CXX
+fi
+
+# Make sure Lightning is also unified, this needs to happen before including
+# the universal mozconfig because Lightning's univeral.mk needs to run first.
+mk_add_options MOZ_POSTFLIGHT_ALL+=calendar/lightning/build/universal.mk
+
+. $topsrcdir/build/macosx/universal/mozconfig
+
+# Universal builds override the default of mail (bug 575283 comment 29)
+ac_add_options --enable-application=mail
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+ac_add_options --enable-official-branding
+ac_add_options --enable-calendar
+
+# For NSS symbols
+export MOZ_DEBUG_SYMBOLS=1
+
+# Needed to enable breakpad in application.ini
+export MOZILLA_OFFICIAL=1
+
+export MOZ_TELEMETRY_REPORTING=1
+
+# Disable checking that add-ons are signed by the trusted root
+MOZ_ADDON_SIGNING=0
+# Disable enforcing that add-ons are signed by the trusted root
+MOZ_REQUIRE_ADDON_SIGNING=0
+
+# Package js shell
+export MOZ_PACKAGE_JSSHELL=1
+
+# Run client.py
+mk_add_options CLIENT_PY_ARGS="$([ -f $topsrcdir/build/client.py-args ] && cat $topsrcdir/build/client.py-args)"
+mk_add_options ALWAYS_RUN_CLIENT_PY=1
--- a/mail/config/mozconfigs/macosx64/l10n-mozconfig
+++ b/mail/config/mozconfigs/macosx64/l10n-mozconfig
@@ -4,16 +4,17 @@ ac_add_options --enable-application=mail
 ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
 ac_add_options --disable-install-strip
 ac_add_options --enable-profiling
 ac_add_options --with-l10n-base=../../l10n
 ac_add_options --disable-compile-environment
 
 # Build lightning locales
 ac_add_options --enable-calendar
+mk_add_options MOZ_POSTFLIGHT_ALL+=calendar/lightning/build/universal.mk
 
 # Disable checking that add-ons are signed by the trusted root
 MOZ_ADDON_SIGNING=0
 # Disable enforcing that add-ons are signed by the trusted root
 MOZ_REQUIRE_ADDON_SIGNING=0
 
 # Run client.py
 mk_add_options CLIENT_PY_ARGS="$([ -f $topsrcdir/build/client.py-l10n-args ] && cat $topsrcdir/build/client.py-l10n-args)"
deleted file mode 100644
--- a/mail/config/mozconfigs/macosx64/nightly
+++ /dev/null
@@ -1,39 +0,0 @@
-# Big Hack that unsets CC / CXX so that mozconfig.common doesn't get
-# mixed up with host/target CPUs when trying to work out how to do the
-# universal build. When we redo the build system (bug 648979) this will
-# go away.
-if test -e "$topsrcdir/mail/config/version.txt"; then
-  unset CC
-  unset CXX
-fi
-
-. $topsrcdir/build/macosx/mozconfig.common
-
-# Universal builds override the default of mail (bug 575283 comment 29)
-ac_add_options --enable-application=mail
-ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
-ac_add_options --disable-install-strip
-ac_add_options --enable-profiling
-ac_add_options --enable-calendar
-
-# For NSS symbols
-export MOZ_DEBUG_SYMBOLS=1
-
-# Needed to enable breakpad in application.ini
-export MOZILLA_OFFICIAL=1
-
-export MOZ_TELEMETRY_REPORTING=1
-
-# Package js shell
-export MOZ_PACKAGE_JSSHELL=1
-
-# Disable checking that add-ons are signed by the trusted root
-MOZ_ADDON_SIGNING=0
-# Disable enforcing that add-ons are signed by the trusted root
-MOZ_REQUIRE_ADDON_SIGNING=0
-
-ac_add_options --with-ccache
-
-# Run client.py
-mk_add_options CLIENT_PY_ARGS="$([ -f $topsrcdir/build/client.py-args ] && cat $topsrcdir/build/client.py-args)"
-mk_add_options ALWAYS_RUN_CLIENT_PY=1
deleted file mode 100644
--- a/mail/config/mozconfigs/macosx64/release
+++ /dev/null
@@ -1,35 +0,0 @@
-# Big Hack that unsets CC / CXX so that mozconfig.common doesn't get
-# mixed up with host/target CPUs when trying to work out how to do the
-# universal build. When we redo the build system (bug 648979) this will
-# go away.
-if test -e "$topsrcdir/mail/config/version.txt"; then
-  unset CC
-  unset CXX
-fi
-
-. $topsrcdir/build/macosx/mozconfig.common
-
-ac_add_options --enable-application=mail
-ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
-ac_add_options --enable-official-branding
-ac_add_options --enable-calendar
-
-# For NSS symbols
-export MOZ_DEBUG_SYMBOLS=1
-
-# Needed to enable breakpad in application.ini
-export MOZILLA_OFFICIAL=1
-
-export MOZ_TELEMETRY_REPORTING=1
-
-# Disable checking that add-ons are signed by the trusted root
-MOZ_ADDON_SIGNING=0
-# Disable enforcing that add-ons are signed by the trusted root
-MOZ_REQUIRE_ADDON_SIGNING=0
-
-# Package js shell
-export MOZ_PACKAGE_JSSHELL=1
-
-# Run client.py
-mk_add_options CLIENT_PY_ARGS="$([ -f $topsrcdir/build/client.py-args ] && cat $topsrcdir/build/client.py-args)"
-mk_add_options ALWAYS_RUN_CLIENT_PY=1