summaryrefslogtreecommitdiffstats
path: root/build/macosx/universal/mozconfig.common
diff options
context:
space:
mode:
Diffstat (limited to 'build/macosx/universal/mozconfig.common')
-rw-r--r--build/macosx/universal/mozconfig.common55
1 files changed, 55 insertions, 0 deletions
diff --git a/build/macosx/universal/mozconfig.common b/build/macosx/universal/mozconfig.common
new file mode 100644
index 000000000..bb54bc6c4
--- /dev/null
+++ b/build/macosx/universal/mozconfig.common
@@ -0,0 +1,55 @@
+# 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
+
+DARWIN_VERSION=10
+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
+
+if ! test `uname -s` = Linux; then
+ # Cross-universal builds already do the equivalent of this by setting -isysroot directly
+ ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.7.sdk
+fi
+
+. $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="${TOOLCHAIN_PREFIX}ranlib"
+ AR="${TOOLCHAIN_PREFIX}ar"
+ AS=$CC
+ LD=ld
+ STRIP="${TOOLCHAIN_PREFIX}strip"
+ OTOOL="${TOOLCHAIN_PREFIX}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