You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
#!/bin/bash
|
|
# Wrapper around the opensource clang meant to work around various path or library
|
|
# issues occurring when one tries to substitute Apple's version of clang with
|
|
# a different version.
|
|
# The wrapper tries to mitigate version discrepancies in clang's fatal warnings.
|
|
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
CLANG_COMPILER="${SCRIPT_DIR}/../../../facebook-clang-plugins/clang/bin/clang"
|
|
|
|
if [ "${0%++}" != "$0" ]; then XX="++"; else XX=""; fi
|
|
|
|
COMMAND=("${CLANG_COMPILER}${XX}")
|
|
|
|
# Remove command line options not supported by the opensource compiler or the plugins.
|
|
PREV=""
|
|
for X in "$@"
|
|
do
|
|
if [ "$X" == "-fembed-bitcode-marker" ]; then
|
|
continue
|
|
elif [ "$X" == "armv7k" ] && [ "$PREV" == "-arch" ]; then
|
|
# replace armv7k arch with armv7
|
|
COMMAND+=("armv7")
|
|
else
|
|
COMMAND+=("$X")
|
|
fi
|
|
PREV="$X"
|
|
done
|
|
|
|
# Never error on warnings. Clang is often more strict than Apple's version.
|
|
# These arguments are appended to override previous opposite settings.
|
|
# How it's done: surpress all the warnings, since there are no warnings,
|
|
# compiler can't elevate them to error level.
|
|
COMMAND+=("-Wno-everything")
|
|
|
|
COMMAND+=("-include")
|
|
COMMAND+=(${SCRIPT_DIR}/"global_defines.h")
|
|
|
|
"${COMMAND[@]}"
|