1#! /bin/sh
2# vi:ts=4:et
3set -e
4echo "// Copyright (C) 1996-2008 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}"
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