| Index: build/mac/copy_asan_runtime_dylib.sh
|
| ===================================================================
|
| --- build/mac/copy_asan_runtime_dylib.sh (revision 208704)
|
| +++ build/mac/copy_asan_runtime_dylib.sh (working copy)
|
| @@ -6,8 +6,8 @@
|
|
|
| # For app bundles built with ASan, copies the runtime lib
|
| # (libclang_rt.asan_osx_dynamic.dylib), on which their executables depend, from
|
| -# the compiler installation path to appname.app/Contents/Resources and fixes the
|
| -# dylib's install name in the binary to be relative to @executable_path.
|
| +# the compiler installation path into the bundle and fixes the dylib's install
|
| +# name in the binary to be relative to @executable_path.
|
|
|
| set -e
|
|
|
| @@ -35,12 +35,22 @@
|
| exit 1
|
| fi
|
|
|
| -LIBRARIES_DIR="$(dirname "${BINARY_DIR}")/Libraries"
|
| -mkdir -p "${LIBRARIES_DIR}"
|
| +# Check whether the directory containing the executable binary is named
|
| +# "MacOS". In this case we're building a full-fledged OSX app and will put
|
| +# the runtime into appname.app/Contents/Libraries/. Otherwise this is probably
|
| +# an iOS gtest app, and the ASan runtime is put next to the executable.
|
| +UPPER_DIR=$(dirname "${BINARY_DIR}")
|
| +if [ "${UPPER_DIR}" == "MacOS" ]; then
|
| + LIBRARIES_DIR="${UPPER_DIR}/Libraries"
|
| + mkdir -p "${LIBRARIES_DIR}"
|
| + NEW_LC_ID_DYLIB="@executable_path/../Libraries/${ASAN_DYLIB_NAME}"
|
| +else
|
| + LIBRARIES_DIR="${BINARY_DIR}"
|
| + NEW_LC_ID_DYLIB="@executable_path/${ASAN_DYLIB_NAME}"
|
| +fi
|
| +
|
| cp "${ASAN_DYLIB}" "${LIBRARIES_DIR}"
|
|
|
| -NEW_LC_ID_DYLIB="@executable_path/../Libraries/${ASAN_DYLIB_NAME}"
|
| -
|
| # Make LC_ID_DYLIB of the runtime copy point to its location.
|
| install_name_tool \
|
| -id "${NEW_LC_ID_DYLIB}" \
|
|
|