Add support for cmake 3.7 (#660)
[termux-packages] / packages / clang / build.sh
index 2ccf201..ec9412b 100644 (file)
@@ -10,6 +10,11 @@ TERMUX_PKG_DEPENDS="binutils, ncurses, ndk-sysroot, ndk-stl, libgcc"
 # Replace gcc since gcc is deprecated by google on android and is not maintained upstream.
 TERMUX_PKG_CONFLICTS=gcc
 TERMUX_PKG_REPLACES=gcc
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="-DCMAKE_INSTALL_ALWAYS=1 -DLLVM_ENABLE_PIC=ON -DLLVM_BUILD_TESTS=OFF"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_INCLUDE_TESTS=OFF -DCLANG_INCLUDE_TESTS=OFF -DCLANG_TOOL_C_INDEX_TEST_BUILD=OFF"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DBUILD_SHARED_LIBS=ON -DLLVM_TABLEGEN=$TERMUX_PKG_HOSTBUILD_DIR/bin/llvm-tblgen"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DCLANG_TABLEGEN=$TERMUX_PKG_HOSTBUILD_DIR/bin/clang-tblgen"
+TERMUX_PKG_FORCE_CMAKE=yes
 
 termux_step_post_extract_package () {
        CLANG_SRC_TAR=cfe-${TERMUX_PKG_VERSION}.src.tar.xz
@@ -37,7 +42,7 @@ termux_step_host_build () {
        make -j $TERMUX_MAKE_PROCESSES clang-tblgen llvm-tblgen
 }
 
-termux_step_configure () {
+termux_step_pre_configure () {
        cd $TERMUX_PKG_BUILDDIR
        LLVM_DEFAULT_TARGET_TRIPLE=$TERMUX_HOST_PLATFORM
        if [ $TERMUX_ARCH = "arm" ]; then
@@ -55,28 +60,8 @@ termux_step_configure () {
                exit 1
        fi
         # see CMakeLists.txt and tools/clang/CMakeLists.txt
-       cmake -G "Unix Makefiles" $TERMUX_PKG_SRCDIR \
-               -DCMAKE_AR=`which ${TERMUX_HOST_PLATFORM}-ar` \
-                -DCMAKE_BUILD_TYPE=MinSizeRel \
-               -DCMAKE_CROSSCOMPILING=True \
-               -DCMAKE_CXX_FLAGS="$CXXFLAGS -lgnustl_shared" \
-               -DCMAKE_INSTALL_ALWAYS=1 \
-               -DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \
-               -DCMAKE_LINKER=`which ${TERMUX_HOST_PLATFORM}-ld` \
-               -DCMAKE_RANLIB=`which ${TERMUX_HOST_PLATFORM}-ranlib` \
-               -DCMAKE_SYSTEM_NAME=Android \
-               -DLLVM_TABLEGEN=$TERMUX_PKG_HOSTBUILD_DIR/bin/llvm-tblgen \
-               -DLLVM_DEFAULT_TARGET_TRIPLE=$LLVM_DEFAULT_TARGET_TRIPLE \
-               -DLLVM_TARGET_ARCH=$LLVM_TARGET_ARCH \
-               -DLLVM_TARGETS_TO_BUILD=$LLVM_TARGET_ARCH \
-               -DLLVM_ENABLE_PIC=ON \
-               -DLLVM_BUILD_TESTS=OFF \
-               -DLLVM_INCLUDE_TESTS=OFF \
-               -DCLANG_TABLEGEN=$TERMUX_PKG_HOSTBUILD_DIR/bin/clang-tblgen \
-               -DCLANG_INCLUDE_TESTS=OFF \
-               -DCLANG_TOOL_C_INDEX_TEST_BUILD=OFF \
-               -DC_INCLUDE_DIRS=$TERMUX_PREFIX/include \
-               -DBUILD_SHARED_LIBS=ON
+       TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_DEFAULT_TARGET_TRIPLE=$LLVM_DEFAULT_TARGET_TRIPLE"
+       TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DLLVM_TARGET_ARCH=$LLVM_TARGET_ARCH -DLLVM_TARGETS_TO_BUILD=$LLVM_TARGET_ARCH"
 }
 
 termux_step_post_make_install () {