diff --git a/build.sh b/build.sh index 07c789d43dd90155f7c19ee18ac3f75dc17b444a..d6ef83596bdeb000e4a818fe8bd938b145659bef 100755 --- a/build.sh +++ b/build.sh @@ -5,9 +5,10 @@ C_COMPILER_PATH=gcc CXX_COMPILER_PATH=g++ # Initialize our own variables: +enable_acpo="1" enable_autotuner="1" buildtype=RelWithDebInfo -backends="ARM;AArch64;X86" +backends="all" build_for_openeuler="0" enabled_projects="clang;lld;compiler-rt;openmp;clang-tools-extra" embedded_toolchain="0" @@ -49,6 +50,7 @@ Build the compiler under $build_prefix, then install under $install_prefix. Options: -a Disable BiSheng-Autotuner. + -A Disable ACPO. -b type Specify CMake build type (default: $buildtype). -c Use ccache (default: $use_ccache). -e Build for embedded cross tool chain. @@ -69,11 +71,14 @@ EOF # Process command-line options. Remember the options for passing to the # containerized build script. -while getopts :ab:ceEhiI:j:orstvfX: optchr; do +while getopts :aAb:ceEhiI:j:orstvfX: optchr; do case "$optchr" in a) enable_autotuner="0" ;; + A) + enable_acpo="0" + ;; b) buildtype="$OPTARG" case "${buildtype,,}" in @@ -207,6 +212,12 @@ if [ $enable_autotuner == "1" ]; then CMAKE_OPTIONS="$CMAKE_OPTIONS -DLLVM_ENABLE_AUTOTUNER=ON" fi +if [ $enable_acpo == "1" ]; then + echo "enable ACPO" + export CFLAGS="-Wp,-DENABLE_ACPO ${CFLAGS}" + export CXXFLAGS="-Wp,-DENABLE_ACPO ${CXXFLAGS}" +fi + # Build and install if [ $clean -eq 1 -a -e "$install_prefix" ]; then rm -rf "$install_prefix" @@ -227,6 +238,36 @@ cmake $CMAKE_OPTIONS \ -DLLVM_USE_SPLIT_DWARF=$split_dwarf \ -DCMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO="-Wl,--gdb-index -Wl,--compress-debug-sections=zlib" \ -DCMAKE_EXE_LINKER_FLAGS_DEBUG="-Wl,--gdb-index -Wl,--compress-debug-sections=zlib" \ + -DBUILD_SHARED_LIBS=OFF \ + -DLLVM_ENABLE_LIBCXX=OFF \ + -DLLVM_ENABLE_ZLIB=ON \ + -DLLVM_BUILD_RUNTIME=ON \ + -DLLVM_INCLUDE_TOOLS=ON \ + -DLLVM_BUILD_TOOLS=ON \ + -DLLVM_INCLUDE_TESTS=ON \ + -DLLVM_BUILD_TESTS=ON \ + -DLLVM_INCLUDE_EXAMPLES=ON \ + -DLLVM_BUILD_EXAMPLES=OFF \ + -DCLANG_DEFAULT_PIE_ON_LINUX=ON \ + -DCLANG_ENABLE_ARCMT=ON \ + -DCLANG_ENABLE_STATIC_ANALYZER=ON \ + -DCLANG_PLUGIN_SUPPORT=ON \ + -DLLVM_DYLIB_COMPONENTS="all" \ + -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON \ + -DCMAKE_SKIP_RPATH=ON \ + -DLLVM_ENABLE_FFI=ON \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_USE_PERF=ON \ + -DLLVM_INSTALL_GTEST=ON \ + -DLLVM_INCLUDE_UTILS=ON \ + -DLLVM_INSTALL_UTILS=ON \ + -DLLVM_INCLUDE_BENCHMARKS=OFF \ + -DENABLE_LINKER_BUILD_ID=ON \ + -DLLVM_ENABLE_EH=ON \ + -DCLANG_DEFAULT_UNWINDLIB=libgcc \ + -DLIBCXX_STATICALLY_LINK_ABI_IN_STATIC_LIBRARY=ON \ + -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=ON \ + -DLIBOMP_INSTALL_ALIASES=OFF \ $llvm_binutils_incdir \ $verbose \ ../llvm