wip
This commit is contained in:
parent
0eee2a4ff3
commit
9ee40a457e
33
CMakeLists.txt
Normal file
33
CMakeLists.txt
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.15)
|
||||||
|
project(MyLLVMProject)
|
||||||
|
|
||||||
|
# Set C++ standard
|
||||||
|
set(CMAKE_CXX_STANDARD 26)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED YES)
|
||||||
|
|
||||||
|
# # Find LLVM
|
||||||
|
# find_package(LLVM REQUIRED CONFIG)
|
||||||
|
#
|
||||||
|
# # Include LLVM directories
|
||||||
|
# message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
|
||||||
|
# message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
|
||||||
|
# include_directories(${LLVM_INCLUDE_DIRS})
|
||||||
|
# add_definitions(${LLVM_DEFINITIONS})
|
||||||
|
#
|
||||||
|
# # Optionally list LLVM components
|
||||||
|
# set(LLVM_COMPONENTS
|
||||||
|
# core
|
||||||
|
# support
|
||||||
|
# irreader
|
||||||
|
# # add more components as needed
|
||||||
|
# )
|
||||||
|
#
|
||||||
|
# # Generate LLVM link flags
|
||||||
|
# llvm_map_components_to_libnames(LLVM_LIBS ${LLVM_COMPONENTS})
|
||||||
|
|
||||||
|
# Add your source file and compile to object
|
||||||
|
# add_library(MyObjectFile OBJECT main.cpp) # Replace main.cpp with your source
|
||||||
|
|
||||||
|
# Add executable or another target that links to the object and LLVM
|
||||||
|
add_executable(bb src/main.cpp)
|
||||||
|
# target_link_libraries(MyExecutable ${LLVM_LIBS})
|
63
build.sh
63
build.sh
@ -1,61 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -eu
|
set -eu
|
||||||
|
cd build
|
||||||
MY_CWD=$PWD
|
ninja --quiet
|
||||||
|
cd ..
|
||||||
if [[ -z "${BB_CI-}" ]]; then
|
|
||||||
BB_CI=0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -z "${BB_BUILD_TYPE-}" ]]; then
|
|
||||||
BB_BUILD_TYPE=debug
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -z "${BB_ERROR_ON_WARNINGS-}" ]]; then
|
|
||||||
BB_ERROR_ON_WARNINGS=$BB_CI
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -z "${BB_ERROR_LIMIT-}" ]]; then
|
|
||||||
BB_ERROR_LIMIT=$((1 - BB_CI))
|
|
||||||
fi
|
|
||||||
|
|
||||||
BB_COMPILE_SHADERS=0
|
|
||||||
|
|
||||||
BUILD_DIR=cache
|
|
||||||
LARGE_ASSET_BASE_URL=https://github.com/birth-software/bloat-buster/releases/download/large-assets
|
|
||||||
mkdir -p $BUILD_DIR
|
|
||||||
|
|
||||||
if [[ ! -f "$BUILD_DIR/large_assembly.s" ]]; then
|
|
||||||
cd $BUILD_DIR
|
|
||||||
wget $LARGE_ASSET_BASE_URL/large_assembly.s -o large_assembly.s
|
|
||||||
cd $MY_CWD
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${BB_COMPILE_SHADERS}" == "1" ]]; then
|
|
||||||
glslangValidator -V bootstrap/std/shaders/rect.vert -o $BUILD_DIR/rect.vert.spv --quiet
|
|
||||||
glslangValidator -V bootstrap/std/shaders/rect.frag -o $BUILD_DIR/rect.frag.spv --quiet
|
|
||||||
fi
|
|
||||||
|
|
||||||
BUILD_OUT=$BUILD_DIR/build
|
|
||||||
C_COMPILER=clang
|
|
||||||
TIME_TRACE=1
|
|
||||||
BB_TIMETRACE=0
|
|
||||||
GCC_ARGS=
|
|
||||||
CLANG_ARGS=
|
|
||||||
TIME_TRACE_ARG=
|
|
||||||
|
|
||||||
if [[ $C_COMPILER == "clang"* ]]; then
|
|
||||||
CLANG_ARGS=-ferror-limit=1
|
|
||||||
if [[ "$TIME_TRACE" == "1" ]]; then
|
|
||||||
CLANG_ARGS="$CLANG_ARGS -ftime-trace"
|
|
||||||
BB_TIMETRACE=1
|
|
||||||
else
|
|
||||||
CLANG_ARGS="$CLANG_ARGS -ftime-trace"
|
|
||||||
fi
|
|
||||||
elif [[ $C_COMPILER == "gcc"* ]]; then
|
|
||||||
GCC_ARGS=-fmax-errors=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
$C_COMPILER build.c -g -o $BUILD_OUT -Ibootstrap -std=gnu2x $CLANG_ARGS $GCC_ARGS -DBB_TIMETRACE=$BB_TIMETRACE -DBB_CI=$BB_CI -DBB_BUILD_TYPE=\"$BB_BUILD_TYPE\" -DBB_ERROR_ON_WARNINGS=$BB_ERROR_ON_WARNINGS -DBB_ERROR_LIMIT=$BB_ERROR_LIMIT
|
|
||||||
$BUILD_OUT $@
|
|
||||||
exit 0
|
|
||||||
|
7
generate.sh
Executable file
7
generate.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -eu
|
||||||
|
rm -rf build
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake ..
|
||||||
|
cd ..
|
61
old_build.sh
Executable file
61
old_build.sh
Executable file
@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
MY_CWD=$PWD
|
||||||
|
|
||||||
|
if [[ -z "${BB_CI-}" ]]; then
|
||||||
|
BB_CI=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${BB_BUILD_TYPE-}" ]]; then
|
||||||
|
BB_BUILD_TYPE=debug
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${BB_ERROR_ON_WARNINGS-}" ]]; then
|
||||||
|
BB_ERROR_ON_WARNINGS=$BB_CI
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${BB_ERROR_LIMIT-}" ]]; then
|
||||||
|
BB_ERROR_LIMIT=$((1 - BB_CI))
|
||||||
|
fi
|
||||||
|
|
||||||
|
BB_COMPILE_SHADERS=0
|
||||||
|
|
||||||
|
BUILD_DIR=cache
|
||||||
|
LARGE_ASSET_BASE_URL=https://github.com/birth-software/bloat-buster/releases/download/large-assets
|
||||||
|
mkdir -p $BUILD_DIR
|
||||||
|
|
||||||
|
if [[ ! -f "$BUILD_DIR/large_assembly.s" ]]; then
|
||||||
|
cd $BUILD_DIR
|
||||||
|
wget $LARGE_ASSET_BASE_URL/large_assembly.s -o large_assembly.s
|
||||||
|
cd $MY_CWD
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${BB_COMPILE_SHADERS}" == "1" ]]; then
|
||||||
|
glslangValidator -V bootstrap/std/shaders/rect.vert -o $BUILD_DIR/rect.vert.spv --quiet
|
||||||
|
glslangValidator -V bootstrap/std/shaders/rect.frag -o $BUILD_DIR/rect.frag.spv --quiet
|
||||||
|
fi
|
||||||
|
|
||||||
|
BUILD_OUT=$BUILD_DIR/build
|
||||||
|
C_COMPILER=clang
|
||||||
|
TIME_TRACE=1
|
||||||
|
BB_TIMETRACE=0
|
||||||
|
GCC_ARGS=
|
||||||
|
CLANG_ARGS=
|
||||||
|
TIME_TRACE_ARG=
|
||||||
|
|
||||||
|
if [[ $C_COMPILER == "clang"* ]]; then
|
||||||
|
CLANG_ARGS=-ferror-limit=1
|
||||||
|
if [[ "$TIME_TRACE" == "1" ]]; then
|
||||||
|
CLANG_ARGS="$CLANG_ARGS -ftime-trace"
|
||||||
|
BB_TIMETRACE=1
|
||||||
|
else
|
||||||
|
CLANG_ARGS="$CLANG_ARGS -ftime-trace"
|
||||||
|
fi
|
||||||
|
elif [[ $C_COMPILER == "gcc"* ]]; then
|
||||||
|
GCC_ARGS=-fmax-errors=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
$C_COMPILER build.c -g -o $BUILD_OUT -Ibootstrap -std=gnu2x $CLANG_ARGS $GCC_ARGS -DBB_TIMETRACE=$BB_TIMETRACE -DBB_CI=$BB_CI -DBB_BUILD_TYPE=\"$BB_BUILD_TYPE\" -DBB_ERROR_ON_WARNINGS=$BB_ERROR_ON_WARNINGS -DBB_ERROR_LIMIT=$BB_ERROR_LIMIT
|
||||||
|
$BUILD_OUT $@
|
||||||
|
exit 0
|
4
src/main.cpp
Normal file
4
src/main.cpp
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
int main()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user