Chromium Code Reviews| 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 to be put next to the executable. |
|
Nico
2013/07/01 17:24:43
s/to be//
|
| +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}" \ |