Created
January 26, 2015 06:34
-
-
Save geoff-nixon/b238198fdba85566b453 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh -x | |
unset AR | |
unset LIBTOOL | |
unset LD | |
PREFIX=/cores/llvm-trunk | |
TMP_PREFIX=/tmp/llvm | |
BUILD=x86_64-apple-darwin11 | |
LLVM_VER=3.5.1 # Use release version. | |
# DEVEL=git # Use git. | |
# DEVEL=trunk # Use svn. | |
DEVEL=branches/release_36 # Use svn. | |
ZLIB_VER=1.2.8 | |
LIBFFI_VER=3.2.1 | |
LIBEDIT_VER=20141030-3.1 | |
LIBXML2_VER=2.9.2 | |
PYTHON_VER=2.7.9 | |
DEPLOYMENT_TARGET=10.7 | |
SYSROOT=/cores/SDKs/MacOSX10.7.sdk | |
CC=clang | |
CXX=clang++ | |
# ISL_VER= # Use git, so we can pull in imath as submodule. | |
# NCURSES_VER= # Use git, so we get up-to-date patches. | |
LLVM_SRC_DIR=$TMP_PREFIX/src | |
DEPS_DIR=$TMP_PREFIX/deps | |
DEPS_SRC_DIR=$DEPS_DIR/src | |
LLVM_REL_URI=http://llvm.org/releases/$LLVM_VER | |
LLVM_REL_SUF=-$LLVM_VER.src.tar.xz | |
NCURSES_TMP_DIR=/tmp/ncurses | |
dl(){ curl -L\# "$@" ;} # wget -qo- | |
untar(){ bsdtar x "$@" ;} | |
export CPPFLAGS="-Ofast -flto -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -Qunused-arguments -Wno-error -fPIC -fblocks -flimit-debug-info -fgnu-keywords -Xarch_i386 -march=yonah -Xarch_x86_64 -march=native -Xarch_x86_64 -mtune=core-avx-i -stdlib=libc++ -g0 -mmacosx-version-min=10.7 -isysroot /cores/SDKs/MacOSX10.7.sdk -w -DNDEBUG -I$DEPS_DIR/include" | |
export LFLAGS="-Wl,-S,-w,-dead_strip,-dead_strip_dylibs,-headerpad_max_install_names,-no_eh_labels,-no_uuid,-no_version_load_command,-search_paths_first,-macosx_version_min,10.7,-syslibroot,/cores/SDKs/MacOSX10.7.sdk" | |
export CFLAGS="$CPPFLAGS -std=gnu11" | |
export CXXFLAGS="$CPPFLAGS -std=gnu++14" | |
export LDFLAGS="$CPPFLAGS $LFLAGS -L$DEPS_DIR/lib -lc++ -lc++abi -lunwind" | |
export PKG_CONFIG_PATH=$DEPS_DIR/lib/pkgconfig | |
export PATH=$TMP_PREFIX/bin:$NCURSES_TMP_DIR/bin:$DEPS_DIR/bin:/tmp/llvm-old/bin:$PATH | |
rm -rf $TMP_PREFIX; mkdir -p $DEPS_SRC_DIR; mkdir -p $DEPS_DIR/lib; cd $DEPS_DIR/lib | |
for each in libc++ libc++abi libunwind; do ln -s /usr/lib/libc++.dylib $each.a ||:; done | |
zlib() | |
{ | |
cd $DEPS_SRC_DIR; rm -rf zlib* | |
dl http://zlib.net/zlib-$ZLIB_VER.tar.xz | untar; cd zlib* | |
./configure --prefix=$DEPS_DIR --static | |
make uninstall ||:; make; make check; make install | |
} | |
libffi() | |
{ | |
cd $DEPS_SRC_DIR; rm -rf libffi* | |
dl ftp://sourceware.org/pub/libffi/libffi-$LIBFFI_VER.tar.gz | untar; cd libffi* | |
./configure --prefix=$DEPS_DIR --build=$BUILD --disable-shared --with-pic | |
make uninstall ||:; make; make install | |
rm -rf $DEPS_DIR/include/ffi | |
mv $DEPS_DIR/lib/libffi-*/include $DEPS_DIR/include/ffi; rm -rf $DEPS_DIR/lib/libffi-* | |
rm -rf $DEPS_DIR/lib/*.la | |
} | |
isl(){ | |
cd $DEPS_SRC_DIR; rm -rf isl* | |
dl http://repo.or.cz/w/isl.git/snapshot/master.tar.gz | untar; cd isl* | |
rm -rf imath | |
dl https://github.com/creachadair/imath/archive/master.tar.gz | untar; mv imath-master imath | |
autoreconf -ifWnone | |
./configure --prefix=$DEPS_DIR --build=$BUILD --disable-shared --with-pic --with-int=imath | |
make uninstall ||:; make; make check; make install | |
rm -rf $DEPS_DIR/lib/*.la | |
} | |
ncurses(){ | |
cd $DEPS_SRC_DIR; rm -rf ncurses; git clone git://ncurses.scripts.mit.edu/ncurses; cd ncurses | |
rm -rf $NCURSES_TMP_DIR | |
TINFO=ansi,dtterm,linux,nsterm,rxvt,vt52,vt100,vt102,xterm,xterm-new,xterm-16color,xterm-256color | |
./configure \ | |
--prefix=$NCURSES_TMP_DIR \ | |
--build=$BUILD \ | |
--enable-colorfgbg \ | |
--enable-const \ | |
--enable-ext-colors \ | |
--enable-ext-mouse \ | |
--enable-pc-files \ | |
--enable-pthreads-eintr \ | |
--enable-sigwinch \ | |
--enable-symlinks \ | |
--enable-tcap-names \ | |
--enable-weak-symbols \ | |
--enable-wgetch-events \ | |
--enable-widec \ | |
--enable-xmc-glitch \ | |
--enable-sp-funcs \ | |
--enable-const \ | |
--enable-interop \ | |
--with-sysmouse \ | |
--with-pkg-config-libdir=$NCURSES_TMP_DIR/lib/pkgconfig \ | |
--without-ada \ | |
--without-debug \ | |
--without-manpages \ | |
--without-cxx-binding \ | |
--without-tests | |
make; make install | |
git pull; git clean -dxf; git reset --hard | |
./configure \ | |
--prefix=$DEPS_DIR \ | |
--build=$BUILD \ | |
--enable-colorfgbg \ | |
--enable-const \ | |
--enable-ext-colors \ | |
--enable-ext-mouse \ | |
--enable-pc-files \ | |
--enable-pthreads-eintr \ | |
--enable-sigwinch \ | |
--enable-symlinks \ | |
--enable-tcap-names \ | |
--enable-weak-symbols \ | |
--enable-wgetch-events \ | |
--enable-widec \ | |
--enable-xmc-glitch \ | |
--enable-sp-funcs \ | |
--enable-const \ | |
--enable-interop \ | |
--with-sysmouse \ | |
--with-pkg-config-libdir=$DEPS_DIR/lib/pkgconfig \ | |
--without-ada \ | |
--without-debug \ | |
--without-manpages \ | |
--without-cxx-binding \ | |
--without-tests \ | |
--without-progs \ | |
--disable-database \ | |
--disable-db-install \ | |
--with-fallbacks=$TINFO | |
make uninstall ||:; make; make install; rm -rf $NCURSES_TMP_DIR | |
cd $DEPS_DIR/include; ln -s ncursesw ncurses ||: | |
cd $DEPS_DIR/lib/pkgconfig; for i in $(ls *w.a); do ln -s $i $(echo $i | sed 's|w||') ||:; done | |
cd $DEPS_DIR/lib; for i in $(ls *w.a); do ln -s $i $(echo $i | sed 's|w||') ||:; done | |
ln -s libncursesw.a libncurses.a ||: | |
ln -s libncursesw.a libcurses.a ||: | |
ln -s libncursesw.a libtermcap.a ||: | |
cd $DEPS_DIR/bin; for i in $(ls); do echo $i | grep config >/dev/null 2>&1 || rm $i; done | |
ln -s ncursesw6-config ncursesw-config ||: | |
ln -s ncursesw6-config ncurses-config ||: | |
ln -s ncursesw6-config ncurses5.4-config ||: | |
} | |
libedit() | |
{ | |
cd $DEPS_SRC_DIR; rm -rf libedit* | |
dl http://thrysoee.dk/editline/libedit-$LIBEDIT_VER.tar.gz | untar; cd libedit* | |
./configure \ | |
--prefix=$DEPS_DIR \ | |
--build=$BUILD \ | |
--disable-shared \ | |
--with-pic \ | |
--enable-widec | |
make uninstall ||:; make; make install | |
cd $DEPS_DIR/include; ln -s editline readline ||: | |
cd $DEPS_DIR/lib; ln -s libedit.a libreadline.a ||: | |
rm -rf $DEPS_DIR/lib/*.la | |
} | |
libxml2() | |
{ | |
cd $DEPS_SRC_DIR; rm -rf libxml2* | |
dl http://xmlsoft.org/sources/libxml2-$LIBXML2_VER.tar.gz | untar; cd libxml2* | |
./configure \ | |
--prefix=$DEPS_DIR \ | |
--build=$BUILD \ | |
--disable-shared \ | |
--with-pic \ | |
--without-zlib \ | |
--with-readline=$DEPS_DIR \ | |
--without-iconv \ | |
--without-lzma | |
make uninstall ||:; make; make install | |
rm -rf $DEPS_DIR/lib/*.la $DEPS_DIR/lib/xml2conf.sh | |
cd $DEPS_DIR/bin; for i in $(ls); do echo $i | grep config >/dev/null 2>&1 || rm $i; done | |
} | |
libpython(){ | |
cd $DEPS_SRC_DIR; rm -rf Python* | |
dl http://www.python.org/ftp/python/$PYTHON_VER/Python-$PYTHON_VER.tar.xz | untar; cd Python* | |
./configure \ | |
--prefix=$DEPS_DIR \ | |
--build=$BUILD \ | |
--disable-shared \ | |
--disable-framework \ | |
--disable-toolbox-glue \ | |
--enable-ipv6 \ | |
--enable-unicode \ | |
--with-threads \ | |
--without-gcc | |
make uninstall ||:; make install -i | |
rm -rf $DEPS_DIR/lib/*.la $DEPS_DIR/lib/python2.7; chmod -x $DEPS_DIR/lib/libpython2.7.a | |
cd $DEPS_DIR/bin; for i in $(ls); do echo $i | grep config >/dev/null 2>&1 || rm $i; done | |
rm python*config | |
} | |
getllvm(){ | |
mkdir -p $LLVM_SRC_DIR; cd $LLVM_SRC_DIR; rm -rf * | |
if [ -$DEVEL- = -- ]; then for project in \ | |
cfe \ | |
clang-tools-extra \ | |
compiler-rt \ | |
dragonegg \ | |
libcxx \ | |
libcxxabi \ | |
lld \ | |
llvm \ | |
openmp \ | |
polly \ | |
# lldb \ | |
# test-suite | |
do dl $LLVM_REL_URI/$project$LLVM_REL_SUF | tar x; mv $project* $project & | |
done; wait | |
mv polly lld llvm/tools; mv cfe llvm/tools/clang | |
# mv lldb llvm/tools | |
mv clang-tools-extra llvm/tools/clang/tools/extra | |
mv compiler-rt dragonegg libcxx libcxxabi openmp llvm/projects | |
# mv test-suite llvm/projects | |
mv llvm llvm-project | |
cd llvm-project | |
echo 'H4sIADzAt1QCA7VXXXOiShB951f0Nam6WipKJNHcqq1aVDZhFz8K2WzyRA3MGGeDYAFGra38 | |
99sDmOsHJi9eH6To7jk90+dMz0D5dAr1+jNPgDR6A/LCTB4nsZysE3APDBIPKFtD+6pDVEpk | |
+VZpMaoQUJrNG1WV6vX6EYZUrVaPcb5+hXrrqtaCavqPrzFLyqb5MHAedGtijIbOWLN796BU | |
JOBTKA9HNoy13g/tTt9GVKQ6pMMO7FC6/LOHNNC+j6w3+dBqDAusada3+DUoVaTq/wWP2MAC | |
yqflikR3y+/NsUqNeUiXPouPyfjInVPjddrKbYsiNTfXtO0dUPMhQEbUhyGCNlWwpv5Hmu+/ | |
zp10lOMuuU8pj95L1DWGmvXk9A3rrZGbjOHE1kzT2VZV+EQ9nlniLKJwwaJkkwlBfxyPLHsC | |
d+aoq5kwtkZj3bKfYNeJGmDrRRglZVuz7nSMztPk/jep+rEfxqHvbyQA+GaYOnoLlvPWEEP0 | |
FCeWU98Bbzjx38xL4obPXW+9Ji4/Ju/TmJxB0r5RGW3Kcpuqt2RK9xn8HCWj8fM4weWV2q4p | |
SGf+RNNWliDV8Sl2nWl0e4+PWtdw9KHWNXVncq9Zej/dfRdgj/qjf+AbX0MyYyCSYfq0RDDl | |
qCCIQ/SQJHfhPMAjAbgM4oQk3CNYffQFL4zKGaIWA9aUxxCEq9oWccV9HxYRm7IojebBM5Bn | |
woMYyw90E5A593Zy8EDMJwOMN3HC5sIZkWgDC5LMYghfEYnkkzgaCOEyAWQeKxhGGxnsGY8z | |
sFW49CkkDPOKuAPsCLERFxecwwQMVgx+LzFcqCmpwWrGvRkuL/g7yRBxIhuYMX8xXfppCeYs | |
jskzK//SrKExvIOS/V5ZMUOROwYSMfCWUcSCBAsYBvj3SnxOEZ8FUBI4h7/SCSZFrcOghvUG | |
b8a8F0hIhLsxqzkSVQxGXgn3ieuzv0piE/oxQ9VUL+Az1WDI2XWTY55TOTnkubSTw51VPTnm | |
vn5S41kUlCKdT0PFcHsqwpBcR+gilDrx0n0vZFnMWigtb1AiuOgITcLQx67nU/e4BZ/05a33 | |
ViXKVUeRZXbldVrM22+9p0dnLfe0P221Sqd2i502faBhTrwoLItVihHOVgMoR5auf7s43Hvi | |
/jMY9X+aeiXbiumxy13UMoUdhyieiM0ocZAqC0/fgjE7HXy7cYWSdvOkhuJMqetUroJx7zt/ | |
Oy4j+CDI1myjl01py3Aavz2P8GVs9FBgCQSMUUZRb/CLByfZR+SGoEG0k312dj0589SbUrfl | |
ynLHc5tUZSeZ3xt7xPueV7CuXNeuoZr+42tepaE20OELiBESXGQ3Eazh5GnQHZlOeg/5Apdl | |
vPB8dyZWT1yRKo1LvBT1u46pP+hmpRGxOFxGHsvy1qcRymYVRi/5bQgPq+HI6f40zL6jWb17 | |
40FAKlK1wNqUcF7DH4LCCd7OthtahNf32c0gjmwIcJKEbJYf7sTCkJwWt+OqtIkfGlRpKkqr | |
eZKWYpAjforDsu3ZFPfa7IEGoW1IDzJR9b4xSZvd+Mm+xy+Anet7XYj4oCT4zVItMDfFrepf | |
BRE0Nm4NAAA=' | base64 -D | gzcat | patch -p1 | |
elif [ -$DEVEL- = -trunk- ]; then for project in \ | |
cfe \ | |
clang-tools-extra \ | |
compiler-rt \ | |
dragonegg \ | |
libcxx \ | |
libcxxabi \ | |
lld \ | |
llvm \ | |
openmp \ | |
polly \ | |
lldb \ | |
# test-suite | |
do svn export http://llvm.org/svn/llvm-project/$project/trunk $project & | |
done; wait | |
mv polly lld lldb llvm/tools; mv cfe llvm/tools/clang | |
mv clang-tools-extra llvm/tools/clang/tools/extra | |
mv compiler-rt dragonegg libcxx libcxxabi openmp llvm/projects | |
# mv test-suite llvm/projects | |
mv llvm llvm-project | |
elif [ -$DEVEL- = -git- ]; then for project in \ | |
clang \ | |
clang-tools-extra \ | |
compiler-rt \ | |
dragonegg \ | |
libcxx \ | |
libcxxabi \ | |
lld \ | |
llvm \ | |
openmp \ | |
polly \ | |
lldb \ | |
# llgo \ | |
# test-suite | |
do git clone http://git.llvm.org/git/$project.git & | |
done; wait | |
mv clang polly lld lldb llvm/tools | |
# mv llgo llvm/tools | |
mv clang-tools-extra llvm/tools/clang/tools/extra | |
mv compiler-rt dragonegg libcxx libcxxabi openmp llvm/projects | |
# mv test-suite llvm/projects | |
mv llvm llvm-project | |
else for project in \ | |
cfe \ | |
clang-tools-extra \ | |
compiler-rt \ | |
dragonegg \ | |
libcxx \ | |
libcxxabi \ | |
lld \ | |
llvm \ | |
openmp \ | |
polly \ | |
lldb \ | |
# llgo \ | |
# test-suite | |
do svn export http://llvm.org/svn/llvm-project/$project/$DEVEL $project & | |
done; wait | |
# svn export http://llvm.org/svn/llvm-project/llgo/trunk llgo | |
mv polly lld lldb llvm/tools; mv cfe llvm/tools/clang | |
# mv llgo llvm/tools | |
mv clang-tools-extra llvm/tools/clang/tools/extra | |
mv compiler-rt dragonegg libcxx libcxxabi openmp llvm/projects | |
# mv test-suite llvm/projects | |
mv llvm llvm-project | |
fi | |
} | |
deps() | |
{ | |
zlib & | |
libffi & | |
isl & | |
ncurses & | |
libxml2 & | |
wait | |
libedit | |
libpython | |
rm -rf deps/share deps/src ;} | |
buildllvm(){ | |
MAKEJOBS=$(sysctl -n hw.ncpu) | |
LINKJOBS=$(($(sysctl -n hw.memsize)/1024/1024/1024/4)) | |
stage1(){ | |
cd $LLVM_SRC_DIR; rm -rf build; mkdir -p build; cd build | |
TARGETS=host | |
if [ -$DEVEL- = -- ]; then | |
cmake \ | |
../llvm-project \ | |
-Wno-dev \ | |
-DCMAKE_INSTALL_PREFIX="$TMP_PREFIX" \ | |
-DBUILD_SHARED_LIBS=0 \ | |
-DCLANG_BUILD_EXAMPLES=0 \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_C_COMPILER="$CC" \ | |
-DCMAKE_C_FLAGS="$CFLAGS" \ | |
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ | |
-DCMAKE_CXX_COMPILER="$CXX" \ | |
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \ | |
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET="$DEPLOYMENT_TARGET" \ | |
-DCMAKE_OSX_SYSROOT="$SYSROOT" \ | |
-DCMAKE_USE_RELATIVE_PATHS=1 \ | |
-DFFI_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DFFI_INCLUDE_PATH="$DEPS_DIR/include" \ | |
-DFFI_LIBRARY_DIR="$DEPS_DIR/lib" \ | |
-DFFI_LIBRARY_PATH="$DEPS_DIR/lib/libffi.a" \ | |
-DISL_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DISL_LIBRARY="$DEPS_DIR/lib/libisl.a" \ | |
-DLIBCLANG_BUILD_STATIC=1 \ | |
-DLIBCXXABI_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXXABI_ENABLE_PEDANTIC=0 \ | |
-DLIBCXXABI_ENABLE_SHARED=0 \ | |
-DLIBCXXABI_ENABLE_WERROR=0 \ | |
-DLIBCXXABI_LIBCXX_INCLUDES="$LLVM_SRC_DIR/llvm-project/projects/libcxx/include" \ | |
-DLIBCXXABI_USE_LLVM_UNWINDER=1 \ | |
-DLIBCXX_CXX_ABI=libcxxabi \ | |
-DLIBCXX_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXX_ENABLE_CXX0X=1 \ | |
-DLIBCXX_ENABLE_EXCEPTIONS=1 \ | |
-DLIBCXX_ENABLE_PEDANTIC=0 \ | |
-DLIBCXX_ENABLE_RTTI=1 \ | |
-DLIBCXX_ENABLE_SHARED=0 \ | |
-DLIBCXX_ENABLE_WERROR=0 \ | |
-DLIBCXX_HOST_TRIPLE=$BUILD \ | |
-DLIBCXX_INSTALL_SUPPORT_HEADERS=1 \ | |
-DLIBCXX_LIBCXXABI_INCLUDE_PATHS="$LLVM_SRC_DIR/llvm-project/projects/libcxxabi/include" \ | |
-DLIBCXX_TARGET_TRIPLE=$BUILD \ | |
-DLIBXML2_INCLUDE_DIR="$DEPS_DIR/include/libxml2" \ | |
-DLIBXML2_LIBRARIES="$DEPS_DIR/lib/libxml2.a" \ | |
-DLIBXML2_XMLLINT_EXECUTABLE=/usr/bin/xmllint \ | |
-DLINK_POLLY_INTO_TOOLS=1 \ | |
-DLLVM_BUILD_EXAMPLES=0 \ | |
-DLLVM_BUILD_RUNTIME=1 \ | |
-DLLVM_BUILD_TESTS=0 \ | |
-DLLVM_BUILD_TOOLS=0 \ | |
-DLLVM_DEFAULT_TARGET_TRIPLE=$BUILD \ | |
-DLLVM_ENABLE_ASSERTIONS=0 \ | |
-DLLVM_ENABLE_BACKTRACES=1 \ | |
-DLLVM_ENABLE_CRASH_OVERRIDES=0 \ | |
-DLLVM_ENABLE_CXX1Y=1 \ | |
-DLLVM_ENABLE_DOXYGEN=0 \ | |
-DLLVM_ENABLE_EH=1 \ | |
-DLLVM_ENABLE_FFI=1 \ | |
-DLLVM_ENABLE_LIBCXX=1 \ | |
-DLLVM_ENABLE_PEDANTIC=0 \ | |
-DLLVM_ENABLE_PIC=1 \ | |
-DLLVM_ENABLE_RTTI=1 \ | |
-DLLVM_ENABLE_SPHINX=0 \ | |
-DLLVM_EXTERNAL_CLANG_BUILD=1 \ | |
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=0 \ | |
-DLLVM_EXTERNAL_DRAGONEGG_BUILD=0 \ | |
-DLLVM_EXTERNAL_LIBCXX_BUILD=1 \ | |
-DLLVM_EXTERNAL_POLLY_BUILD=1 \ | |
-DLLVM_HOST_TRIPLE=$BUILD \ | |
-DLLVM_INCLUDE_TOOLS=bootstrap-only \ | |
-DLLVM_INSTALL_TOOLCHAIN_ONLY=1 \ | |
-DLLVM_TARGETS_TO_BUILD="$TARGETS" \ | |
-DSubversion_SVN_EXECUTABLE=/usr/bin/svn \ | |
-DWITH_POLLY=1 \ | |
-DCMAKE_OSX_ARCHITECTURES='i386;x86_64' ||: | |
make -C projects/libcxxabi; make -C projects/libcxx | |
rm -rf $DEPS_DIR/lib/libc++* $DEPS_DIR/lib/libunwind* | |
cp lib/libc++* lib/libunwind* $DEPS_DIR/lib; rm -rf * | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32; make | |
libtool -static $(find . -name \*.o) -o $DEPS_DIR/lib/libiomp5.a; rm -rf * | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32e; make; cp *.h $DEPS_DIR/include | |
libtool -static $(find . -name \*.o) -o libiomp5.a | |
lipo -create libiomp5.a $DEPS_DIR/lib/libiomp5.a -output $DEPS_DIR/lib/libiomp5.a; rm -rf * | |
cd $DEPS_DIR/lib; ln -s libiomp5.a libgomp.a ||: | |
cd $LLVM_SRC_DIR; rm -rf build; mkdir -p build; cd build | |
cmake \ | |
../llvm-project \ | |
-Wno-dev \ | |
-DCMAKE_INSTALL_PREFIX="$TMP_PREFIX" \ | |
-DBUILD_SHARED_LIBS=0 \ | |
-DCLANG_BUILD_EXAMPLES=0 \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_C_COMPILER="$CC" \ | |
-DCMAKE_C_FLAGS="$CFLAGS" \ | |
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ | |
-DCMAKE_CXX_COMPILER="$CXX" \ | |
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \ | |
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET="$DEPLOYMENT_TARGET" \ | |
-DCMAKE_OSX_SYSROOT="$SYSROOT" \ | |
-DCMAKE_USE_RELATIVE_PATHS=1 \ | |
-DFFI_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DFFI_INCLUDE_PATH="$DEPS_DIR/include" \ | |
-DFFI_LIBRARY_DIR="$DEPS_DIR/lib" \ | |
-DFFI_LIBRARY_PATH="$DEPS_DIR/lib/libffi.a" \ | |
-DISL_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DISL_LIBRARY="$DEPS_DIR/lib/libisl.a" \ | |
-DLIBCLANG_BUILD_STATIC=1 \ | |
-DLIBCXXABI_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXXABI_ENABLE_PEDANTIC=0 \ | |
-DLIBCXXABI_ENABLE_SHARED=0 \ | |
-DLIBCXXABI_ENABLE_WERROR=0 \ | |
-DLIBCXXABI_LIBCXX_INCLUDES="$LLVM_SRC_DIR/llvm-project/projects/libcxx/include" \ | |
-DLIBCXXABI_USE_LLVM_UNWINDER=1 \ | |
-DLIBCXX_CXX_ABI=libcxxabi \ | |
-DLIBCXX_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXX_ENABLE_CXX0X=1 \ | |
-DLIBCXX_ENABLE_EXCEPTIONS=1 \ | |
-DLIBCXX_ENABLE_PEDANTIC=0 \ | |
-DLIBCXX_ENABLE_RTTI=1 \ | |
-DLIBCXX_ENABLE_SHARED=0 \ | |
-DLIBCXX_ENABLE_WERROR=0 \ | |
-DLIBCXX_HOST_TRIPLE=$BUILD \ | |
-DLIBCXX_INSTALL_SUPPORT_HEADERS=1 \ | |
-DLIBCXX_LIBCXXABI_INCLUDE_PATHS="$LLVM_SRC_DIR/llvm-project/projects/libcxxabi/include" \ | |
-DLIBCXX_TARGET_TRIPLE=$BUILD \ | |
-DLIBXML2_INCLUDE_DIR="$DEPS_DIR/include/libxml2" \ | |
-DLIBXML2_LIBRARIES="$DEPS_DIR/lib/libxml2.a" \ | |
-DLIBXML2_XMLLINT_EXECUTABLE=/usr/bin/xmllint \ | |
-DLINK_POLLY_INTO_TOOLS=1 \ | |
-DLLVM_BUILD_EXAMPLES=0 \ | |
-DLLVM_BUILD_RUNTIME=1 \ | |
-DLLVM_BUILD_TESTS=0 \ | |
-DLLVM_BUILD_TOOLS=0 \ | |
-DLLVM_DEFAULT_TARGET_TRIPLE=$BUILD \ | |
-DLLVM_ENABLE_ASSERTIONS=0 \ | |
-DLLVM_ENABLE_BACKTRACES=1 \ | |
-DLLVM_ENABLE_CRASH_OVERRIDES=0 \ | |
-DLLVM_ENABLE_CXX1Y=1 \ | |
-DLLVM_ENABLE_DOXYGEN=0 \ | |
-DLLVM_ENABLE_EH=1 \ | |
-DLLVM_ENABLE_FFI=1 \ | |
-DLLVM_ENABLE_LIBCXX=1 \ | |
-DLLVM_ENABLE_PEDANTIC=0 \ | |
-DLLVM_ENABLE_PIC=1 \ | |
-DLLVM_ENABLE_RTTI=1 \ | |
-DLLVM_ENABLE_SPHINX=0 \ | |
-DLLVM_EXTERNAL_CLANG_BUILD=1 \ | |
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=0 \ | |
-DLLVM_EXTERNAL_DRAGONEGG_BUILD=0 \ | |
-DLLVM_EXTERNAL_LIBCXX_BUILD=1 \ | |
-DLLVM_EXTERNAL_POLLY_BUILD=1 \ | |
-DLLVM_HOST_TRIPLE=$BUILD \ | |
-DLLVM_INCLUDE_TOOLS=bootstrap-only \ | |
-DLLVM_INSTALL_TOOLCHAIN_ONLY=1 \ | |
-DLLVM_TARGETS_TO_BUILD="$TARGETS" \ | |
-DSubversion_SVN_EXECUTABLE=/usr/bin/svn \ | |
-DWITH_POLLY=1 | |
else | |
cmake \ | |
../llvm-project \ | |
-Wno-dev \ | |
-DCMAKE_INSTALL_PREFIX="$TMP_PREFIX" \ | |
-DBUILD_SHARED_LIBS=0 \ | |
-DCLANG_BUILD_EXAMPLES=0 \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_C_COMPILER="$CC" \ | |
-DCMAKE_C_FLAGS="$CFLAGS" \ | |
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ | |
-DCMAKE_CXX_COMPILER="$CXX" \ | |
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \ | |
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET="$DEPLOYMENT_TARGET" \ | |
-DCMAKE_OSX_SYSROOT="$SYSROOT" \ | |
-DCMAKE_USE_RELATIVE_PATHS=1 \ | |
-DCOMPILER_SUPPORTS_QUAD_PRECISION=1 \ | |
-DFFI_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DFFI_INCLUDE_PATH="$DEPS_DIR/include" \ | |
-DFFI_LIBRARY_DIR="$DEPS_DIR/lib" \ | |
-DFFI_LIBRARY_PATH="$DEPS_DIR/lib/libffi.a" \ | |
-DISL_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DISL_LIBRARY="$DEPS_DIR/lib/libisl.a" \ | |
-DLIBCLANG_BUILD_STATIC=1 \ | |
-DLIBCXXABI_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXXABI_ENABLE_PEDANTIC=0 \ | |
-DLIBCXXABI_ENABLE_SHARED=0 \ | |
-DLIBCXXABI_ENABLE_THREADS=1 \ | |
-DLIBCXXABI_ENABLE_WERROR=0 \ | |
-DLIBCXXABI_LIBCXX_INCLUDES="$LLVM_SRC_DIR/llvm-project/projects/libcxx/include" \ | |
-DLIBCXXABI_USE_LLVM_UNWINDER=1 \ | |
-DLIBCXX_CXX_ABI=libcxxabi \ | |
-DLIBCXX_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXX_ENABLE_CXX1Y=1 \ | |
-DLIBCXX_ENABLE_EXCEPTIONS=1 \ | |
-DLIBCXX_ENABLE_MONOTONIC_CLOCK=1 \ | |
-DLIBCXX_ENABLE_PEDANTIC=0 \ | |
-DLIBCXX_ENABLE_RTTI=1 \ | |
-DLIBCXX_ENABLE_SHARED=0 \ | |
-DLIBCXX_ENABLE_THREADS=1 \ | |
-DLIBCXX_ENABLE_WERROR=0 \ | |
-DLIBCXX_HOST_TRIPLE=$BUILD \ | |
-DLIBCXX_INSTALL_HEADERS=1 \ | |
-DLIBCXX_INSTALL_SUPPORT_HEADERS=1 \ | |
-DLIBCXX_LIBCXXABI_INCLUDE_PATHS="$LLVM_SRC_DIR/llvm-project/projects/libcxxabi/include" \ | |
-DLIBCXX_TARGET_TRIPLE=$BUILD \ | |
-DLIBXML2_INCLUDE_DIR="$DEPS_DIR/include/libxml2" \ | |
-DLIBXML2_LIBRARIES="$DEPS_DIR/lib/libxml2.a" \ | |
-DLIBXML2_XMLLINT_EXECUTABLE=/usr/bin/xmllint \ | |
-DLINK_POLLY_INTO_TOOLS=1 \ | |
-DLLVM_BUILD_EXAMPLES=0 \ | |
-DLLVM_BUILD_LLVM_DYLIB=1 \ | |
-DLLVM_BUILD_RUNTIME=1 \ | |
-DLLVM_BUILD_TESTS=0 \ | |
-DLLVM_BUILD_TOOLS=1 \ | |
-DLLVM_DEFAULT_TARGET_TRIPLE=$BUILD \ | |
-DLLVM_ENABLE_ASSERTIONS=0 \ | |
-DLLVM_ENABLE_BACKTRACES=1 \ | |
-DLLVM_ENABLE_CRASH_OVERRIDES=0 \ | |
-DLLVM_ENABLE_CXX1Y=1 \ | |
-DLLVM_ENABLE_DOXYGEN=0 \ | |
-DLLVM_ENABLE_EH=1 \ | |
-DLLVM_ENABLE_FFI=1 \ | |
-DLLVM_ENABLE_LIBCXX=1 \ | |
-DLLVM_ENABLE_PEDANTIC=0 \ | |
-DLLVM_ENABLE_PIC=1 \ | |
-DLLVM_ENABLE_RTTI=1 \ | |
-DLLVM_ENABLE_SPHINX=0 \ | |
-DLLVM_EXTERNAL_CLANG_BUILD=1 \ | |
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=0 \ | |
-DLLVM_EXTERNAL_DRAGONEGG_BUILD=0 \ | |
-DLLVM_EXTERNAL_LIBCXX_BUILD=1 \ | |
-DLLVM_EXTERNAL_POLLY_BUILD=1 \ | |
-DLLVM_HOST_TRIPLE=$BUILD \ | |
-DLLVM_INSTALL_TOOLCHAIN_ONLY=1 \ | |
-DLLVM_INCLUDE_TOOLS=bootstrap-only \ | |
-DLLVM_PARALLEL_COMPILE_JOBS=$MAKEJOBS \ | |
-DLLVM_PARALLEL_LINK_JOBS=$LINKJOBS \ | |
-DLLVM_TARGETS_TO_BUILD="$TARGETS" \ | |
-DSPHINX_WARNINGS_AS_ERRORS=0 \ | |
-DPERL_EXECUTABLE=/usr/bin/perl \ | |
-DPYTHON_EXECUTABLE=/usr/bin/python \ | |
-DWITH_POLLY=1 \ | |
-DCMAKE_OSX_ARCHITECTURES='i386;x86_64' ||: | |
make -C projects/libcxxabi; make -C projects/libcxx | |
rm -rf $DEPS_DIR/lib/libc++* $DEPS_DIR/lib/libunwind* | |
cp lib/libc++* lib/libunwind* $DEPS_DIR/lib; rm -rf * | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32; make | |
libtool -static $(find . -name \*.o) -o $DEPS_DIR/lib/libiomp5.a; rm -rf * | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32e; make; cp *.h $DEPS_DIR/include | |
libtool -static $(find . -name \*.o) -o libiomp5.a | |
lipo -create libiomp5.a $DEPS_DIR/lib/libiomp5.a -output $DEPS_DIR/lib/libiomp5.a; rm -rf * | |
cd $DEPS_DIR/lib; ln -s libiomp5.a libgomp.a ||: | |
cd $LLVM_SRC_DIR; rm -rf build; mkdir -p build; cd build | |
cmake \ | |
../llvm-project \ | |
-Wno-dev \ | |
-DCMAKE_INSTALL_PREFIX="$TMP_PREFIX" \ | |
-DBUILD_SHARED_LIBS=0 \ | |
-DCLANG_BUILD_EXAMPLES=0 \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_C_COMPILER="$CC" \ | |
-DCMAKE_C_FLAGS="$CFLAGS" \ | |
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ | |
-DCMAKE_CXX_COMPILER="$CXX" \ | |
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \ | |
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET="$DEPLOYMENT_TARGET" \ | |
-DCMAKE_OSX_SYSROOT="$SYSROOT" \ | |
-DCMAKE_USE_RELATIVE_PATHS=1 \ | |
-DCOMPILER_SUPPORTS_QUAD_PRECISION=1 \ | |
-DFFI_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DFFI_INCLUDE_PATH="$DEPS_DIR/include" \ | |
-DFFI_LIBRARY_DIR="$DEPS_DIR/lib" \ | |
-DFFI_LIBRARY_PATH="$DEPS_DIR/lib/libffi.a" \ | |
-DISL_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DISL_LIBRARY="$DEPS_DIR/lib/libisl.a" \ | |
-DLIBCLANG_BUILD_STATIC=1 \ | |
-DLIBCXXABI_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXXABI_ENABLE_PEDANTIC=0 \ | |
-DLIBCXXABI_ENABLE_SHARED=0 \ | |
-DLIBCXXABI_ENABLE_THREADS=1 \ | |
-DLIBCXXABI_ENABLE_WERROR=0 \ | |
-DLIBCXXABI_LIBCXX_INCLUDES="$LLVM_SRC_DIR/llvm-project/projects/libcxx/include" \ | |
-DLIBCXXABI_USE_LLVM_UNWINDER=1 \ | |
-DLIBCXX_CXX_ABI=libcxxabi \ | |
-DLIBCXX_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXX_ENABLE_CXX1Y=1 \ | |
-DLIBCXX_ENABLE_EXCEPTIONS=1 \ | |
-DLIBCXX_ENABLE_MONOTONIC_CLOCK=1 \ | |
-DLIBCXX_ENABLE_PEDANTIC=0 \ | |
-DLIBCXX_ENABLE_RTTI=1 \ | |
-DLIBCXX_ENABLE_SHARED=0 \ | |
-DLIBCXX_ENABLE_THREADS=1 \ | |
-DLIBCXX_ENABLE_WERROR=0 \ | |
-DLIBCXX_HOST_TRIPLE=$BUILD \ | |
-DLIBCXX_INSTALL_HEADERS=1 \ | |
-DLIBCXX_INSTALL_SUPPORT_HEADERS=1 \ | |
-DLIBCXX_LIBCXXABI_INCLUDE_PATHS="$LLVM_SRC_DIR/llvm-project/projects/libcxxabi/include" \ | |
-DLIBCXX_TARGET_TRIPLE=$BUILD \ | |
-DLIBXML2_INCLUDE_DIR="$DEPS_DIR/include/libxml2" \ | |
-DLIBXML2_LIBRARIES="$DEPS_DIR/lib/libxml2.a" \ | |
-DLIBXML2_XMLLINT_EXECUTABLE=/usr/bin/xmllint \ | |
-DLINK_POLLY_INTO_TOOLS=1 \ | |
-DLLVM_BUILD_EXAMPLES=0 \ | |
-DLLVM_BUILD_LLVM_DYLIB=1 \ | |
-DLLVM_BUILD_RUNTIME=1 \ | |
-DLLVM_BUILD_TESTS=0 \ | |
-DLLVM_BUILD_TOOLS=1 \ | |
-DLLVM_DEFAULT_TARGET_TRIPLE=$BUILD \ | |
-DLLVM_ENABLE_ASSERTIONS=0 \ | |
-DLLVM_ENABLE_BACKTRACES=1 \ | |
-DLLVM_ENABLE_CRASH_OVERRIDES=0 \ | |
-DLLVM_ENABLE_CXX1Y=1 \ | |
-DLLVM_ENABLE_DOXYGEN=0 \ | |
-DLLVM_ENABLE_EH=1 \ | |
-DLLVM_ENABLE_FFI=1 \ | |
-DLLVM_ENABLE_LIBCXX=1 \ | |
-DLLVM_ENABLE_PEDANTIC=0 \ | |
-DLLVM_ENABLE_PIC=1 \ | |
-DLLVM_ENABLE_RTTI=1 \ | |
-DLLVM_ENABLE_SPHINX=0 \ | |
-DLLVM_EXTERNAL_CLANG_BUILD=1 \ | |
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=0 \ | |
-DLLVM_EXTERNAL_DRAGONEGG_BUILD=0 \ | |
-DLLVM_EXTERNAL_LIBCXX_BUILD=1 \ | |
-DLLVM_EXTERNAL_POLLY_BUILD=1 \ | |
-DLLVM_HOST_TRIPLE=$BUILD \ | |
-DLLVM_INSTALL_TOOLCHAIN_ONLY=1 \ | |
-DLLVM_INCLUDE_TOOLS=bootstrap-only \ | |
-DLLVM_PARALLEL_COMPILE_JOBS=$MAKEJOBS \ | |
-DLLVM_PARALLEL_LINK_JOBS=$LINKJOBS \ | |
-DLLVM_TARGETS_TO_BUILD="$TARGETS" \ | |
-DSPHINX_WARNINGS_AS_ERRORS=0 \ | |
-DPERL_EXECUTABLE=/usr/bin/perl \ | |
-DPYTHON_EXECUTABLE=/usr/bin/python \ | |
-DWITH_POLLY=1 ||: | |
fi | |
} | |
stage2(){ | |
cd $LLVM_SRC_DIR; rm -rf build; mkdir -p build; cd build | |
TARGETS=all | |
if [ -$DEVEL- = -- ]; then | |
cmake \ | |
../llvm-project \ | |
-Wno-dev \ | |
-DCMAKE_INSTALL_PREFIX="$PREFIX" \ | |
-DBUILD_SHARED_LIBS=0 \ | |
-DCLANG_BUILD_EXAMPLES=0 \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_C_COMPILER="$CC" \ | |
-DCMAKE_C_FLAGS="$CFLAGS" \ | |
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ | |
-DCMAKE_CXX_COMPILER="$CXX" \ | |
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \ | |
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET="$DEPLOYMENT_TARGET" \ | |
-DCMAKE_OSX_SYSROOT="$SYSROOT" \ | |
-DCMAKE_USE_RELATIVE_PATHS=1 \ | |
-DFFI_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DFFI_INCLUDE_PATH="$DEPS_DIR/include" \ | |
-DFFI_LIBRARY_DIR="$DEPS_DIR/lib" \ | |
-DFFI_LIBRARY_PATH="$DEPS_DIR/lib/libffi.a" \ | |
-DISL_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DISL_LIBRARY="$DEPS_DIR/lib/libisl.a" \ | |
-DLIBCLANG_BUILD_STATIC=1 \ | |
-DLIBCXXABI_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXXABI_ENABLE_PEDANTIC=0 \ | |
-DLIBCXXABI_ENABLE_SHARED=0 \ | |
-DLIBCXXABI_ENABLE_WERROR=0 \ | |
-DLIBCXXABI_LIBCXX_INCLUDES="$LLVM_SRC_DIR/llvm-project/projects/libcxx/include" \ | |
-DLIBCXXABI_USE_LLVM_UNWINDER=1 \ | |
-DLIBCXX_CXX_ABI=libcxxabi \ | |
-DLIBCXX_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXX_ENABLE_CXX0X=1 \ | |
-DLIBCXX_ENABLE_EXCEPTIONS=1 \ | |
-DLIBCXX_ENABLE_PEDANTIC=0 \ | |
-DLIBCXX_ENABLE_RTTI=1 \ | |
-DLIBCXX_ENABLE_SHARED=0 \ | |
-DLIBCXX_ENABLE_WERROR=0 \ | |
-DLIBCXX_HOST_TRIPLE=$BUILD \ | |
-DLIBCXX_INSTALL_SUPPORT_HEADERS=1 \ | |
-DLIBCXX_LIBCXXABI_INCLUDE_PATHS="$LLVM_SRC_DIR/llvm-project/projects/libcxxabi/include" \ | |
-DLIBCXX_TARGET_TRIPLE=$BUILD \ | |
-DLIBXML2_INCLUDE_DIR="$DEPS_DIR/include/libxml2" \ | |
-DLIBXML2_LIBRARIES="$DEPS_DIR/lib/libxml2.a" \ | |
-DLIBXML2_XMLLINT_EXECUTABLE=/usr/bin/xmllint \ | |
-DLINK_POLLY_INTO_TOOLS=1 \ | |
-DLLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION=1 \ | |
-DLLDB_TEST_ARGS='-C;clang' \ | |
-DLLVM_BUILD_EXAMPLES=0 \ | |
-DLLVM_BUILD_RUNTIME=1 \ | |
-DLLVM_BUILD_TESTS=0 \ | |
-DLLVM_BUILD_TOOLS=1 \ | |
-DLLVM_DEFAULT_TARGET_TRIPLE=$BUILD \ | |
-DLLVM_ENABLE_ASSERTIONS=0 \ | |
-DLLVM_ENABLE_BACKTRACES=1 \ | |
-DLLVM_ENABLE_CRASH_OVERRIDES=0 \ | |
-DLLVM_ENABLE_CXX1Y=1 \ | |
-DLLVM_ENABLE_DOXYGEN=0 \ | |
-DLLVM_ENABLE_EH=1 \ | |
-DLLVM_ENABLE_FFI=1 \ | |
-DLLVM_ENABLE_LIBCXX=1 \ | |
-DLLVM_ENABLE_PEDANTIC=0 \ | |
-DLLVM_ENABLE_PIC=1 \ | |
-DLLVM_ENABLE_RTTI=1 \ | |
-DLLVM_ENABLE_SPHINX=0 \ | |
-DLLVM_EXTERNAL_CLANG_BUILD=1 \ | |
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=1 \ | |
-DLLVM_EXTERNAL_DRAGONEGG_BUILD=0 \ | |
-DLLVM_EXTERNAL_LIBCXX_BUILD=1 \ | |
-DLLVM_EXTERNAL_LLDB_BUILD=0 \ | |
-DLLVM_EXTERNAL_LLD_BUILD=1 \ | |
-DLLVM_EXTERNAL_POLLY_BUILD=1 \ | |
-DLLVM_HOST_TRIPLE=$BUILD \ | |
-DLLVM_INSTALL_TOOLCHAIN_ONLY=0 \ | |
-DLLVM_TARGETS_TO_BUILD="$TARGETS" \ | |
-DPYTHON_EXECUTABLE=/usr/bin/python \ | |
-DLLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION=0 \ | |
-DPYTHON_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DPYTHON_LIBRARY="$DEPS_DIR/lib/libpython2.7.a" \ | |
-DSubversion_SVN_EXECUTABLE=/usr/bin/svn \ | |
-DWITH_POLLY=1 \ | |
-DCMAKE_OSX_ARCHITECTURES='i386;x86_64' ||: | |
make -C projects/libcxxabi; make -C projects/libcxx | |
rm -rf $DEPS_DIR/lib/libc++* $DEPS_DIR/lib/libunwind* | |
cp lib/libc++* lib/libunwind* $DEPS_DIR/lib; rm -rf * | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32; make | |
libtool -static $(find . -name \*.o) -o $DEPS_DIR/lib/libiomp5.a; rm -rf * | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32e; make; cp *.h $DEPS_DIR/include | |
libtool -static $(find . -name \*.o) -o libiomp5.a | |
lipo -create libiomp5.a $DEPS_DIR/lib/libiomp5.a -output $DEPS_DIR/lib/libiomp5.a; rm -rf * | |
cd $DEPS_DIR/lib; ln -s libiomp5.a libgomp.a ||: | |
cd $LLVM_SRC_DIR; rm -rf build; mkdir -p build; cd build | |
cmake \ | |
../llvm-project \ | |
-Wno-dev \ | |
-DCMAKE_INSTALL_PREFIX="$PREFIX" \ | |
-DBUILD_SHARED_LIBS=0 \ | |
-DCLANG_BUILD_EXAMPLES=0 \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_C_COMPILER="$CC" \ | |
-DCMAKE_C_FLAGS="$CFLAGS" \ | |
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ | |
-DCMAKE_CXX_COMPILER="$CXX" \ | |
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \ | |
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET="$DEPLOYMENT_TARGET" \ | |
-DCMAKE_OSX_SYSROOT="$SYSROOT" \ | |
-DCMAKE_USE_RELATIVE_PATHS=1 \ | |
-DFFI_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DFFI_INCLUDE_PATH="$DEPS_DIR/include" \ | |
-DFFI_LIBRARY_DIR="$DEPS_DIR/lib" \ | |
-DFFI_LIBRARY_PATH="$DEPS_DIR/lib/libffi.a" \ | |
-DISL_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DISL_LIBRARY="$DEPS_DIR/lib/libisl.a" \ | |
-DLIBCLANG_BUILD_STATIC=1 \ | |
-DLIBCXXABI_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXXABI_ENABLE_PEDANTIC=0 \ | |
-DLIBCXXABI_ENABLE_SHARED=0 \ | |
-DLIBCXXABI_ENABLE_WERROR=0 \ | |
-DLIBCXXABI_LIBCXX_INCLUDES="$LLVM_SRC_DIR/llvm-project/projects/libcxx/include" \ | |
-DLIBCXXABI_USE_LLVM_UNWINDER=1 \ | |
-DLIBCXX_CXX_ABI=libcxxabi \ | |
-DLIBCXX_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXX_ENABLE_CXX0X=1 \ | |
-DLIBCXX_ENABLE_EXCEPTIONS=1 \ | |
-DLIBCXX_ENABLE_PEDANTIC=0 \ | |
-DLIBCXX_ENABLE_RTTI=1 \ | |
-DLIBCXX_ENABLE_SHARED=0 \ | |
-DLIBCXX_ENABLE_WERROR=0 \ | |
-DLIBCXX_HOST_TRIPLE=$BUILD \ | |
-DLIBCXX_INSTALL_SUPPORT_HEADERS=1 \ | |
-DLIBCXX_LIBCXXABI_INCLUDE_PATHS="$LLVM_SRC_DIR/llvm-project/projects/libcxxabi/include" \ | |
-DLIBCXX_TARGET_TRIPLE=$BUILD \ | |
-DLIBXML2_INCLUDE_DIR="$DEPS_DIR/include/libxml2" \ | |
-DLIBXML2_LIBRARIES="$DEPS_DIR/lib/libxml2.a" \ | |
-DLIBXML2_XMLLINT_EXECUTABLE=/usr/bin/xmllint \ | |
-DLINK_POLLY_INTO_TOOLS=1 \ | |
-DLLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION=0 \ | |
-DLLDB_TEST_ARGS='-C;clang' \ | |
-DLLVM_BUILD_EXAMPLES=0 \ | |
-DLLVM_BUILD_RUNTIME=1 \ | |
-DLLVM_BUILD_TESTS=0 \ | |
-DLLVM_BUILD_TOOLS=1 \ | |
-DLLVM_DEFAULT_TARGET_TRIPLE=$BUILD \ | |
-DLLVM_ENABLE_ASSERTIONS=0 \ | |
-DLLVM_ENABLE_BACKTRACES=1 \ | |
-DLLVM_ENABLE_CRASH_OVERRIDES=0 \ | |
-DLLVM_ENABLE_CXX1Y=1 \ | |
-DLLVM_ENABLE_DOXYGEN=0 \ | |
-DLLVM_ENABLE_EH=1 \ | |
-DLLVM_ENABLE_FFI=1 \ | |
-DLLVM_ENABLE_LIBCXX=1 \ | |
-DLLVM_ENABLE_PEDANTIC=0 \ | |
-DLLVM_ENABLE_PIC=1 \ | |
-DLLVM_ENABLE_RTTI=1 \ | |
-DLLVM_ENABLE_SPHINX=0 \ | |
-DLLVM_EXTERNAL_CLANG_BUILD=1 \ | |
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=1 \ | |
-DLLVM_EXTERNAL_DRAGONEGG_BUILD=0 \ | |
-DLLVM_EXTERNAL_LIBCXX_BUILD=1 \ | |
-DLLVM_EXTERNAL_LLDB_BUILD=0 \ | |
-DLLVM_EXTERNAL_LLD_BUILD=1 \ | |
-DLLVM_EXTERNAL_POLLY_BUILD=1 \ | |
-DLLVM_HOST_TRIPLE=$BUILD \ | |
-DLLVM_INSTALL_TOOLCHAIN_ONLY=0 \ | |
-DLLVM_TARGETS_TO_BUILD="$TARGETS" \ | |
-DPYTHON_EXECUTABLE=/usr/bin/python \ | |
-DLLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION=0 \ | |
-DPYTHON_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DPYTHON_LIBRARY="$DEPS_DIR/lib/libpython2.7.a" \ | |
-DSubversion_SVN_EXECUTABLE=/usr/bin/svn \ | |
-DWITH_POLLY=1 ||: | |
else | |
cmake \ | |
../llvm-project \ | |
-Wno-dev \ | |
-DCMAKE_INSTALL_PREFIX="$PREFIX" \ | |
-DBUILD_SHARED_LIBS=0 \ | |
-DCLANG_BUILD_EXAMPLES=0 \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_C_COMPILER="$CC" \ | |
-DCMAKE_C_FLAGS="$CFLAGS" \ | |
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ | |
-DCMAKE_CXX_COMPILER="$CXX" \ | |
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \ | |
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET="$DEPLOYMENT_TARGET" \ | |
-DCMAKE_OSX_SYSROOT="$SYSROOT" \ | |
-DCMAKE_USE_RELATIVE_PATHS=1 \ | |
-DCOMPILER_SUPPORTS_QUAD_PRECISION=1 \ | |
-DFFI_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DFFI_INCLUDE_PATH="$DEPS_DIR/include" \ | |
-DFFI_LIBRARY_DIR="$DEPS_DIR/lib" \ | |
-DFFI_LIBRARY_PATH="$DEPS_DIR/lib/libffi.a" \ | |
-DISL_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DISL_LIBRARY="$DEPS_DIR/lib/libisl.a" \ | |
-DLIBCLANG_BUILD_STATIC=1 \ | |
-DLIBCXXABI_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXXABI_ENABLE_PEDANTIC=0 \ | |
-DLIBCXXABI_ENABLE_SHARED=0 \ | |
-DLIBCXXABI_ENABLE_THREADS=1 \ | |
-DLIBCXXABI_ENABLE_WERROR=0 \ | |
-DLIBCXXABI_LIBCXX_INCLUDES="$LLVM_SRC_DIR/llvm-project/projects/libcxx/include" \ | |
-DLIBCXXABI_USE_LLVM_UNWINDER=1 \ | |
-DLIBCXX_CXX_ABI=libcxxabi \ | |
-DLIBCXX_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXX_ENABLE_CXX1Y=1 \ | |
-DLIBCXX_ENABLE_EXCEPTIONS=1 \ | |
-DLIBCXX_ENABLE_MONOTONIC_CLOCK=1 \ | |
-DLIBCXX_ENABLE_PEDANTIC=0 \ | |
-DLIBCXX_ENABLE_RTTI=1 \ | |
-DLIBCXX_ENABLE_SHARED=0 \ | |
-DLIBCXX_ENABLE_THREADS=1 \ | |
-DLIBCXX_ENABLE_WERROR=0 \ | |
-DLIBCXX_HOST_TRIPLE=$BUILD \ | |
-DLIBCXX_INSTALL_HEADERS=1 \ | |
-DLIBCXX_INSTALL_SUPPORT_HEADERS=1 \ | |
-DLIBCXX_LIBCXXABI_INCLUDE_PATHS="$LLVM_SRC_DIR/llvm-project/projects/libcxxabi/include" \ | |
-DLIBCXX_TARGET_TRIPLE=$BUILD \ | |
-DLIBXML2_INCLUDE_DIR="$DEPS_DIR/include/libxml2" \ | |
-DLIBXML2_LIBRARIES="$DEPS_DIR/lib/libxml2.a" \ | |
-DLIBXML2_XMLLINT_EXECUTABLE=/usr/bin/xmllint \ | |
-DLINK_POLLY_INTO_TOOLS=1 \ | |
-DLLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION=0 \ | |
-DLLVM_BUILD_EXAMPLES=0 \ | |
-DLLVM_BUILD_LLVM_DYLIB=0 \ | |
-DLLVM_BUILD_RUNTIME=1 \ | |
-DLLVM_BUILD_TESTS=0 \ | |
-DLLVM_BUILD_TOOLS=1 \ | |
-DLLVM_DEFAULT_TARGET_TRIPLE=$BUILD \ | |
-DLLVM_ENABLE_ASSERTIONS=0 \ | |
-DLLVM_ENABLE_BACKTRACES=1 \ | |
-DLLVM_ENABLE_CRASH_OVERRIDES=0 \ | |
-DLLVM_ENABLE_CXX1Y=1 \ | |
-DLLVM_ENABLE_DOXYGEN=0 \ | |
-DLLVM_ENABLE_EH=1 \ | |
-DLLVM_ENABLE_FFI=1 \ | |
-DLLVM_ENABLE_LIBCXX=1 \ | |
-DLLVM_ENABLE_PEDANTIC=0 \ | |
-DLLVM_ENABLE_PIC=1 \ | |
-DLLVM_ENABLE_RTTI=1 \ | |
-DLLVM_ENABLE_SPHINX=0 \ | |
-DLLVM_EXTERNAL_CLANG_BUILD=1 \ | |
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=1 \ | |
-DLLVM_EXTERNAL_DRAGONEGG_BUILD=0 \ | |
-DLLVM_EXTERNAL_LIBCXX_BUILD=1 \ | |
-DLLVM_EXTERNAL_LLDB_BUILD=0 \ | |
-DLLVM_EXTERNAL_LLD_BUILD=1 \ | |
-DLLVM_EXTERNAL_POLLY_BUILD=1 \ | |
-DLLVM_HOST_TRIPLE=$BUILD \ | |
-DLLVM_INSTALL_TOOLCHAIN_ONLY=0 \ | |
-DLLVM_PARALLEL_COMPILE_JOBS=$MAKEJOBS \ | |
-DLLVM_PARALLEL_LINK_JOBS=$LINKJOBS \ | |
-DLLVM_TARGETS_TO_BUILD="$TARGETS" \ | |
-DSPHINX_WARNINGS_AS_ERRORS=0 \ | |
-DPERL_EXECUTABLE=/usr/bin/perl \ | |
-DPYTHON_EXECUTABLE=/usr/bin/python \ | |
-DLLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION=0 \ | |
-DPYTHON_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DPYTHON_LIBRARY="$DEPS_DIR/lib/libpython2.7.a" \ | |
-DWITH_POLLY=1 \ | |
-DCMAKE_OSX_ARCHITECTURES='i386;x86_64' ||: | |
make -C projects/libcxxabi; make -C projects/libcxx | |
rm -rf $DEPS_DIR/lib/libc++* $DEPS_DIR/lib/libunwind* | |
cp lib/libc++* lib/libunwind* $DEPS_DIR/lib; rm -rf * | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32; make | |
libtool -static $(find . -name \*.o) -o $DEPS_DIR/lib/libiomp5.a; rm -rf * | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32e; make; cp *.h $DEPS_DIR/include | |
libtool -static $(find . -name \*.o) -o libiomp5.a | |
lipo -create libiomp5.a $DEPS_DIR/lib/libiomp5.a -output $DEPS_DIR/lib/libiomp5.a; rm -rf * | |
cd $DEPS_DIR/lib; ln -s libiomp5.a libgomp.a ||: | |
cd $LLVM_SRC_DIR; rm -rf build; mkdir -p build; cd build | |
cmake \ | |
../llvm-project \ | |
-Wno-dev \ | |
-DCMAKE_INSTALL_PREFIX="$PREFIX" \ | |
-DBUILD_SHARED_LIBS=0 \ | |
-DCLANG_BUILD_EXAMPLES=0 \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
-DCMAKE_C_COMPILER="$CC" \ | |
-DCMAKE_C_FLAGS="$CFLAGS" \ | |
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ | |
-DCMAKE_CXX_COMPILER="$CXX" \ | |
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \ | |
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_EXE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_MODULE_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS" \ | |
-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$LDFLAGS" \ | |
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ | |
-DCMAKE_OSX_DEPLOYMENT_TARGET="$DEPLOYMENT_TARGET" \ | |
-DCMAKE_OSX_SYSROOT="$SYSROOT" \ | |
-DCMAKE_USE_RELATIVE_PATHS=1 \ | |
-DCOMPILER_SUPPORTS_QUAD_PRECISION=1 \ | |
-DFFI_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DFFI_INCLUDE_PATH="$DEPS_DIR/include" \ | |
-DFFI_LIBRARY_DIR="$DEPS_DIR/lib" \ | |
-DFFI_LIBRARY_PATH="$DEPS_DIR/lib/libffi.a" \ | |
-DISL_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DISL_LIBRARY="$DEPS_DIR/lib/libisl.a" \ | |
-DLIBCLANG_BUILD_STATIC=1 \ | |
-DLIBCXXABI_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXXABI_ENABLE_PEDANTIC=0 \ | |
-DLIBCXXABI_ENABLE_SHARED=0 \ | |
-DLIBCXXABI_ENABLE_THREADS=1 \ | |
-DLIBCXXABI_ENABLE_WERROR=0 \ | |
-DLIBCXXABI_LIBCXX_INCLUDES="$LLVM_SRC_DIR/llvm-project/projects/libcxx/include" \ | |
-DLIBCXXABI_USE_LLVM_UNWINDER=1 \ | |
-DLIBCXX_CXX_ABI=libcxxabi \ | |
-DLIBCXX_ENABLE_ASSERTIONS=0 \ | |
-DLIBCXX_ENABLE_CXX1Y=1 \ | |
-DLIBCXX_ENABLE_EXCEPTIONS=1 \ | |
-DLIBCXX_ENABLE_MONOTONIC_CLOCK=1 \ | |
-DLIBCXX_ENABLE_PEDANTIC=0 \ | |
-DLIBCXX_ENABLE_RTTI=1 \ | |
-DLIBCXX_ENABLE_SHARED=0 \ | |
-DLIBCXX_ENABLE_THREADS=1 \ | |
-DLIBCXX_ENABLE_WERROR=0 \ | |
-DLIBCXX_HOST_TRIPLE=$BUILD \ | |
-DLIBCXX_INSTALL_HEADERS=1 \ | |
-DLIBCXX_INSTALL_SUPPORT_HEADERS=1 \ | |
-DLIBCXX_LIBCXXABI_INCLUDE_PATHS="$LLVM_SRC_DIR/llvm-project/projects/libcxxabi/include" \ | |
-DLIBCXX_TARGET_TRIPLE=$BUILD \ | |
-DLIBXML2_INCLUDE_DIR="$DEPS_DIR/include/libxml2" \ | |
-DLIBXML2_LIBRARIES="$DEPS_DIR/lib/libxml2.a" \ | |
-DLIBXML2_XMLLINT_EXECUTABLE=/usr/bin/xmllint \ | |
-DLINK_POLLY_INTO_TOOLS=1 \ | |
-DLLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION=0 \ | |
-DLLVM_BUILD_EXAMPLES=0 \ | |
-DLLVM_BUILD_LLVM_DYLIB=1 \ | |
-DLLVM_BUILD_RUNTIME=1 \ | |
-DLLVM_BUILD_TESTS=0 \ | |
-DLLVM_BUILD_TOOLS=1 \ | |
-DLLVM_DEFAULT_TARGET_TRIPLE=$BUILD \ | |
-DLLVM_ENABLE_ASSERTIONS=0 \ | |
-DLLVM_ENABLE_BACKTRACES=1 \ | |
-DLLVM_ENABLE_CRASH_OVERRIDES=0 \ | |
-DLLVM_ENABLE_CXX1Y=1 \ | |
-DLLVM_ENABLE_DOXYGEN=0 \ | |
-DLLVM_ENABLE_EH=1 \ | |
-DLLVM_ENABLE_FFI=1 \ | |
-DLLVM_ENABLE_LIBCXX=1 \ | |
-DLLVM_ENABLE_PEDANTIC=0 \ | |
-DLLVM_ENABLE_PIC=1 \ | |
-DLLVM_ENABLE_RTTI=1 \ | |
-DLLVM_ENABLE_SPHINX=0 \ | |
-DLLVM_EXTERNAL_CLANG_BUILD=1 \ | |
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=1 \ | |
-DLLVM_EXTERNAL_DRAGONEGG_BUILD=0 \ | |
-DLLVM_EXTERNAL_LIBCXX_BUILD=1 \ | |
-DLLVM_EXTERNAL_LLDB_BUILD=0 \ | |
-DLLVM_EXTERNAL_LLD_BUILD=1 \ | |
-DLLVM_EXTERNAL_POLLY_BUILD=1 \ | |
-DLLVM_HOST_TRIPLE=$BUILD \ | |
-DLLVM_INSTALL_TOOLCHAIN_ONLY=0 \ | |
-DLLVM_PARALLEL_COMPILE_JOBS=$MAKEJOBS \ | |
-DLLVM_PARALLEL_LINK_JOBS=$LINKJOBS \ | |
-DLLVM_TARGETS_TO_BUILD="$TARGETS" \ | |
-DSPHINX_WARNINGS_AS_ERRORS=0 \ | |
-DPERL_EXECUTABLE=/usr/bin/perl \ | |
-DLLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION=0 \ | |
-DPYTHON_EXECUTABLE=/usr/bin/python \ | |
-DPYTHON_INCLUDE_DIR="$DEPS_DIR/include" \ | |
-DPYTHON_LIBRARY="$DEPS_DIR/lib/libpython2.7.a" \ | |
-DWITH_POLLY=1 ||: | |
fi | |
} | |
getllvm & | |
deps; wait; stage1; make; make install; rm -rf * | |
if [ -$DEVEL- = -- ]; then | |
POLLY_FLAGS="-flto -O3 -mllvm -polly -mllvm -enable-polly-aligned" | |
else | |
POLLY_FLAGS="-flto -O3 -mllvm -polly -mllvm -polly-parallel -mllvm -enable-polly-aligned" | |
fi | |
export CFLAGS="$CFLAGS $POLLY_FLAGS -Ofast -flto -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -gline-tables-only" | |
export CPPFLAGS="$CPPFLAGS $POLLY_FLAGS -Ofast -flto -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -gline-tables-only" | |
export CXXFLAGS="$CXXFLAGS $POLLY_FLAGS -Ofast -flto -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -gline-tables-only" | |
export LDFLAGS="$CPPFLAGS $LFLAGS -L$DEPS_DIR/lib -lc++ -lc++abi -lunwind -liomp5" | |
cd $TMP_PREFIX/bin; for i in ar ld nm otool strip lipo libtool; do cp $(xcrun -f $i) .; done; ln -s libtool ranlib ||: | |
export PATH=$TMP_PREFIX/bin:$PATH | |
cd $LLVM_SRC_DIR; rm -rf build; mkdir -p build; cd build | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32; make | |
$(find . -name \*.o) -o $DEPS_DIR/lib/libiomp5.a; rm -rf * | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32e; make; cp *.h $DEPS_DIR/include | |
libtool -static $(find . -name \*.o) -o libiomp5.a | |
lipo -create libiomp5.a $DEPS_DIR/lib/libiomp5.a -output $DEPS_DIR/lib/libiomp5.a; rm -rf * | |
cd $DEPS_DIR/lib; ln -s libiomp5.a libgomp.a ||: | |
cp $DEPS_DIR/lib/libiomp5.a $TMP_PREFIX/lib | |
ln -s libiomp5.a libgomp.a | |
cd $TMP_PREFIX/lib; ln -s libiomp5.a libgomp.a ||: | |
getllvm & | |
deps; wait; stage2; make; make check -i; make install; rm -rf * | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32; make | |
libtool -static $(find . -name \*.o) -o $PREFIX/lib/libiomp5.a; rm -rf * | |
cmake ../llvm-project/projects/openmp/runtime -Darch=32e; make; cp *.h $PREFIX/include | |
libtool -static $(find . -name \*.o) -o libiomp5.a | |
lipo -create libiomp5.a $PREFIX/lib/libiomp5.a -output $PREFIX/lib/libiomp5.a; rm -rf * | |
cd $PREFIX/bin; for i in ar ld nm otool strip lipo libtool; do cp $(xcrun -f $i) .; done; ln -s libtool ranlib ||: | |
cd $PREFIX/lib; ln -s libiomp5.a libgomp.a||: | |
} | |
buildllvm | |
# LLVM 3.5.1 | |
### | |
# # -DBUG_REPORT_URL | |
# # -DBUILD_CLANG_FORMAT_VS_PLUGIN | |
# # -DBUILD_SHARED_LIBS | |
# # -DCARBON_LIBRARY | |
# # -DCLANG_BUILD_EXAMPLES | |
# # -DCLANG_ENABLE_ARCMT | |
# # -DCLANG_ENABLE_STATIC_ANALYZER | |
# # -DCLANG_EXECUTABLE_VERSION | |
# # -DCLANG_INCLUDE_DOCS | |
# # -DCLANG_INCLUDE_TESTS | |
# # -DCLANG_ORDER_FILE | |
# # -DCLANG_PLUGIN_SUPPORT | |
# # -DCLANG_REPOSITORY_STRING | |
# # -DCLANG_RESOURCE_DIR | |
# # -DCLANG_TABLEGEN | |
# # -DCLANG_TEST_USE_VG | |
# # -DCLANG_TOOLS_TEST_USE_VG | |
# # -DCLANG_VENDOR | |
# # -DCLANG_VENDOR_UTI | |
# # -DCLOOG_INCLUDE_DIR | |
# # -DCLOOG_LIBRARY | |
# # -DCMAKE_AR | |
# -DCMAKE_ASM-ATT_COMPILER | |
# -DCMAKE_ASM-ATT_FLAGS | |
# # -DCMAKE_ASM-ATT_FLAGS_DEBUG | |
# # -DCMAKE_ASM-ATT_FLAGS_MINSIZEREL | |
# -DCMAKE_ASM-ATT_FLAGS_RELEASE | |
# # -DCMAKE_ASM-ATT_FLAGS_RELWITHDEB | |
# -DCMAKE_ASM_COMPILER | |
# -DCMAKE_ASM_FLAGS | |
# # -DCMAKE_ASM_FLAGS_DEBUG | |
# # -DCMAKE_ASM_FLAGS_MINSIZEREL | |
# -DCMAKE_ASM_FLAGS_RELEASE | |
# # -DCMAKE_ASM_FLAGS_RELWITHDEBINFO | |
# -DCMAKE_BUILD_TYPE | |
# # -DCMAKE_COLOR_MAKEFILE | |
# -DCMAKE_CXX_COMPILER | |
# -DCMAKE_CXX_FLAGS | |
# # -DCMAKE_CXX_FLAGS_DEBUG | |
# # -DCMAKE_CXX_FLAGS_MINSIZEREL | |
# -DCMAKE_CXX_FLAGS_RELEASE | |
# # -DCMAKE_CXX_FLAGS_RELWITHDEBINFO | |
# -DCMAKE_C_COMPILER | |
# -DCMAKE_C_FLAGS | |
# # -DCMAKE_C_FLAGS_DEBUG | |
# # -DCMAKE_C_FLAGS_MINSIZEREL | |
# -DCMAKE_C_FLAGS_RELEASE | |
# # -DCMAKE_C_FLAGS_RELWITHDEBINFO | |
# -DCMAKE_EXE_LINKER_FLAGS | |
# # -DCMAKE_EXE_LINKER_FLAGS_DEBUG | |
# # -DCMAKE_EXE_LINKER_FLAGS_MINSIZE | |
# -DCMAKE_EXE_LINKER_FLAGS_RELEASE | |
# # -DCMAKE_EXE_LINKER_FLAGS_RELWITH | |
# -DCMAKE_EXPORT_COMPILE_COMMANDS | |
# # -DCMAKE_INSTALL_NAME_TOOL | |
# -DCMAKE_INSTALL_PREFIX | |
# # -DCMAKE_LINKER | |
# # -DCMAKE_MAKE_PROGRAM | |
# -DCMAKE_MODULE_LINKER_FLAGS | |
# # -DCMAKE_MODULE_LINKER_FLAGS_DEBU | |
# # -DCMAKE_MODULE_LINKER_FLAGS_MINS | |
# -DCMAKE_MODULE_LINKER_FLAGS_RELE | |
# # -DCMAKE_MODULE_LINKER_FLAGS_RELW | |
# # -DCMAKE_NM | |
# # -DCMAKE_OBJCOPY | |
# # -DCMAKE_OBJDUMP | |
# -DCMAKE_OSX_ARCHITECTURES | |
# -DCMAKE_OSX_DEPLOYMENT_TARGET | |
# -DCMAKE_OSX_SYSROOT | |
# # -DCMAKE_RANLIB | |
# -DCMAKE_SHARED_LINKER_FLAGS | |
# # -DCMAKE_SHARED_LINKER_FLAGS_DEBU | |
# # -DCMAKE_SHARED_LINKER_FLAGS_MINS | |
# -DCMAKE_SHARED_LINKER_FLAGS_RELE | |
# # -DCMAKE_SHARED_LINKER_FLAGS_RELW | |
# # -DCMAKE_SKIP_INSTALL_RPATH | |
# # -DCMAKE_SKIP_RPATH | |
# # -DCMAKE_STATIC_LINKER_FLAGS | |
# # -DCMAKE_STATIC_LINKER_FLAGS_DEBU | |
# # -DCMAKE_STATIC_LINKER_FLAGS_MINS | |
# # -DCMAKE_STATIC_LINKER_FLAGS_RELE | |
# # -DCMAKE_STATIC_LINKER_FLAGS_RELW | |
# # -DCMAKE_STRIP | |
# # -DCMAKE_VERBOSE_MAKEFILE | |
# # -DCOCOA_LIBRARY | |
# # -DCOMPILER_QUAD_TYPE | |
# -DCOMPILER_RT_BUILD_SHARED_ASAN | |
# -DCOMPILER_RT_CAN_EXECUTE_TESTS | |
# -DCOMPILER_RT_DEBUG | |
# -DCOMPILER_RT_ENABLE_WERROR | |
# -DCOMPILER_RT_INCLUDE_TESTS | |
# -DCOMPILER_RT_TEST_TARGET_TRIPLE | |
# -DCOMPILER_SUPPORTS_QUAD_PRECISION | |
# # -DCORE_FOUNDATION_LIBRARY | |
# # -DCORE_SERVICES_LIBRARY | |
# # -DCPACK_BINARY_BUNDLE | |
# # -DCPACK_BINARY_DEB | |
# # -DCPACK_BINARY_DRAGNDROP | |
# # -DCPACK_BINARY_IFW | |
# # -DCPACK_BINARY_NSIS | |
# # -DCPACK_BINARY_OSXX11 | |
# # -DCPACK_BINARY_PACKAGEMAKER | |
# # -DCPACK_BINARY_RPM | |
# # -DCPACK_BINARY_STGZ | |
# # -DCPACK_BINARY_TBZ2 | |
# # -DCPACK_BINARY_TGZ | |
# # -DCPACK_BINARY_TXZ | |
# # -DCPACK_SOURCE_TBZ2 | |
# # -DCPACK_SOURCE_TGZ | |
# # -DCPACK_SOURCE_TXZ | |
# # -DCPACK_SOURCE_TZ | |
# # -DCPACK_SOURCE_ZIP | |
# # -DC_INCLUDE_DIRS | |
# # -DDEBUG_SYMBOLS_LIBRARY | |
# # -DDEFAULT_SYSROOT | |
# # -DDOXYGEN_DOT_EXECUTABLE | |
# # -DDOXYGEN_EXECUTABLE | |
# # -DEPYDOC_EXECUTABLE | |
# -DFFI_INCLUDE_DIR | |
# -DFFI_INCLUDE_PATH | |
# -DFFI_LIBRARY_DIR | |
# -DFFI_LIBRARY_PATH | |
# # -DFOUNDATION_LIBRARY | |
# # -DGCC_INSTALL_PREFIX | |
# # -DGMP_INCLUDE_DIR | |
# # -DGMP_LIBRARY | |
# -DISL_INCLUDE_DIR | |
# -DISL_LIBRARY | |
# -DLIBCLANG_BUILD_STATIC | |
# # -DLIBCLANG_LIBRARY_VERSION | |
# -DLIBCXXABI_ENABLE_ASSERTIONS | |
# -DLIBCXXABI_ENABLE_PEDANTIC | |
# -DLIBCXXABI_ENABLE_SHARED | |
# -DLIBCXXABI_ENABLE_WERROR | |
# -DLIBCXXABI_LIBCXX_INCLUDES | |
# -DLIBCXXABI_USE_LLVM_UNWINDER | |
# -DLIBCXX_CXX_ABI | |
# -DLIBCXX_ENABLE_ASSERTIONS | |
# -DLIBCXX_ENABLE_CXX0X | |
# -DLIBCXX_ENABLE_EXCEPTIONS | |
# -DLIBCXX_ENABLE_PEDANTIC | |
# -DLIBCXX_ENABLE_RTTI | |
# -DLIBCXX_ENABLE_SHARED | |
# -DLIBCXX_ENABLE_WERROR | |
# -DLIBCXX_HOST_TRIPLE | |
# -DLIBCXX_INSTALL_SUPPORT_HEADERS | |
# -DLIBCXX_LIBCXXABI_INCLUDE_PATHS | |
# -DLIBCXX_TARGET_TRIPLE | |
# -DLIBXML2_INCLUDE_DIR | |
# -DLIBXML2_LIBRARIES | |
# -DLIBXML2_XMLLINT_EXECUTABLE | |
# -DLINK_POLLY_INTO_TOOLS | |
# # -DLLDB_DISABLE_CURSES | |
# # -DLLDB_DISABLE_PYTHON | |
# -DLLDB_ENABLE_PYTHON_SCRIPTS_SWIG_API_GENERATION | |
# -DLLDB_TEST_ARGS=-C;clang | |
# # -DLLDB_TRACE_DIR | |
# # -DLLD_USE_VTUNE | |
# # -DLLVM_APPEND_VC_REV | |
# # -DLLVM_BUILD_32_BITS | |
# # -DLLVM_BUILD_DOCS | |
# # -DLLVM_BUILD_EXAMPLES | |
# -DLLVM_BUILD_EXTERNAL_COMPILER_RT=1 | |
# # -DLLVM_BUILD_RUNTIME | |
# # -DLLVM_BUILD_TESTS | |
# # -DLLVM_BUILD_TOOLS | |
# -DLLVM_DEFAULT_TARGET_TRIPLE | |
# # -DLLVM_DOXYGEN_EXTERNAL_SEARCH | |
# -DLLVM_ENABLE_ASSERTIONS | |
# -DLLVM_ENABLE_BACKTRACES | |
# -DLLVM_ENABLE_CRASH_OVERRIDES | |
# -DLLVM_ENABLE_CXX1Y | |
# -DLLVM_ENABLE_DOXYGEN | |
# # -DLLVM_ENABLE_DOXYGEN_QT_HELP | |
# -DLLVM_ENABLE_EH | |
# -DLLVM_ENABLE_FFI | |
# -DLLVM_ENABLE_LIBCXX | |
# -DLLVM_ENABLE_PEDANTIC | |
# -DLLVM_ENABLE_PIC | |
# -DLLVM_ENABLE_RTTI | |
# -DLLVM_ENABLE_SPHINX | |
# -DLLVM_ENABLE_TERMINFO | |
# -DLLVM_ENABLE_THREADS | |
# -DLLVM_ENABLE_TIMESTAMPS | |
# -DLLVM_ENABLE_WARNINGS | |
# -DLLVM_ENABLE_WERROR | |
# -DLLVM_ENABLE_ZLIB | |
# # -DLLVM_EXPERIMENTAL_TARGETS_TO_B | |
# -DLLVM_EXTERNAL_CLANG_BUILD | |
# # -DLLVM_EXTERNAL_CLANG_SOURCE_DIR | |
# -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD | |
# # -DLLVM_EXTERNAL_CLANG_TOOLS_EXTR | |
# -DLLVM_EXTERNAL_COMPILER_RT_BUILD | |
# # -DLLVM_EXTERNAL_COMPILER_RT_SOUR | |
# -DLLVM_EXTERNAL_DRAGONEGG_BUILD | |
# # -DLLVM_EXTERNAL_DRAGONEGG_SOURCE | |
# -DLLVM_EXTERNAL_LIBCXX_BUILD | |
# # -DLLVM_EXTERNAL_LIBCXX_SOURCE_DI | |
# -DLLVM_EXTERNAL_LLDB_BUILD | |
# # -DLLVM_EXTERNAL_LLDB_SOURCE_DIR | |
# -DLLVM_EXTERNAL_LLD_BUILD | |
# # -DLLVM_EXTERNAL_LLD_SOURCE_DIR | |
# # -DLLVM_EXTERNAL_MSBUILD_BUILD | |
# # -DLLVM_EXTERNAL_MSBUILD_SOURCE_D | |
# -DLLVM_EXTERNAL_POLLY_BUILD | |
# # -DLLVM_EXTERNAL_POLLY_SOURCE_DIR | |
# # -DLLVM_FORCE_USE_OLD_HOST_TOOLCH | |
# -DLLVM_HOST_TRIPLE | |
# # -DLLVM_INCLUDE_DOCS | |
# # -DLLVM_INCLUDE_EXAMPLES | |
# # -DLLVM_INCLUDE_TESTS | |
# # -DLLVM_INCLUDE_TOOLS | |
# # -DLLVM_INCLUDE_UTILS | |
# -DLLVM_INSTALL_TOOLCHAIN_ONLY | |
# # -DLLVM_LIBDIR_SUFFIX | |
# # -DLLVM_LIT_ARGS | |
# # -DLLVM_PATH_DOT | |
# # -DLLVM_TABLEGEN | |
# -DLLVM_TARGETS_TO_BUILD | |
# -DLLVM_TARGET_ARCH | |
# # -DLLVM_USE_FOLDERS | |
# # -DLLVM_USE_INTEL_JITEVENTS | |
# # -DLLVM_USE_OPROFILE | |
# # -DLLVM_USE_SANITIZER | |
# # -DLLVM_USE_SPLIT_DWARF | |
# -DPERL_EXECUTABLE | |
# # -DPKG_CONFIG_EXECUTABLE | |
# # -DPLUTO_INCLUDE_DIR | |
# # -DPLUTO_LIBRARY | |
# # -DPOLLY_ENABLE_GPGPU_CODEGEN | |
# # -DPOLLY_ENABLE_SCOPLIB | |
# # -DPOLLY_USE_CLOOG | |
# -DPYTHON_EXECUTABLE | |
# -DPYTHON_INCLUDE_DIR | |
# -DPYTHON_LIBRARY | |
# # -DPYTHON_LIBRARY_DEBUG | |
# # -DSCOPLIB_INCLUDE_DIR | |
# # -DSCOPLIB_LIBRARY | |
# # -DSECURITY_LIBRARY | |
# # -DSPHINX_EXECUTABLE | |
# # -DSPHINX_OUTPUT_HTML | |
# # -DSPHINX_OUTPUT_MAN | |
# -DSubversion_SVN_EXECUTABLE | |
# # -DTOOL_INFO_PLIST | |
# # -DUSER_ASM_FLAGS | |
# # -DUSER_CPP_FLAGS | |
# # -DUSER_CXX_FLAGS | |
# # -DUSER_C_FLAGS | |
# # -DUSER_F_FLAGS | |
# # -DUSER_LD_FLAGS | |
# # -DUSER_LD_LIB_FLAGS | |
# # -DUSE_ADAPTIVE_LOCKS | |
# # -DUSE_BUILDPL_RULES | |
# # -DUSE_PREDEFINED_LINKER_FLAGS | |
# -DWITH_POLLY | |
# # -Darch | |
# # -Dassembler_specific_include_fil | |
# # -Dcompiler_specific_include_file | |
# # -Dcreate_fortran_modules | |
# # -Diomp.h_path | |
# # -Diomp_lib.h_path | |
# # -Dlib_type | |
# # -Dlibiomp.rc_path | |
# # -Dmic_arch | |
# # -Dmic_os | |
# # -Domp.h_path | |
# # -Domp_lib.f90_path | |
# # -Domp_lib.f_path | |
# # -Domp_lib.h_path | |
# # -Domp_version | |
# # -Dos | |
# # -Dstats | |
# # -Dtest_deps | |
# # -Dtest_execstack | |
# # -Dtest_instr | |
# # -Dtest_relo | |
# # -Dtest_touch | |
# # -Dtests | |
# # -Dversion |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment