From 609890654e64a98d1a62f575e7f0eaecf862becc Mon Sep 17 00:00:00 2001 From: Jordan Bancino Date: Wed, 10 May 2023 03:32:56 +0000 Subject: [PATCH] Fix handling of STATIC and broken compilation on GNU systems. --- TODO.txt | 3 +++ tools/bin/td | 28 +++++++++++++++++----------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/TODO.txt b/TODO.txt index ed49174..65e606f 100644 --- a/TODO.txt +++ b/TODO.txt @@ -36,6 +36,9 @@ Milestone: v0.4.0 [ ] Move general-purpose code to separate library [ ] HTTP/1.1 support + [ ] Content-Length + [ ] Keep connections open + [ ] Chunked encoding [ ] Client-Server API [ ] 6: Filtering diff --git a/tools/bin/td b/tools/bin/td index a7188b3..dbcddd8 100644 --- a/tools/bin/td +++ b/tools/bin/td @@ -59,16 +59,14 @@ if [ -n "$TLS_IMPL" ]; then fi CFLAGS="${CFLAGS} ${DEFINES} ${INCLUDES}" -LDFLAGS="${LDFLAGS} ${STATIC}" MAIN="Main" if [ "$DEBUG" = "1" ]; then CFLAGS="$CFLAGS -O0 -g" - LDFLAGS="${LDFLAGS} ${TLS_LIBS}" PROG="$PROG-debug" else - LDFLAGS="${LDFLAGS} ${LD_EXTRA} ${TLS_LIBS}" + LDFLAGS="${LDFLAGS} ${LD_EXTRA}" fi # Check the modificiation time of a file. This is used to do @@ -142,7 +140,7 @@ recipe_build() { echo "CC = ${CC}" echo "CFLAGS = ${CFLAGS}" - echo "LDFLAGS = ${LDFLAGS}" + echo "LDFLAGS = ${LDFLAGS} ${STATIC}" echo do_rebuild=0 @@ -166,21 +164,29 @@ recipe_build() { done cd .. - if [ $do_rebuild -eq 1 ] || [ ! -f "build/$PROG" ]; then - echo "LD $PROG" - $CC -o "build/$PROG" $objs ${LDFLAGS} "build/$MAIN.o" - fi if [ $do_rebuild -eq 1 ] || [ ! -f "build/lib${PROG}.a" ]; then echo "AR lib${PROG}.a" - $AR rcs "build/lib${PROG}.a" $objs + if ! $AR rcs "build/lib${PROG}.a" $objs; then + exit 1 + fi fi if [ $do_rebuild -eq 1 ] || [ ! -f "build/lib${PROG}.so" ]; then echo "LD lib${PROG}.so" - $CC -shared -o "build/lib${PROG}.so" $objs + if ! $CC -shared -o "build/lib${PROG}.so" $objs ${LDFLAGS}; then + exit 1 + fi fi + if [ $do_rebuild -eq 1 ] || [ ! -f "build/$PROG" ]; then + echo "LD $PROG" + if ! $CC -o "build/$PROG" "build/$MAIN.o" -Lbuild -ltelodendria ${LDFLAGS} ${STATIC}; then + exit 1 + fi + fi + + for src in $(find tools/src -name '*.c'); do out=$(basename "$src" .c) out="build/tools/$out" @@ -188,7 +194,7 @@ recipe_build() { if [ $(mod_time "$src") -ge $(mod_time "$out") ] || [ $do_rebuild -eq 1 ]; then echo "CC $(basename $out)" mkdir -p "$(dirname $out)" - if ! $CC $CFLAGS -Isrc/include -Lbuild -ltelodendria -o "$out" ${LDFLAGS} "$src"; then + if ! $CC $CFLAGS -Isrc/include -o "$out" "$src" -Lbuild -ltelodendria ${LDFLAGS} ${STATIC}; then exit 1 fi fi