Let configure create Jamfile
[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
8 AC_CONFIG_HEADERS(src/config.hpp)
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(1.8)
16
17 # Checks for programs.
18 AC_PROG_CXX
19 AC_PROG_CXXCPP
20 AC_PROG_INSTALL
21 AC_PROG_LN_S
22 AC_PROG_MAKE_SET
23 AC_PROG_RANLIB
24 AM_PROG_LIBTOOL
25
26 # Use C++ compilers only for tests
27 AC_LANG(C++)
28
29 # Checks for libraries.
30 AC_CHECK_LIB(boost_thread, main, [],[
31         AC_MSG_NOTICE([boost thread library not found.])
32         AC_MSG_ERROR([Install libboost-thread-dev (or similar)])
33 ])
34
35 AC_CHECK_LIB(boost_date_time, main, [],[
36         AC_MSG_NOTICE([boost date_time library not found.])
37         AC_MSG_ERROR([Install libboost-date-time-dev (or similar)])
38 ])
39
40 AC_CHECK_LIB(boost_program_options, main, [],[
41         AC_MSG_NOTICE([boost program options library not found.])
42         AC_MSG_ERROR([Install libboost-program-options-dev (or similar)])
43 ])
44
45 AC_MSG_CHECKING([for boost_unit_test_framework presence])
46 OLIBS=$LIBS
47 LIBS="$LIBS -lboost_unit_test_framework"
48 AC_TRY_LINK([
49 #define BOOST_AUTO_TEST_MAIN
50 #include <boost/test/auto_unit_test.hpp> 
51 BOOST_AUTO_TEST_CASE( test )
52 {
53  BOOST_CHECK(true);
54 }
55 ],[],
56 [
57         AC_MSG_RESULT([yes])
58         LIBS=$OLIBS
59 ],
60 [
61         AC_MSG_RESULT([no])
62         AC_MSG_ERROR([Install libboost-test-dev (or similar)])
63 ])
64
65 ## YAZPP checks
66 YAZPP_INIT(threads,1.0)
67 if test -z "$YAZPPLIB"; then
68         AC_MSG_ERROR([YAZ++ development libraries missing])
69 fi
70 ##YAZ_DOC
71
72 ## libxslt checks
73 AC_SUBST(XSLT_LIBS)
74 AC_SUBST(XSLT_CFLAGS)
75 xsltdir=default
76 AC_ARG_WITH(xslt,[[  --with-xslt[=PREFIX]    use libxslt in PREFIX]],xsltdir=$withval)
77 if test "$xsltdir" = "yes" -o "$xsltdir" = "default"; then
78         for d in /usr /usr/local; do
79                 if test -x $d/bin/xslt-config; then
80                         xsltdir=$d
81                 fi
82         done
83 fi
84 if test "$xsltdir" != "no"; then
85         AC_MSG_CHECKING(for libXSLT)
86         if test -x $xsltdir/bin/xslt-config; then
87                 XSLT_LIBS=`$xsltdir/bin/xslt-config --libs`
88                 XSLT_CFLAGS=`$xsltdir/bin/xslt-config --cflags`
89                 XSLT_VER=`$xsltdir/bin/xslt-config --version`
90                 AC_MSG_RESULT($XSLT_VER)
91                 AC_DEFINE([HAVE_XSLT],[1],
92                 [Define to 1 if you have libxslt installed])
93         else
94                 AC_MSG_RESULT(Not found)
95                 if test "$xsltdir" = "default"; then
96                         AC_MSG_WARN([Libxslt development libraries not found.])
97                 else
98                         AC_MSG_ERROR([libxslt development libraries not found.])                fi
99         fi
100 fi
101
102
103 # Checks for header files.
104 ##AC_HEADER_STDC
105 ##AC_HEADER_SYS_WAIT
106 ##AC_HEADER_TIME 
107 AC_CHECK_HEADERS(iostream list vector stdexcept)
108 AC_CHECK_HEADERS(boost/thread/mutex.hpp \ 
109                  boost/date_time/posix_time/posix_time.hpp \
110                  boost/test/auto_unit_test.hpp)
111
112 # Checks for typedefs, structures, and compiler characteristics.
113 ##AC_TYPE_SIZE_T 
114 ##AC_CHECK_SIZEOF(int)
115 ##AC_CHECK_SIZEOF(long int)
116
117
118 # Checks for library functions.
119
120 AC_CONFIG_FILES([
121         Doxyfile
122         Makefile
123         src/Makefile
124         src/Jamfile
125 ])
126
127 AC_OUTPUT
128
129
130 # postamble
131
132 echo \
133 "------------------------------------------------------------------------
134 Configuration:
135
136   Source code location:       ${srcdir}
137   CPP Preprocessor flags:     ${CPPFLAGS}
138   CXX Compiler:               ${CXX}
139   CXX Compiler flags:         ${CXXFLAGS}
140   Linker flags:               ${LDFLAGS}
141   Linked libs:                ${LIBS}
142   Host System Type:           ${host}
143   Install path:               ${prefix}
144   Automake:                   ${AUTOMAKE}
145
146 ------------------------------------------------------------------------"