1#! /bin/sh 2# vi:ts=4:et 3set -e 4echo "// Copyright (C) 1996-2011 Markus F.X.J. Oberhumer" 5echo "//" 6echo "// Generic Posix/Unix system" 7echo "// Generic C compiler" 8 9test "X${top_srcdir}" = X && top_srcdir=`echo "$0" | sed 's,[^/]*$,,'`../.. 10 11test "X${AR}" = X && AR="ar" 12test "X${CC}" = X && CC="cc" 13test "X${CFLAGS+set}" = Xset || CFLAGS="-O" 14# CPPFLAGS, LDFLAGS, LIBS 15# LZO_EXTRA_CPPFLAGS, LZO_EXTRA_CFLAGS, LZO_EXTRA_LDFLAGS 16# LZO_EXTRA_SOURCES, LZO_EXTRA_OBJECTS, LZO_EXTRA_LIBS 17 18CFI="-I${top_srcdir}/include -I${top_srcdir} -I${top_srcdir}/src" 19BNAME=lzo2 20BLIB=lib${BNAME}.a 21 22CF="$CPPFLAGS $CFI $CFLAGS" 23# info: we restrict ourselves to pure ANSI C library functions for the examples 24CF="-DLZO_LIBC_ISOC90=1 $CF" 25# info: we do not use _any_ external functions in freestanding mode 26test -z "$LZO_CFG_FREESTANDING" || CF="-DLZO_CFG_FREESTANDING=1 $CF" 27LF="$LDFLAGS $LZO_EXTRA_LDFLAGS" 28LL="$BLIB $LIBS $LZO_EXTRA_LIBS" 29 30. $top_srcdir/B/generic/clean.sh 31 32for f in $top_srcdir/src/*.c $LZO_EXTRA_SOURCES; do 33 echo $CC $CF $LZO_EXTRA_CPPFLAGS $LZO_EXTRA_CFLAGS -c $f 34 $CC $CF $LZO_EXTRA_CPPFLAGS $LZO_EXTRA_CFLAGS -c $f 35done 36 37echo $AR rcs $BLIB *.o $LZO_EXTRA_OBJECTS 38 $AR rcs $BLIB *.o $LZO_EXTRA_OBJECTS 39 40 41if test -n "$LZO_CFG_FREESTANDING"; then 42 43echo "//" 44echo "// Building $BLIB in freestanding mode was successful. All done." 45echo "// Now try 'nm --extern-only $BLIB'" 46 47else 48 49for f in dict lzopack precomp precomp2 simple; do 50 echo $CC $CF $LF -o $f.out $top_srcdir/examples/$f.c $LL 51 $CC $CF $LF -o $f.out $top_srcdir/examples/$f.c $LL 52done 53echo $CC $CF $LF -o lzotest.out $top_srcdir/lzotest/lzotest.c $LL 54 $CC $CF $LF -o lzotest.out $top_srcdir/lzotest/lzotest.c $LL 55 56for f in minilzo.c testmini.c; do 57 XF="-I$top_srcdir/include/lzo $CF $LZO_EXTRA_CPPFLAGS $LZO_EXTRA_CFLAGS" 58 echo $CC $XF -c $top_srcdir/minilzo/$f 59 $CC $XF -c $top_srcdir/minilzo/$f 60done 61echo $CC $CF $LF -o testmini.out testmini.o minilzo.o $LIBS $LZO_EXTRA_LIBS 62 $CC $CF $LF -o testmini.out testmini.o minilzo.o $LIBS $LZO_EXTRA_LIBS 63 64 65echo "//" 66echo "// Building LZO was successful. All done." 67 68fi 69true 70