Skip to content

Support native mac arm64(Apple Silicon) #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ jobs:
with:
path: ./dist/*.whl
- name: Upload pypi
if: startsWith(github.ref, 'refs/tags/v')
run: |
python3 -m pip install twine
python3 -m twine upload dist/*.whl
Expand Down Expand Up @@ -189,7 +190,8 @@ jobs:
python3 -m pip install pybind11
export PATH=$(brew --prefix llvm@15)/bin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/binutils/bin:$PATH:/usr/local/opt/findutils/libexec/gnubin
export CC=$(brew --prefix llvm@15)/bin/clang
export CXX=$(brew --prefix llvm@15)/bin/clang++
export CXX=$(brew --prefix llvm@15)/bin/clang++
bash gen_manifest.sh
bash ./chdb/build.sh
bash -x ./chdb/test_smoke.sh
continue-on-error: false
Expand Down Expand Up @@ -233,6 +235,7 @@ jobs:
with:
path: ./dist/*.whl
- name: Upload pypi
if: startsWith(github.ref, 'refs/tags/v')
run: |
python3 -m pip install twine
python3 -m twine upload dist/*.whl
Expand Down Expand Up @@ -358,6 +361,7 @@ jobs:
with:
path: ./wheelhouse/*.whl
- name: Upload pypi
if: startsWith(github.ref, 'refs/tags/v')
run: |
python3 -m pip install twine
python3 -m twine upload wheelhouse/*.whl
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
test_main
/buildlib
/builddbg
/buildx86
/build
/build_*
/build-*
Expand Down
9 changes: 8 additions & 1 deletion chdb/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,13 @@ if [ "$(uname)" == "Darwin" ]; then
PYINIT_ENTRY="-Wl,-exported_symbol,_PyInit_${CHDB_PY_MOD}"
# if Darwin ARM64 (M1, M2), disable AVX
if [ "$(uname -m)" == "arm64" ]; then
CMAKE_TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=cmake/darwin/toolchain-aarch64.cmake"
AVX_SUPPORT="-DENABLE_AVX=0 -DENABLE_AVX2=0"
EMBEDDED_COMPILER="-DENABLE_EMBEDDED_COMPILER=0"
export CXX=/usr/local/opt/llvm/bin/clang++
export CC=/usr/local/opt/llvm/bin/clang
else
EMBEDDED_COMPILER="-DENABLE_EMBEDDED_COMPILER=1"
# disable AVX on Darwin for macos11
if [ "$(sw_vers -productVersion | cut -d. -f1)" -le 11 ]; then
AVX_SUPPORT="-DENABLE_AVX=0 -DENABLE_AVX2=0"
Expand All @@ -39,6 +44,7 @@ elif [ "$(uname)" == "Linux" ]; then
UNWIND="-DUSE_UNWIND=1"
PYINIT_ENTRY="-Wl,-ePyInit_${CHDB_PY_MOD}"
AVX_SUPPORT="-DENABLE_AVX=1 -DENABLE_AVX2=1"
EMBEDDED_COMPILER="-DENABLE_EMBEDDED_COMPILER=1"
else
echo "OS not supported"
exit 1
Expand All @@ -60,12 +66,13 @@ cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_THINLTO=1 -DENABLE_TESTS=0 -DENABLE_CL
-DENABLE_LIBRARIES=0 -DENABLE_RUST=0 \
${GLIBC_COMPATIBILITY} \
-DCLICKHOUSE_ONE_SHARED=0 \
-DENABLE_UTILS=0 -DENABLE_EMBEDDED_COMPILER=1 ${UNWIND} \
-DENABLE_UTILS=0 ${EMBEDDED_COMPILER} ${UNWIND} \
-DENABLE_ICU=0 -DENABLE_JEMALLOC=0 \
-DENABLE_PARQUET=1 -DENABLE_ROCKSDB=1 -DENABLE_SQLITE=1 -DENABLE_VECTORSCAN=1 \
-DENABLE_PROTOBUF=1 -DENABLE_THRIFT=1 \
-DENABLE_CLICKHOUSE_ALL=0 -DUSE_STATIC_LIBRARIES=1 -DSPLIT_SHARED_LIBRARIES=0 \
${AVX_SUPPORT} \
${CMAKE_TOOLCHAIN_FILE} \
-DENABLE_AVX512=0 -DENABLE_AVX512_VBMI=0 \
..
ninja
Expand Down