configure checks for libxml2/libxslt
[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.60])
6 AC_INIT([metaproxy],[1.2.6],[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
14 AM_INIT_AUTOMAKE([1.9])
15
16 AC_PROG_CXX
17 AC_PROG_CXXCPP
18 AC_PROG_INSTALL
19 AC_PROG_LN_S
20 AC_PROG_MAKE_SET
21 AC_PROG_RANLIB
22 AM_PROG_LIBTOOL
23
24 # Default language to use for tests (some tests may switch to C++)
25 AC_LANG([C])
26
27 if test "$enable_shared" = "yes"; then
28     AC_DEFINE([HAVE_DL_SUPPORT],[1],
29         [Define to 1 if you have shared module support])
30 fi
31
32 # Checks for libraries.
33 AC_CHECK_LIB([dl],[dlopen])
34 AC_CHECK_LIB([m],[main])
35
36 AC_CHECK_FUNCS([localtime_r])
37
38 ## YAZPP checks
39 YAZPP_INIT([threads],[1.2.6])
40 if test -z "$YAZPPLIB"; then
41     AC_MSG_ERROR([YAZ++ development libraries missing])
42 fi
43 YAZ_DOC
44 CPPFLAGS="$YAZPPINC $CPPFLAGS"
45
46 ID_BOOST([thread test],[1.33])
47 if test -z "${BOOST_THREAD_LIB}"; then
48     AC_MSG_ERROR([Boost thread development libraries required])
49 fi
50 if test -z "${BOOST_TEST_LIB}"; then
51     AC_MSG_ERROR([Boost unit test framework libraries required])
52 fi
53
54 xml_avail=false
55 xslt_avail=false
56 YAZ_LIBXML2([xml_avail=true])
57 if $xml_avail; then
58     YAZ_LIBXSLT([xslt_avail=true])
59 else
60     AC_MSG_ERROR([Libxml2 development files not found])
61 fi
62 if $xslt_avail; then
63     :
64 else
65     AC_MSG_ERROR([Libxslt development files not found])
66 fi
67
68 AC_CHECK_HEADERS([sys/select.h sys/socket.h])
69
70 if test -d ${srcdir}/.git; then
71     SHA1=`git show --pretty=format:%H|head -1`
72 else
73     SHA1=`head -1 ${srcdir}/ChangeLog|awk '{print $2}'`
74 fi
75 AC_DEFINE_UNQUOTED([VERSION_SHA1], "$SHA1", [SHA-1 from Git])
76
77 AC_CONFIG_FILES([
78         metaproxy-config
79         Doxyfile
80         Makefile
81         include/Makefile include/metaproxy/Makefile
82         src/Makefile
83         xml/Makefile
84         xml/schema/Makefile
85         xml/xslt/Makefile
86         doc/Makefile
87         doc/local.ent
88         doc/common/Makefile
89         doc/common/print.dsl
90         etc/Makefile
91 ],[
92         sed s%echo_source=yes%echo_source=no%g < metaproxy-config > src/metaproxy-config && chmod +x metaproxy-config src/metaproxy-config
93
94 ])
95
96 AC_OUTPUT
97
98
99 # postamble
100
101
102 echo \
103 "------------------------------------------------------------------------
104
105   Package:                    ${PACKAGE}
106   Version:                    ${VERSION}
107   Source code location:       ${srcdir}
108   CPP Preprocessor:           ${CPP}
109   CPP Preprocessor flags:     ${CPPFLAGS}
110   CXX Compiler:               ${CXX}
111   CXX Compiler flags:         ${CXXFLAGS}
112   Linker flags:               ${LDFLAGS}
113   Linked libs:                ${LIBS}
114   Host System Type:           ${host}
115   Install path:               ${prefix}
116   Automake:                   ${AUTOMAKE}
117   Archiver:                   ${AR}
118   Ranlib:                     ${RANLIB}
119   Boost Version:              ${BOOST_VERSION}               
120   Boost Include:              ${BOOST_CPPFLAGS}               
121   Boost linker flags:         ${BOOST_LDFLAGS}               
122   Boost Libs:                 ${BOOST_DATE_TIME_LIB} ${BOOST_THREAD_LIB}               
123   YAZPP Version:              ${YAZPPVERSION}
124   YAZPP Include:              ${YAZPPINC}
125   YAZPP La Lib:               ${YAZPPLALIB}
126   YAZPP Lib:                  ${YAZPPLIB}
127   Bugreport:                  ${PACKAGE_BUGREPORT}
128
129 ------------------------------------------------------------------------"
130 dnl Local Variables:
131 dnl mode:shell-script
132 dnl sh-indentation: 2
133 dnl sh-basic-offset: 4
134 dnl End: