3 dnl Configuration script for mLib
5 dnl (c) 2008 Straylight/Edgeware
8 dnl----- Licensing notice ---------------------------------------------------
10 dnl This file is part of the mLib utilities library.
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.
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.
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.
27 dnl--------------------------------------------------------------------------
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])
41 mdw_LIBTOOL_VERSION_INFO
43 AC_CHECK_PROGS([AUTOM4TE], [autom4te])
47 AC_DEFINE_UNQUOTED([SRCDIR], ["$(cd $srcdir && pwd)"],
48 [absolute pathname for the source directory.])
50 dnl--------------------------------------------------------------------------
51 dnl C programming environment.
53 dnl Set the master library list.
58 AC_CHECK_HEADERS([float.h])
59 AC_CHECK_HEADERS([stdint.h])
60 AC_CHECK_HEADERS([valgrind/valgrind.h])
61 AC_CHECK_HEADERS([wchar.h])
64 mdw_ORIG_LIBS=$LIBS LIBS=$MLIB_LIBS
65 AC_SEARCH_LIBS([sqrt], [m])
66 AC_SEARCH_LIBS([socket], [socket])
67 AC_SEARCH_LIBS([gethostbyname], [nsl resolv])
68 MLIB_LIBS=$LIBS LIBS=$mdw_ORIG_LIBS
71 AC_CHECK_FUNCS([mbrtowc])
72 AC_CHECK_FUNCS([snprintf])
73 AC_CHECK_FUNCS([wcwidth])
76 AC_CHECK_TYPE([socklen_t], [],
77 [AC_DEFINE([socklen_t], [int],
78 [Define to `int' if <sys/socket.h> does not define])],
80 @%:@include <sys/socket.h>
82 AC_CHECK_TYPE([speed_t], [],
83 [AC_DEFINE([speed_t], [short],
84 [Define to `short' if <termios.h> does not define])],
86 @%:@include <termios.h>
89 dnl Which version of struct msghdr do we have?
90 AC_CHECK_MEMBERS([struct msgdr.msg_control],,, [
91 @%:@include <sys/types.h>
92 @%:@include <sys/socket.h>
95 dnl Find out whether we're cross-compiling.
96 AM_CONDITIONAL([CROSS_COMPILING], [test "$cross_compiling" = yes])
98 dnl Floating-point formats.
101 dnl--------------------------------------------------------------------------
102 dnl Terminal characteristics.
104 mdw_ORIG_LIBS=$LIBS LIBS=$MLIB_LIBS
106 AC_ARG_WITH([unibilium],
107 AS_HELP_STRING([--with-unibilium], [support `unibilium' library]),
108 [want_unibilium=$withval],
109 [want_unibilium=auto])
111 case $want_unibilium in
112 no) have_unibilium=no ;;
113 *) have_unibilium=check ;;
115 case $have_unibilium in
117 PKG_CHECK_MODULES([unibilium], [unibilium >= 2.0.0],
118 [CFLAGS="$CFLAGS $unibilium_CFLAGS"
119 LIBS="$LIBS $unibilium_LIBS"],
124 case $have_unibilium in check) have_unibilium=yes ;; esac
125 case $want_unibilium,$have_unibilium in
127 AC_MSG_ERROR([`unibilium' library not found but explicitly requested])
131 AC_DEFINE([HAVE_UNIBILIUM], [1],
132 [define if you have (and want to use) the `unibilium' library.])
138 AM_CONDITIONAL([WITH_UNIBILIUM], [test "$use_unibilium" = yes])
140 AC_ARG_WITH([terminfo],
141 AS_HELP_STRING([--with-terminfo], [support `terminfo' library]),
142 [want_terminfo=$withval],
143 [want_terminfo=auto])
145 case $want_terminfo in
146 no) have_terminfo=no ;;
147 *) have_terminfo=check ;;
149 case $have_terminfo in
150 check) AC_CHECK_HEADERS([term.h], [], [have_terminfo=no]) ;;
152 case $have_terminfo in
154 AC_SEARCH_LIBS([tparm], [tinfo], [], [have_terminfo=no])
155 AC_CHECK_FUNCS([tiparm])
158 case $have_terminfo in check) have_terminfo=yes ;; esac
160 case $want_terminfo,$have_terminfo in
162 AC_MSG_ERROR([`terminfo' library not found but explicitly requested])
166 AC_DEFINE([HAVE_TERMINFO], [1],
167 [define if you have (and want to use) the `terminfo' library.])
173 AM_CONDITIONAL([WITH_TERMINFO], [test "$use_terminfo" = yes])
175 AC_ARG_WITH([termcap],
176 AS_HELP_STRING([--with-termcap], [support `termcap' library]),
177 [want_termcap=$withval],
180 case $want_termcap in
181 no) have_termcap=no ;;
182 *) have_termcap=check ;;
184 case $have_termcap in
185 check) AC_CHECK_HEADERS([termcap.h], [], [have_termcap=no]) ;;
187 case $have_termcap in
189 AC_SEARCH_LIBS([tgoto], [termcap], [], [have_termcap=no])
190 AC_SEARCH_LIBS([tgetstr], [termcap], [], [have_termcap=no])
193 case $have_termcap in check) have_termcap=yes ;; esac
195 case $want_termcap,$have_termcap in
197 AC_MSG_ERROR([`termcap' library not found but explicitly requested])
201 AC_DEFINE([HAVE_TERMCAP], [1],
202 [define if you have (and want to use) the `termcap' library.])
208 AM_CONDITIONAL([WITH_TERMCAP], [test "$use_termcap" = yes])
210 MLIB_LIBS=$LIBS LIBS=$mdw_ORIG_LIBS
212 dnl--------------------------------------------------------------------------
216 AS_HELP_STRING([--with-adns],
217 [use ADNS library for background name resolution]),
218 [want_adns=$withval],
221 mdw_ORIG_LIBS=$LIBS LIBS=$MLIB_LIBS
223 case $want_adns in no) ;; *) have_adns=check ;; esac
225 check) AC_CHECK_HEADERS([adns.h], [], [have_adns=no]) ;;
228 check) AC_SEARCH_LIBS([adns_init], [adns], [], [have_adns=no]) ;;
230 case $have_adns in check) have_adns=yes ;; esac
232 case $want_adns,$have_adns in
234 AC_MSG_ERROR([ADNS library not found but explicitly requested])
238 AC_DEFINE([HAVE_ADNS], [1],
239 [define if you have (and want to use) the ADNS library.])
244 AC_DEFINE_UNQUOTED([BRES_SERVER],
245 ["mdw_PATH($libexecdir)/$PACKAGE/mdw_PROG(bres)"],
246 [pathname to the standalone `bres' binary.'])
250 AM_CONDITIONAL([WITH_ADNS], [test "$use_adns" = yes])
252 MLIB_LIBS=$LIBS LIBS=$mdw_ORIG_LIBS
254 dnl--------------------------------------------------------------------------
257 AC_CHECK_HEADERS([linux/perf_event.h])
259 mdw_ORIG_LIBS=$LIBS LIBS=$MLIB_LIBS
260 AC_SEARCH_LIBS([clock_gettime], [rt])
261 MLIB_LIBS=$LIBS LIBS=$mdw_ORIG_LIBS
262 if test "$ac_cv_search_clock_gettime" != no; then
263 AC_DEFINE([HAVE_CLOCK_GETTIME], [1],
264 [Define if you have the \`clock_gettime' function.])
267 dnl--------------------------------------------------------------------------
268 dnl Python (used for testing).
270 AM_PATH_PYTHON([2.4],, [:])
272 dnl--------------------------------------------------------------------------
275 AC_CONFIG_HEADERS([config/config.h])
276 AC_CONFIG_TESTDIR([t])
287 [test/Makefile] [test/example/Makefile]
289 [ui/Makefile] [ui/example/Makefile]
291 [t/Makefile t/atlocal])
294 dnl------ That's all, folks -------------------------------------------------