wip
This commit is contained in:
parent
279036435a
commit
ac75f014dc
95
generate.sh
95
generate.sh
@ -1,50 +1,71 @@
|
||||
#!/usr/bin/env bash
|
||||
set -eux
|
||||
|
||||
if [[ -z "${BB_CI:-}" ]]; then
|
||||
BB_CI=0
|
||||
if [[ -z "${CMAKE_PREFIX_PATH:-}" ]]; then
|
||||
CMAKE_PREFIX_PATH=$HOME/dev/llvm/install/llvm_20.1.7_x86_64-linux-Release
|
||||
fi
|
||||
|
||||
LLVM_CONFIG=$CMAKE_PREFIX_PATH/bin/llvm-config
|
||||
|
||||
if [[ -z "${CMAKE_BUILD_TYPE:-}" ]]; then
|
||||
CMAKE_BUILD_TYPE=Debug
|
||||
LLVM_CMAKE_BUILD_TYPE=Release
|
||||
else
|
||||
LLVM_CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE
|
||||
CMAKE_BUILD_TYPE=$(llvm-config --build-mode)
|
||||
fi
|
||||
|
||||
BUILD_DIR=build
|
||||
OPT_ARGS=""
|
||||
|
||||
BIRTH_NATIVE_OS_STRING=$OSTYPE
|
||||
|
||||
case "$BIRTH_NATIVE_OS_STRING" in
|
||||
darwin*) BIRTH_OS="macos";;
|
||||
linux*) BIRTH_OS="linux";;
|
||||
msys*) BIRTH_OS="windows";;
|
||||
case "$CMAKE_BUILD_TYPE" in
|
||||
Debug) OPT_ARGS="-O0 -g";;
|
||||
Release) OPT_ARGS="-O3";;
|
||||
*) exit 1
|
||||
esac
|
||||
|
||||
BIRTH_NATIVE_ARCH_STRING="$(uname -m)"
|
||||
mkdir -p bb-cache
|
||||
clang++ -c src/llvm.cpp -o bb-cache/llvm_bindings.o -I$CMAKE_PREFIX_PATH/include -I./src $(llvm-config --cxxflags) -Werror -Wno-c99-extensions -Wno-unused-function -Wno-missing-designated-field-initializers -fno-signed-char -fwrapv -fno-strict-aliasing -Wno-c++20-extensions
|
||||
|
||||
case "$BIRTH_NATIVE_ARCH_STRING" in
|
||||
x86_64) BIRTH_ARCH="x86_64";;
|
||||
arm64) BIRTH_ARCH="aarch64";;
|
||||
*) exit 1
|
||||
esac
|
||||
|
||||
case "$BIRTH_OS" in
|
||||
linux) LINKER_TYPE=MOLD;;
|
||||
*) LINKER_TYPE=DEFAULT;;
|
||||
esac
|
||||
|
||||
rm -rf $BUILD_DIR
|
||||
mkdir $BUILD_DIR
|
||||
cd $BUILD_DIR
|
||||
LLVM_PREFIX_PATH=$HOME/dev/llvm/install/llvm_20.1.7_$BIRTH_ARCH-$BIRTH_OS-$LLVM_CMAKE_BUILD_TYPE
|
||||
|
||||
if [[ -z "${CLANG_PATH:-}" ]]; then
|
||||
CLANG_PATH=clang
|
||||
CLANGXX_PATH=clang++
|
||||
fi
|
||||
|
||||
cmake .. -G Ninja -DCMAKE_C_COMPILER=$CLANG_PATH -DCMAKE_CXX_COMPILER=$CLANGXX_PATH -DCMAKE_LINKER_TYPE=$LINKER_TYPE -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE%%-*} -DCMAKE_PREFIX_PATH=$LLVM_PREFIX_PATH -DCMAKE_COLOR_DIAGNOSTICS=ON -DBB_CI=$BB_CI
|
||||
cd ..
|
||||
# if [[ -z "${BB_CI:-}" ]]; then
|
||||
# BB_CI=0
|
||||
# fi
|
||||
#
|
||||
# if [[ -z "${CMAKE_BUILD_TYPE:-}" ]]; then
|
||||
# CMAKE_BUILD_TYPE=Debug
|
||||
# LLVM_CMAKE_BUILD_TYPE=Release
|
||||
# else
|
||||
# LLVM_CMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE
|
||||
# fi
|
||||
#
|
||||
# BUILD_DIR=build
|
||||
#
|
||||
# BIRTH_NATIVE_OS_STRING=$OSTYPE
|
||||
#
|
||||
# case "$BIRTH_NATIVE_OS_STRING" in
|
||||
# darwin*) BIRTH_OS="macos";;
|
||||
# linux*) BIRTH_OS="linux";;
|
||||
# msys*) BIRTH_OS="windows";;
|
||||
# *) exit 1
|
||||
# esac
|
||||
#
|
||||
# BIRTH_NATIVE_ARCH_STRING="$(uname -m)"
|
||||
#
|
||||
# case "$BIRTH_NATIVE_ARCH_STRING" in
|
||||
# x86_64) BIRTH_ARCH="x86_64";;
|
||||
# arm64) BIRTH_ARCH="aarch64";;
|
||||
# *) exit 1
|
||||
# esac
|
||||
#
|
||||
# case "$BIRTH_OS" in
|
||||
# linux) LINKER_TYPE=MOLD;;
|
||||
# *) LINKER_TYPE=DEFAULT;;
|
||||
# esac
|
||||
#
|
||||
# rm -rf $BUILD_DIR
|
||||
# mkdir $BUILD_DIR
|
||||
# cd $BUILD_DIR
|
||||
# LLVM_PREFIX_PATH=$HOME/dev/llvm/install/llvm_20.1.7_$BIRTH_ARCH-$BIRTH_OS-$LLVM_CMAKE_BUILD_TYPE
|
||||
#
|
||||
# if [[ -z "${CLANG_PATH:-}" ]]; then
|
||||
# CLANG_PATH=clang
|
||||
# CLANGXX_PATH=clang++
|
||||
# fi
|
||||
#
|
||||
# cmake .. -G Ninja -DCMAKE_C_COMPILER=$CLANG_PATH -DCMAKE_CXX_COMPILER=$CLANGXX_PATH -DCMAKE_LINKER_TYPE=$LINKER_TYPE -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE%%-*} -DCMAKE_PREFIX_PATH=$LLVM_PREFIX_PATH -DCMAKE_COLOR_DIAGNOSTICS=ON -DBB_CI=$BB_CI
|
||||
# cd ..
|
||||
|
Loading…
x
Reference in New Issue
Block a user