From 38e47ad9e613b1c975d48afe2244522bd2e8053b Mon Sep 17 00:00:00 2001 From: yah01 Date: Wed, 29 Mar 2023 18:30:04 +0800 Subject: [PATCH] improvement for macos build script (#23082) (#23100) Signed-off-by: Ji Bin Co-authored-by: Ji Bin --- scripts/core_build.sh | 33 ++++++++++++++++++++++++--------- scripts/install_deps.sh | 14 ++------------ 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/scripts/core_build.sh b/scripts/core_build.sh index 0c33d94397..ebb2469f2c 100755 --- a/scripts/core_build.sh +++ b/scripts/core_build.sh @@ -186,15 +186,30 @@ fi unameOut="$(uname -s)" case "${unameOut}" in - Darwin*) - llvm_prefix="$(brew --prefix llvm)" - export CLANG_TOOLS_PATH="${llvm_prefix}/bin" - export CC="${llvm_prefix}/bin/clang" - export CXX="${llvm_prefix}/bin/clang++" - export LDFLAGS="-L${llvm_prefix}/lib -L/usr/local/opt/libomp/lib" - export CXXFLAGS="-I${llvm_prefix}/include -I/usr/local/include -I/usr/local/opt/libomp/include" - ;; - *) echo "==System:${unameOut}"; + Darwin*) + # detect llvm version by valid list + for llvm_version in 15 14 NOT_FOUND ; do + if brew ls --versions llvm@${llvm_version} > /dev/null; then + break + fi + done + if [ "${llvm_version}" = "NOT_FOUND" ] ; then + echo "valid llvm(14 or 15) not installed" + exit 1 + fi + llvm_prefix="$(brew --prefix llvm@${llvm_version})" + export CLANG_TOOLS_PATH="${llvm_prefix}/bin" + export CC="${llvm_prefix}/bin/clang" + export CXX="${llvm_prefix}/bin/clang++" + export CFLAGS="-Wno-deprecated-declarations -I$(brew --prefix libomp)/include" + export CXXFLAGS=${CFLAGS} + export LDFLAGS="-L$(brew --prefix libomp)/lib" + ;; + Linux*) + ;; + *) + echo "Cannot build on windows" + ;; esac diff --git a/scripts/install_deps.sh b/scripts/install_deps.sh index 5d58bb3f55..a5eed150b5 100755 --- a/scripts/install_deps.sh +++ b/scripts/install_deps.sh @@ -56,10 +56,8 @@ function install_linux_deps() { } function install_mac_deps() { - sudo xcode-select --install > /dev/null 2>&1 - brew install boost libomp ninja tbb cmake llvm ccache zstd - brew uninstall grep - brew install grep + sudo xcode-select --install > /dev/null 2>&1 + brew install libomp ninja cmake llvm@15 ccache grep export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH" brew update && brew upgrade && brew cleanup @@ -67,14 +65,6 @@ function install_mac_deps() { brew install openssl brew install librdkafka brew install pkg-config - sudo mkdir /usr/local/include - sudo mkdir /usr/local/opt - sudo ln -s "$(brew --prefix llvm)" "/usr/local/opt/llvm" - sudo ln -s "$(brew --prefix libomp)/include/omp.h" "/usr/local/include/omp.h" - sudo ln -s "$(brew --prefix libomp)" "/usr/local/opt/libomp" - sudo ln -s "$(brew --prefix boost)/include/boost" "/usr/local/include/boost" - sudo ln -s "$(brew --prefix tbb)/include/tbb" "/usr/local/include/tbb" - sudo ln -s "$(brew --prefix tbb)/include/oneapi" "/usr/local/include/oneapi" fi }