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 AC_MSG_RESULT([language catalogs: $ALL_LINGUAS])
337 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
338 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
339 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
340 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
342 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
347 dnl Test whether we really found GNU xgettext.
348 if test "$XGETTEXT" != ":"; then
349 dnl If it is no GNU xgettext we define it as : so that the
350 dnl Makefiles still can work.
351 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
355 [found xgettext programs is not GNU xgettext; ignore it])
360 AC_CHECK_HEADERS(locale.h libintl.h)
362 dnl Prefer gettext found in -lintl to the one in libc.
363 dnl Otherwise it can happen that we include libintl.h from
364 dnl /usr/local/lib, but fail to specify -lintl, which results in
365 dnl link or run-time failures. (Symptom: libintl_bindtextdomain
366 dnl not found at link-time.)
368 AC_CHECK_LIB(intl, gettext, [
369 dnl gettext is in libintl; announce the fact manually.
371 AC_DEFINE([HAVE_GETTEXT], 1,
372 [Define if you have the gettext function.])
374 AC_CHECK_FUNCS(gettext, [], [
375 AC_MSG_RESULT([gettext not found; disabling NLS])
380 dnl These rules are solely for the distribution goal. While doing this
381 dnl we only have to keep exactly one list of the available catalogs
383 for lang in $ALL_LINGUAS; do
384 GMOFILES="$GMOFILES $lang.gmo"
385 POFILES="$POFILES $lang.po"
387 dnl Construct list of names of catalog files to be constructed.
388 for lang in $ALL_LINGUAS; do
389 CATALOGS="$CATALOGS ${lang}${CATOBJEXT}"
392 dnl Make all variables we use known to autoconf.
395 AC_SUBST(DATADIRNAME)
402 dnl Some independently maintained files, such as po/Makefile.in,
403 dnl use `USE_NLS', so support it.
406 if test "x$HAVE_NLS" = xyes; then
407 AC_DEFINE([HAVE_NLS], 1, [Define this if you want the NLS support.])
411 dnl Generate list of files to be processed by xgettext which will
412 dnl be included in po/Makefile.
414 dnl This is not strictly an Autoconf macro, because it is run from
415 dnl within `config.status' rather than from within configure. This
416 dnl is why special rules must be applied for it.
417 AC_DEFUN(WGET_PROCESS_PO,
419 dnl I wonder what the following several lines do...
420 if test "x$srcdir" != "x."; then
421 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
422 posrcprefix="$srcdir/"
424 posrcprefix="../$srcdir/"
430 dnl Use `echo' rather than AC_MSG_RESULT, because this is run from
432 echo "generating po/POTFILES from $srcdir/po/POTFILES.in"
433 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," \
434 -e "\$s/\(.*\) \\\\/\1/" \
435 < $srcdir/po/POTFILES.in > po/POTFILES
436 echo "creating po/Makefile"
437 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
440 # Search path for a program which passes the given test.
441 # Ulrich Drepper <drepper@cygnus.com>, 1996.
443 # This file may be copied and used freely without restrictions. It
444 # can be used in projects which are not available under the GNU Public
445 # License but which still want to provide support for the GNU gettext
446 # functionality. Please note that the actual code is *not* freely
451 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
452 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
453 AC_DEFUN(AM_PATH_PROG_WITH_TEST,
454 [# Extract the first word of "$2", so it can be a program name with args.
455 set dummy $2; ac_word=[$]2
456 AC_MSG_CHECKING([for $ac_word])
457 AC_CACHE_VAL(ac_cv_path_$1,
460 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
463 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
464 for ac_dir in ifelse([$5], , $PATH, [$5]); do
465 test -z "$ac_dir" && ac_dir=.
466 if test -f $ac_dir/$ac_word; then
468 ac_cv_path_$1="$ac_dir/$ac_word"
474 dnl If no 4th arg is given, leave the cache variable unset,
475 dnl so AC_PATH_PROGS will keep looking.
476 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
481 if test -n "[$]$1"; then
489 # Include libtool code.
491 builtin(include, libtool.m4)dnl