source: trunk/debathena/scripts/aclocal.m4 @ 23979

Revision 23979, 10.5 KB checked in by broder, 15 years ago (diff)
Replace (almost) all uses of AC_CHECK_LIB with AC_SEARCH_LIBS.
RevLine 
[22508]1dnl $Id: aclocal.m4,v 1.19 2006-07-12 19:53:04 ghudson Exp $
[10382]2
3dnl Copyright 1996 by the Massachusetts Institute of Technology.
4dnl
5dnl Permission to use, copy, modify, and distribute this
6dnl software and its documentation for any purpose and without
7dnl fee is hereby granted, provided that the above copyright
8dnl notice appear in all copies and that both that copyright
9dnl notice and this permission notice appear in supporting
10dnl documentation, and that the name of M.I.T. not be used in
11dnl advertising or publicity pertaining to distribution of the
12dnl software without specific, written prior permission.
13dnl M.I.T. makes no representations about the suitability of
14dnl this software for any purpose.  It is provided "as is"
15dnl without express or implied warranty.
16
17dnl This file provides local macros for packages which use specific
18dnl external libraries.  The public macros are:
19dnl
20dnl     ATHENA_UTIL_COM_ERR
21dnl             Generates error if com_err not found.
22dnl     ATHENA_UTIL_SS
23dnl             Generates error if ss not found.
[10465]24dnl     ATHENA_REGEXP
[12068]25dnl             Sets REGEX_LIBS if rx library used; ensures POSIX
26dnl             regexp support.
[10382]27dnl     ATHENA_MOTIF
28dnl             Sets MOTIF_LIBS and defines HAVE_MOTIF if Motif used.
29dnl     ATHENA_MOTIF_REQUIRED
30dnl             Generates error if Motif not found.
31dnl     ATHENA_AFS
32dnl             Sets AFS_LIBS and defines HAVE_AFS if AFS used.  Pass
33dnl             in an argument giving the desired AFS libraries;
34dnl             AFS_LIBS will be set to that value if AFS is found.
[10743]35dnl             AFS_DIR will be set to the prefix given.
[10382]36dnl     ATHENA_AFS_REQUIRED
[10743]37dnl             Generates error if AFS libraries not found.  AFS_DIR
38dnl             will be set to the prefix given.
[10382]39dnl     ATHENA_KRB4
40dnl             Sets KRB4_LIBS and defines HAVE_KRB4 if krb4 used.
41dnl     ATHENA_KRB4_REQUIRED
42dnl             Generates error if krb4 not found.  Sets KRB4_LIBS
43dnl             otherwise.  (Special behavior because krb4 libraries
44dnl             may be different if using krb4 compatibility libraries
45dnl             from krb5.)
46dnl     ATHENA_KRB5
47dnl             Sets KRB5_LIBS and defines HAVE_KRB5 if krb5 used.
48dnl     ATHENA_KRB5_REQUIRED
49dnl             Generates error if krb5 not found.
50dnl     ATHENA_HESIOD
51dnl             Sets HESIOD_LIBS and defines HAVE_HESIOD if Hesiod
52dnl             used.
53dnl     ATHENA_HESIOD_REQUIRED
54dnl             Generates error if Hesiod not found.
[12162]55dnl     ATHENA_ARES
56dnl             Sets ARES_LIBS and defines HAVE_ARES if libares
57dnl             used.
58dnl     ATHENA_ARES_REQUIRED
59dnl             Generates error if libares not found.
[13426]60dnl     ATHENA_ZEPHYR
61dnl             Sets ZEPHYR_LIBS and defines HAVE_ZEPHYR if zephyr
62dnl             used.
63dnl     ATHENA_ZEPHYR_REQUIRED
64dnl             Generates error if zephyr not found.
[10382]65dnl
66dnl All of the macros may extend CPPFLAGS and LDFLAGS to let the
67dnl compiler find the requested libraries.  Put ATHENA_UTIL_COM_ERR
68dnl and ATHENA_UTIL_SS before ATHENA_AFS or ATHENA_AFS_REQUIRED; there
69dnl is a com_err library in the AFS libraries which requires -lutil.
70
71dnl ----- com_err -----
72
[22508]73AC_DEFUN([ATHENA_UTIL_COM_ERR],
[10382]74[AC_ARG_WITH(com_err,
75        [  --with-com_err=PREFIX   Specify location of com_err],
76        [com_err="$withval"], [com_err=yes])
77if test "$com_err" != no; then
78        if test "$com_err" != yes; then
79                CPPFLAGS="$CPPFLAGS -I$com_err/include"
[10743]80                LDFLAGS="$LDFLAGS -L$com_err/lib"
[10382]81        fi
[23979]82        AC_SEARCH_LIBS(com_err, com_err, ,
83                       [AC_MSG_ERROR(com_err library not found)])
[10382]84else
85        AC_MSG_ERROR(This package requires com_err.)
86fi])
87
88dnl ----- ss -----
89
[22508]90AC_DEFUN([ATHENA_UTIL_SS],
[10382]91[AC_ARG_WITH(ss,
92        [  --with-ss=PREFIX        Specify location of ss (requires com_err)],
93        [ss="$withval"], [ss=yes])
94if test "$ss" != no; then
95        if test "$ss" != yes; then
96                CPPFLAGS="$CPPFLAGS -I$ss/include"
[10743]97                LDFLAGS="$LDFLAGS -L$ss/lib"
[10382]98        fi
[23979]99        AC_SEARCH_LIBS(initscr, curses)
100        AC_SEARCH_LIBS(readline, readline)
101        AC_SEARCH_LIBS(ss_perror, ss, ,
102                       [AC_MSG_ERROR(ss library not found)], -lcom_err)
[10382]103else
104        AC_MSG_ERROR(This package requires ss.)
105fi])
106
[10465]107dnl ----- Regular expressions -----
108
[22508]109AC_DEFUN([ATHENA_REGEXP],
[10478]110[AC_ARG_WITH(regex,
111        [  --with-regex=PREFIX     Use installed regex library],
112        [regex="$withval"], [regex=no])
113if test "$regex" != no; then
114        if test "$regex" != yes; then
115                CPPFLAGS="$CPPFLAGS -I$regex/include"
116                LDFLAGS="$LDFLAGS -L$regex/lib"
[10465]117        fi
[23979]118        AC_SEARCH_LIBS(regcomp, regex, REGEX_LIBS=-lregex,
119                       [AC_MSG_ERROR(regex library not found)])
[10465]120else
121        AC_CHECK_FUNC(regcomp, :,
122                      [AC_MSG_ERROR(can't find POSIX regexp support)])
123fi
[10478]124AC_SUBST(REGEX_LIBS)])
[10465]125
[10382]126dnl ----- Motif -----
127
[22508]128AC_DEFUN([ATHENA_MOTIF_CHECK],
[10382]129[if test "$motif" != yes; then
130        CPPFLAGS="$CPPFLAGS -I$motif/include"
131        LDFLAGS="$LDFLAGS -L$motif/lib"
132fi
[23979]133AC_SEARCH_LIBS(XmStringFree, Xm, :, [AC_MSG_ERROR(Motif library not found)])])
[10382]134
[22508]135AC_DEFUN([ATHENA_MOTIF],
[10382]136[AC_ARG_WITH(motif,
137        [  --with-motif=PREFIX     Use Motif],
138        [motif="$withval"], [motif=no])
139if test "$motif" != no; then
140        ATHENA_MOTIF_CHECK
141        MOTIF_LIBS=-lXm
142        AC_DEFINE(HAVE_MOTIF)
143fi
144AC_SUBST(MOTIF_LIBS)])
145
[22508]146AC_DEFUN([ATHENA_MOTIF_REQUIRED],
[10382]147[AC_ARG_WITH(motif,
148        [  --with-motif=PREFIX     Specify location of Motif],
149        [motif="$withval"], [motif=yes])
150if test "$motif" != no; then
151        ATHENA_MOTIF_CHECK
152else
153        AC_MSG_ERROR(This package requires Motif.)
154fi])
155
156dnl ----- AFS -----
157
[22508]158AC_DEFUN([ATHENA_AFS_CHECK],
[23979]159[AC_SEARCH_LIBS(insque, compat)
160AC_SEARCH_LIBS(gethostbyname, nsl)
161AC_SEARCH_LIBS(socket, socket)
162AC_SEARCH_LIBS(res_send, resolv)
[10382]163if test "$afs" != yes; then
164        CPPFLAGS="$CPPFLAGS -I$afs/include"
165        LDFLAGS="$LDFLAGS -L$afs/lib -L$afs/lib/afs"
166fi
[23979]167AC_SEARCH_LIBS(pioctl, sys, :, [AC_MSG_ERROR(AFS libraries not found)],
168               -lrx -llwp -lsys -lafsutil)
[10743]169AFS_DIR=$afs
170AC_SUBST(AFS_DIR)])
[10382]171
172dnl Specify desired AFS libraries as a parameter.
[22508]173AC_DEFUN([ATHENA_AFS],
[10382]174[AC_ARG_WITH(afs,
175        [  --with-afs=PREFIX       Use AFS libraries],
176        [afs="$withval"], [afs=no])
177if test "$afs" != no; then
178        ATHENA_AFS_CHECK
179        AFS_LIBS=$1
180        AC_DEFINE(HAVE_AFS)
181fi
182AC_SUBST(AFS_LIBS)])
183
[22508]184AC_DEFUN([ATHENA_AFS_REQUIRED],
[10382]185[AC_ARG_WITH(afs,
186        [  --with-afs=PREFIX       Specify location of AFS libraries],
187        [afs="$withval"], [afs=/usr/afsws])
188if test "$afs" != no; then
189        ATHENA_AFS_CHECK
190else
191        AC_MSG_ERROR(This package requires AFS libraries.)
192fi])
193
194dnl ----- Kerberos 4 -----
195
[22508]196AC_DEFUN([ATHENA_KRB4_CHECK],
[23279]197[AC_REQUIRE([AC_CANONICAL_TARGET])
[23979]198AC_SEARCH_LIBS(gethostbyname, nsl)
199AC_SEARCH_LIBS(socket, socket)
200AC_SEARCH_LIBS(compile, gen)
[10825]201if test "$krb4" != yes; then
[10382]202        CPPFLAGS="$CPPFLAGS -I$krb4/include"
[10711]203        if test -d "$krb4/include/kerberosIV"; then
204                CPPFLAGS="$CPPFLAGS -I$krb4/include/kerberosIV"
205        fi
[10382]206        LDFLAGS="$LDFLAGS -L$krb4/lib"
207fi
[10711]208AC_CHECK_LIB(krb4, krb_rd_req,
[13726]209             [KRB4_LIBS="-lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err"],
[10711]210             [AC_CHECK_LIB(krb, krb_rd_req,
211                           [KRB4_LIBS="-lkrb -ldes"],
[23657]212                           [AC_MSG_WARN(--with-krb4 specified but Kerberos 4 libraries not found)],
[10711]213                           -ldes)],
[23277]214             -ldes425 -lkrb5 -lk5crypto -lcom_err)
215if test "$KRB4_LIBS" != "" ; then
216        case "$target_os" in
217        darwin*) KRB4_LIBS="$KRB4_LIBS -framework Kerberos"
218        esac
219fi])
[10382]220
[22508]221AC_DEFUN([ATHENA_KRB4],
[10382]222[AC_ARG_WITH(krb4,
223        [  --with-krb4=PREFIX      Use Kerberos 4],
224        [krb4="$withval"], [krb4=no])
225if test "$krb4" != no; then
226        ATHENA_KRB4_CHECK
[23657]227        if test "$KRB4_LIBS" != ""; then
228                AC_DEFINE(HAVE_KRB4)
229        fi
[10382]230fi
231AC_SUBST(KRB4_LIBS)])
232
[22508]233AC_DEFUN([ATHENA_KRB4_REQUIRED],
[10382]234[AC_ARG_WITH(krb4,
235        [  --with-krb4=PREFIX      Specify location of Kerberos 4],
236        [krb4="$withval"], [krb4=yes])
[13426]237if test "$krb4" != no; then
[10382]238        ATHENA_KRB4_CHECK
[23657]239        if test "$KRB4_LIBS" = ""; then
240                AC_MSG_ERROR(This package requires Kerberos 4.)
241        fi
[10382]242        AC_SUBST(KRB4_LIBS)
243else
244        AC_MSG_ERROR(This package requires Kerberos 4.)
245fi])
246
247dnl ----- Kerberos 5 -----
248
[22508]249AC_DEFUN([ATHENA_KRB5_CHECK],
[23279]250[AC_REQUIRE([AC_CANONICAL_TARGET])
251AC_SEARCH_LIBS(gethostbyname, nsl)
[13823]252AC_SEARCH_LIBS(socket, socket)
[23979]253AC_SEARCH_LIBS(compile, gen)
[10825]254if test "$krb5" != yes; then
[10382]255        CPPFLAGS="$CPPFLAGS -I$krb5/include"
256        LDFLAGS="$LDFLAGS -L$krb5/lib"
257fi
[23979]258AC_SEARCH_LIBS(krb5_init_context, krb5, :,
259               [AC_MSG_ERROR(Kerberos 5 libraries not found)],
260               -lk5crypto -lcom_err)])
[10382]261
[22508]262AC_DEFUN([ATHENA_KRB5],
[10382]263[AC_ARG_WITH(krb5,
264        [  --with-krb5=PREFIX      Use Kerberos 5],
[23813]265        [krb5="$withval"], [krb5=no])
[10382]266if test "$krb5" != no; then
267        ATHENA_KRB5_CHECK
[13726]268        KRB5_LIBS="-lkrb5 -lk5crypto -lcom_err"
[23277]269        if test "$KRB5_LIBS" != "" ; then
270                case "$target_os" in
271                darwin*) KRB5_LIBS="$KRB5_LIBS -framework Kerberos"
272                esac
273        fi
[10382]274        AC_DEFINE(HAVE_KRB5)
275fi
276AC_SUBST(KRB5_LIBS)])
277
[22508]278AC_DEFUN([ATHENA_KRB5_REQUIRED],
[10382]279[AC_ARG_WITH(krb5,
280        [  --with-krb5=PREFIX      Specify location of Kerberos 5],
281        [krb5="$withval"], [krb5=yes])
282if test "$krb5" != no; then
283        ATHENA_KRB5_CHECK
284else
285        AC_MSG_ERROR(This package requires Kerberos 5.)
286fi])
287
288dnl ----- Hesiod -----
289
[22508]290AC_DEFUN([ATHENA_HESIOD_CHECK],
[23979]291[AC_SEARCH_LIBS(res_send, resolv)
[10382]292if test "$hesiod" != yes; then
293        CPPFLAGS="$CPPFLAGS -I$hesiod/include"
294        LDFLAGS="$LDFLAGS -L$hesiod/lib"
295fi
[23979]296AC_SEARCH_LIBS(hes_resolve, hesiod, :,
297               [AC_MSG_ERROR(Hesiod library not found)])])
[10382]298
[22508]299AC_DEFUN([ATHENA_HESIOD],
[10382]300[AC_ARG_WITH(hesiod,
301        [  --with-hesiod=PREFIX    Use Hesiod],
302        [hesiod="$withval"], [hesiod=no])
303if test "$hesiod" != no; then
304        ATHENA_HESIOD_CHECK
305        HESIOD_LIBS="-lhesiod"
306        AC_DEFINE(HAVE_HESIOD)
307fi
308AC_SUBST(HESIOD_LIBS)])
309
[22508]310AC_DEFUN([ATHENA_HESIOD_REQUIRED],
[10382]311[AC_ARG_WITH(hesiod,
312        [  --with-hesiod=PREFIX    Specify location of Hesiod],
313        [hesiod="$withval"], [hesiod=yes])
314if test "$hesiod" != no; then
315        ATHENA_HESIOD_CHECK
316else
317        AC_MSG_ERROR(This package requires Hesiod.)
318fi])
[12162]319
320dnl ----- libares -----
321
[22508]322AC_DEFUN([ATHENA_ARES_CHECK],
[23979]323[AC_SEARCH_LIBS(res_send, resolv)
[12162]324if test "$ares" != yes; then
325        CPPFLAGS="$CPPFLAGS -I$ares/include"
326        LDFLAGS="$LDFLAGS -L$ares/lib"
327fi
[23979]328AC_SEARCH_LIBS(ares_init, ares, :, [AC_MSG_ERROR(libares not found)])])
[12162]329
[22508]330AC_DEFUN([ATHENA_ARES],
[12162]331[AC_ARG_WITH(ares,
332        [  --with-ares=PREFIX      Use libares],
333        [ares="$withval"], [ares=no])
334if test "$ares" != no; then
335        ATHENA_ARES_CHECK
336        ARES_LIBS="-lares"
337        AC_DEFINE(HAVE_ARES)
338fi
339AC_SUBST(ARES_LIBS)])
340
[22508]341AC_DEFUN([ATHENA_ARES_REQUIRED],
[12162]342[AC_ARG_WITH(ares,
343        [  --with-ares=PREFIX      Specify location of libares],
344        [ares="$withval"], [ares=yes])
345if test "$ares" != no; then
346        ATHENA_ARES_CHECK
347else
348        AC_MSG_ERROR(This package requires libares.)
349fi])
[13426]350dnl ----- zephyr -----
351
[22508]352AC_DEFUN([ATHENA_ZEPHYR_CHECK],
[13426]353[if test "$zephyr" != yes; then
354        CPPFLAGS="$CPPFLAGS -I$zephyr/include"
355        LDFLAGS="$LDFLAGS -L$zephyr/lib"
356fi
[23979]357AC_SEARCH_LIBS(ZFreeNotice, zephyr, :, [AC_MSG_ERROR(zephyr not found)])])
[13426]358
[22508]359AC_DEFUN([ATHENA_ZEPHYR],
[13426]360[AC_ARG_WITH(zephyr,
361        [  --with-zephyr=PREFIX      Use zephyr],
362        [zephyr="$withval"], [zephyr=no])
363if test "$zephyr" != no; then
364        ATHENA_ZEPHYR_CHECK
365        ZEPHYR_LIBS="-lzephyr"
366        AC_DEFINE(HAVE_ZEPHYR)
367fi
368AC_SUBST(ZEPHYR_LIBS)])
369
[22508]370AC_DEFUN([ATHENA_ZEPHYR_REQUIRED],
[13426]371[AC_ARG_WITH(zephyr,
372        [  --with-zephyr=PREFIX      Specify location of zephyr],
373        [zephyr="$withval"], [zephyr=yes])
374if test "$zephyr" != no; then
375        ATHENA_ZEPHYR_CHECK
376else
377        AC_MSG_ERROR(This package requires zephyr.)
378fi])
Note: See TracBrowser for help on using the repository browser.