bloat-buster/generate.sh
2025-06-25 11:26:32 -06:00

72 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eux
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=$(llvm-config --build-mode)
fi
OPT_ARGS=""
case "$CMAKE_BUILD_TYPE" in
Debug) OPT_ARGS="-O0 -g";;
Release) OPT_ARGS="-O3";;
*) exit 1
esac
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
# 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 ..