Fix and improve build script

This commit is contained in:
Francesco Abbate 2020-06-18 15:53:31 +02:00
parent ccc354bd22
commit 0e04030131
3 changed files with 36 additions and 17 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
build*
.build*

View File

@ -1,36 +1,28 @@
#!/bin/bash
cflags="-Wall -O3 -g -std=gnu11 -fno-strict-aliasing -Isrc -Ilib/font_renderer"
cxxflags="-Wall -O3 -g -std=c++03 -fno-exceptions -fno-rtti -Isrc -Ilib/font_renderer"
libcflags=
cflags+=" $(pkg-config --cflags lua5.2) $(sdl2-config --cflags)"
lflags="-static-libgcc -static-libstdc++"
for package in libagg freetype2 lua5.2; do
libcflags+=" $(pkg-config --cflags $package)"
lflags+=" $(pkg-config --libs $package)"
done
libcflags+=" $(sdl2-config --cflags)"
lflags+=" $(sdl2-config --libs) -lm"
if [[ $* == *windows* ]]; then
echo "cross compiling for windows is not yet supported"
exit 1
else
platform="unix"
outfile="lite"
compiler="gcc"
cxxcompiler="g++"
fi
echo "compiling ($platform)..."
for f in `find src -name "*.c"`; do
$compiler -c $cflags $f -o "${f//\//_}.o" $libcflags
if [[ $? -ne 0 ]]; then
got_error=true
fi
done
lib/font_renderer/build.sh || exit 1
libs=libfontrenderer.a
for f in `find lib -name "*.cpp"`; do
$cxxcompiler -c $cxxflags $f -o "${f//\//_}.o" $libcflags
echo "compiling lite..."
for f in `find src -name "*.c"`; do
$compiler -c $cflags $f -o "${f//\//_}.o"
if [[ $? -ne 0 ]]; then
got_error=true
fi
@ -38,10 +30,10 @@ done
if [[ ! $got_error ]]; then
echo "linking..."
$cxxcompiler -o $outfile *.o $lflags
$cxxcompiler -o $outfile *.o $libs $lflags
fi
echo "cleaning up..."
rm *.o
rm *.o *.a
echo "done"

View File

@ -0,0 +1,27 @@
#!/bin/bash
cxxcompiler="g++"
cxxflags="-Wall -O3 -g -std=c++03 -fno-exceptions -fno-rtti -Isrc -Ilib/font_renderer"
cxxflags+=" -DFONT_RENDERER_HEIGHT_HACK"
for package in libagg freetype2; do
cxxflags+=" $(pkg-config --cflags $package)"
done
echo "compiling font renderer library..."
for f in `find lib -name "*.cpp"`; do
$cxxcompiler -c $cxxflags $f -o "${f//\//_}.o"
if [[ $? -ne 0 ]]; then
got_error=true
fi
done
if [[ $got_error ]]; then
rm -f *.o
exit 1
fi
ar -rcs libfontrenderer.a *.o
rm *.o
echo "font renderer library created"