DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (c584e29f6ac2)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
# 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"

# cctools for ld, ar, and other related tools ; dsymutil for rust.
mk_add_options "export PATH=$MOZ_FETCHES_DIR/cctools/bin:$MOZ_FETCHES_DIR/binutils/bin:$MOZ_FETCHES_DIR/llvm-dsymutil/bin:$PATH"

# dsymutil needs a libstdc++ more recent than what's on the system.
mk_add_options "export LD_LIBRARY_PATH=$MOZ_FETCHES_DIR/clang/lib"

# 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

export CC="$MOZ_FETCHES_DIR/clang/bin/clang"
export CXX="$MOZ_FETCHES_DIR/clang/bin/clang++"
export CFLAGS="$CFLAGS -fcrash-diagnostics-dir=${UPLOAD_PATH}"
export CXXFLAGS="$CXXFLAGS -fcrash-diagnostics-dir=${UPLOAD_PATH}"
export LLVMCONFIG=$MOZ_FETCHES_DIR/clang/bin/llvm-config
export BINDGEN_CFLAGS="-isysroot $CROSS_SYSROOT"
export DSYMUTIL=$topsrcdir/build/macosx/llvm-dsymutil
mk_add_options "export REAL_DSYMUTIL=$MOZ_FETCHES_DIR/llvm-dsymutil/bin/dsymutil"
export MKFSHFS=$MOZ_FETCHES_DIR/hfsplus-tools/newfs_hfs
export DMG_TOOL=$MOZ_FETCHES_DIR/dmg/dmg
export HFS_TOOL=$MOZ_FETCHES_DIR/dmg/hfsplus

export HOST_CFLAGS="-g"
export HOST_CXXFLAGS="-g"
export HOST_LDFLAGS="-g"

ac_add_options --target=x86_64-apple-darwin
export MACOS_SDK_DIR=$CROSS_SYSROOT
export MACOS_PRIVATE_FRAMEWORKS_DIR=$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

unset MOZ_STDCXX_COMPAT