Check for boost test framework
[metaproxy-moved-to-github.git] / configure.ac
1 ## -*- Autoconf -*-
2 ## Process this file with autoconf to produce a configure script.
3
4 # Autoconf and automake setup
5 AC_PREREQ(2.57)
6 AC_INIT(yp2, 0.0.1, marc@indexdata.dk)
7 AM_CONFIG_HEADER(src/config.hpp)
8
9
10 AC_CONFIG_SRCDIR(configure.ac) 
11 AC_CONFIG_AUX_DIR(config)
12 AC_CANONICAL_SYSTEM
13 ##AC_PREFIX_DEFAULT(`pwd`/install) 
14
15 AM_INIT_AUTOMAKE
16
17
18 # Checks for programs.
19 AC_PROG_CXX
20 AC_PROG_CXXCPP
21 AC_PROG_INSTALL
22 AC_PROG_LN_S
23 AC_PROG_MAKE_SET
24 AC_PROG_RANLIB
25 AM_PROG_LIBTOOL
26
27 # Use C++ compilers only for tests
28 AC_LANG(C++)
29
30 # Checks for libraries.
31 ##AC_CHECK_LIB(ibrary, main)
32 AC_CHECK_LIB(boost_thread, main, [],[
33         AC_MSG_ERROR([boost thread library not found. Install libboost-thread-dev (or similar)])
34 ])
35
36 AC_MSG_CHECKING([for boost_unit_test_framework presence])
37 OLIBS=$LIBS
38 LIBS="$LIBS -lboost_unit_test_framework"
39 AC_TRY_LINK([
40 #define BOOST_AUTO_TEST_MAIN
41 #include <boost/test/auto_unit_test.hpp> 
42 BOOST_AUTO_TEST_CASE( test )
43 {
44  BOOST_CHECK(true);
45 }
46 ],[],
47 [
48         AC_MSG_RESULT([yes])
49         LIBS=$OLIBS
50 ],
51 [
52         AC_MSG_RESULT([no])
53         AC_MSG_ERROR([Install libboost-test-dev (or similar)])
54 ])
55
56 ## YAZPP checks
57 YAZPP_INIT(threads,1.0)
58 if test -z "$YAZPPLIB"; then
59         AC_MSG_ERROR([YAZ++ development libraries missing])
60 fi
61 ##YAZ_DOC
62
63 ## libxslt checks
64 AC_SUBST(XSLT_LIBS)
65 AC_SUBST(XSLT_CFLAGS)
66 xsltdir=default
67 AC_ARG_WITH(xslt,[[  --with-xslt[=PREFIX]    use libxslt in PREFIX]],xsltdir=$withval)
68 if test "$xsltdir" = "yes" -o "$xsltdir" = "default"; then
69         for d in /usr /usr/local; do
70                 if test -x $d/bin/xslt-config; then
71                         xsltdir=$d
72                 fi
73         done
74 fi
75 if test "$xsltdir" != "no"; then
76         AC_MSG_CHECKING(for libXSLT)
77         if test -x $xsltdir/bin/xslt-config; then
78                 XSLT_LIBS=`$xsltdir/bin/xslt-config --libs`
79                 XSLT_CFLAGS=`$xsltdir/bin/xslt-config --cflags`
80                 XSLT_VER=`$xsltdir/bin/xslt-config --version`
81                 AC_MSG_RESULT($XSLT_VER)
82                 AC_DEFINE([HAVE_XSLT],[1],
83                 [Define to 1 if you have libxslt installed])
84         else
85                 AC_MSG_RESULT(Not found)
86                 if test "$xsltdir" = "default"; then
87                         AC_MSG_WARN([Libxslt development libraries not found.])
88                 else
89                         AC_MSG_ERROR([libxslt development libraries not found.])                fi
90         fi
91 fi
92
93
94 # Checks for header files.
95 ##AC_HEADER_STDC
96 ##AC_HEADER_SYS_WAIT
97 ##AC_HEADER_TIME 
98 AC_CHECK_HEADERS(iostream list vector stdexcept)
99 AC_CHECK_HEADERS(boost/thread/mutex.hpp boost/test/auto_unit_test.hpp)
100
101 # Checks for typedefs, structures, and compiler characteristics.
102 ##AC_TYPE_SIZE_T 
103 ##AC_CHECK_SIZEOF(int)
104 ##AC_CHECK_SIZEOF(long int)
105
106
107 # Checks for library functions.
108
109 AC_CONFIG_FILES([
110         Doxyfile
111         Makefile
112         src/Makefile
113 ])
114
115 AC_OUTPUT
116
117
118 # postamble
119
120 echo \
121 "------------------------------------------------------------------------
122 Configuration:
123
124   Source code location:       ${srcdir}
125   CPP Preprocessor flags:     ${CPPFLAGS}
126   CXX Compiler:               ${CXX}
127   CXX Compiler flags:         ${CXXFLAGS}
128   Linker flags:               ${LDFLAGS}
129   Linked libs:                ${LIBS}
130   Host System Type:           ${host}
131   Install path:               ${prefix}
132   Automake:                   ${AUTOMAKE}
133
134 ------------------------------------------------------------------------"
135 automake --version| grep 1.4  > /dev/null ||  \
136 automake --version| grep 1.5  > /dev/null ||  \
137 automake --version| grep 1.6  > /dev/null ||  \
138 automake --version| grep 1.7  > /dev/null ||  \ 
139 automake --version| grep 1.8  > /dev/null     \ 
140 && echo \
141 "  YOUR AUTOMAKE IS TOO OLD - USE VERSION 1.9 OR NEWER
142
143   On a Debian system run
144
145   sudo apt-get install automake1.9
146   sudo update-alternatives --config automake
147
148 "
149