chiark / gitweb /
utils/macros.h (N): Properly parenthesize the argument.
[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 MLIB_LIBS=
54
55 dnl Headers.
56 AC_CHECK_HEADERS([float.h])
57 AC_CHECK_HEADERS([stdint.h])
58
59 dnl Libraries.
60 mdw_ORIG_LIBS=$LIBS LIBS=$MLIB_LIBS
61 AC_SEARCH_LIBS([socket], [socket])
62 AC_SEARCH_LIBS([gethostbyname], [nsl resolv])
63 MLIB_LIBS=$LIBS LIBS=$mdw_ORIG_LIBS
64
65 dnl Functions.
66 AC_CHECK_FUNCS([snprintf])
67
68 dnl Types.
69 AC_CHECK_TYPE([socklen_t], [],
70   [AC_DEFINE([socklen_t], [int],
71      [Define to `int' if <sys/socket.h> does not define])],
72   [AC_INCLUDES_DEFAULT
73 #include <sys/socket.h>
74 ])
75
76 dnl Which version of struct msghdr do we have?
77 AC_CHECK_MEMBERS([struct msgdr.msg_control],,, [
78 #include <sys/types.h>
79 #include <sys/socket.h>
80 ])
81
82 dnl Find out whether we're cross-compiling.
83 AM_CONDITIONAL([CROSS_COMPILING], [test "$cross_compiling" = yes])
84
85 dnl Set the master library list.
86 AC_SUBST([MLIB_LIBS])
87
88 dnl--------------------------------------------------------------------------
89 dnl Name resolution.
90
91 AC_ARG_WITH([adns],
92   AS_HELP_STRING([--with-adns],
93                  [use ADNS library for background name resolution]),
94   [want_adns=$withval],
95   [want_adns=auto])
96
97 mdw_ORIG_LIBS=$LIBS LIBS=$MLIB_LIBS
98 case $want_adns in
99   no) ;;
100   *) AC_SEARCH_LIBS([adns_init], [adns], [have_adns=yes], [have_adns=no]) ;;
101 esac
102 MLIB_LIBS=$LIBS LIBS=$mdw_ORIG_LIBS
103 case $want_adns,$have_adns in
104   yes,no)
105     AC_MSG_ERROR([ADNS library not found but explicitly requested])
106     ;;
107   yes,yes | auto,yes)
108     use_adns=yes
109     AC_DEFINE([HAVE_ADNS], [1],
110               [define if you have (and want to use) the ADNS library.])
111     ;;
112   no,* | auto,no)
113     use_adns=no
114     mdw_DEFINE_PATHS([
115       AC_DEFINE_UNQUOTED([BRES_SERVER],
116                          ["mdw_PATH($libexecdir)/$PACKAGE/mdw_PROG(bres)"],
117                          [pathname to the standalone `bres' binary.'])
118     ])
119     ;;
120 esac
121 AM_CONDITIONAL([WITH_ADNS], [test "$use_adns" = yes])
122
123 dnl--------------------------------------------------------------------------
124 dnl Python (used for testing).
125
126 AM_PATH_PYTHON([2.4],, [:])
127
128 dnl--------------------------------------------------------------------------
129 dnl Output.
130
131 AC_CONFIG_HEADER([config/config.h])
132 AC_CONFIG_TESTDIR([t])
133
134 AC_CONFIG_FILES(
135   [Makefile]
136   [buf/Makefile]
137   [codec/Makefile]
138   [hash/Makefile]
139   [mem/Makefile]
140   [sel/Makefile]
141   [struct/Makefile]
142   [sys/Makefile]
143   [test/Makefile]
144   [trace/Makefile]
145   [ui/Makefile]
146   [utils/Makefile]
147   [t/Makefile t/atlocal])
148 AC_OUTPUT
149
150 dnl------ That's all, folks -------------------------------------------------