build.sh 2.1 KB

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