Release 2.2.5.
[mLib] / configure.ac
1 dnl -*-autoconf-*-
2 dnl
3 dnl Configuration script for mLib
4 dnl
5 dnl (c) 2008 Straylight/Edgeware
6 dnl
7
8 dnl----- Licensing notice ---------------------------------------------------
9 dnl
10 dnl This file is part of the mLib utilities library.
11 dnl
12 dnl mLib is free software; you can redistribute it and/or modify
13 dnl it under the terms of the GNU Library General Public License as
14 dnl published by the Free Software Foundation; either version 2 of the
15 dnl License, or (at your option) any later version.
16 dnl
17 dnl mLib is distributed in the hope that it will be useful,
18 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
19 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 dnl GNU Library General Public License for more details.
21 dnl
22 dnl You should have received a copy of the GNU Library General Public
23 dnl License along with mLib; if not, write to the Free
24 dnl Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
25 dnl MA 02111-1307, USA.
26
27 dnl--------------------------------------------------------------------------
28 dnl Initialization.
29
30 mdw_AUTO_VERSION
31 AC_INIT([mLib], AUTO_VERSION, [mdw@distorted.org.uk], [mLib])
32 AC_CONFIG_SRCDIR([mLib.pc.in])
33 AC_CONFIG_AUX_DIR([config])
34 AM_INIT_AUTOMAKE([foreign subdir-objects])
35 mdw_SILENT_RULES
36
37 AC_PROG_CC
38 AM_PROG_CC_C_O
39 AM_PROG_LIBTOOL
40 AX_CFLAGS_WARN_ALL
41 mdw_LIBTOOL_VERSION_INFO
42
43 AC_CHECK_PROGS([AUTOM4TE], [autom4te])
44
45 mdw_MANEXT
46
47 AC_DEFINE_UNQUOTED([SRCDIR], ["$(cd $srcdir && pwd)"],
48 [absolute pathname for the source directory.])
49
50 dnl--------------------------------------------------------------------------
51 dnl C programming environment.
52
53 dnl Headers.
54 AC_CHECK_HEADERS([float.h])
55 AC_CHECK_HEADERS([stdint.h])
56
57 dnl Libraries.
58 AC_SEARCH_LIBS([socket], [socket])
59 AC_SEARCH_LIBS([gethostbyname], [nsl resolv])
60
61 dnl Functions.
62 AC_CHECK_FUNCS([snprintf])
63
64 dnl Types.
65 AC_CHECK_TYPE([socklen_t], [],
66 [AC_DEFINE([socklen_t], [int],
67 [Define to `int' if <sys/socket.h> does not define])],
68 [AC_INCLUDES_DEFAULT
69 #include <sys/socket.h>
70 ])
71
72 dnl Which version of struct msghdr do we have?
73 AC_CHECK_MEMBERS([struct msgdr.msg_control],,, [
74 #include <sys/types.h>
75 #include <sys/socket.h>
76 ])
77
78 dnl Find out whether we're cross-compiling.
79 AM_CONDITIONAL([CROSS_COMPILING], [test "$cross_compiling" = yes])
80
81 dnl--------------------------------------------------------------------------
82 dnl Name resolution.
83
84 AC_ARG_WITH([adns],
85 AS_HELP_STRING([--with-adns],
86 [use ADNS library for background name resolution]),
87 [want_adns=$withval],
88 [want_adns=auto])
89
90 case $want_adns in
91 no) ;;
92 *) AC_SEARCH_LIBS([adns_init], [adns], [have_adns=yes], [have_adns=no]) ;;
93 esac
94 case $want_adns,$have_adns in
95 yes,no)
96 AC_MSG_ERROR([ADNS library not found but explicitly requested])
97 ;;
98 yes,yes | auto,yes)
99 use_adns=yes
100 AC_DEFINE([HAVE_ADNS], [1],
101 [define if you have (and want to use) the ADNS library.])
102 ;;
103 no,* | auto,no)
104 use_adns=no
105 mdw_DEFINE_PATHS([
106 AC_DEFINE_UNQUOTED([BRES_SERVER],
107 ["mdw_PATH($libexecdir)/$PACKAGE/mdw_PROG(bres)"],
108 [pathname to the standalone `bres' binary.'])
109 ])
110 ;;
111 esac
112 AM_CONDITIONAL([WITH_ADNS], [test "$use_adns" = yes])
113
114 dnl--------------------------------------------------------------------------
115 dnl Python (used for testing).
116
117 AM_PATH_PYTHON([2.4],, [:])
118
119 dnl--------------------------------------------------------------------------
120 dnl Output.
121
122 AC_CONFIG_HEADER([config/config.h])
123 AC_CONFIG_TESTDIR([t])
124
125 AC_CONFIG_FILES(
126 [Makefile]
127 [buf/Makefile]
128 [codec/Makefile]
129 [hash/Makefile]
130 [mem/Makefile]
131 [sel/Makefile]
132 [struct/Makefile]
133 [sys/Makefile]
134 [test/Makefile]
135 [trace/Makefile]
136 [ui/Makefile]
137 [utils/Makefile]
138 [t/Makefile t/atlocal])
139 AC_OUTPUT
140
141 dnl------ That's all, folks -------------------------------------------------