1 dnl Process this file with autoconf to produce a configure script.
4 AC_INIT(src/main/main.c)
5 AC_CONFIG_AUX_DIR(config)
11 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Package version])
12 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Package version])
13 AC_CONFIG_HEADERS(config.h)
15 AC_CHECK_PROG(ACLOCAL,[aclocal],[aclocal],[config/missing aclocal])
16 AC_CHECK_PROG(AUTOCONF,[autoconf],[autoconf],[config/missing autoconf])
17 AC_CHECK_PROG(AUTOHEADER,[autoheader],[autoheader],[config/missing autoheader])
21 for make in gnumake gmake make false; do
22 if test "x$MAKE" = x; then
23 AC_PATH_PROGS(MAKE, "$make")
29 # Cleanup if we are configuring with a previous build in the tree
30 if test -e Makefile.config; then
31 AC_MSG_CHECKING([for previous build to clean])
32 "$MAKE" -C "$builddir/src" cleanall >/dev/null 2>/dev/null
36 dnl ===================================================================
37 dnl Load feature configuration file and start logging features.
38 dnl ===================================================================
40 features="features.conf"
41 AC_CHECK_FILE("$srcdir/$features", [ . $srcdir/$features ])
42 AC_CHECK_FILE("$builddir/$features", [ . $builddir/$features ])
43 echo "Feature summary:" > features.log
45 dnl ===================================================================
46 dnl Checks for programs.
47 dnl ===================================================================
51 AC_PATH_PROGS(AWK, "$AWK")
55 AC_PATH_PROGS(CG_COMMIT_ID, "cg-commit-id")
56 AC_PATH_PROGS(SPARSE, "sparse")
63 if test "x$CONFIG_DOC" != xno; then
64 AC_PATH_PROGS(ASCIIDOC, "asciidoc")
65 if test "x$ASCIIDOC" != "x"; then
66 EL_CONFIG(CONFIG_ASCIIDOC, [AsciiDoc])
67 EL_CONFIG(MANUAL_ASCIIDOC, [HTML (one file)])
68 EL_CONFIG(MAN_ASCIIDOC, [HTML])
70 echo > config.asciidoc-unsafe.txt
71 if "$ASCIIDOC" --unsafe config.asciidoc-unsafe.txt >&/dev/null; then
72 ASCIIDOC_FLAGS=--unsafe
74 rm config.asciidoc-unsafe.*
77 AC_PATH_PROGS(XMLTO, "xmlto")
78 if test "x$XMLTO" != "x"; then
79 EL_CONFIG(CONFIG_XMLTO, [XmlTo])
80 EL_CONFIG(MANUAL_XMLTO, [HTML (multiple files)])
81 EL_CONFIG(MAN_XMLTO, [man (groff)])
84 AC_PATH_PROGS(JW, "jw")
85 if test "x$JW" != "x"; then
86 EL_CONFIG(CONFIG_JW, [JadeWrapper])
87 EL_CONFIG(MANUAL_JW, [PDF])
90 AC_PATH_PROGS(POD2HTML, "pod2html")
91 if test "x$POD2HTML" != "x"; then
92 EL_CONFIG(CONFIG_POD2HTML, [Pod2HTML])
96 AC_SUBST(ASCIIDOC_FLAGS)
97 AC_SUBST(CONFIG_ASCIIDOC)
98 AC_SUBST(CONFIG_POD2HTML)
99 AC_SUBST(CONFIG_XMLTO)
102 EL_CONFIG_DEPENDS(CONFIG_DOC, [CONFIG_ASCIIDOC CONFIG_XMLTO CONFIG_JW CONFIG_POD2HTML], [Documentation])
104 if test "$CONFIG_ASCIIDOC" = yes &&
105 test "$CONFIG_XMLTO" = yes &&
106 test "$CONFIG_JW" = yes; then
107 EL_CONFIG_DEPENDS(CONFIG_MANUAL, [MANUAL_ASCIIDOC MANUAL_XMLTO MANUAL_JW], [Manual Formats])
110 if test "$CONFIG_ASCIIDOC" = yes &&
111 test "$CONFIG_XMLTO" = yes; then
112 EL_CONFIG_DEPENDS(CONFIG_MANUAL, [MAN_ASCIIDOC MAN_XMLTO], [Man Page Formats])
115 AC_SUBST(CONFIG_ASCIIDOC)
116 AC_SUBST(CONFIG_POD2HTML)
117 AC_SUBST(CONFIG_XMLTO)
120 dnl gcc specific options (to be continued at the bottom of configure)
121 if test "x$ac_cv_prog_gcc" = "xyes"; then
122 dnl We want to see all warnings and live with none.
123 dnl We can't set up -Werror here as there may be some warnings in test
124 dnl suite of configure, and we don't want to fail them.
125 CFLAGS="$CFLAGS -Wall"
128 dnl ===================================================================
129 dnl Checks for special OSes.
130 dnl ===================================================================
132 dnl EL_CHECK_COMPILER_MACRO(define, name, flagname)
133 AC_DEFUN([EL_CHECK_COMPILER_MACROS],
135 AC_MSG_CHECKING([for $2])
138 AC_TRY_COMPILE(, [#ifndef $flag
140 #endif ], $1=yes, $1=no)
141 if test "[$]$1" = yes; then
142 EL_CONFIG([$1], [$2])
150 EL_CHECK_COMPILER_MACROS(CONFIG_OS_BEOS, [BEOS], [__BEOS__])
151 AC_SUBST(CONFIG_OS_BEOS)
153 EL_CHECK_COMPILER_MACROS(CONFIG_OS_RISCOS, [RISCOS], [__riscos__])
154 AC_SUBST(CONFIG_OS_RISCOS)
156 EL_CHECK_COMPILER_MACROS(CONFIG_OS_WIN32, [WIN32], [_WIN32 __WIN32__])
157 AC_SUBST(CONFIG_OS_WIN32)
159 EL_CHECK_COMPILER_MACROS(CONFIG_OS_OS2, [EMX], [__EMX__])
160 AC_SUBST(CONFIG_OS_OS2)
161 test "$CONFIG_OS_OS2" = yes && LDFLAGS=`echo "$LDFLAGS" | sed "s/-Zexe//g"`
163 AC_MSG_CHECKING([for UNIX])
164 dnl FIXME: some depend kind of mechanism
165 if test "$CONFIG_OS_BEOS" = no && \
166 test "$CONFIG_OS_RISCOS" = no && \
167 test "$CONFIG_OS_WIN32" = no && \
168 test "$CONFIG_OS_OS2" = no; then
169 EL_CONFIG(CONFIG_OS_UNIX, [UNIX])
173 AC_MSG_RESULT($CONFIG_OS_UNIX)
174 AC_SUBST(CONFIG_OS_UNIX)
176 dnl ===================================================================
177 dnl Checks for header files.
178 dnl ===================================================================
185 AC_CHECK_HEADERS(fcntl.h limits.h time.h unistd.h)
186 AC_CHECK_HEADERS(sigaction.h)
187 AC_CHECK_HEADERS(arpa/inet.h)
188 AC_CHECK_HEADERS(netinet/in_systm.h netinet/in_system.h netinet/ip.h)
189 AC_CHECK_HEADERS(net/if.h netdb.h netinet/in.h netinet/in6_var.h)
190 AC_CHECK_HEADERS(ifaddrs.h)
191 AC_CHECK_HEADERS(sys/cygwin.h io.h)
192 AC_CHECK_HEADERS(sys/fmutex.h)
193 AC_CHECK_HEADERS(sys/ioctl.h sys/sockio.h)
194 AC_CHECK_HEADERS(sys/resource.h)
195 AC_CHECK_HEADERS(sys/select.h)
196 AC_CHECK_HEADERS(sys/signal.h)
197 AC_CHECK_HEADERS(sys/socket.h)
198 AC_CHECK_HEADERS(sys/time.h)
199 AC_CHECK_HEADERS(sys/utsname.h)
200 AC_CHECK_HEADERS(stdint.h inttypes.h)
201 AC_CHECK_HEADERS(locale.h pwd.h)
202 AC_CHECK_HEADERS(termios.h)
205 AC_CHECK_HEADERS(sys/un.h,
206 [CONFIG_INTERLINK=yes
207 EL_CONFIG([CONFIG_INTERLINK], [interlinking])],
208 [CONFIG_INTERLINK=no])
209 AC_SUBST(CONFIG_INTERLINK)
211 dnl ===================================================================
212 dnl Checks for typedefs, structures, and compiler characteristics.
213 dnl ===================================================================
218 EL_CHECK_CODE(typeof, HAVE_TYPEOF, [], [int a; typeof(a) b;])
223 EL_CHECK_TYPE(ssize_t, int)
224 EL_CHECK_SYS_TYPE(long long, HAVE_LONG_LONG, [])
225 EL_CHECK_INT_TYPE(int32_t, HAVE_INT32_T)
226 EL_CHECK_INT_TYPE(uint32_t, HAVE_UINT32_T)
227 EL_CHECK_INT_TYPE(uint16_t, HAVE_UINT16_T)
229 AC_CHECK_SIZEOF(char, 1)
230 AC_CHECK_SIZEOF(short, 2)
231 AC_CHECK_SIZEOF(int, 4)
232 AC_CHECK_SIZEOF(long, 4)
233 test "x$HAVE_LONG_LONG" = xyes && AC_CHECK_SIZEOF(long long, 8)
235 dnl Check for variadic macros
236 EL_CHECK_CODE([variadic macros], HAVE_VARIADIC_MACROS,
238 #define a(b,c...) printf(b,##c)],
239 [a("foo");a("%s","bar");a("%s%s","baz","quux");])
241 dnl Check for -rdynamic
242 dnl FIXME: This check doesn't work. Something to do with the compiler
243 dnl happily ignoring it and stderr not being checked for error messages.
244 AC_MSG_CHECKING([for -rdynamic])
246 LDFLAGS="$LDFLAGS -rdynamic"
247 AC_TRY_LINK([], [], have_rdynamic=yes, have_rdynamic=no)
248 test "$have_rdynamic" = no && LDFLAGS="$LDFLAGS_X"
249 AC_MSG_RESULT($have_rdynamic)
251 dnl ===================================================================
252 dnl Check for POSIX <regex.h>
253 dnl ===================================================================
255 EL_CHECK_SYS_TYPE(regex_t, HAVE_REGEX_H, [#include <regex.h>])
257 dnl ===================================================================
258 dnl Checks for library functions.
259 dnl ===================================================================
261 AC_PROG_GCC_TRADITIONAL
265 AC_CHECK_FUNCS(cfmakeraw gethostbyaddr herror strerror)
266 AC_CHECK_FUNCS(popen uname access chmod alarm timegm mremap)
267 AC_CHECK_FUNCS(strcasecmp strncasecmp strcasestr strstr strchr strrchr)
268 AC_CHECK_FUNCS(memmove bcopy stpcpy strdup index isdigit mempcpy memrchr)
269 AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf)
270 AC_CHECK_FUNCS(getifaddrs getpwnam inet_pton inet_ntop)
271 AC_CHECK_FUNCS(fflush fsync fseeko ftello sigaction)
272 AC_CHECK_FUNCS(gettimeofday clock_gettime)
274 AC_HAVE_FUNCS(cygwin_conv_to_full_win32_path)
276 AC_CHECK_FUNCS(setenv putenv, HAVE_SETENV_OR_PUTENV=yes)
277 AC_CHECK_FUNCS(getuid, HAVE_GETUID=yes)
278 AC_CHECK_FUNCS(geteuid, HAVE_GETEUID=yes)
280 dnl These aren't probably needed now, as they are commented in links.h.
281 dnl I've no idea about their historical background, but I keep them here
282 dnl just in the case they will help later. --pasky
283 AC_CHECK_FUNCS(getpid, HAVE_GETPID=yes)
284 AC_CHECK_FUNCS(setpgid getpgid setpgrp getpgrp)
285 AC_CHECK_FUNCS(raise, HAVE_RAISE=yes)
286 AC_CHECK_FUNCS(kill, HAVE_KILL=yes)
288 if test x"$HAVE_RAISE" = x; then
289 if test x"$HAVE_KILL" = x || test x"$HAVE_GETPID" = x; then
290 AC_ERROR([Unable to emulate raise()])
294 AC_CACHE_CHECK([for __va_copy],el_cv_HAVE_VA_COPY,[
295 AC_TRY_LINK([#include <stdarg.h>
296 va_list ap1,ap2;], [__va_copy(ap1,ap2);],
297 el_cv_HAVE_VA_COPY=yes,el_cv_HAVE_VA_COPY=no)])
298 if test x"$el_cv_HAVE_VA_COPY" = x"yes"; then
299 EL_DEFINE(HAVE_VA_COPY, __va_copy)
302 AC_CACHE_CHECK([for sysconf(_SC_PAGE_SIZE)],el_cv_HAVE_SC_PAGE_SIZE,[
303 AC_TRY_LINK([#include <unistd.h>
304 ], [int page_size = sysconf(_SC_PAGE_SIZE);],
305 el_cv_HAVE_SC_PAGE_SIZE=yes,el_cv_HAVE_SC_PAGE_SIZE=no)])
306 if test x"$el_cv_HAVE_SC_PAGE_SIZE" = x"yes"; then
307 EL_DEFINE(HAVE_SC_PAGE_SIZE, _SC_PAGE_SIZE)
310 AC_CACHE_CHECK([for C99 vsnprintf],el_cv_HAVE_C99_VSNPRINTF,[
319 int bar(char *buf, const char *format, va_list ap)
321 return vsnprintf(buf, 0, format, ap);
324 void foo(const char *format, ...) {
328 va_start(ap, format);
329 len = bar(buf, format, ap);
331 if ((len != 6) && (len != 7)) exit(1); /* \n -> \r\n */
333 va_start(ap, format);
334 len = bar(buf, format, ap);
336 if ((len != 6) && (len != 7)) exit(1);
338 if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
342 main() { foo("hello\n"); }
344 el_cv_HAVE_C99_VSNPRINTF=yes,el_cv_HAVE_C99_VSNPRINTF=no,el_cv_HAVE_C99_VSNPRINTF=cross)])
345 if test x"$el_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
346 EL_DEFINE(HAVE_C99_VSNPRINTF, [C99 compliant vsnprintf()])
349 AC_CHECK_LIB(dl, dlopen) # OpenSSL and Lua frequently needs it
351 dnl ===================================================================
352 dnl Checks for libraries.
353 dnl ===================================================================
355 dnl Replace `main' with a function in -lsocket:
356 AC_CHECK_FUNC(socket, cf_result=yes, cf_result=no)
357 if test "$cf_result" = no; then
358 AC_CHECK_LIB(socket, socket)
361 AC_CHECK_FUNC(setsockopt, cf_result=yes, cf_result=no)
362 if test "$cf_result" = no; then
363 AC_CHECK_LIB(socket, setsockopt)
366 AC_CHECK_FUNC(gethostbyname, cf_result=yes, cf_result=no)
367 if test "$cf_result" = no; then
368 AC_CHECK_LIB(socket, gethostbyname, cf_result=yes, cf_result=no)
369 if test "$cf_result" = no; then
370 AC_CHECK_LIB(nsl, gethostbyname)
372 test -z "`echo $LIBS | grep -- -lsocket`" && LIBS="$LIBS -lsocket"
376 dnl ===================================================================
377 dnl Checks for packaging specific options.
378 dnl ===================================================================
380 AC_ARG_WITH(xterm, [ --with-xterm how to invoke the X terminal emulator],
381 [ if test "$withval" != no && test "$withval" != yes; then
382 AC_DEFINE_UNQUOTED(XTERM, "$withval", [How to invoke XTerm])
385 dnl ===================================================================
386 dnl Checks for a libraries, optional even if installed.
387 dnl ===================================================================
389 dnl EL_CHECK_OPTIONAL_LIBRARY(define, name, header, lib, function)
390 AC_DEFUN([EL_CHECK_OPTIONAL_LIBRARY],
392 AC_MSG_CHECKING([for $2 support])
394 if test "[$]$1" != no; then
397 if test -n "$withval" && test -d "$withval"; then
398 CFLAGS="$CFLAGS -I$withval/include";
399 CPPFLAGS="$CPPFLAGS -I$withval/include";
400 LDFLAGS="$LDFLAGS -L$withval/lib";
403 AC_CHECK_HEADERS([$3], [$1=yes], [$1=no; break;])
404 if test "[$]$1" = yes; then
405 AC_CHECK_LIB([$4], [$5], [$1=yes], [$1=no])
408 if test "[$]$1" = yes; then
409 EL_CONFIG([$1], [$2])
412 if test -n "[$]WITHVAL_$1" &&
413 test "[$]WITHVAL_$1" != xno; then
414 AC_MSG_ERROR([$2 not found])
419 AC_MSG_RESULT(disabled)
423 dnl EL_CONFIG_OPTIONAL_LIBRARY(define, name, header, lib, function, confhelp)
424 AC_DEFUN([EL_CONFIG_OPTIONAL_LIBRARY],
429 AC_ARG_WITH([$2], [$6], [WITHVAL_$1="[$]withval"])
430 if test "x[$]WITHVAL_$1" = xno; then $1=no; fi
432 EL_CHECK_OPTIONAL_LIBRARY([$1], [$2], [$3], [$4], [$5])
434 EL_LOG_CONFIG([$1], [$2], [])
437 EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_GPM, gpm, gpm.h, gpm, Gpm_Open,
438 [ --without-gpm disable gpm (mouse) support])
440 EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_GZIP, zlib, zlib.h, z, gzdopen,
441 [ --without-zlib disable zlib support])
443 EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_BZIP2, bzlib, bzlib.h, bz2, BZ2_bzReadOpen,
444 [ --without-bzlib disable bzlib support])
446 EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_IDN, idn, idna.h, idn, stringprep_check_version,
447 [ --without-idn disable international domain names support])
449 dnl ===================================================================
450 dnl Bookmark and XBEL support
451 dnl ===================================================================
455 EL_ARG_ENABLE(CONFIG_BOOKMARKS, bookmarks, [Bookmarks],
456 [ --disable-bookmarks disable bookmark support])
458 # Check whether --enable-xbel or --disable-xbel was given.
459 if test "x${enable_xbel}" != xno; then
460 AC_CHECK_HEADERS(expat.h, HAVE_LIBEXPAT=yes, HAVE_LIBEXPAT=no)
462 if test "$HAVE_LIBEXPAT" = yes; then
463 AC_CHECK_LIB(expat, XML_ParserCreate, HAVE_LIBEXPAT=yes, HAVE_LIBEXPAT=no)
464 if test "$HAVE_LIBEXPAT" = yes; then
471 EL_ARG_DEPEND(CONFIG_XBEL_BOOKMARKS, xbel, [CONFIG_BOOKMARKS:yes HAVE_LIBEXPAT:yes],
473 [ --disable-xbel disable XBEL bookmark support (requires expat)])
475 if test "$CONFIG_XBEL_BOOKMARKS" != yes; then
479 dnl ===================================================================
480 dnl Checks for BSD sysmouse
481 dnl ===================================================================
483 HAVE_SYSMOUSE_HEADER="no"
485 # Either of these header files provides the (same) sysmouse interface
486 AC_CHECK_HEADERS(sys/consio.h machine/console.h, [HAVE_SYSMOUSE_HEADER="yes"])
488 dnl ===================================================================
490 dnl ===================================================================
492 if test "$CONFIG_OS_OS2" = yes; then
496 dnl ===================================================================
498 dnl ===================================================================
500 if test "$CONFIG_OS_WIN32" = yes; then
504 dnl ===================================================================
505 dnl Check for SEE (Simple Ecmascript Engine)
506 dnl ===================================================================
507 AC_ARG_WITH(see, [ --with-see enable Simple Ecmascript Engine (SEE) support],
508 [ if test "x$withval" != xno; then enable_see=yes; fi ])
510 # The following is probably bad, ugly and so on. Stolen from Guile's (1.4)
511 # SEE_FLAGS but I really don't want to require people to have Guile in order
512 # to compile CVS. Also, the macro seems to be really stupid regarding searching
513 # for Guile in $PATH etc. --pasky
515 AC_MSG_CHECKING([for SEE])
517 CONFIG_ECMASCRIPT_SEE=no
519 if test "$enable_see" = "yes"; then
521 ## Based on the SEE_FLAGS macro.
523 if test -d "$withval"; then
524 SEE_PATH="$withval:$PATH"
529 AC_PATH_PROG(SEE_CONFIG, libsee-config, no, $SEE_PATH)
531 ## First, let's just see if we can find Guile at all.
532 if test "$SEE_CONFIG" != no; then
535 SEE_LIBS="`$SEE_CONFIG --libs`"
536 SEE_CFLAGS="`$SEE_CONFIG --cppflags`"
537 LIBS="$SEE_LIBS $LIBS"
538 CPPFLAGS="$CPPFLAGS $SEE_CFLAGS"
539 EL_CONFIG(CONFIG_ECMASCRIPT_SEE, [SEE])
542 if test -n "$withval" && test "x$withval" != xno; then
543 AC_MSG_ERROR([SEE not found])
545 AC_MSG_WARN([SEE support disabled])
553 dnl ===================================================================
554 dnl Check for SpiderMonkey, optional even if installed.
555 dnl ===================================================================
557 AC_ARG_WITH(spidermonkey, [ --without-spidermonkey disable SpiderMonkey Mozilla JavaScript engine support],
558 [if test "$withval" = no; then disable_spidermonkey=yes; fi])
559 AC_MSG_CHECKING([for SpiderMonkey])
564 if test -z "$disable_spidermonkey"; then
565 if test ! -d "$withval"; then
568 for spidermonkeydir in "$withval" "" /usr /usr/local /opt/spidermonkey /opt/js; do
569 for spidermonkeyinclude in "/include" "/include/js" "/include/smjs"; do
570 for spidermonkeylib in js smjs; do
571 if test "$cf_result" = no; then
572 SPIDERMONKEY_LIBS="-l$spidermonkeylib"
574 if test ! -z "$spidermonkeydir"; then
575 SPIDERMONKEY_LIBS="-L$spidermonkeydir/lib $SPIDERMONKEY_LIBS"
576 SPIDERMONKEY_CFLAGS="-I$spidermonkeydir$spidermonkeyinclude"
579 LIBS="$SPIDERMONKEY_LIBS $LIBS_X"
580 CFLAGS="$CFLAGS_X $SPIDERMONKEY_CFLAGS"
581 CPPFLAGS="$CPPFLAGS_X $SPIDERMONKEY_CFLAGS"
583 AC_TRY_LINK([#define XP_UNIX
585 [JS_GetImplementationVersion()],
586 cf_result=yes, cf_result=no)
593 AC_MSG_RESULT($cf_result)
594 CONFIG_SPIDERMONKEY="$cf_result"
597 if test "x$CONFIG_SPIDERMONKEY" = xyes &&
598 test "x$CONFIG_ECMASCRIPT_SEE" != xyes; then
599 EL_CONFIG(CONFIG_ECMASCRIPT_SMJS, [SpiderMonkey document scripting])
601 CONFIG_ECMASCRIPT_SMJS=no
604 EL_CONFIG_DEPENDS(CONFIG_ECMASCRIPT, [CONFIG_ECMASCRIPT_SEE CONFIG_ECMASCRIPT_SMJS], [ECMAScript (JavaScript)])
605 AC_SUBST(CONFIG_ECMASCRIPT_SEE)
606 AC_SUBST(CONFIG_ECMASCRIPT_SMJS)
609 dnl ===================================================================
610 dnl Optional Spidermonkey-based ECMAScript browser scripting
611 dnl ===================================================================
613 AC_ARG_ENABLE(sm-scripting,
614 [ --disable-sm-scripting ECMAScript browser scripting (requires Spidermonkey)],
615 [if test "$enableval" != no; then enableval="yes"; fi
616 CONFIG_SCRIPTING_SPIDERMONKEY="$enableval";])
618 if test "x$CONFIG_SPIDERMONKEY" = xyes &&
619 test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then
620 EL_CONFIG(CONFIG_SCRIPTING_SPIDERMONKEY, [SpiderMonkey])
622 CONFIG_SCRIPTING_SPIDERMONKEY=no
625 if test "x$CONFIG_ECMASCRIPT_SMJS" = xyes ||
626 test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then
627 LIBS="$LIBS $SPIDERMONKEY_LIBS"
628 AC_SUBST(SPIDERMONKEY_LIBS)
629 AC_SUBST(SPIDERMONKEY_CFLAGS)
630 AC_SUBST(CONFIG_SPIDERMONKEY)
633 dnl ===================================================================
634 dnl Check for Guile, optional even if installed.
635 dnl ===================================================================
639 AC_ARG_WITH(guile, [ --with-guile enable Guile support],
640 [ if test "x$withval" != xno; then enable_guile=yes; fi ])
642 # The following is probably bad, ugly and so on. Stolen from Guile's (1.4)
643 # GUILE_FLAGS but I really don't want to require people to have Guile in order
644 # to compile CVS. Also, the macro seems to be really stupid regarding searching
645 # for Guile in $PATH etc. --pasky
647 AC_MSG_CHECKING([for Guile])
649 if test "$enable_guile" = "yes"; then
651 ## Based on the GUILE_FLAGS macro.
653 if test -d "$withval"; then
654 GUILE_PATH="$withval:$PATH"
659 AC_PATH_PROG(GUILE_CONFIG, guile-config, no, $GUILE_PATH)
661 ## First, let's just see if we can find Guile at all.
662 if test "$GUILE_CONFIG" != no; then
665 GUILE_LIBS="`guile-config link`"
666 GUILE_CFLAGS="`guile-config compile`"
667 LIBS="$GUILE_LIBS $LIBS"
668 CPPFLAGS="$CPPFLAGS $GUILE_CFLAGS"
669 EL_CONFIG(CONFIG_SCRIPTING_GUILE, [Guile])
670 AC_SUBST(GUILE_CFLAGS)
672 ***********************************************************************
673 The Guile support is incomplete and not so well integrated to ELinks
674 yet. That means, ie., that you have no Guile console and there might
675 not be all the necessary hooks. Also, the Guile interface is not too
676 well tested (success stories heartily welcomed!). See
677 src/scripting/guile/README for further details and hints.
678 ***********************************************************************
681 if test -n "$withval" && test "x$withval" != xno; then
682 AC_MSG_ERROR([Guile not found])
684 AC_MSG_WARN([Guile support disabled])
691 dnl ===================================================================
693 dnl ===================================================================
696 AC_ARG_WITH(perl, [ --with-perl enable Perl support],
698 if test "$withval" = yes; then
699 # FIXME: If withval is a valid directory append it to PATH
700 # so that you can specify one of several perl installations.
706 AC_MSG_CHECKING([for Perl])
712 if test "$enable_perl" = "yes"; then
713 PERL_LIBS="`perl -MExtUtils::Embed -e ldopts`"
714 PERL_CFLAGS="`perl -MExtUtils::Embed -e ccopts`"
715 LIBS="$PERL_LIBS $LIBS"
716 CFLAGS="$PERL_CFLAGS $CFLAGS"
717 CPPFLAGS="$CPPFLAGS $PERL_CFLAGS"
723 [PerlInterpreter *my_perl = perl_alloc();],
724 cf_result=yes, cf_result=no)
727 if test "$cf_result" != "yes"; then
730 EL_CONFIG(CONFIG_SCRIPTING_PERL, [Perl])
734 AC_SUBST(PERL_CFLAGS)
737 if test "$cf_result"; then AC_MSG_RESULT($cf_result); fi
738 dnl ===================================================================
740 dnl ===================================================================
743 AC_ARG_WITH(python, [ --with-python=[prefix] enable Python support],
745 if test "$withval" != no; then
746 # FIXME: If withval is a valid directory append it to PATH
747 # so that you can specify one of several Python installations.
748 if test "$withval" != yes; then
749 python_prefix="$withval"
755 ***********************************************************************
756 The Python support is incomplete and not so well integrated to ELinks
757 yet. That means, ie., that you have no Python console and there might
758 not be all the necessary hooks. Also, the Python interface is not too
759 well tested (success stories heartily welcomed!).
760 ***********************************************************************
770 if test "$enable_python" = "yes"; then
771 if test -n "$python_prefix" && test -d "$python_prefix/bin"; then
772 PYTHON_PATH="$python_prefix/bin:$PATH"
776 AC_PATH_PROG(PYTHON, python, no, $PYTHON_PATH)
777 if test "$PYTHON" = "no" ; then
780 PYTHON_CFLAGS="-I`$PYTHON -c 'from distutils import sysconfig; print sysconfig.get_python_inc()' 2> /dev/null`"
781 if test -n "$python_prefix" && test -d "$python_prefix/lib"; then
782 PYTHON_LIBS="-L$python_prefix/lib -lpython"
784 PYTHON_LIBS="-lpython"
786 LIBS="$PYTHON_LIBS $LIBS"
787 CFLAGS="$PYTHON_CFLAGS $CFLAGS"
788 AC_TRY_LINK([#include <Python.h>],
790 cf_result=yes, cf_result=no)
792 if test "$cf_result" != "yes"; then
795 EL_CONFIG(CONFIG_SCRIPTING_PYTHON, [Python])
798 AC_SUBST(PYTHON_LIBS)
799 AC_SUBST(PYTHON_CFLAGS)
804 AC_MSG_CHECKING([for Python])
805 if test "$cf_result"; then AC_MSG_RESULT($cf_result); fi
808 dnl ===================================================================
809 dnl Check for Lua, optional even if installed.
810 dnl ===================================================================
812 dnl Do this the long way, as FreeBSD reportedly needs -L<dir> for
813 dnl anything other than /usr/lib, and Lua is very often in /usr/local/lib.
815 AC_ARG_WITH(lua, [ --without-lua disable Lua support],
816 [if test "$withval" = no; then disable_lua=yes; fi])
817 AC_MSG_CHECKING([for Lua])
822 if test -z "$disable_lua"; then
823 if test ! -d "$withval"; then
826 for luadir in "$withval" "" /usr /usr/local; do
827 for suffix in "" 50 51; do
828 if test "$cf_result" = no; then
829 LUA_LIBS="-llua$suffix -llualib$suffix -lm"
831 if test ! -z "$luadir"; then
832 LUA_LIBS="-L$luadir/lib $LUA_LIBS"
833 LUA_CFLAGS="-I$luadir/include -I$luadir/include/lua$suffix"
836 LIBS="$LUA_LIBS $LIBS_X"
837 CFLAGS="$CFLAGS_X $LUA_CFLAGS"
838 CPPFLAGS="$CPPFLAGS_X $LUA_CFLAGS"
840 # Check that it is a compatible Lua version
841 AC_TRY_LINK([ #include <lua.h>
842 #include <lualib.h>],
843 [ lua_State *L = lua_open();
848 lua_pushboolean(L, 1);
850 cf_result=yes, cf_result=no)
856 AC_MSG_RESULT($cf_result)
858 if test "$cf_result" != yes; then
861 EL_CONFIG(CONFIG_SCRIPTING_LUA, [Lua])
862 AC_CHECK_HEADERS(lauxlib.h)
870 dnl ===================================================================
871 dnl Check for Ruby, optional even if installed.
872 dnl ===================================================================
874 EL_CONFIG_SCRIPTING_RUBY
876 dnl ===================================================================
877 dnl Setup global scripting
878 dnl ===================================================================
880 EL_CONFIG_DEPENDS(CONFIG_SCRIPTING, [CONFIG_SCRIPTING_GUILE CONFIG_SCRIPTING_LUA CONFIG_SCRIPTING_PERL CONFIG_SCRIPTING_PYTHON CONFIG_SCRIPTING_RUBY CONFIG_SCRIPTING_SPIDERMONKEY], [Browser scripting])
881 AC_SUBST(CONFIG_SCRIPTING_GUILE)
882 AC_SUBST(CONFIG_SCRIPTING_LUA)
883 AC_SUBST(CONFIG_SCRIPTING_PERL)
884 AC_SUBST(CONFIG_SCRIPTING_PYTHON)
885 AC_SUBST(CONFIG_SCRIPTING_RUBY)
886 AC_SUBST(CONFIG_SCRIPTING_SPIDERMONKEY)
887 AC_SUBST(CONFIG_SCRIPTING)
890 dnl ===================================================================
891 dnl Check for SSL support.
892 dnl ===================================================================
894 dnl We by default use OpenSSL, and we always prefer it. However, when GNUTLS
895 dnl is enabled, we won't try to use OpenSSL anymore.
897 dnl For wiping SSL hooks..
904 AC_ARG_WITH(gnutls, [ --without-gnutls disable GNUTLS SSL support],
905 [if test "$with_gnutls" = no; then disable_gnutls=yes; fi])
906 AC_ARG_WITH(gnutls, [ --with-gnutls[=DIR] enable GNUTLS SSL support],
907 [if test "$with_gnutls" != no; then enable_gnutls=yes; fi])
908 gnutls_withval="$withval"
910 if test "$enable_gnutls" = yes; then
914 AC_ARG_WITH(openssl, [ --without-openssl disable OpenSSL support],
915 [if test "$with_openssl" = no; then disable_openssl=yes; fi])
916 AC_ARG_WITH(openssl, [ --with-openssl[=DIR] enable OpenSSL support (default)])
917 openssl_withval="$withval"
921 AC_MSG_CHECKING([for OpenSSL])
926 if test "$disable_openssl" = yes; then
929 for ssldir in "$openssl_withval" "" /usr /usr/local/openssl \
930 /usr/lib/openssl /usr/local/ssl \
931 /usr/local/www /usr/lib/ssl /usr/local \
932 /usr/pkg /opt /opt/openssl; do
933 if test "$cf_result" = no; then
934 if test -d "$ssldir"; then
935 OPENSSL_CFLAGS="-I$ssldir/include"
936 LIBS="-L$ssldir/lib -lssl -lcrypto $LIBS_X"
937 CFLAGS="$CFLAGS_X $OPENSSL_CFLAGS"
938 CPPFLAGS="$CPPFLAGS_X $OPENSSL_CFLAGS"
939 # # FIXME: This created serious portability problems. --pasky
940 # if test "$CC" == "gcc"; then
941 # # I'm not sure about compatibility here. --pasky
942 # LIBS="$LIBS -R$ssldir/lib"
945 LIBS="-lssl -lcrypto $LIBS_X"
947 AC_TRY_LINK([#include <openssl/ssl.h>],
948 [OpenSSL_add_all_algorithms()],
949 cf_result=yes, cf_result=no)
950 if test "$cf_result" != yes; then
951 AC_TRY_LINK([#include <openssl/ssl.h>],
952 [SSLeay_add_ssl_algorithms()],
953 cf_result=yes, cf_result=no)
958 if test "$cf_result" != yes; then
959 if test -n "$openssl_withval" && test "x$openssl_withval" != xno; then
960 AC_MSG_ERROR([OpenSSL not found])
964 EL_CONFIG(CONFIG_OPENSSL, [OpenSSL])
967 AC_SUBST(OPENSSL_CFLAGS)
971 AC_MSG_RESULT($cf_result)
973 CONFIG_GNUTLS_OPENSSL_COMPAT=no
975 dnl We can't have AC_MSG_CHECKING here, because AC_PATH_PROG prints its own and
976 dnl it looks ugly then.
978 if test "$cf_result" = yes; then
985 if test -z "$disable_gnutls"; then
986 # Sure, we maybe _could_ use their macro, but how to ensure
987 # that the ./configure script won't fail if the macro won't be
988 # found..? :( --pasky
990 GNUTLS_PATH="$PATH:/usr/local/gnutls:/opt:/opt/gnutls"
992 if test -d "$gnutls_withval"; then
993 GNUTLS_PATH="$gnutls_withval:$GNUTLS_PATH"
996 AC_PATH_PROG(LIBGNUTLS_CONFIG, libgnutls-config, no, $GNUTLS_PATH)
998 if test "$LIBGNUTLS_CONFIG" = "no" ; then
1001 GNUTLS_CFLAGS=`$LIBGNUTLS_CONFIG --cflags`
1002 GNUTLS_LIBS=`$LIBGNUTLS_CONFIG --libs`
1004 LIBS="$GNUTLS_LIBS $LIBS_X"
1005 CFLAGS="$CFLAGS_X $GNUTLS_CFLAGS"
1006 CPPFLAGS="$CPPFLAGS_X $GNUTLS_CFLAGS"
1008 # Verify if it's really usable. gnutls_session was
1009 # renamed to gnutls_session_t before GNU TLS 1.2.0
1010 # (on 2004-06-13); ELinks now requires this.
1011 AC_TRY_LINK([#include <gnutls/gnutls.h>],
1012 [gnutls_session_t dummy;
1013 gnutls_check_version(NULL)],
1014 cf_result=yes, cf_result=no)
1017 if test "$cf_result" = yes; then
1018 EL_CONFIG(CONFIG_GNUTLS, [GNUTLS])
1021 AC_SUBST(GNUTLS_CFLAGS)
1023 # Verify if the MD5 compatibility layer is usable.
1024 CONFIG_GNUTLS_OPENSSL_COMPAT=yes
1025 EL_CHECK_OPTIONAL_LIBRARY(CONFIG_GNUTLS_OPENSSL_COMPAT,
1026 [GNU TLS OpenSSL compatibility],
1027 gnutls/openssl.h, gnutls-openssl,
1030 if test -n "$gnutls_withval" && test "x$gnutls_withval" != xno; then
1031 AC_MSG_ERROR([GNUTLS (1.2 or later) not found. ELinks no longer supports GNUTLS 1.1.])
1038 AC_MSG_CHECKING([for GNU TLS (1.2 or later)])
1039 AC_MSG_RESULT($cf_result)
1043 EL_CONFIG_DEPENDS(CONFIG_SSL, [CONFIG_OPENSSL CONFIG_GNUTLS], [SSL])
1044 AC_SUBST(CONFIG_GNUTLS_OPENSSL_COMPAT)
1045 AC_SUBST(CONFIG_OPENSSL)
1046 AC_SUBST(CONFIG_GNUTLS)
1050 AC_MSG_CHECKING([whether to be or not to be])
1051 AC_MSG_RESULT([needs to be determined experimentally])
1053 dnl ===================================================================
1054 dnl Check for IPv6 support and related functions.
1055 dnl ===================================================================
1057 EL_CHECK_NET_TYPE(struct sockaddr_storage, HAVE_SA_STORAGE, [])
1058 EL_CHECK_NET_TYPE(struct sockaddr_in6, HAVE_SA_IN6, [#include <netinet/in.h>])
1059 EL_CHECK_NET_TYPE(struct addrinfo, HAVE_ADDRINFO, [#include <netdb.h>])
1061 AC_CHECK_FUNC(getaddrinfo, HAVE_GETADDRINFO=yes, HAVE_GETADDRINFO=no)
1062 if test "$HAVE_GETADDRINFO" != yes; then
1063 AC_CHECK_LIB(inet6, getaddrinfo, HAVE_GETADDRINFO=yes, HAVE_GETADDRINFO=no)
1064 if test "$HAVE_GETADDRINFO" = yes; then
1065 LIBS="$LIBS -linet6"
1070 dnl ===================================================================
1071 dnl Checking for X11 (window title restoring).
1072 dnl ===================================================================
1075 if test x"$no_x" != xyes; then
1076 if test -n "$x_includes"; then
1077 X_CFLAGS="-I$x_includes"
1078 CPPFLAGS="$CPPFLAGS -I$x_includes"
1080 if test -n "$x_libraries"; then
1081 LDFLAGS="$LDFLAGS -L$x_libraries"
1084 EL_DEFINE(HAVE_X11, [X11 for restoring window titles])
1089 dnl ===================================================================
1090 dnl Backtraces displaying support.
1091 dnl ===================================================================
1093 AC_CHECK_HEADERS(execinfo.h, HAVE_EXECINFO=yes, HAVE_EXECINFO=no)
1094 # possible checks for other system-specific means go here
1097 dnl ===================================================================
1098 dnl SMB protocol support.
1099 dnl ===================================================================
1101 AC_CHECK_PROG(HAVE_SMBCLIENT, smbclient, yes, no)
1104 dnl ===================================================================
1105 dnl Gettext grey zone. Beware.
1106 dnl ===================================================================
1108 ALL_LINGUAS="be bg ca cs da de el es et fi fr gl hr hu id is it lt nl nb pl pt pt_BR ro ru sk sr sv tr uk"
1112 dnl AC_MSG_CHECKING([how many characters your English alphabet has])
1113 dnl # f33r d4 l33t... I hope it's portable. :)
1114 dnl cf_result=$((48#z - 48#a + 1));
1115 dnl AC_MSG_RESULT($cf_result)
1118 dnl ===================================================================
1119 dnl Compile-time features control
1120 dnl ===================================================================
1122 EL_ARG_ENABLE(CONFIG_COOKIES, cookies, [Cookies],
1123 [ --disable-cookies disable cookie support])
1125 EL_ARG_ENABLE(CONFIG_FORMHIST, formhist, [Form history],
1126 [ --disable-formhist disable form history support])
1128 EL_ARG_ENABLE(CONFIG_GLOBHIST, globhist, [Global history],
1129 [ --disable-globhist disable global history support])
1132 EL_ARG_ENABLE(CONFIG_MAILCAP, mailcap, [Mailcap],
1133 [ --disable-mailcap disable mailcap support])
1135 EL_ARG_ENABLE(CONFIG_MIMETYPES, mimetypes, [Mimetypes files],
1136 [ --disable-mimetypes disable mimetypes files support])
1139 EL_ARG_DEPEND(CONFIG_IPV6, ipv6,
1140 [HAVE_SA_STORAGE:yes HAVE_SA_IN6:yes HAVE_ADDRINFO:yes HAVE_GETADDRINFO:yes],
1142 [ --disable-ipv6 disable IPv6 support])
1144 EL_ARG_ENABLE(CONFIG_BITTORRENT, bittorrent, [BitTorrent protocol],
1145 [ --enable-bittorrent enable BitTorrent protocol support])
1147 EL_ARG_ENABLE(CONFIG_DATA, data, [Data protocol],
1148 [ --disable-data disable data protocol support])
1150 EL_ARG_ENABLE(CONFIG_URI_REWRITE, uri-rewrite, [URI rewriting],
1151 [ --disable-uri-rewrite disable URI rewrite support])
1153 EL_ARG_DEPEND(CONFIG_CGI, cgi, [HAVE_SETENV_OR_PUTENV:yes], [Local CGI],
1154 [ --enable-cgi enable local CGI support])
1156 EL_ARG_ENABLE(CONFIG_FINGER, finger, [Finger protocol],
1157 [ --enable-finger enable finger protocol support])
1159 dnl ===================================================================
1161 dnl ===================================================================
1164 if test "x${enable_fsp}" != xno; then
1165 AC_CHECK_HEADERS(fsplib.h, HAVE_FSPLIB=yes, HAVE_FSPLIB=no)
1167 if test "$HAVE_FSPLIB" = yes; then
1168 AC_CHECK_LIB(fsplib, fsp_open_session, HAVE_FSPLIB=yes, HAVE_FSPLIB=no)
1169 if test "$HAVE_FSPLIB" = yes; then
1170 LIBS="$LIBS -lfsplib"
1172 AC_CHECK_LIB(fsp, fsp_open_session, HAVE_FSPLIB=yes, HAVE_FSPLIB=no)
1173 if test "$HAVE_FSPLIB" = yes; then
1180 EL_ARG_DEPEND(CONFIG_FSP, fsp, [HAVE_FSPLIB:yes], [FSP protocol],
1181 [ --enable-fsp enable FSP protocol support])
1183 if test "x$CONFIG_FSP" = xno; then
1187 EL_ARG_ENABLE(CONFIG_FTP, ftp, [FTP protocol],
1188 [ --disable-ftp disable ftp protocol support])
1190 EL_ARG_ENABLE(CONFIG_GOPHER, gopher, [Gopher protocol],
1191 [ --enable-gopher enable gopher protocol support])
1193 EL_ARG_ENABLE(CONFIG_NNTP, nntp, [NNTP protocol],
1194 [ --enable-nntp enable nntp protocol support])
1196 EL_ARG_DEPEND(CONFIG_SMB, smb, [HAVE_SMBCLIENT:yes], [SMB protocol],
1197 [ --disable-smb disable SMB protocol support (requires smbclient)])
1200 EL_ARG_ENABLE(CONFIG_MOUSE, mouse, [Mouse handling],
1201 [ --disable-mouse disable mouse support])
1203 # GPM mouse is Linux specific, so ...
1205 EL_ARG_DEPEND(CONFIG_SYSMOUSE, sysmouse,
1206 [CONFIG_MOUSE:yes CONFIG_GPM:no HAVE_SYSMOUSE_HEADER:yes],
1208 [ --disable-sysmouse disable BSD sysmouse support])
1210 EL_ARG_ENABLE(CONFIG_88_COLORS, 88-colors, [88 colors],
1211 [ --enable-88-colors enable 88 color support])
1213 EL_ARG_ENABLE(CONFIG_256_COLORS, 256-colors, [256 colors],
1214 [ --enable-256-colors enable 256 color support])
1217 EL_ARG_ENABLE(CONFIG_EXMODE, exmode, [Exmode interface],
1218 [ --enable-exmode enable exmode (CLI) interface])
1220 EL_ARG_ENABLE(CONFIG_LEDS, leds, [LEDs],
1221 [ --disable-leds disable LEDs support])
1223 EL_ARG_ENABLE(CONFIG_MARKS, marks, [Marks],
1224 [ --disable-marks disable document marks support])
1227 EL_ARG_ENABLE(CONFIG_CSS, css, [Cascading Style Sheets],
1228 [ --disable-css disable Cascading Style Sheet support])
1230 EL_ARG_DEPEND(CONFIG_HTML_HIGHLIGHT, html-highlight, [CONFIG_CSS:yes], [HTML highlighting],
1231 [ --enable-html-highlight HTML highlighting using DOM engine])
1233 dnl Everything in the tree already uses CONFIG_DOM
1234 dnl so resolve CONFIG_HTML_HIGHLIGHT to CONFIG_DOM
1235 EL_CONFIG_DEPENDS(CONFIG_DOM, [CONFIG_HTML_HIGHLIGHT], [DOM engine])
1237 EL_ARG_DEPEND(CONFIG_BACKTRACE, backtrace, [HAVE_EXECINFO:yes], [Backtrace],
1238 [ --disable-backtrace disable backtrace support])
1240 EL_ARG_DEPEND(CONFIG_NO_ROOT_EXEC, no-root, [HAVE_GETUID:yes HAVE_GETEUID:yes], [No root exec],
1241 [ --enable-no-root enable prevention of usage by root])
1244 EL_ARG_ENABLE(CONFIG_DEBUG, debug, [Debug mode],
1245 [ --enable-debug enable leak debug and internal error checking])
1247 EL_ARG_DEPEND(CONFIG_FASTMEM, fastmem, [CONFIG_DEBUG:no], [Fast mode],
1248 [ --enable-fastmem enable direct use of system allocation functions, not usable with --enable-debug])
1250 EL_ARG_ENABLE(CONFIG_OWN_LIBC, own-libc, [Own libc stubs],
1251 [ --enable-own-libc force use of internal functions instead of those of system libc])
1253 EL_ARG_ENABLE(CONFIG_SMALL, small, [Small binary],
1254 [ --enable-small reduce binary size as far as possible (but see the bottom of doc/small.txt!)])
1256 AC_ARG_ENABLE(weehoofooboomookerchoo,
1258 Also check out the features.conf file for more information about features!
1260 [AC_MSG_ERROR(Are you strange, or what?)])
1265 test "$CONFIG_OS_OS2" = yes && LDFLAGS="$LDFLAGS -Zexe"
1266 test "$CONFIG_OS_OS2" = yes && LDFLAGS=`echo "$LDFLAGS" | sed "s/-Zbin-files//g"`
1269 dnl ===================================================================
1270 dnl Export directory paths
1271 dnl ===================================================================
1273 # Set up the ``entry points'' if they were not supplied by builder
1274 test "x$prefix" = xNONE && prefix=$ac_default_prefix
1275 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
1277 # Create CONFDIR #define for config.h
1279 # XXX: This may be dependent on a particular version of autoconf. Whatever,
1280 # it's autoconf fault to force us to do such hacks ;p.
1281 if test x"$sysconfdir" = x"\${prefix}/etc"; then
1282 # sysconfdir is set to its default value... fine, let's append /elinks/
1283 # XXX: We can't modify listing of the default in ./configure --help :-(
1284 sysconfdir_n=`eval echo "$sysconfdir"`
1285 sysconfdir=$sysconfdir_n
1286 (echo "$sysconfdir" | grep elinks >/dev/null 2>/dev/null) || \
1287 sysconfdir="$sysconfdir/elinks"
1291 AC_DEFINE_UNQUOTED(CONFDIR, "$CONFDIR", [Directory containing default config])
1294 # Create LOCALEDIR #define for config.h
1295 LOCALEDIR=`eval echo "$datadir/locale"`
1296 AC_DEFINE_UNQUOTED(LOCALEDIR, "$LOCALEDIR", [Directory containing locales])
1299 # Create LIBDIR #define for config.h
1300 LIBDIR=`eval echo "$libdir"`
1301 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [Directory containing libraries])
1304 EL_LOG_CONFIG(CONFDIR, [System configuration directory], [])
1305 EL_LOG_CONFIG(LOCALEDIR, [Locale catalogs directory], [])
1307 dnl ===================================================================
1308 dnl A little fine tuning of gcc specific options (continued)
1309 dnl ===================================================================
1311 if test "x$ac_cv_prog_gcc" = "xyes"; then
1312 if test "$CONFIG_DEBUG" = "yes"; then
1313 dnl We want to see all warnings and live with none (in debug mode).
1314 CFLAGS="$CFLAGS -Werror"
1317 case "`$CC -dumpversion`" in
1319 # These should be ok using -Werror
1322 # If gcc is version 3.3 (or higher?) it emits lots of false positive
1323 # "dereferencing type-punned pointer will break strict-aliasing rules"
1324 # warnings. Disable them by not doing any strict-aliasing. The
1325 # alternative is just too ugly. Thanks gcc guys!! ;)
1326 CFLAGS="$CFLAGS -fno-strict-aliasing"
1329 # Do not show warnings related to (char * | unsigned char *) type
1331 CFLAGS="$CFLAGS -fno-strict-aliasing -Wno-pointer-sign"
1334 # These should be ok using -Werror
1339 # CFLAGS doesn't contain all compile flags. Some will be added only when
1340 # needed in the respective source directory. To get all compile flags
1341 # easily just add CPPFLAGS.
1342 ALL_CFLAGS="$CFLAGS $CPPFLAGS"
1344 EL_LOG_CONFIG(ALL_CFLAGS, [Compiler options (CFLAGS)], [])
1345 EL_LOG_CONFIG(LIBS, [Linker options (LIBS)], [])
1347 dnl ===================================================================
1348 dnl Colored make output
1349 dnl ===================================================================
1351 if test $(`which tput` colors) -ge 4; then
1353 AC_SUBST(MAKE_COLOR)
1356 dnl ===================================================================
1358 dnl ===================================================================
1362 contrib/elinks.spec \
1363 contrib/lua/hooks.lua \
1364 contrib/conv/w3m2links.awk \
1365 doc/man/man1/elinks.1 \
1366 src/intl/gettext/ref-add.sed \
1367 src/intl/gettext/ref-del.sed
1370 abs_srcdir="$(cd "$srcdir" && pwd)"
1371 # builddir is always absolute!
1372 if test "$abs_srcdir" != "$builddir"; then
1373 # Bootstrap the Makefile creation
1374 echo "include $abs_srcdir/Makefile" > "$builddir/Makefile"
1375 "$MAKE" "SRC=$abs_srcdir" init
1377 # Make cg-status ignore this build directory
1378 echo "*" > "$builddir/.gitignore"
1381 dnl ===================================================================
1382 dnl Configuration summary
1383 dnl ===================================================================
1385 AC_MSG_RESULT(The following feature summary has been saved to features.log)