diff --git a/.github/workflows/macos-test.yml b/.github/workflows/macos-test.yml index 61ef517c8..671175982 100644 --- a/.github/workflows/macos-test.yml +++ b/.github/workflows/macos-test.yml @@ -49,14 +49,14 @@ jobs: - name: Set up the environment run: sh ./tools/metacall-environment.sh $METACALL_INSTALL_OPTIONS env: - METACALL_INSTALL_OPTIONS: base python nodejs typescript java ruby wasm rpc file cobol #netcore5 c rust rapidjson funchook swig pack # clangformat v8rep51 coverage + METACALL_INSTALL_OPTIONS: base python nodejs typescript java ruby wasm rpc file cobol c #netcore5 rust rapidjson funchook swig pack # clangformat v8rep51 coverage - name: Configure run: | cd build bash ../tools/metacall-configure.sh $METACALL_CONFIGURE_OPTIONS env: - METACALL_CONFIGURE_OPTIONS: ${{ matrix.buildtype }} scripts ports tests sanitizer python nodejs typescript java ruby wasm rpc file cobol # netcore5 c rust examples install pack benchmarks # v8 coverage + METACALL_CONFIGURE_OPTIONS: ${{ matrix.buildtype }} scripts ports tests sanitizer python nodejs typescript java ruby wasm rpc file cobol c # netcore5 rust examples install pack benchmarks # v8 coverage - name: Build working-directory: ./build diff --git a/cmake/InstallLibTCC.cmake b/cmake/InstallLibTCC.cmake index debb84af8..4ea818810 100644 --- a/cmake/InstallLibTCC.cmake +++ b/cmake/InstallLibTCC.cmake @@ -40,7 +40,7 @@ else() endif() # Configure -if(PROJECT_OS_FAMILY STREQUAL unix) +if(PROJECT_OS_FAMILY STREQUAL unix OR PROJECT_OS_FAMILY STREQUAL macos) if(OPTION_BUILD_MUSL) set(LIBTCC_CONFIGURE ./configure --prefix=${LIBTCC_INSTALL_PREFIX} ${LIBTCC_DEBUG} --disable-static --config-musl) else() @@ -62,7 +62,7 @@ ProcessorCount(N) # Build if(PROJECT_OS_BSD) set(LIBTCC_BUILD gmake -j${N}) -elseif(PROJECT_OS_FAMILY STREQUAL unix) +elseif(PROJECT_OS_FAMILY STREQUAL unix OR PROJECT_OS_FAMILY STREQUAL macos) set(LIBTCC_BUILD make -j${N}) elseif(PROJECT_OS_FAMILY STREQUAL win32) if(PROJECT_OS_NAME STREQUAL MinGW) diff --git a/tools/metacall-environment.sh b/tools/metacall-environment.sh index 575f8b17b..5f4b06b88 100755 --- a/tools/metacall-environment.sh +++ b/tools/metacall-environment.sh @@ -625,6 +625,17 @@ sub_c(){ $SUDO_CMD apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing tcc $SUDO_CMD apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/v3.14/main clang-libs=11.1.0-r1 clang-dev=11.1.0-r1 fi + elif [ "${OPERATIVE_SYSTEM}" = "Darwin" ]; then + brew install libffi + brew install llvm@11 + brew link llvm@11 --force --overwrite + mkdir -p build + CMAKE_CONFIG_PATH="$ROOT_DIR/build/CMakeConfig.txt" + TCC_PREFIX=$(brew --prefix tcc) + LIBC_PREFIX=$(brew --prefix llvm@11) + echo "-DLibClang_INCLUDE_DIR=${LIBC_PREFIX}/include/clang-c" >> $CMAKE_CONFIG_PATH + echo "-DLibClang_LIBRARY=${LIBC_PREFIX}/lib/libclang.dylib" >> $CMAKE_CONFIG_PATH + fi }