Preprocess Apple llvmCore headers to reflect NDEBUG setting. <rdar://12568983>

If an Apple llvmCore build is done without assertions, and a client uses
the llvmCore headers with assertions enabled, or vice versa, then things will
break because some of the structure sizes in the API are different.  Use the
unifdef tool to make the headers unconditionally match the way the llvmCore
libraries were built.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174460 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bob Wilson 2013-02-05 22:59:42 +00:00
parent 2a78bb961a
commit 0dfa8a6d06

View File

@ -234,6 +234,16 @@ RC_ProjectSourceSubversion=`printf "%d" $LLVM_MINOR_VERSION`
echo "#define LLVM_VERSION ${RC_ProjectSourceVersion}" > $DEST_DIR$DEST_ROOT/include/llvm/Version.h
echo "#define LLVM_MINOR_VERSION ${RC_ProjectSourceSubversion}" >> $DEST_DIR$DEST_ROOT/include/llvm/Version.h
# Run unifdef to preprocess the installed headers to reflect whether this
# was a debug or release build.
for file in `find $DEST_DIR$DEST_ROOT/include -type f -print`; do
if [ "$LLVM_ASSERTIONS" = yes ]; then
unifdef -UNDEBUG -D_DEBUG -o $file $file
else
unifdef -DNDEBUG -U_DEBUG -ULLVM_ENABLE_DUMP -o $file $file
fi
done
# Find the right version of strip to use.
STRIP=strip
if [ -n "$SDKROOT" ]; then