2 dnl Check for `struct utimbuf'.
5 AC_DEFUN([WGET_STRUCT_UTIMBUF], [
6 AC_MSG_CHECKING([for struct utimbuf])
7 if test x"$ac_cv_header_utime_h" = xyes; then
8 AC_EGREP_CPP([struct[ ]+utimbuf],
11 AC_DEFINE([HAVE_STRUCT_UTIMBUF], 1,
12 [Define if you have struct utimbuf.])
22 dnl Check for socklen_t. The third argument of accept, getsockname,
23 dnl etc. is int * on some systems, but size_t * on others. POSIX
24 dnl finally standardized on socklen_t, but older systems don't have
25 dnl it. If socklen_t exists, we use it, else if accept() accepts
26 dnl size_t *, we use that, else we use int.
28 AC_DEFUN([WGET_SOCKLEN_T], [
29 AC_MSG_CHECKING(for socklen_t)
31 #include <sys/types.h>
32 #include <sys/socket.h>
35 [], [AC_MSG_RESULT(socklen_t)], [
37 #include <sys/types.h>
38 #include <sys/socket.h>
39 int accept (int, struct sockaddr *, size_t *);
43 AC_DEFINE([socklen_t], [size_t],
44 [Define to int or size_t on systems without socklen_t.])
47 AC_DEFINE([socklen_t], [int],
48 [Define to int or size_t on systems without socklen_t.])
53 dnl Check whether fnmatch.h can be included. This doesn't use
54 dnl AC_FUNC_FNMATCH because Wget is already careful to only use
55 dnl fnmatch on certain OS'es. However, fnmatch.h is sometimes broken
56 dnl even on those because Apache installs its own fnmatch.h to
57 dnl /usr/local/include (!), which GCC uses before /usr/include.
59 AC_DEFUN([WGET_FNMATCH], [
60 AC_MSG_CHECKING([for working fnmatch.h])
61 AC_COMPILE_IFELSE([#include <fnmatch.h>
64 AC_DEFINE([HAVE_WORKING_FNMATCH_H], 1,
65 [Define if fnmatch.h can be included.])
71 dnl Check for nanosleep. For nanosleep to work on Solaris, we must
72 dnl link with -lt (recently) or with -lposix (older releases).
74 AC_DEFUN([WGET_NANOSLEEP], [
75 AC_CHECK_FUNCS(nanosleep, [], [
76 AC_CHECK_LIB(rt, nanosleep, [
77 AC_DEFINE([HAVE_NANOSLEEP], 1,
78 [Define if you have the nanosleep function.])
81 AC_CHECK_LIB(posix4, nanosleep, [
82 AC_DEFINE([HAVE_NANOSLEEP], 1,
83 [Define if you have the nanosleep function.])
90 dnl Check whether we need to link with -lnsl and -lsocket, as is the
91 dnl case on e.g. Solaris.
93 AC_DEFUN([WGET_NSL_SOCKET], [
94 dnl On Solaris, -lnsl is needed to use gethostbyname. But checking
95 dnl for gethostbyname is not enough because on "NCR MP-RAS 3.0"
96 dnl gethostbyname is in libc, but -lnsl is still needed to use
97 dnl -lsocket, as well as for functions such as inet_ntoa. We look
98 dnl for such known offenders and if one of them is not found, we
99 dnl check if -lnsl is needed.
100 wget_check_in_nsl=NONE
101 AC_CHECK_FUNCS(gethostbyname, [], [
102 wget_check_in_nsl=gethostbyname
104 AC_CHECK_FUNCS(inet_ntoa, [], [
105 wget_check_in_nsl=inet_ntoa
107 if test $wget_check_in_nsl != NONE; then
108 AC_CHECK_LIB(nsl, $wget_check_in_nsl)
110 AC_CHECK_LIB(socket, socket)
116 # @defmac AC_PROG_CC_STDC
117 # @maindex PROG_CC_STDC
119 # If the C compiler in not in ANSI C mode by default, try to add an option
120 # to output variable @code{CC} to make it so. This macro tries various
121 # options that select ANSI C on some system or another. It considers the
122 # compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and
123 # handles function prototypes correctly.
125 # If you use this macro, you should check after calling it whether the C
126 # compiler has been set to accept ANSI C; if not, the shell variable
127 # @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
128 # code in ANSI C, you can make an un-ANSIfied copy of it by using the
129 # program @code{ansi2knr}, which comes with Ghostscript.
132 AC_DEFUN(AM_PROG_CC_STDC,
133 [AC_REQUIRE([AC_PROG_CC])
134 AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
135 AC_CACHE_VAL(am_cv_prog_cc_stdc,
136 [am_cv_prog_cc_stdc=no
138 # Don't try gcc -ansi; that turns off useful extensions and
139 # breaks some systems' header files.
141 # Ultrix and OSF/1 -std1
142 # HP-UX -Aa -D_HPUX_SOURCE
143 for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE"
145 CC="$ac_save_CC $ac_arg"
147 [#if !defined(__STDC__)
150 /* DYNIX/ptx V4.1.3 can't compile sys/stat.h with -Xc -D__EXTENSIONS__. */
152 # include <sys/types.h>
153 # include <sys/stat.h>
156 int test (int i, double x);
157 struct s1 {int (*f) (int a);};
158 struct s2 {int (*f) (double a);};],
159 [am_cv_prog_cc_stdc="$ac_arg"; break])
163 AC_MSG_RESULT($am_cv_prog_cc_stdc)
164 case "x$am_cv_prog_cc_stdc" in
166 *) CC="$CC $am_cv_prog_cc_stdc" ;;
171 dnl ************************************************************
172 dnl START OF IPv6 AUTOCONFIGURATION SUPPORT MACROS
173 dnl ************************************************************
175 AC_DEFUN([TYPE_STRUCT_SOCKADDR_IN6],[
176 ds6_have_sockaddr_in6=
177 AC_CHECK_TYPES([struct sockaddr_in6],[
178 ds6_have_sockaddr_in6=yes
180 ds6_have_sockaddr_in6=no
182 #include <sys/types.h>
183 #include <sys/socket.h>
184 #include <netinet/in.h>
187 if test "X$ds6_have_sockaddr_in6" = "Xyes"; then :
195 AC_DEFUN([MEMBER_SIN6_SCOPE_ID],[
196 AC_REQUIRE([TYPE_STRUCT_SOCKADDR_IN6])
198 ds6_member_sin6_scope_id=
199 if test "X$ds6_have_sockaddr_in6" = "Xyes"; then
200 AC_CHECK_MEMBER([struct sockaddr_in6.sin6_scope_id],[
201 ds6_member_sin6_scope_id=yes
203 ds6_member_sin6_scope_id=no
205 #include <sys/types.h>
206 #include <sys/socket.h>
207 #include <netinet/in.h>
211 if test "X$ds6_member_sin6_scope_id" = "Xyes"; then
212 AC_DEFINE([HAVE_SOCKADDR_IN6_SCOPE_ID], 1,
213 [Define if struct sockaddr_in6 has the sin6_scope_id member])
221 AC_DEFUN([PROTO_INET6],[
222 AC_CACHE_CHECK([for INET6 protocol support], [ds6_cv_proto_inet6],[
224 #include <sys/types.h>
225 #include <sys/socket.h>
228 #error Missing PF_INET6
231 #error Mlssing AF_INET6
234 ds6_cv_proto_inet6=yes
236 ds6_cv_proto_inet6=no
240 if test "X$ds6_cv_proto_inet6" = "Xyes"; then :
248 AC_DEFUN([GETADDRINFO_AI_ADDRCONFIG],[
249 AC_CACHE_CHECK([if getaddrinfo supports AI_ADDRCONFIG],
250 [ds6_cv_gai_ai_addrconfig],[
254 #ifndef AI_ADDRCONFIG
255 #error Missing AI_ADDRCONFIG
258 ds6_cv_gai_ai_addrconfig=yes
260 ds6_cv_gai_ai_addrconfig=no
264 if test "X$ds6_cv_gai_ai_addrconfig" = "Xyes"; then :
272 AC_DEFUN([GETADDRINFO_AI_ALL],[
273 AC_CACHE_CHECK([if getaddrinfo supports AI_ALL],[ds6_cv_gai_ai_all],[
278 #error Missing AI_ALL
281 ds6_cv_gai_ai_all=yes
287 if test "X$ds6_cv_gai_ai_all" = "Xyes"; then :
295 AC_DEFUN([GETADDRINFO_AI_V4MAPPED],[
296 AC_CACHE_CHECK([if getaddrinfo supports AI_V4MAPPED],[ds6_cv_gai_ai_v4mapped],[
301 #error Missing AI_V4MAPPED
304 ds6_cv_gai_ai_v4mapped=yes
306 ds6_cv_gai_ai_v4mapped=no
310 if test "X$ds6_cv_gai_ai_v4mapped" = "Xyes"; then :
317 dnl ************************************************************
318 dnl END OF IPv6 AUTOCONFIGURATION SUPPORT MACROS
319 dnl ************************************************************
321 # This code originates from Ulrich Drepper's AM_WITH_NLS.
323 AC_DEFUN([WGET_WITH_NLS],
324 [AC_MSG_CHECKING([whether NLS is requested])
325 dnl Default is enabled NLS
327 [ --disable-nls do not use Native Language Support],
328 HAVE_NLS=$enableval, HAVE_NLS=yes)
329 AC_MSG_RESULT($HAVE_NLS)
331 dnl If something goes wrong, we may still decide not to use NLS.
332 dnl For this reason, defer AC_SUBST'ing HAVE_NLS until the very
335 if test x"$HAVE_NLS" = xyes; then
336 dnl If LINGUAS is specified, use only those languages. In fact,
337 dnl compute an intersection of languages in LINGUAS and
338 dnl ALL_LINGUAS, and use that.
339 if test x"$LINGUAS" != x; then
341 for lang1 in $ALL_LINGUAS; do
342 for lang2 in $LINGUAS; do
343 if test "$lang1" = "$lang2"; then
344 new_linguas="$new_linguas $lang1"
348 ALL_LINGUAS=$new_linguas
350 AC_MSG_NOTICE([language catalogs: $ALL_LINGUAS])
351 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
352 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
353 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
354 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
356 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
361 dnl Test whether we really found GNU xgettext.
362 if test "$XGETTEXT" != ":"; then
363 dnl If it is no GNU xgettext we define it as : so that the
364 dnl Makefiles still can work.
365 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
369 [found xgettext programs is not GNU xgettext; ignore it])
374 AC_CHECK_HEADERS(locale.h libintl.h)
376 dnl Prefer gettext found in -lintl to the one in libc.
377 dnl Otherwise it can happen that we include libintl.h from
378 dnl /usr/local/lib, but fail to specify -lintl, which results in
379 dnl link or run-time failures. (Symptom: libintl_bindtextdomain
380 dnl not found at link-time.)
382 AC_CHECK_LIB(intl, gettext, [
383 dnl gettext is in libintl; announce the fact manually.
385 AC_DEFINE([HAVE_GETTEXT], 1,
386 [Define if you have the gettext function.])
388 AC_CHECK_FUNCS(gettext, [], [
389 AC_MSG_RESULT([gettext not found; disabling NLS])
394 for lang in $ALL_LINGUAS; do
395 GMOFILES="$GMOFILES $lang.gmo"
396 POFILES="$POFILES $lang.po"
398 dnl Construct list of names of catalog files to be constructed.
399 for lang in $ALL_LINGUAS; do
400 CATALOGS="$CATALOGS ${lang}${CATOBJEXT}"
403 dnl Make all variables we use known to autoconf.
406 AC_SUBST(DATADIRNAME)
413 dnl Some independently maintained files, such as po/Makefile.in,
414 dnl use `USE_NLS', so support it.
417 if test "x$HAVE_NLS" = xyes; then
418 AC_DEFINE([HAVE_NLS], 1, [Define this if you want the NLS support.])
422 dnl Generate list of files to be processed by xgettext which will
423 dnl be included in po/Makefile.
425 dnl This is not strictly an Autoconf macro, because it is run from
426 dnl within `config.status' rather than from within configure. This
427 dnl is why special rules must be applied for it.
428 AC_DEFUN(WGET_PROCESS_PO,
430 dnl I wonder what the following several lines do...
431 if test "x$srcdir" != "x."; then
432 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
433 posrcprefix="$srcdir/"
435 posrcprefix="../$srcdir/"
441 dnl Use `echo' rather than AC_MSG_RESULT, because this is run from
443 echo "generating po/POTFILES from $srcdir/po/POTFILES.in"
444 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," \
445 -e "\$s/\(.*\) \\\\/\1/" \
446 < $srcdir/po/POTFILES.in > po/POTFILES
447 echo "creating po/Makefile"
448 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
451 # Search path for a program which passes the given test.
452 # Ulrich Drepper <drepper@cygnus.com>, 1996.
454 # This file may be copied and used freely without restrictions. It
455 # can be used in projects which are not available under the GNU Public
456 # License but which still want to provide support for the GNU gettext
457 # functionality. Please note that the actual code is *not* freely
462 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
463 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
464 AC_DEFUN(AM_PATH_PROG_WITH_TEST,
465 [# Extract the first word of "$2", so it can be a program name with args.
466 set dummy $2; ac_word=[$]2
467 AC_MSG_CHECKING([for $ac_word])
468 AC_CACHE_VAL(ac_cv_path_$1,
471 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
474 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
475 for ac_dir in ifelse([$5], , $PATH, [$5]); do
476 test -z "$ac_dir" && ac_dir=.
477 if test -f $ac_dir/$ac_word; then
479 ac_cv_path_$1="$ac_dir/$ac_word"
485 dnl If no 4th arg is given, leave the cache variable unset,
486 dnl so AC_PATH_PROGS will keep looking.
487 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
492 if test -n "[$]$1"; then
500 # Include libtool code.
502 builtin(include, libtool.m4)dnl