added m4 macros for boost C++ headers and libs, hopefully making better autoconf...
[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.59)
6 AC_INIT([metaproxy],[1.0.9],[metaproxy-help@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 if test "$enable_shared" = "yes"; then
30         AC_DEFINE([HAVE_DL_SUPPORT],[1],
31                 [Define to 1 if you have shared module support])
32 fi
33
34 # Checks for libraries.
35 AC_CHECK_LIB(dl,dlopen)
36
37
38 # check for Boost C++ development libs and headers
39 AX_BOOST_BASE(1.33)
40 AX_BOOST_DATE_TIME(1.33)
41 AX_BOOST_PROGRAM_OPTIONS(1.33)
42 AX_BOOST_THREAD(1.33)
43 AX_BOOST_UNIT_TEST_FRAMEWORK(1.33)
44 if test "$ax_cv_boost_base" = "no"; then
45    AC_MSG_ERROR([install libboost-dev or similar])
46 fi
47 if test "$ax_cv_boost_date_time" = "no"; then
48    AC_MSG_ERROR([install libboost-date-time-dev or similar])
49 fi
50 if test "$ax_cv_boost_program_options" = "no"; then
51    AC_MSG_ERROR([install libboost-program-options-dev or similar])
52 fi
53 if test "$ax_cv_boost_thread" = "no"; then
54    AC_MSG_ERROR([install libboost-thread-dev or similar])
55 fi
56 if test "$ax_cv_boost_unit_test_framework" = "no"; then
57    AC_MSG_ERROR([install libboost-test-dev or similar])
58 fi
59     
60
61 ## YAZPP checks
62 YAZPP_INIT(threads,1.0.2)
63 if test -z "$YAZPPLIB"; then
64         AC_MSG_ERROR([YAZ++ development libraries missing])
65 fi
66 YAZ_DOC
67
68 # Checks for header files.
69 ##AC_HEADER_STDC
70 ##AC_HEADER_SYS_WAIT
71 ##AC_HEADER_TIME 
72 AC_CHECK_HEADERS(sys/select.h sys/socket.h iostream list vector stdexcept)
73
74 # Checks for typedefs, structures, and compiler characteristics.
75 ##AC_TYPE_SIZE_T 
76 ##AC_CHECK_SIZEOF(int)
77 ##AC_CHECK_SIZEOF(long int)
78
79
80 # Checks for library functions.
81
82 AC_CONFIG_FILES([
83         Doxyfile
84         Makefile
85         src/Makefile
86         src/Jamfile
87         xml/Makefile
88         xml/schema/Makefile
89         xml/xslt/Makefile
90         doc/Makefile
91         doc/local.ent
92         doc/common/Makefile
93         doc/common/print.dsl
94         etc/Makefile
95 ])
96
97 AC_OUTPUT
98
99
100 # postamble
101
102
103 echo \
104 "------------------------------------------------------------------------
105
106   Package:                    ${PACKAGE}
107   Version:                    ${VERSION}
108   Source code location:       ${srcdir}
109   CPP Preprocessor:           ${CPP}
110   CPP Preprocessor flags:     ${CPPFLAGS}
111   CXX Compiler:               ${CXX}
112   CXX Compiler flags:         ${CXXFLAGS}
113   Linker flags:               ${LDFLAGS}
114   Linked libs:                ${LIBS}
115   Host System Type:           ${host}
116   Install path:               ${prefix}
117   Automake:                   ${AUTOMAKE}
118   Archiver:                   ${AR}
119   Ranlib:                     ${RANLIB}
120   YAZPP Version:              ${YAZPPVERSION}
121   YAZPP Include:              ${YAZPPINC}
122   YAZPP La Lib:               ${YAZPPLALIB}
123   YAZPP Lib:                  ${YAZPPLIB}
124   Bugreport:                  ${PACKAGE_BUGREPORT}
125
126 ------------------------------------------------------------------------"