build/macosx/cross-mozconfig.common
author Mike Hommey <mh+mozilla@glandium.org>
Thu, 13 Dec 2018 14:29:29 +0900 (2018-12-13)
changeset 451067 eb20068ba6ea62c0dd38aba6e3e7b5e2d0bcd78c
parent 451066 dd152b85a5c072db194ee54bdae8d78a20d69156
child 451069 c75101881c65e3cbe457ecfc991cff2654a04914
permissions -rw-r--r--
Bug 1513798 - Use x86_64-darwin11 as a prefix for cctools-port, rather than x86_64-apple-darwin11. r=nalexander This matches more closely cross toolchains prefixes (as can be seen in e.g. media/libvpx/libvpx/README for x86_64-darwin*-gcc), and leaves it to the build system to figure out the right --target to pass to clang on its own. Differential Revision: https://phabricator.services.mozilla.com/D14376
# 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/.

MOZ_AUTOMATION_L10N_CHECK=0

. "$topsrcdir/build/mozconfig.common"

# Rust requires dsymutil into PATH
mk_add_options "export PATH=$topsrcdir/llvm-dsymutil/bin:$PATH"

# ld needs libLTO.so from llvm
mk_add_options "export LD_LIBRARY_PATH=$topsrcdir/clang/lib"

CROSS_CCTOOLS_PATH=$topsrcdir/cctools
# This SDK was copied from a local XCode install and uploaded to tooltool.
# Generate the tarball by running this command with the proper SDK version:
#   sdk_path=$(xcrun --sdk macosx10.12 --show-sdk-path)
#   tar -C $(dirname ${sdk_path}) -cHjf /tmp/$(basename ${sdk_path}).tar.bz2 $(basename ${sdk_path})
# Upload the resulting tarball from /tmp to tooltool, and change the entry in
# `browser/config/tooltool-manifests/macosx64/cross-releng.manifest`.
CROSS_SYSROOT=$topsrcdir/MacOSX10.11.sdk
CROSS_PRIVATE_FRAMEWORKS=$CROSS_SYSROOT/System/Library/PrivateFrameworks
FLAGS="-B $CROSS_CCTOOLS_PATH/bin -isysroot $CROSS_SYSROOT"

export CC="$topsrcdir/clang/bin/clang $FLAGS"
export CXX="$topsrcdir/clang/bin/clang++ $FLAGS"
export CPP="$topsrcdir/clang/bin/clang $FLAGS -E"
export LLVMCONFIG=$topsrcdir/clang/bin/llvm-config
export LDFLAGS="-Wl,-syslibroot,$CROSS_SYSROOT"
export BINDGEN_CFLAGS="$FLAGS"
export TOOLCHAIN_PREFIX=$CROSS_CCTOOLS_PATH/bin/x86_64-darwin11-
export DSYMUTIL=$topsrcdir/build/macosx/llvm-dsymutil
mk_add_options "export REAL_DSYMUTIL=$topsrcdir/llvm-dsymutil/bin/dsymutil"
export MKFSHFS=$topsrcdir/hfsplus-tools/newfs_hfs
export DMG_TOOL=$topsrcdir/dmg/dmg
export HFS_TOOL=$topsrcdir/dmg/hfsplus

export HOST_CC="$topsrcdir/clang/bin/clang"
export HOST_CXX="$topsrcdir/clang/bin/clang++"
export HOST_CPP="$topsrcdir/clang/bin/clang -E"
export HOST_CFLAGS="-g"
export HOST_CXXFLAGS="-g"
export HOST_LDFLAGS="-g"

ac_add_options --target=x86_64-apple-darwin11
ac_add_options --with-macos-private-frameworks=$CROSS_PRIVATE_FRAMEWORKS

if [ "x$MOZ_PKG_SPECIAL" != "xasan" -a -z "$MOZ_AUTOMATION_ARTIFACT_BUILDS" ]; then
  # Enable static analysis checks by default on OSX cross builds.
  # Exception is ASan, where this breaks.
  # The option is not valid on artifact builds, so don't add it there either.
  ac_add_options --enable-clang-plugin
fi