summaryrefslogtreecommitdiff
path: root/B/generic/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'B/generic/build.sh')
-rwxr-xr-xB/generic/build.sh69
1 files changed, 69 insertions, 0 deletions
diff --git a/B/generic/build.sh b/B/generic/build.sh
new file mode 100755
index 0000000..5456e05
--- /dev/null
+++ b/B/generic/build.sh
@@ -0,0 +1,69 @@
+#! /bin/sh
+# vi:ts=4:et
+set -e
+echo "// Copyright (C) 1996-2008 Markus F.X.J. Oberhumer"
+echo "//"
+echo "// Generic Posix/Unix system"
+echo "// Generic C compiler"
+
+test "X${top_srcdir}" = X && top_srcdir=`echo "$0" | sed 's,[^/]*$,,'`../..
+
+test "X${AR}" = X && AR="ar"
+test "X${CC}" = X && CC="cc"
+test "X${CFLAGS+set}" = Xset || CFLAGS="-O"
+# CPPFLAGS, LDFLAGS, LIBS
+# LZO_EXTRA_CPPFLAGS, LZO_EXTRA_CFLAGS, LZO_EXTRA_LDFLAGS
+# LZO_EXTRA_SOURCES, LZO_EXTRA_OBJECTS, LZO_EXTRA_LIBS
+
+CFI="-I${top_srcdir}/include -I${top_srcdir}"
+BNAME=lzo2
+BLIB=lib${BNAME}.a
+
+CF="$CPPFLAGS $CFI $CFLAGS"
+# info: we restrict ourselves to pure ANSI C library functions for the examples
+CF="-DLZO_LIBC_ISOC90=1 $CF"
+# info: we do not use _any_ external functions in freestanding mode
+test -z "$LZO_CFG_FREESTANDING" || CF="-DLZO_CFG_FREESTANDING=1 $CF"
+LF="$LDFLAGS $LZO_EXTRA_LDFLAGS"
+LL="$BLIB $LIBS $LZO_EXTRA_LIBS"
+
+. $top_srcdir/B/generic/clean.sh
+
+for f in $top_srcdir/src/*.c $LZO_EXTRA_SOURCES; do
+ echo $CC $CF $LZO_EXTRA_CPPFLAGS $LZO_EXTRA_CFLAGS -c $f
+ $CC $CF $LZO_EXTRA_CPPFLAGS $LZO_EXTRA_CFLAGS -c $f
+done
+
+echo $AR rcs $BLIB *.o $LZO_EXTRA_OBJECTS
+ $AR rcs $BLIB *.o $LZO_EXTRA_OBJECTS
+
+
+if test -n "$LZO_CFG_FREESTANDING"; then
+
+echo "//"
+echo "// Building $BLIB in freestanding mode was successful. All done."
+echo "// Now try 'nm --extern-only $BLIB'"
+
+else
+
+for f in dict lzopack precomp precomp2 simple; do
+ echo $CC $CF $LF -o $f.out $top_srcdir/examples/$f.c $LL
+ $CC $CF $LF -o $f.out $top_srcdir/examples/$f.c $LL
+done
+echo $CC $CF $LF -o lzotest.out $top_srcdir/lzotest/lzotest.c $LL
+ $CC $CF $LF -o lzotest.out $top_srcdir/lzotest/lzotest.c $LL
+
+for f in minilzo.c testmini.c; do
+ XF="-I$top_srcdir/include/lzo $CF $LZO_EXTRA_CPPFLAGS $LZO_EXTRA_CFLAGS"
+ echo $CC $XF -c $top_srcdir/minilzo/$f
+ $CC $XF -c $top_srcdir/minilzo/$f
+done
+echo $CC $CF $LF -o testmini.out testmini.o minilzo.o $LIBS $LZO_EXTRA_LIBS
+ $CC $CF $LF -o testmini.out testmini.o minilzo.o $LIBS $LZO_EXTRA_LIBS
+
+
+echo "//"
+echo "// Building LZO was successful. All done."
+
+fi
+true