]> sjero.net Git - wget/blob - configure.in
[svn] ftp_parse_winnt_ls(): Made the fix for AM/PM more effective.
[wget] / configure.in
1 dnl Template file for GNU Autoconf
2 dnl Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
3
4 dnl This program is free software; you can redistribute it and/or modify
5 dnl it under the terms of the GNU General Public License as published by
6 dnl the Free Software Foundation; either version 2 of the License, or
7 dnl (at your option) any later version.
8
9 dnl This program is distributed in the hope that it will be useful,
10 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
11 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 dnl GNU General Public License for more details.
13
14 dnl You should have received a copy of the GNU General Public License
15 dnl along with this program; if not, write to the Free Software
16 dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 dnl
19 dnl Process this file with autoconf to produce a configure script.
20 dnl
21
22 AC_INIT(src/version.c)
23 AC_PREREQ(2.12)
24 AC_CONFIG_HEADER(src/config.h)
25
26 dnl
27 dnl What version of Wget are we building?
28 dnl
29 VERSION=`sed -e 's/^.*"\(.*\)";$/\1/' ${srcdir}/src/version.c`
30 echo "configuring for GNU Wget $VERSION"
31 AC_SUBST(VERSION)
32 PACKAGE=wget
33 AC_SUBST(PACKAGE)
34
35 dnl
36 dnl Get cannonical host
37 dnl
38 AC_CANONICAL_HOST
39 AC_DEFINE_UNQUOTED(OS_TYPE, "$host_os")
40
41 dnl
42 dnl Process features.
43 dnl
44 AC_ARG_WITH(socks,
45 [  --with-socks            use the socks library],
46 [AC_DEFINE(HAVE_SOCKS)])
47
48 AC_ARG_WITH(ssl,
49 [  --with-ssl[=SSL_ROOT]   link with libssl [in SSL_ROOT/lib] for https: support])
50
51 AC_ARG_ENABLE(opie,
52 [  --disable-opie          disable support for opie or s/key FTP login],
53 USE_OPIE=$enableval, USE_OPIE=yes)
54 test x"${USE_OPIE}" = xyes && AC_DEFINE(USE_OPIE)
55
56 AC_ARG_ENABLE(digest,
57 [  --disable-digest        disable support for HTTP digest authorization],
58 USE_DIGEST=$enableval, USE_DIGEST=yes)
59 test x"${USE_DIGEST}" = xyes && AC_DEFINE(USE_DIGEST)
60
61 AC_ARG_ENABLE(debug,
62 [  --disable-debug         disable support for debugging output],
63 DEBUG=$enableval, DEBUG=yes)
64 test x"${DEBUG}" = xyes && AC_DEFINE(DEBUG)
65
66 case "${USE_OPIE}${USE_DIGEST}" in
67 *yes*)
68         MD5_OBJ='md5$o'
69 esac
70 if test x"$USE_OPIE" = xyes; then
71   OPIE_OBJ='ftp-opie$o'
72 fi
73 AC_SUBST(MD5_OBJ)
74 AC_SUBST(OPIE_OBJ)
75
76 dnl
77 dnl Whether make sets $(MAKE)...
78 dnl
79 AC_PROG_MAKE_SET
80
81 dnl
82 dnl Find a good install
83 dnl
84 AC_PROG_INSTALL
85
86 dnl
87 dnl Configure our included libtool and make sure it's regenerated when needed
88 dnl
89 AM_PROG_LIBTOOL
90 AC_SUBST(LIBTOOL_DEPS)
91
92 dnl
93 dnl Find the compiler
94 dnl
95
96 dnl We want these before the checks, so the checks can modify their values.
97 test -z "$CFLAGS"  && CFLAGS= auto_cflags=1
98 test -z "$CC" && cc_specified=yes
99
100 AC_PROG_CC
101
102 dnl
103 dnl if the user hasn't specified CFLAGS, then
104 dnl   if compiler is gcc, then use -O2 and some warning flags
105 dnl   else use os-specific flags or -O
106 dnl
107 if test -n "$auto_cflags"; then
108   if test -n "$GCC"; then
109     CFLAGS="$CFLAGS -O2 -Wall -Wno-implicit"
110   else
111     case "$host_os" in
112       *hpux*)  CFLAGS="$CFLAGS +O3"                      ;;
113       *ultrix* | *osf*) CFLAGS="$CFLAGS -O -Olimit 2000" ;;
114       *)       CFLAGS="$CFLAGS -O" ;;
115     esac
116   fi
117 fi
118
119 dnl
120 dnl Handle AIX
121 dnl
122 AC_AIX
123
124 dnl
125 dnl In case of {cyg,gnu}win32.  Should be a _target_ test.
126 dnl Might also be erelevant for DJGPP.
127 dnl
128 case "$host_os" in
129   *win32) exeext='.exe';;
130   *) exeext='';;
131 esac
132 AC_SUBST(exeext)
133
134 dnl
135 dnl Check if we can handle prototypes.
136 dnl
137 AM_C_PROTOTYPES
138
139 dnl
140 dnl Checks for typedefs, structures, and compiler characteristics.
141 dnl
142 AC_C_CONST
143 AC_TYPE_SIZE_T
144 AC_TYPE_PID_T
145 dnl #### This generates a warning.  What do I do to shut it up?
146 AC_C_BIGENDIAN
147
148 # Check size of long.
149 AC_CHECK_SIZEOF(long)
150 AC_CHECK_SIZEOF(long long)
151
152 dnl
153 dnl Checks for headers
154 dnl
155 AC_CHECK_HEADERS(string.h stdarg.h unistd.h sys/time.h utime.h sys/utime.h)
156 AC_CHECK_HEADERS(sys/select.h sys/utsname.h pwd.h signal.h)
157 AC_HEADER_TIME
158
159 dnl
160 dnl Return type of signal-handlers
161 dnl
162 AC_TYPE_SIGNAL
163
164 dnl
165 dnl Check for struct utimbuf
166 WGET_STRUCT_UTIMBUF
167
168 dnl
169 dnl Checks for library functions.
170 dnl
171 AC_FUNC_ALLOCA
172 AC_FUNC_MMAP
173 AC_CHECK_FUNCS(strdup strstr strcasecmp strncasecmp)
174 AC_CHECK_FUNCS(gettimeofday mktime strptime)
175 AC_CHECK_FUNCS(strerror snprintf vsnprintf select signal symlink access isatty)
176 AC_CHECK_FUNCS(uname gethostname)
177
178 AC_CHECK_FUNCS(gethostbyname, [], [
179   AC_CHECK_LIB(nsl, gethostbyname)
180 ])
181
182 dnl
183 dnl Checks for libraries.
184 dnl
185
186 AC_CHECK_LIB(socket, socket)
187
188 dnl #### This appears to be deficient with later versions of SOCKS.
189 if test "x${with_socks}" = xyes
190 then
191   AC_CHECK_LIB(resolv, main)
192   AC_CHECK_LIB(socks, Rconnect)
193 fi
194
195 dnl If --with-ssl was specified, make sure we can link with the OpenSSL libs.
196 if test x"$with_ssl" != x -a x"$with_ssl" != x"no"; then
197   if test x"$with_ssl" = x"yes"; then
198     dnl OpenSSL's default install location:
199     with_ssl=/usr/local/ssl
200   fi
201   
202   SSL_INCLUDES=-I$with_ssl/include
203   AC_SUBST(SSL_INCLUDES)
204
205   LDFLAGS="-L$with_ssl/lib -R$with_ssl/lib $LDFLAGS"
206
207   ssl_link_failure=no
208
209   dnl Unfortunately, as of this writing (OpenSSL 0.9.6), the libcrypto shared
210   dnl library doesn't record its dependency on libdl, so we need to check for it
211   dnl ourselves so we won't fail to link due to a lack of -ldl.  Most OSes use
212   dnl dlopen(), but HP-UX uses shl_load().
213   AC_CHECK_LIB(dl,dlopen)
214   AC_CHECK_LIB(dl,shl_load)
215
216   dnl These checks need to be in this order, or you'll get a link failure if you
217   dnl use a static libcrypto.a and libssl.a rather than shared libraries.
218   AC_CHECK_LIB(crypto,RSA_new,,ssl_link_failure=yes)
219   AC_CHECK_LIB(ssl,SSL_new,,ssl_link_failure=yes)
220
221   if test x"$ssl_link_failure" = x"yes"; then
222     echo
223     echo "WARNING: Failed to link with OpenSSL libraries in $with_ssl/lib."
224     echo "         Wget will be built without support for https://... URLs."
225     echo
226   else
227     AC_DEFINE(HAVE_SSL)
228     SSL_OBJ='gen_sslfunc$o'
229     AC_SUBST(SSL_OBJ)
230   fi
231 fi
232
233 dnl
234 dnl Set of available languages.
235 dnl
236 ALL_LINGUAS=`(cd ${srcdir}/po && ls *.po | sed -e 's/\.po$//')`
237
238 dnl Original from autoconf, I think.
239 dnl ALL_LINGUAS="cs de hr it no pl pt_BR ru"
240
241 dnl internationalization macros
242 WGET_WITH_NLS
243
244 dnl
245 dnl Find makeinfo.  If makeinfo is not found, look for Emacs.  If
246 dnl Emacs cannot be found, look for XEmacs.
247 dnl
248
249 AC_CHECK_PROGS(MAKEINFO, makeinfo emacs xemacs)
250
251 case "${MAKEINFO}" in
252    *makeinfo) MAKEINFO="${MAKEINFO} \$(srcdir)/wget.texi"  ;;
253    *emacs | *xemacs) MAKEINFO="${MAKEINFO} -batch -q -no-site-file -eval '(find-file \"\$(srcdir)/wget.texi\")' -l texinfmt -f texinfo-format-buffer -f save-buffer"  ;;
254    *) MAKEINFO="makeinfo \$(srcdir)/wget.texi"            ;;
255 esac
256
257 dnl
258 dnl Find perl and pod2man
259 dnl
260
261 AC_PATH_PROGS(PERL, perl5 perl, no)
262 AC_PATH_PROG(POD2MAN, pod2man, no)
263
264 if test "x${POD2MAN}" = xno; then
265   COMMENT_IF_NO_POD2MAN="# "
266 else
267   COMMENT_IF_NO_POD2MAN=
268 fi
269 AC_SUBST(COMMENT_IF_NO_POD2MAN)
270
271 dnl
272 dnl Create output
273 dnl
274 AC_OUTPUT([Makefile src/Makefile doc/Makefile util/Makefile po/Makefile.in
275            windows/Makefile],
276 [WGET_PROCESS_PO
277 test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h])