1AC_PREREQ(2.57)
2AC_INIT([libltc], [-], [robin@gareus.org], [], [http://x42.github.com/libltc/])
3
4AC_PATH_PROG(SED, sed, "", $PATH:/bin:/usr/bin:/usr/local/bin)
5if test -z "$SED"; then
6  AC_MSG_ERROR([sed was not found -- sed is requied to extract version information])
7fi
8
9AC_MSG_CHECKING([libltc version])
10VERSION=`$SED -ne 's/^#define LIBLTC_VERSION "\(.*\)"/\1/p' ${srcdir}/src/ltc.h 2>/dev/null`
11AC_MSG_RESULT($VERSION)
12if test -z "$VERSION"; then
13  AC_MSG_ERROR([version number can not be retrieved from src/ltc.h])
14fi
15
16VERSION_CUR=`$SED -ne 's/^#define LIBLTC_CUR *\([0-9]*\)/\1/p' ${srcdir}/src/ltc.h 2>/dev/null`
17VERSION_REV=`$SED -ne 's/^#define LIBLTC_REV *\([0-9]*\)/\1/p' ${srcdir}/src/ltc.h 2>/dev/null`
18VERSION_AGE=`$SED -ne 's/^#define LIBLTC_AGE *\([0-9]*\)/\1/p' ${srcdir}/src/ltc.h 2>/dev/null`
19VERSION_INFO=${VERSION_CUR}:${VERSION_REV}:${VERSION_AGE}
20
21AC_CONFIG_SRCDIR([src/ltc.c])
22AC_CONFIG_TESTDIR([tests])
23AC_CANONICAL_TARGET([])
24AC_COPYRIGHT([Copyright (C) Robin Gareus 2006-2012])
25
26AM_INIT_AUTOMAKE(libltc,$VERSION)
27AC_CONFIG_HEADERS([src/config.h])
28
29AC_CANONICAL_HOST
30
31AC_PROG_INSTALL
32AC_PROG_CC
33AC_PROG_MAKE_SET
34AC_PROG_LN_S
35AC_PROG_LIBTOOL
36AC_LIBTOOL_WIN32_DLL
37
38dnl *** misc complier/linker flags ***
39LIBLTC_CFLAGS="-Wall"
40LIBLTC_LDFLAGS="-export-symbols-regex '^(ltc_).*'"
41
42case $target_os in
43  *mingw32*|*win*)
44    LDFLAGS="-no-undefined"
45		;;
46  *)
47    AC_MSG_CHECKING([if -Wl,--as-needed works])
48    LDFLAGS_save=$LDFLAGS
49    LDFLAGS="$LDFLAGS -Wl,--as-needed"
50    AC_TRY_LINK([], [],
51                [
52                 AC_MSG_RESULT([yes])
53                 LIBLTC_LDFLAGS="$LIBLTC_LDFLAGS -Wl,--as-needed"
54                ],
55                [AC_MSG_RESULT([no])])
56    LDFLAGS=$LDFLAGS_save
57  ;;
58esac
59
60dnl *** check for dependencies ***
61AC_CHECK_HEADERS(stdio.h stdlib.h string.h unistd.h math.h stdint.h)
62
63dnl *** check for doxygen ***
64AC_ARG_VAR(DOXYGEN, Doxygen)
65AC_PATH_PROG(DOXYGEN, doxygen, no)
66
67if test "$DOXYGEN" != "no"; then
68  DOXMAKE='run "make dox" to generate API html reference: doc/html/index.html'
69fi
70
71subdirs="src doc tests"
72
73AC_SUBST(subdirs)
74AC_SUBST(VERSION)
75AC_SUBST(VERSION_INFO)
76AC_SUBST(LIBLTC_CFLAGS)
77AC_SUBST(LIBLTC_LDFLAGS)
78
79AC_OUTPUT(Makefile src/Makefile doc/Makefile tests/Makefile ltc.pc Doxyfile)
80
81AC_MSG_NOTICE([
82
83 libltc configured:
84 -----------------------
85
86  version:             $VERSION
87  interface revision:  $VERSION_INFO
88
89  doxygen:             $DOXYGEN
90  installation prefix: $prefix
91
92 type "make" followed my "make install" as root.
93 run "make check" to perform selftests.
94 $DOXMAKE
95])
96