Debugging & build with debug symbols scripts

This commit is contained in:
John McCardle 2023-08-25 21:56:27 -04:00
parent 96e78e6150
commit a455c44b34
3 changed files with 83 additions and 1 deletions

View File

@ -52,6 +52,7 @@ do
done done
# Final executable # Final executable
# --std= : c++2a vs c++17
g++ \ g++ \
--std=c++2a \ --std=c++2a \
-I../../deps_linux \ -I../../deps_linux \

4
debug_linux.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash
cp src/scripts/*.py bin/linux/scripts/
cd bin/linux
gdb ./mcrogueface

77
symbols_linux.sh Executable file
View File

@ -0,0 +1,77 @@
#!/bin/bash
#rm -R bin/linux
mkdir -p bin/linux/lib
mkdir -p obj
rm obj/*
# copy shared objects, squish "linux" subdirectory in bin/linux/lib
#cp -R lib/linux/* bin/linux/lib
# copy assets directory (font, sprites, etc)
cp -R assets bin/linux
# copy Python code
cp -R src/scripts bin/linux/scripts
# work from output directory and change every g++ path to relative D:<
cd bin/linux
# prepare object files of engine classes
abort_compile()
{
echo "Compilation failed on $fn.cpp"
exit 1
}
# Precompile engine classes. Get errors in their file, not where they're included
for fn in $(ls ../../src/*.cpp -1 | cut -d/ -f4 | cut -d. -f1)
do
# Skip combined_poc.cpp, it has a duplicate main
if [ "$fn" = "combined_poc" ]; then continue; fi
echo "Compile $fn.cpp"
g++ \
-g \
-I../../deps_linux \
-I../../deps_linux/Python-3.11.1 \
-I../../platform/linux \
--std=c++2a \
-c ../../src/$fn.cpp \
-o ../../obj/$fn.o \
-lm \
-ldl \
-lutil \
-lpthread \
-lpython3.11 \
-lsfml-graphics \
-lsfml-window \
-lsfml-system \
-lsfml-audio \
-ltcod \
|| abort_compile $fn
done
# Final executable
# --std= : c++2a vs c++17
g++ \
-g \
--std=c++2a \
-I../../deps_linux \
-I../../deps_linux/Python-3.11.1 \
-I../../platform/linux \
../../obj/*.o \
-o mcrogueface \
-Wl,-rpath lib \
-L../../deps_linux \
-lm \
-ldl \
-lutil \
-lpthread \
-lpython3.11 \
-lsfml-graphics \
-lsfml-window \
-lsfml-system \
-lsfml-audio \
-ltcod \