3 dnl some code to get roken working
9 AC_REQUIRE([rk_CONFIG_HEADER])
12 LIB_roken='$(top_builddir)/$1/libroken.la'
13 INCLUDES_roken='-I$(top_builddir)/$1 -I$(top_srcdir)/$1'
15 dnl Checks for programs
16 AC_REQUIRE([AC_PROG_CC])
17 AC_REQUIRE([AC_PROG_AWK])
18 AC_REQUIRE([AC_OBJEXT])
19 AC_REQUIRE([AC_EXEEXT])
20 AC_REQUIRE([AC_PROG_LIBTOOL])
22 AC_REQUIRE([AC_MIPS_ABI])
26 AC_REQUIRE([AC_C___ATTRIBUTE__])
27 AC_REQUIRE([AC_C_INLINE])
28 AC_REQUIRE([AC_C_CONST])
29 AC_WFLAGS(-Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs)
35 AC_REQUIRE([AC_TYPE_SIZE_T])
36 AC_CHECK_TYPE_EXTRA(ssize_t, int, [#include <unistd.h>])
37 AC_REQUIRE([AC_TYPE_PID_T])
38 AC_REQUIRE([AC_TYPE_UID_T])
39 AC_HAVE_TYPE([long long])
41 AC_REQUIRE([rk_RETSIGTYPE])
43 dnl Checks for header files.
44 AC_REQUIRE([AC_HEADER_STDC])
45 AC_REQUIRE([AC_HEADER_TIME])
100 AC_REQUIRE([CHECK_NETINET_IP_AND_TCP])
102 AM_CONDITIONAL(have_err_h, test "$ac_cv_header_err_h" = yes)
103 AM_CONDITIONAL(have_fnmatch_h, test "$ac_cv_header_fnmatch_h" = yes)
104 AM_CONDITIONAL(have_ifaddrs_h, test "$ac_cv_header_ifaddrs_h" = yes)
105 AM_CONDITIONAL(have_vis_h, test "$ac_cv_header_vis_h" = yes)
107 dnl Check for functions and libraries
111 AC_FIND_FUNC(socket, socket)
112 AC_FIND_FUNC(gethostbyname, nsl)
113 AC_FIND_FUNC(syslog, syslog)
114 AC_FIND_FUNC(gethostbyname2, inet6 ip6)
116 AC_FIND_FUNC(res_search, resolv,
119 #ifdef HAVE_SYS_TYPES_H
120 #include <sys/types.h>
122 #ifdef HAVE_NETINET_IN_H
123 #include <netinet/in.h>
125 #ifdef HAVE_ARPA_NAMESER_H
126 #include <arpa/nameser.h>
134 AC_FIND_FUNC(dn_expand, resolv,
137 #ifdef HAVE_SYS_TYPES_H
138 #include <sys/types.h>
140 #ifdef HAVE_NETINET_IN_H
141 #include <netinet/in.h>
143 #ifdef HAVE_ARPA_NAMESER_H
144 #include <arpa/nameser.h>
156 if test "$ac_cv_func_glob_working" != yes; then
157 LIBOBJS="$LIBOBJS glob.o"
159 AM_CONDITIONAL(have_glob_h, test "$ac_cv_func_glob_working" = yes)
188 if test "$ac_cv_func_cgetent" = no; then
189 LIBOBJS="$LIBOBJS getcap.o"
192 AC_REQUIRE([AC_FUNC_GETLOGIN])
194 AC_FIND_FUNC_NO_LIBS(getsockopt,,
195 [#ifdef HAVE_SYS_TYPES_H
196 #include <sys/types.h>
198 #ifdef HAVE_SYS_SOCKET_H
199 #include <sys/socket.h>
202 AC_FIND_FUNC_NO_LIBS(setsockopt,,
203 [#ifdef HAVE_SYS_TYPES_H
204 #include <sys/types.h>
206 #ifdef HAVE_SYS_SOCKET_H
207 #include <sys/socket.h>
211 AC_FIND_IF_NOT_BROKEN(hstrerror, resolv,
216 if test "$ac_cv_func_hstrerror" = yes; then
224 dnl sigh, wish this could be done in a loop
225 if test "$ac_cv_func_asprintf" = yes; then
228 #include <string.h>],
231 if test "$ac_cv_func_vasprintf" = yes; then
234 #include <string.h>],
237 if test "$ac_cv_func_asnprintf" = yes; then
240 #include <string.h>],
243 if test "$ac_cv_func_vasnprintf" = yes; then
246 #include <string.h>],
250 AC_FIND_FUNC_NO_LIBS(bswap16,,
251 [#ifdef HAVE_SYS_BSWAP_H
252 #include <sys/bswap.h>
255 AC_FIND_FUNC_NO_LIBS(bswap32,,
256 [#ifdef HAVE_SYS_BSWAP_H
257 #include <sys/bswap.h>
260 AC_FIND_FUNC_NO_LIBS(pidfile,util,
265 AC_FIND_IF_NOT_BROKEN(getaddrinfo,,
270 AC_FIND_IF_NOT_BROKEN(getnameinfo,,
273 #endif],[0,0,0,0,0,0,0])
275 AC_FIND_IF_NOT_BROKEN(freeaddrinfo,,
280 AC_FIND_IF_NOT_BROKEN(gai_strerror,,
353 AC_BROKEN2(inet_aton,
354 [#ifdef HAVE_SYS_TYPES_H
355 #include <sys/types.h>
357 #ifdef HAVE_SYS_SOCKET_H
358 #include <sys/socket.h>
360 #ifdef HAVE_NETINET_IN_H
361 #include <netinet/in.h>
363 #ifdef HAVE_ARPA_INET_H
364 #include <arpa/inet.h>
368 AC_BROKEN2(inet_ntop,
369 [#ifdef HAVE_SYS_TYPES_H
370 #include <sys/types.h>
372 #ifdef HAVE_SYS_SOCKET_H
373 #include <sys/socket.h>
375 #ifdef HAVE_NETINET_IN_H
376 #include <netinet/in.h>
378 #ifdef HAVE_ARPA_INET_H
379 #include <arpa/inet.h>
383 AC_BROKEN2(inet_pton,
384 [#ifdef HAVE_SYS_TYPES_H
385 #include <sys/types.h>
387 #ifdef HAVE_SYS_SOCKET_H
388 #include <sys/socket.h>
390 #ifdef HAVE_NETINET_IN_H
391 #include <netinet/in.h>
393 #ifdef HAVE_ARPA_INET_H
394 #include <arpa/inet.h>
399 dnl Check for sa_len in struct sockaddr,
400 dnl needs to come before the getnameinfo test
402 AC_HAVE_STRUCT_FIELD(struct sockaddr, sa_len, [#include <sys/types.h>
403 #include <sys/socket.h>])
405 if test "$ac_cv_func_getnameinfo" = "yes"; then
406 rk_BROKEN_GETNAMEINFO
407 if test "$ac_cv_func_getnameinfo_broken" = yes; then
408 LIBOBJS="$LIBOBJS getnameinfo.o"
412 AC_NEED_PROTO([#include <stdlib.h>], setenv)
413 AC_NEED_PROTO([#include <stdlib.h>], unsetenv)
414 AC_NEED_PROTO([#include <unistd.h>], gethostname)
415 AC_NEED_PROTO([#include <unistd.h>], mkstemp)
416 AC_NEED_PROTO([#include <unistd.h>], getusershell)
419 #ifdef HAVE_SYS_TYPES_H
420 #include <sys/types.h>
422 #ifdef HAVE_SYS_SOCKET_H
423 #include <sys/socket.h>
425 #ifdef HAVE_NETINET_IN_H
426 #include <netinet/in.h>
428 #ifdef HAVE_ARPA_INET_H
429 #include <arpa/inet.h>
433 AC_FIND_FUNC_NO_LIBS(crypt, crypt)dnl
435 AC_REQUIRE([rk_BROKEN_REALLOC])dnl
437 dnl AC_KRB_FUNC_GETCWD_BROKEN
440 dnl Checks for prototypes and declarations
444 #ifdef HAVE_SYS_TYPES_H
445 #include <sys/types.h>
447 #ifdef HAVE_SYS_SOCKET_H
448 #include <sys/socket.h>
450 #ifdef HAVE_NETINET_IN_H
451 #include <netinet/in.h>
453 #ifdef HAVE_ARPA_INET_H
454 #include <arpa/inet.h>
460 gethostbyname, struct hostent *gethostbyname(const char *))
463 #ifdef HAVE_SYS_TYPES_H
464 #include <sys/types.h>
466 #ifdef HAVE_SYS_SOCKET_H
467 #include <sys/socket.h>
469 #ifdef HAVE_NETINET_IN_H
470 #include <netinet/in.h>
472 #ifdef HAVE_ARPA_INET_H
473 #include <arpa/inet.h>
479 gethostbyaddr, struct hostent *gethostbyaddr(const void *, size_t, int))
482 #ifdef HAVE_SYS_TYPES_H
483 #include <sys/types.h>
485 #ifdef HAVE_SYS_SOCKET_H
486 #include <sys/socket.h>
488 #ifdef HAVE_NETINET_IN_H
489 #include <netinet/in.h>
491 #ifdef HAVE_ARPA_INET_H
492 #include <arpa/inet.h>
498 getservbyname, struct servent *getservbyname(const char *, const char *))
501 #ifdef HAVE_SYS_TYPES_H
502 #include <sys/types.h>
504 #ifdef HAVE_SYS_SOCKET_H
505 #include <sys/socket.h>
508 getsockname, int getsockname(int, struct sockaddr*, socklen_t*))
515 openlog, void openlog(const char *, int, int))
539 rk_CHECK_VAR(h_errno,
540 [#ifdef HAVE_SYS_TYPES_H
541 #include <sys/types.h>
547 rk_CHECK_VAR(h_errlist,
557 rk_CHECK_VAR([__progname],
562 AC_CHECK_DECLARATION([#include <stdlib.h>
566 AC_CHECK_DECLARATION([#include <stdlib.h>
570 AC_CHECK_DECLARATION([#include <stdlib.h>
574 AC_CHECK_DECLARATION([#include <stdlib.h>
579 AC_CHECK_DECLARATION([#include <stdlib.h>], environ)
582 dnl Check for fields in struct tm
585 AC_HAVE_STRUCT_FIELD(struct tm, tm_gmtoff, [#include <time.h>])
586 AC_HAVE_STRUCT_FIELD(struct tm, tm_zone, [#include <time.h>])
589 dnl or do we have a variable `timezone' ?
592 rk_CHECK_VAR(timezone,[#include <time.h>])
594 AC_HAVE_TYPE([sa_family_t],[#include <sys/socket.h>])
595 AC_HAVE_TYPE([socklen_t],[#include <sys/socket.h>])
596 AC_HAVE_TYPE([struct sockaddr], [#include <sys/socket.h>])
597 AC_HAVE_TYPE([struct sockaddr_storage], [#include <sys/socket.h>])
598 AC_HAVE_TYPE([struct addrinfo], [#include <netdb.h>])
599 AC_HAVE_TYPE([struct ifaddrs], [#include <ifaddrs.h>])
602 dnl Check for struct winsize
605 AC_KRB_STRUCT_WINSIZE
608 dnl Check for struct spwd
613 dnl won't work with automake
614 dnl moved to AC_OUTPUT in configure.in
615 dnl AC_CONFIG_FILES($1/Makefile)
617 LIB_roken="${LIB_roken} \$(LIB_crypt) \$(LIB_dbopen)"
619 AC_SUBST(DIR_roken)dnl
620 AC_SUBST(LIB_roken)dnl
621 AC_SUBST(INCLUDES_roken)dnl