Skip to content

Commit

Permalink
Base support for llvm / c loader macos.
Browse files Browse the repository at this point in the history
  • Loading branch information
viferga committed Feb 28, 2025
1 parent cecb0c2 commit 6273bc7
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 5 deletions.
1 change: 0 additions & 1 deletion tools/metacall-environment.sh
Original file line number Diff line number Diff line change
Expand Up @@ -686,7 +686,6 @@ sub_c(){
$SUDO_CMD apt-get install -y --no-install-recommends libffi-dev libclang-${LLVM_VERSION_STRING}-dev
elif [ "${LINUX_DISTRO}" = "alpine" ]; then
$SUDO_CMD apk add --no-cache libffi-dev
$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.16/main clang-libs=13.0.1-r1 clang-dev=13.0.1-r1
fi
elif [ "${OPERATIVE_SYSTEM}" = "Darwin" ]; then
Expand Down
18 changes: 14 additions & 4 deletions tools/metacall-runtime.sh
Original file line number Diff line number Diff line change
Expand Up @@ -252,10 +252,10 @@ sub_java(){
# C
sub_c(){
echo "configure c"
cd $ROOT_DIR
LLVM_VERSION_STRING=14

if [ "${OPERATIVE_SYSTEM}" = "Linux" ]; then
LLVM_VERSION_STRING=14

if [ "${LINUX_DISTRO}" = "debian" ]; then
UBUNTU_CODENAME=""
CODENAME_FROM_ARGUMENTS=""
Expand Down Expand Up @@ -293,9 +293,19 @@ sub_c(){
sub_apt_install_hold libffi libclang-${LLVM_VERSION_STRING}
elif [ "${LINUX_DISTRO}" = "ubuntu" ]; then
sub_apt_install_hold libffi libclang-${LLVM_VERSION_STRING}
elif [ "${LINUX_DISTRO}" = "alpine" ]; then
$SUDO_CMD apk add --no-cache libffi-dev
$SUDO_CMD apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/v3.16/main clang-libs=13.0.1-r1 clang-dev=13.0.1-r1
fi

# TODO: Implement Alpine and Darwin
elif [ "${OPERATIVE_SYSTEM}" = "Darwin" ]; then
brew install libffi
brew install llvm@$LLVM_VERSION_STRING
brew link llvm@$LLVM_VERSION_STRING --force --overwrite
mkdir -p "$ROOT_DIR/build"
CMAKE_CONFIG_PATH="$ROOT_DIR/build/CMakeConfig.txt"
LIBCLANG_PREFIX=$(brew --prefix llvm@$LLVM_VERSION_STRING)
echo "-DLibClang_INCLUDE_DIR=${LIBCLANG_PREFIX}/include" >> $CMAKE_CONFIG_PATH
echo "-DLibClang_LIBRARY=${LIBCLANG_PREFIX}/lib/libclang.dylib" >> $CMAKE_CONFIG_PATH
fi
}

Expand Down

0 comments on commit 6273bc7

Please sign in to comment.