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 2>/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 Tools])
103 EL_CONFIG_DEPENDS(CONFIG_MANUAL, [MANUAL_ASCIIDOC MANUAL_XMLTO MANUAL_JW], [Manual Formats])
104 EL_CONFIG_DEPENDS(CONFIG_MANPAGE, [MAN_ASCIIDOC MAN_XMLTO], [Man Page Formats])
106 dnl gcc specific options (to be continued at the bottom of configure)
107 if test "x$ac_cv_prog_gcc" = "xyes"; then
108 dnl We want to see all warnings and live with none.
109 dnl We can't set up -Werror here as there may be some warnings in test
110 dnl suite of configure, and we don't want to fail them.
111 CFLAGS="$CFLAGS -Wall"
114 dnl ===================================================================
115 dnl Checks for special OSes.
116 dnl ===================================================================
118 dnl EL_CHECK_COMPILER_MACRO(define, name, flagname)
119 AC_DEFUN([EL_CHECK_COMPILER_MACROS],
121 AC_MSG_CHECKING([for $2])
124 AC_TRY_COMPILE(, [#ifndef $flag
126 #endif ], $1=yes, $1=no)
127 if test "[$]$1" = yes; then
128 EL_CONFIG([$1], [$2])
136 EL_CHECK_COMPILER_MACROS(CONFIG_OS_BEOS, [BEOS], [__BEOS__])
137 AC_SUBST(CONFIG_OS_BEOS)
139 EL_CHECK_COMPILER_MACROS(CONFIG_OS_RISCOS, [RISCOS], [__riscos__])
140 AC_SUBST(CONFIG_OS_RISCOS)
142 EL_CHECK_COMPILER_MACROS(CONFIG_OS_WIN32, [WIN32], [_WIN32 __WIN32__])
143 AC_SUBST(CONFIG_OS_WIN32)
145 EL_CHECK_COMPILER_MACROS(CONFIG_OS_OS2, [EMX], [__EMX__])
146 AC_SUBST(CONFIG_OS_OS2)
147 test "$CONFIG_OS_OS2" = yes && LDFLAGS=`echo "$LDFLAGS" | sed "s/-Zexe//g"`
149 AC_MSG_CHECKING([for UNIX])
150 dnl FIXME: some depend kind of mechanism
151 if test "$CONFIG_OS_BEOS" = no && \
152 test "$CONFIG_OS_RISCOS" = no && \
153 test "$CONFIG_OS_WIN32" = no && \
154 test "$CONFIG_OS_OS2" = no; then
155 EL_CONFIG(CONFIG_OS_UNIX, [UNIX])
159 AC_MSG_RESULT($CONFIG_OS_UNIX)
160 AC_SUBST(CONFIG_OS_UNIX)
162 dnl ===================================================================
163 dnl Checks for header files.
164 dnl ===================================================================
171 AC_CHECK_HEADERS(wctype.h)
172 AC_CHECK_HEADERS(fcntl.h limits.h time.h unistd.h)
173 AC_CHECK_HEADERS(sigaction.h)
174 AC_CHECK_HEADERS(arpa/inet.h)
175 AC_CHECK_HEADERS(netinet/in_systm.h netinet/in_system.h netinet/ip.h)
176 AC_CHECK_HEADERS(net/if.h netdb.h netinet/in.h netinet/in6_var.h)
177 AC_CHECK_HEADERS(ifaddrs.h)
178 AC_CHECK_HEADERS(sys/cygwin.h io.h)
179 AC_CHECK_HEADERS(sys/fmutex.h)
180 AC_CHECK_HEADERS(sys/ioctl.h sys/sockio.h)
181 AC_CHECK_HEADERS(sys/resource.h)
182 AC_CHECK_HEADERS(sys/select.h)
183 AC_CHECK_HEADERS(sys/signal.h)
184 AC_CHECK_HEADERS(sys/socket.h)
185 AC_CHECK_HEADERS(sys/time.h)
186 AC_CHECK_HEADERS(sys/utsname.h)
187 AC_CHECK_HEADERS(stdint.h inttypes.h)
188 AC_CHECK_HEADERS(locale.h pwd.h)
189 AC_CHECK_HEADERS(termios.h)
192 AC_CHECK_HEADERS(sys/un.h,
193 [CONFIG_INTERLINK=yes
194 EL_CONFIG([CONFIG_INTERLINK], [interlinking])],
195 [CONFIG_INTERLINK=no])
196 AC_SUBST(CONFIG_INTERLINK)
198 dnl ===================================================================
199 dnl Checks for typedefs, structures, and compiler characteristics.
200 dnl ===================================================================
205 EL_CHECK_CODE(typeof, HAVE_TYPEOF, [], [int a; typeof(a) b;])
210 EL_CHECK_TYPE(ssize_t, int)
211 EL_CHECK_SYS_TYPE(long long, HAVE_LONG_LONG, [])
212 EL_CHECK_SYS_TYPE(off_t, HAVE_OFF_T, [])
213 EL_CHECK_INT_TYPE(int32_t, HAVE_INT32_T)
214 EL_CHECK_INT_TYPE(uint32_t, HAVE_UINT32_T)
215 EL_CHECK_INT_TYPE(uint16_t, HAVE_UINT16_T)
217 AC_CHECK_SIZEOF(char, 1)
218 AC_CHECK_SIZEOF(short, 2)
219 AC_CHECK_SIZEOF(int, 4)
220 AC_CHECK_SIZEOF(long, 4)
221 test "x$HAVE_LONG_LONG" = xyes && AC_CHECK_SIZEOF(long long, 8)
222 test "x$HAVE_OFF_T" = xyes && AC_CHECK_SIZEOF(off_t, 4)
224 dnl Check for variadic macros
225 EL_CHECK_CODE([variadic macros], HAVE_VARIADIC_MACROS,
227 #define a(b,c...) printf(b,##c)],
228 [a("foo");a("%s","bar");a("%s%s","baz","quux");])
230 dnl Check for -rdynamic
231 dnl FIXME: This check doesn't work. Something to do with the compiler
232 dnl happily ignoring it and stderr not being checked for error messages.
233 AC_MSG_CHECKING([for -rdynamic])
235 LDFLAGS="$LDFLAGS -rdynamic"
236 AC_TRY_LINK([], [], have_rdynamic=yes, have_rdynamic=no)
237 test "$have_rdynamic" = no && LDFLAGS="$LDFLAGS_X"
238 AC_MSG_RESULT($have_rdynamic)
240 dnl ===================================================================
241 dnl Check for POSIX <regex.h>
242 dnl ===================================================================
244 EL_CHECK_SYS_TYPE(regex_t, HAVE_REGEX_H, [#include <regex.h>])
246 dnl ===================================================================
247 dnl Checks for library functions.
248 dnl ===================================================================
250 AC_PROG_GCC_TRADITIONAL
254 AC_CHECK_FUNCS(cfmakeraw gethostbyaddr herror strerror)
255 AC_CHECK_FUNCS(popen uname access chmod alarm timegm mremap)
256 AC_CHECK_FUNCS(strcasecmp strncasecmp strcasestr strstr strchr strrchr)
257 AC_CHECK_FUNCS(memmove bcopy stpcpy strdup index isdigit mempcpy memrchr)
258 AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf)
259 AC_CHECK_FUNCS(getifaddrs getpwnam inet_pton inet_ntop)
260 AC_CHECK_FUNCS(fflush fsync fseeko ftello sigaction)
261 AC_CHECK_FUNCS(gettimeofday clock_gettime)
263 AC_HAVE_FUNCS(cygwin_conv_to_full_win32_path)
265 AC_CHECK_FUNCS(setenv putenv, HAVE_SETENV_OR_PUTENV=yes)
266 AC_CHECK_FUNCS(getuid, HAVE_GETUID=yes)
267 AC_CHECK_FUNCS(geteuid, HAVE_GETEUID=yes)
269 dnl These aren't probably needed now, as they are commented in links.h.
270 dnl I've no idea about their historical background, but I keep them here
271 dnl just in the case they will help later. --pasky
272 AC_CHECK_FUNCS(getpid, HAVE_GETPID=yes)
273 AC_CHECK_FUNCS(setpgid getpgid setpgrp getpgrp)
274 AC_CHECK_FUNCS(raise, HAVE_RAISE=yes)
275 AC_CHECK_FUNCS(kill, HAVE_KILL=yes)
277 if test x"$HAVE_RAISE" = x; then
278 if test x"$HAVE_KILL" = x || test x"$HAVE_GETPID" = x; then
279 AC_ERROR([Unable to emulate raise()])
283 AC_CACHE_CHECK([for __va_copy],el_cv_HAVE_VA_COPY,[
284 AC_TRY_LINK([#include <stdarg.h>
285 va_list ap1,ap2;], [__va_copy(ap1,ap2);],
286 el_cv_HAVE_VA_COPY=yes,el_cv_HAVE_VA_COPY=no)])
287 if test x"$el_cv_HAVE_VA_COPY" = x"yes"; then
288 EL_DEFINE(HAVE_VA_COPY, __va_copy)
291 AC_CACHE_CHECK([for sysconf(_SC_PAGE_SIZE)],el_cv_HAVE_SC_PAGE_SIZE,[
292 AC_TRY_LINK([#include <unistd.h>
293 ], [int page_size = sysconf(_SC_PAGE_SIZE);],
294 el_cv_HAVE_SC_PAGE_SIZE=yes,el_cv_HAVE_SC_PAGE_SIZE=no)])
295 if test x"$el_cv_HAVE_SC_PAGE_SIZE" = x"yes"; then
296 EL_DEFINE(HAVE_SC_PAGE_SIZE, _SC_PAGE_SIZE)
299 AC_CACHE_CHECK([for C99 vsnprintf],el_cv_HAVE_C99_VSNPRINTF,[
308 int bar(char *buf, const char *format, va_list ap)
310 return vsnprintf(buf, 0, format, ap);
313 void foo(const char *format, ...) {
317 va_start(ap, format);
318 len = bar(buf, format, ap);
320 if ((len != 6) && (len != 7)) exit(1); /* \n -> \r\n */
322 va_start(ap, format);
323 len = bar(buf, format, ap);
325 if ((len != 6) && (len != 7)) exit(1);
327 if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1);
331 main() { foo("hello\n"); }
333 el_cv_HAVE_C99_VSNPRINTF=yes,el_cv_HAVE_C99_VSNPRINTF=no,el_cv_HAVE_C99_VSNPRINTF=cross)])
334 if test x"$el_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
335 EL_DEFINE(HAVE_C99_VSNPRINTF, [C99 compliant vsnprintf()])
338 AC_CHECK_LIB(dl, dlopen) # OpenSSL and Lua frequently needs it
340 dnl ===================================================================
341 dnl Checks for libraries.
342 dnl ===================================================================
344 dnl Replace `main' with a function in -lsocket:
345 AC_CHECK_FUNC(socket, cf_result=yes, cf_result=no)
346 if test "$cf_result" = no; then
347 AC_CHECK_LIB(socket, socket)
350 AC_CHECK_FUNC(setsockopt, cf_result=yes, cf_result=no)
351 if test "$cf_result" = no; then
352 AC_CHECK_LIB(socket, setsockopt)
355 AC_CHECK_FUNC(gethostbyname, cf_result=yes, cf_result=no)
356 if test "$cf_result" = no; then
357 AC_CHECK_LIB(socket, gethostbyname, cf_result=yes, cf_result=no)
358 if test "$cf_result" = no; then
359 AC_CHECK_LIB(nsl, gethostbyname)
361 test -z "`echo $LIBS | grep -- -lsocket`" && LIBS="$LIBS -lsocket"
365 dnl ===================================================================
366 dnl Checks for packaging specific options.
367 dnl ===================================================================
369 AC_ARG_WITH(xterm, [ --with-xterm how to invoke the X terminal emulator],
370 [ if test "$withval" != no && test "$withval" != yes; then
371 AC_DEFINE_UNQUOTED(XTERM, "$withval", [How to invoke XTerm])
374 dnl ===================================================================
375 dnl Checks for a libraries, optional even if installed.
376 dnl ===================================================================
378 dnl EL_CHECK_OPTIONAL_LIBRARY(define, name, header, lib, function)
379 AC_DEFUN([EL_CHECK_OPTIONAL_LIBRARY],
381 AC_MSG_CHECKING([for $2 support])
383 if test "[$]$1" != no; then
386 if test -n "$withval" && test -d "$withval"; then
387 # Be a little more careful when setting
388 # include and lib directories. This way
389 # $withval will work when includes are
390 # there but the library is in the common
391 # /usr/lib ... Does the right thing when
392 # looking for gc on Debian.
393 if test -d "$withval/include"; then
394 CFLAGS="$CFLAGS -I$withval/include"
395 CPPFLAGS="$CPPFLAGS -I$withval/include"
397 CFLAGS="$CFLAGS -I$withval"
398 CPPFLAGS="$CPPFLAGS -I$withval"
400 if test -d "$withval/lib"; then
401 LDFLAGS="$LDFLAGS -L$withval/lib"
405 AC_CHECK_HEADERS([$3], [$1=yes], [$1=no; break;])
406 if test "[$]$1" = yes; then
407 AC_CHECK_LIB([$4], [$5], [$1=yes], [$1=no])
410 if test "[$]$1" = yes; then
411 EL_CONFIG([$1], [$2])
414 if test -n "[$]WITHVAL_$1" &&
415 test "[$]WITHVAL_$1" != xno; then
416 AC_MSG_ERROR([$2 not found])
421 AC_MSG_RESULT(disabled)
425 dnl EL_CONFIG_OPTIONAL_LIBRARY(define, name, header, lib, function, confhelp)
426 AC_DEFUN([EL_CONFIG_OPTIONAL_LIBRARY],
431 AC_ARG_WITH([$2], [$6], [WITHVAL_$1="[$]withval"])
432 if test "x[$]WITHVAL_$1" = xno; then $1=no; fi
434 EL_CHECK_OPTIONAL_LIBRARY([$1], [$2], [$3], [$4], [$5])
436 EL_LOG_CONFIG([$1], [$2], [])
439 EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_GPM, gpm, gpm.h, gpm, Gpm_Open,
440 [ --without-gpm disable gpm (mouse) support])
442 EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_GZIP, zlib, zlib.h, z, gzdopen,
443 [ --without-zlib disable zlib support])
445 EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_BZIP2, bzlib, bzlib.h, bz2, BZ2_bzReadOpen,
446 [ --without-bzlib disable bzlib support])
448 EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_IDN, idn, idna.h, idn, stringprep_check_version,
449 [ --without-idn disable international domain names support])
451 if test "x{with_gc}" != xno; then
452 EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_GC, gc, gc.h, gc, GC_init,
453 [ --with-gc enable Boehm's garbage collector])
456 EL_ARG_ENABLE(CONFIG_LZMA, lzma, [lzma],
457 [ --enable-lzma enable lzma encoding support])
458 dnl ===================================================================
459 dnl Check for GSSAPI, optional even if installed.
460 dnl ===================================================================
464 AC_ARG_WITH(gssapi, [ --with-gssapi enable GSSAPI support],
465 [ if test "x$withval" != xno; then enable_gssapi=yes; fi ])
467 AC_MSG_CHECKING([for GSSAPI])
469 if test "$enable_gssapi" = "yes"; then
471 GSSAPI_CFLAGS=`krb5-config --cflags gssapi`
472 GSSAPI_LIBS=`krb5-config --libs gssapi`
473 CFLAGS="$GSSAPI_CFLAGS $CFLAGS"
474 LIBS="$GSSAPI_LIBS $LIBS"
475 EL_CONFIG(CONFIG_GSSAPI, [GssApi])
480 AC_SUBST(CONFIG_GSSAPI)
482 dnl ===================================================================
483 dnl Bookmark and XBEL support
484 dnl ===================================================================
488 EL_ARG_ENABLE(CONFIG_BOOKMARKS, bookmarks, [Bookmarks],
489 [ --disable-bookmarks disable bookmark support])
491 # Check whether --enable-xbel or --disable-xbel was given.
492 if test "x${enable_xbel}" != xno; then
493 AC_CHECK_HEADERS(expat.h, HAVE_LIBEXPAT=yes, HAVE_LIBEXPAT=no)
495 if test "$HAVE_LIBEXPAT" = yes; then
496 AC_CHECK_LIB(expat, XML_ParserCreate, HAVE_LIBEXPAT=yes, HAVE_LIBEXPAT=no)
497 if test "$HAVE_LIBEXPAT" = yes; then
504 EL_ARG_DEPEND(CONFIG_XBEL_BOOKMARKS, xbel, [CONFIG_BOOKMARKS:yes HAVE_LIBEXPAT:yes],
506 [ --disable-xbel disable XBEL bookmark support (requires expat)])
508 if test "$CONFIG_XBEL_BOOKMARKS" != yes; then
512 dnl ===================================================================
513 dnl Checks for BSD sysmouse
514 dnl ===================================================================
516 HAVE_SYSMOUSE_HEADER="no"
518 # Either of these header files provides the (same) sysmouse interface
519 AC_CHECK_HEADERS(sys/consio.h machine/console.h, [HAVE_SYSMOUSE_HEADER="yes"])
521 dnl ===================================================================
523 dnl ===================================================================
525 if test "$CONFIG_OS_OS2" = yes; then
529 dnl ===================================================================
531 dnl ===================================================================
533 if test "$CONFIG_OS_WIN32" = yes; then
537 dnl ===================================================================
538 dnl Check for SEE (Simple Ecmascript Engine)
539 dnl ===================================================================
540 AC_ARG_WITH(see, [ --with-see enable Simple Ecmascript Engine (SEE) support],
541 [ if test "x$withval" != xno; then enable_see=yes; fi ])
543 # The following is probably bad, ugly and so on. Stolen from Guile's (1.4)
544 # SEE_FLAGS but I really don't want to require people to have Guile in order
545 # to compile CVS. Also, the macro seems to be really stupid regarding searching
546 # for Guile in $PATH etc. --pasky
548 AC_MSG_CHECKING([for SEE])
550 CONFIG_ECMASCRIPT_SEE=no
552 if test "$enable_see" = "yes"; then
554 ## Based on the SEE_FLAGS macro.
556 if test -d "$withval"; then
557 SEE_PATH="$withval:$PATH"
562 AC_PATH_PROG(SEE_CONFIG, libsee-config, no, $SEE_PATH)
564 ## First, let's just see if we can find Guile at all.
565 if test "$SEE_CONFIG" != no; then
568 SEE_LIBS="`$SEE_CONFIG --libs`"
569 SEE_CFLAGS="`$SEE_CONFIG --cppflags`"
570 LIBS="$SEE_LIBS $LIBS"
571 CPPFLAGS="$CPPFLAGS $SEE_CFLAGS"
572 EL_CONFIG(CONFIG_ECMASCRIPT_SEE, [SEE])
575 if test -n "$withval" && test "x$withval" != xno; then
576 AC_MSG_ERROR([SEE not found])
578 AC_MSG_WARN([SEE support disabled])
586 dnl ===================================================================
587 dnl Check for SpiderMonkey, optional even if installed.
588 dnl ===================================================================
590 AC_ARG_WITH(spidermonkey, [ --without-spidermonkey disable SpiderMonkey Mozilla JavaScript engine support],
591 [if test "$withval" = no; then disable_spidermonkey=yes; fi])
592 AC_MSG_CHECKING([for SpiderMonkey])
597 if test -z "$disable_spidermonkey"; then
598 if test ! -d "$withval"; then
601 for spidermonkeydir in "$withval" "" /usr /usr/local /opt/spidermonkey /opt/js; do
602 for spidermonkeyinclude in "/include" "/include/js" "/include/smjs" "/include/mozjs"; do
603 for spidermonkeylib in js smjs mozjs; do
604 if test "$cf_result" = no; then
605 SPIDERMONKEY_LIBS="-l$spidermonkeylib"
607 if test ! -z "$spidermonkeydir"; then
608 SPIDERMONKEY_LIBS="-L$spidermonkeydir/lib $SPIDERMONKEY_LIBS"
609 SPIDERMONKEY_CFLAGS="-I$spidermonkeydir$spidermonkeyinclude"
612 LIBS="$SPIDERMONKEY_LIBS $LIBS_X"
613 CFLAGS="$CFLAGS_X $SPIDERMONKEY_CFLAGS"
614 CPPFLAGS="$CPPFLAGS_X $SPIDERMONKEY_CFLAGS"
616 AC_TRY_LINK([#define XP_UNIX
618 [JS_GetImplementationVersion()],
619 cf_result=yes, cf_result=no)
626 AC_MSG_RESULT($cf_result)
627 CONFIG_SPIDERMONKEY="$cf_result"
630 if test "x$CONFIG_SPIDERMONKEY" = xyes &&
631 test "x$CONFIG_ECMASCRIPT_SEE" != xyes; then
632 EL_CONFIG(CONFIG_ECMASCRIPT_SMJS, [SpiderMonkey document scripting])
634 CONFIG_ECMASCRIPT_SMJS=no
637 EL_CONFIG_DEPENDS(CONFIG_ECMASCRIPT, [CONFIG_ECMASCRIPT_SEE CONFIG_ECMASCRIPT_SMJS], [ECMAScript (JavaScript)])
638 AC_SUBST(CONFIG_ECMASCRIPT_SEE)
639 AC_SUBST(CONFIG_ECMASCRIPT_SMJS)
642 dnl ===================================================================
643 dnl Optional Spidermonkey-based ECMAScript browser scripting
644 dnl ===================================================================
646 AC_ARG_ENABLE(sm-scripting,
647 [ --disable-sm-scripting ECMAScript browser scripting (requires Spidermonkey)],
648 [if test "$enableval" != no; then enableval="yes"; fi
649 CONFIG_SCRIPTING_SPIDERMONKEY="$enableval";])
651 if test "x$CONFIG_SPIDERMONKEY" = xyes &&
652 test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then
653 EL_CONFIG(CONFIG_SCRIPTING_SPIDERMONKEY, [SpiderMonkey])
655 CONFIG_SCRIPTING_SPIDERMONKEY=no
658 if test "x$CONFIG_ECMASCRIPT_SMJS" = xyes ||
659 test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then
660 LIBS="$LIBS $SPIDERMONKEY_LIBS"
661 AC_SUBST(SPIDERMONKEY_LIBS)
662 AC_SUBST(SPIDERMONKEY_CFLAGS)
663 AC_SUBST(CONFIG_SPIDERMONKEY)
666 dnl ===================================================================
667 dnl Check for Guile, optional even if installed.
668 dnl ===================================================================
672 AC_ARG_WITH(guile, [ --with-guile enable Guile support],
673 [ if test "x$withval" != xno; then enable_guile=yes; fi ])
675 # The following is probably bad, ugly and so on. Stolen from Guile's (1.4)
676 # GUILE_FLAGS but I really don't want to require people to have Guile in order
677 # to compile CVS. Also, the macro seems to be really stupid regarding searching
678 # for Guile in $PATH etc. --pasky
680 AC_MSG_CHECKING([for Guile])
682 if test "$enable_guile" = "yes"; then
684 ## Based on the GUILE_FLAGS macro.
686 if test -d "$withval"; then
687 GUILE_PATH="$withval:$PATH"
692 AC_PATH_PROG(GUILE_CONFIG, guile-config, no, $GUILE_PATH)
694 ## First, let's just see if we can find Guile at all.
695 if test "$GUILE_CONFIG" != no; then
698 GUILE_LIBS="`guile-config link`"
699 GUILE_CFLAGS="`guile-config compile`"
700 LIBS="$GUILE_LIBS $LIBS"
701 CPPFLAGS="$CPPFLAGS $GUILE_CFLAGS"
702 EL_CONFIG(CONFIG_SCRIPTING_GUILE, [Guile])
703 AC_SUBST(GUILE_CFLAGS)
705 ***********************************************************************
706 The Guile support is incomplete and not so well integrated to ELinks
707 yet. That means, e.g., that you have no Guile console and there might
708 not be all the necessary hooks. Also, the Guile interface is not too
709 well tested (success stories heartily welcomed!). See
710 src/scripting/guile/README for further details and hints.
711 ***********************************************************************
714 if test -n "$withval" && test "x$withval" != xno; then
715 AC_MSG_ERROR([Guile not found])
717 AC_MSG_WARN([Guile support disabled])
724 dnl ===================================================================
726 dnl ===================================================================
729 AC_ARG_WITH(perl, [ --with-perl enable Perl support],
731 if test "$withval" = yes; then
732 # FIXME: If withval is a valid directory append it to PATH
733 # so that you can specify one of several perl installations.
739 AC_MSG_CHECKING([for Perl])
745 if test "$enable_perl" = "yes"; then
746 PERL_LIBS="`perl -MExtUtils::Embed -e ldopts`"
747 PERL_CFLAGS="`perl -MExtUtils::Embed -e ccopts`"
748 LIBS="$PERL_LIBS $LIBS"
749 CFLAGS="$PERL_CFLAGS $CFLAGS"
750 CPPFLAGS="$CPPFLAGS $PERL_CFLAGS"
756 [PerlInterpreter *my_perl = perl_alloc();],
757 cf_result=yes, cf_result=no)
760 if test "$cf_result" != "yes"; then
763 EL_CONFIG(CONFIG_SCRIPTING_PERL, [Perl])
767 AC_SUBST(PERL_CFLAGS)
770 if test "$cf_result"; then AC_MSG_RESULT($cf_result); fi
771 dnl ===================================================================
773 dnl ===================================================================
776 AC_ARG_WITH(python, [ --with-python=[DIR] enable Python support],
777 [ if test "x$withval" != xno; then enable_python=yes; fi ])
782 AC_MSG_CHECKING([for Python])
784 if test "$enable_python" = "yes"; then
787 if test -d "$withval"; then
788 PYTHON_PATH="$withval:$PATH"
793 AC_PATH_PROG(PYTHON, python, no, $PYTHON_PATH)
795 if test "$PYTHON" != no; then
798 PYTHON_CFLAGS="`$PYTHON -c 'from distutils import sysconfig; print "-I%s -I%s" % (sysconfig.get_python_inc(), sysconfig.get_python_inc(plat_specific=True))'`"
799 PYTHON_LIBS="`$PYTHON -c 'from distutils import sysconfig; var = sysconfig.get_config_var; print "%s %s %s -L%s -lpython%s" % (var("LINKFORSHARED"), var("LIBS"), var("SYSLIBS"), var("LIBPL"), var("VERSION"))'`"
800 LIBS="$PYTHON_LIBS $LIBS"
801 CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS"
802 AC_TRY_LINK([#include <Python.h>],
804 cf_result=yes, cf_result=no)
806 if test "$cf_result" != "yes"; then
809 EL_CONFIG(CONFIG_SCRIPTING_PYTHON, [Python])
810 AC_SUBST(PYTHON_LIBS)
811 AC_SUBST(PYTHON_CFLAGS)
813 ***********************************************************************
814 The Python support is incomplete and not so well integrated to ELinks
815 yet. That means, e.g.., that you have no Python console and there might
816 not be all the necessary hooks. Also, the Python interface is not too
817 well tested (success stories heartily welcomed!).
818 ***********************************************************************
822 if test -n "$withval" && test "x$withval" != xno; then
823 AC_MSG_ERROR([Python not found])
825 AC_MSG_WARN([Python support disabled])
833 dnl ===================================================================
834 dnl Check for Lua, optional even if installed.
835 dnl ===================================================================
837 dnl Do this the long way, as FreeBSD reportedly needs -L<dir> for
838 dnl anything other than /usr/lib, and Lua is very often in /usr/local/lib.
840 AC_ARG_WITH(lua, [ --without-lua disable Lua support],
841 [if test "$withval" = no; then disable_lua=yes; fi])
842 AC_MSG_CHECKING([for Lua])
847 if test -z "$disable_lua"; then
848 if test ! -d "$withval"; then
851 for luadir in "$withval" "" /usr /usr/local; do
852 for suffix in "" 50 51; do
853 if test "$cf_result" = no; then
854 LUA_LIBS="-llua$suffix -llualib$suffix -lm"
856 if test ! -z "$luadir"; then
857 LUA_LIBS="-L$luadir/lib $LUA_LIBS"
858 LUA_CFLAGS="-I$luadir/include -I$luadir/include/lua$suffix"
861 LIBS="$LUA_LIBS $LIBS_X"
862 CFLAGS="$CFLAGS_X $LUA_CFLAGS"
863 CPPFLAGS="$CPPFLAGS_X $LUA_CFLAGS"
865 # Check that it is a compatible Lua version
866 AC_TRY_LINK([ #include <lua.h>
867 #include <lualib.h>],
868 [ lua_State *L = lua_open();
874 lua_pushboolean(L, 1);
876 cf_result=yes, cf_result=no)
882 AC_MSG_RESULT($cf_result)
884 if test "$cf_result" != yes; then
887 EL_CONFIG(CONFIG_SCRIPTING_LUA, [Lua])
888 AC_CHECK_HEADERS(lauxlib.h)
896 dnl ===================================================================
897 dnl Check for Ruby, optional even if installed.
898 dnl ===================================================================
900 EL_CONFIG_SCRIPTING_RUBY
902 dnl ===================================================================
903 dnl Setup global scripting
904 dnl ===================================================================
906 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])
907 AC_SUBST(CONFIG_SCRIPTING_GUILE)
908 AC_SUBST(CONFIG_SCRIPTING_LUA)
909 AC_SUBST(CONFIG_SCRIPTING_PERL)
910 AC_SUBST(CONFIG_SCRIPTING_PYTHON)
911 AC_SUBST(CONFIG_SCRIPTING_RUBY)
912 AC_SUBST(CONFIG_SCRIPTING_SPIDERMONKEY)
913 AC_SUBST(CONFIG_SCRIPTING)
916 dnl ===================================================================
917 dnl Check for SSL support.
918 dnl ===================================================================
920 dnl We by default use OpenSSL, and we always prefer it. However, when GNUTLS
921 dnl is enabled, we won't try to use OpenSSL anymore.
923 dnl For wiping SSL hooks..
930 AC_ARG_WITH(gnutls, [ --without-gnutls disable GNUTLS SSL support],
931 [if test "$with_gnutls" = no; then disable_gnutls=yes; fi])
932 AC_ARG_WITH(gnutls, [ --with-gnutls[=DIR] enable GNUTLS SSL support],
933 [if test "$with_gnutls" != no; then enable_gnutls=yes; fi])
934 gnutls_withval="$withval"
936 if test "$enable_gnutls" = yes; then
940 AC_ARG_WITH(openssl, [ --without-openssl disable OpenSSL support],
941 [if test "$with_openssl" = no; then disable_openssl=yes; fi])
942 AC_ARG_WITH(openssl, [ --with-openssl[=DIR] enable OpenSSL support (default)])
943 openssl_withval="$withval"
947 AC_MSG_CHECKING([for OpenSSL])
952 if test "$disable_openssl" = yes; then
955 for ssldir in "$openssl_withval" "" /usr /usr/local/openssl \
956 /usr/lib/openssl /usr/local/ssl \
957 /usr/local/www /usr/lib/ssl /usr/local \
958 /usr/pkg /opt /opt/openssl; do
959 if test "$cf_result" = no; then
960 if test -d "$ssldir"; then
961 OPENSSL_CFLAGS="-I$ssldir/include"
962 LIBS="-L$ssldir/lib -lssl -lcrypto $LIBS_X"
963 CFLAGS="$CFLAGS_X $OPENSSL_CFLAGS"
964 CPPFLAGS="$CPPFLAGS_X $OPENSSL_CFLAGS"
965 # # FIXME: This created serious portability problems. --pasky
966 # if test "$CC" == "gcc"; then
967 # # I'm not sure about compatibility here. --pasky
968 # LIBS="$LIBS -R$ssldir/lib"
971 LIBS="-lssl -lcrypto $LIBS_X"
973 AC_TRY_LINK([#include <openssl/ssl.h>],
974 [OpenSSL_add_all_algorithms()],
975 cf_result=yes, cf_result=no)
976 if test "$cf_result" != yes; then
977 AC_TRY_LINK([#include <openssl/ssl.h>],
978 [SSLeay_add_ssl_algorithms()],
979 cf_result=yes, cf_result=no)
984 if test "$cf_result" != yes; then
985 if test -n "$openssl_withval" && test "x$openssl_withval" != xno; then
986 AC_MSG_ERROR([OpenSSL not found])
990 EL_CONFIG(CONFIG_OPENSSL, [OpenSSL])
993 AC_SUBST(OPENSSL_CFLAGS)
997 AC_MSG_RESULT($cf_result)
999 CONFIG_GNUTLS_OPENSSL_COMPAT=no
1001 dnl We can't have AC_MSG_CHECKING here, because AC_PATH_PROG prints its own and
1002 dnl it looks ugly then.
1004 if test "$cf_result" = yes; then
1005 cf_result="not used"
1011 if test -z "$disable_gnutls"; then
1012 # Sure, we maybe _could_ use their macro, but how to ensure
1013 # that the ./configure script won't fail if the macro won't be
1014 # found..? :( --pasky
1016 GNUTLS_PATH="$PATH:/usr/local/gnutls:/opt:/opt/gnutls"
1018 if test -d "$gnutls_withval"; then
1019 GNUTLS_PATH="$gnutls_withval:$GNUTLS_PATH"
1022 AC_PATH_PROG(LIBGNUTLS_CONFIG, libgnutls-config, no, $GNUTLS_PATH)
1024 if test "$LIBGNUTLS_CONFIG" = "no" ; then
1027 GNUTLS_CFLAGS=`$LIBGNUTLS_CONFIG --cflags`
1028 GNUTLS_LIBS=`$LIBGNUTLS_CONFIG --libs`
1030 LIBS="$GNUTLS_LIBS $LIBS_X"
1031 CFLAGS="$CFLAGS_X $GNUTLS_CFLAGS"
1032 CPPFLAGS="$CPPFLAGS_X $GNUTLS_CFLAGS"
1034 # Verify if it's really usable. gnutls_session was
1035 # renamed to gnutls_session_t before GNU TLS 1.2.0
1036 # (on 2004-06-13); ELinks now requires this.
1037 AC_TRY_LINK([#include <gnutls/gnutls.h>],
1038 [gnutls_session_t dummy;
1039 gnutls_check_version(NULL)],
1040 cf_result=yes, cf_result=no)
1043 if test "$cf_result" = yes; then
1044 EL_CONFIG(CONFIG_GNUTLS, [GNUTLS])
1047 AC_SUBST(GNUTLS_CFLAGS)
1049 # Verify if the MD5 compatibility layer is usable.
1050 CONFIG_GNUTLS_OPENSSL_COMPAT=yes
1051 EL_CHECK_OPTIONAL_LIBRARY(CONFIG_GNUTLS_OPENSSL_COMPAT,
1052 [GNU TLS OpenSSL compatibility],
1053 gnutls/openssl.h, gnutls-openssl,
1056 if test -n "$gnutls_withval" && test "x$gnutls_withval" != xno; then
1057 AC_MSG_ERROR([GNUTLS (1.2 or later) not found. ELinks no longer supports GNUTLS 1.1.])
1064 AC_MSG_CHECKING([for GNU TLS (1.2 or later)])
1065 AC_MSG_RESULT($cf_result)
1069 EL_CONFIG_DEPENDS(CONFIG_SSL, [CONFIG_OPENSSL CONFIG_GNUTLS], [SSL])
1070 AC_SUBST(CONFIG_GNUTLS_OPENSSL_COMPAT)
1071 AC_SUBST(CONFIG_OPENSSL)
1072 AC_SUBST(CONFIG_GNUTLS)
1076 AC_MSG_CHECKING([whether to be or not to be])
1077 AC_MSG_RESULT([needs to be determined experimentally])
1079 dnl ===================================================================
1080 dnl Check for IPv6 support and related functions.
1081 dnl ===================================================================
1083 EL_CHECK_NET_TYPE(struct sockaddr_storage, HAVE_SA_STORAGE, [])
1084 EL_CHECK_NET_TYPE(struct sockaddr_in6, HAVE_SA_IN6, [#include <netinet/in.h>])
1085 EL_CHECK_NET_TYPE(struct addrinfo, HAVE_ADDRINFO, [#include <netdb.h>])
1087 AC_CHECK_FUNC(getaddrinfo, HAVE_GETADDRINFO=yes, HAVE_GETADDRINFO=no)
1088 if test "$HAVE_GETADDRINFO" != yes; then
1089 AC_CHECK_LIB(inet6, getaddrinfo, HAVE_GETADDRINFO=yes, HAVE_GETADDRINFO=no)
1090 if test "$HAVE_GETADDRINFO" = yes; then
1091 LIBS="$LIBS -linet6"
1096 dnl ===================================================================
1097 dnl Checking for X11 (window title restoring).
1098 dnl ===================================================================
1101 if test x"$no_x" != xyes; then
1102 if test -n "$x_includes"; then
1103 X_CFLAGS="-I$x_includes"
1104 CPPFLAGS="$CPPFLAGS -I$x_includes"
1106 if test -n "$x_libraries"; then
1107 LDFLAGS="$LDFLAGS -L$x_libraries"
1110 EL_DEFINE(HAVE_X11, [X11 for restoring window titles])
1115 dnl ===================================================================
1116 dnl Backtraces displaying support.
1117 dnl ===================================================================
1119 AC_CHECK_HEADERS(execinfo.h, HAVE_EXECINFO=yes, HAVE_EXECINFO=no)
1120 # possible checks for other system-specific means go here
1123 dnl ===================================================================
1124 dnl SMB protocol support.
1125 dnl ===================================================================
1127 AC_CHECK_PROG(HAVE_SMBCLIENT, smbclient, yes, no)
1130 dnl ===================================================================
1131 dnl Gettext grey zone. Beware.
1132 dnl ===================================================================
1134 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"
1138 dnl AC_MSG_CHECKING([how many characters your English alphabet has])
1139 dnl # f33r d4 l33t... I hope it's portable. :)
1140 dnl cf_result=$((48#z - 48#a + 1));
1141 dnl AC_MSG_RESULT($cf_result)
1144 dnl ===================================================================
1145 dnl Compile-time features control
1146 dnl ===================================================================
1148 EL_ARG_ENABLE(CONFIG_COOKIES, cookies, [Cookies],
1149 [ --disable-cookies disable cookie support])
1151 EL_ARG_ENABLE(CONFIG_FORMHIST, formhist, [Form history],
1152 [ --disable-formhist disable form history support])
1154 EL_ARG_ENABLE(CONFIG_GLOBHIST, globhist, [Global history],
1155 [ --disable-globhist disable global history support])
1158 EL_ARG_ENABLE(CONFIG_MAILCAP, mailcap, [Mailcap],
1159 [ --disable-mailcap disable mailcap support])
1161 EL_ARG_ENABLE(CONFIG_MIMETYPES, mimetypes, [Mimetypes files],
1162 [ --disable-mimetypes disable mimetypes files support])
1165 EL_ARG_DEPEND(CONFIG_IPV6, ipv6,
1166 [HAVE_SA_STORAGE:yes HAVE_SA_IN6:yes HAVE_ADDRINFO:yes HAVE_GETADDRINFO:yes],
1168 [ --disable-ipv6 disable IPv6 support])
1170 EL_ARG_ENABLE(CONFIG_BITTORRENT, bittorrent, [BitTorrent protocol],
1171 [ --enable-bittorrent enable BitTorrent protocol support])
1173 EL_ARG_ENABLE(CONFIG_DATA, data, [Data protocol],
1174 [ --disable-data disable data protocol support])
1176 EL_ARG_ENABLE(CONFIG_URI_REWRITE, uri-rewrite, [URI rewriting],
1177 [ --disable-uri-rewrite disable URI rewrite support])
1179 EL_ARG_DEPEND(CONFIG_CGI, cgi, [HAVE_SETENV_OR_PUTENV:yes], [Local CGI],
1180 [ --enable-cgi enable local CGI support])
1182 EL_ARG_ENABLE(CONFIG_FINGER, finger, [Finger protocol],
1183 [ --enable-finger enable finger protocol support])
1185 dnl ===================================================================
1187 dnl ===================================================================
1190 if test "x${enable_fsp}" != xno; then
1191 AC_CHECK_HEADERS(fsplib.h, HAVE_FSPLIB=yes, HAVE_FSPLIB=no)
1193 if test "$HAVE_FSPLIB" = yes; then
1194 AC_CHECK_LIB(fsplib, fsp_open_session, HAVE_FSPLIB=yes, HAVE_FSPLIB=no)
1195 if test "$HAVE_FSPLIB" = yes; then
1196 LIBS="$LIBS -lfsplib"
1198 AC_CHECK_LIB(fsp, fsp_open_session, HAVE_FSPLIB=yes, HAVE_FSPLIB=no)
1199 if test "$HAVE_FSPLIB" = yes; then
1206 EL_ARG_DEPEND(CONFIG_FSP, fsp, [HAVE_FSPLIB:yes], [FSP protocol],
1207 [ --enable-fsp enable FSP protocol support])
1209 if test "x$CONFIG_FSP" = xno; then
1213 EL_ARG_ENABLE(CONFIG_FTP, ftp, [FTP protocol],
1214 [ --disable-ftp disable ftp protocol support])
1216 EL_ARG_ENABLE(CONFIG_GOPHER, gopher, [Gopher protocol],
1217 [ --enable-gopher enable gopher protocol support])
1219 EL_ARG_ENABLE(CONFIG_NNTP, nntp, [NNTP protocol],
1220 [ --enable-nntp enable nntp protocol support])
1222 EL_ARG_DEPEND(CONFIG_SMB, smb, [HAVE_SMBCLIENT:yes], [SMB protocol],
1223 [ --disable-smb disable SMB protocol support (requires smbclient)])
1226 EL_ARG_ENABLE(CONFIG_MOUSE, mouse, [Mouse handling],
1227 [ --disable-mouse disable mouse support])
1229 # GPM mouse is Linux specific, so ...
1231 EL_ARG_DEPEND(CONFIG_SYSMOUSE, sysmouse,
1232 [CONFIG_MOUSE:yes CONFIG_GPM:no HAVE_SYSMOUSE_HEADER:yes],
1234 [ --disable-sysmouse disable BSD sysmouse support])
1236 EL_ARG_ENABLE(CONFIG_88_COLORS, 88-colors, [88 colors],
1237 [ --enable-88-colors enable 88 color support])
1239 EL_ARG_ENABLE(CONFIG_256_COLORS, 256-colors, [256 colors],
1240 [ --enable-256-colors enable 256 color support])
1243 EL_ARG_ENABLE(CONFIG_EXMODE, exmode, [Exmode interface],
1244 [ --enable-exmode enable exmode (CLI) interface])
1246 EL_ARG_ENABLE(CONFIG_LEDS, leds, [LEDs],
1247 [ --disable-leds disable LEDs support])
1249 EL_ARG_ENABLE(CONFIG_MARKS, marks, [Marks],
1250 [ --disable-marks disable document marks support])
1253 EL_ARG_ENABLE(CONFIG_CSS, css, [Cascading Style Sheets],
1254 [ --disable-css disable Cascading Style Sheet support])
1256 EL_ARG_DEPEND(CONFIG_HTML_HIGHLIGHT, html-highlight, [CONFIG_CSS:yes], [HTML highlighting],
1257 [ --enable-html-highlight HTML highlighting using DOM engine])
1259 dnl Everything in the tree already uses CONFIG_DOM
1260 dnl so resolve CONFIG_HTML_HIGHLIGHT to CONFIG_DOM
1261 EL_CONFIG_DEPENDS(CONFIG_DOM, [CONFIG_HTML_HIGHLIGHT], [DOM engine])
1263 EL_ARG_DEPEND(CONFIG_BACKTRACE, backtrace, [HAVE_EXECINFO:yes], [Backtrace],
1264 [ --disable-backtrace disable backtrace support])
1266 EL_ARG_DEPEND(CONFIG_NO_ROOT_EXEC, no-root, [HAVE_GETUID:yes HAVE_GETEUID:yes], [No root exec],
1267 [ --enable-no-root enable prevention of usage by root])
1270 EL_ARG_ENABLE(CONFIG_DEBUG, debug, [Debug mode],
1271 [ --enable-debug enable leak debug and internal error checking])
1273 EL_ARG_DEPEND(CONFIG_FASTMEM, fastmem, [CONFIG_DEBUG:no], [Fast mode],
1274 [ --enable-fastmem enable direct use of system allocation functions, not usable with --enable-debug])
1276 EL_ARG_ENABLE(CONFIG_OWN_LIBC, own-libc, [Own libc stubs],
1277 [ --enable-own-libc force use of internal functions instead of those of system libc])
1279 EL_ARG_ENABLE(CONFIG_SMALL, small, [Small binary],
1280 [ --enable-small reduce binary size as far as possible (but see the bottom of doc/small.txt!)])
1282 EL_ARG_ENABLE(CONFIG_UTF_8, utf-8, [UTF-8],
1283 [ --enable-utf-8 enable UTF-8 support])
1286 AC_ARG_ENABLE(weehoofooboomookerchoo,
1288 Also check out the features.conf file for more information about features!
1290 [AC_MSG_ERROR(Are you strange, or what?)])
1295 test "$CONFIG_OS_OS2" = yes && LDFLAGS="$LDFLAGS -Zexe"
1296 test "$CONFIG_OS_OS2" = yes && LDFLAGS=`echo "$LDFLAGS" | sed "s/-Zbin-files//g"`
1299 dnl ===================================================================
1300 dnl Export directory paths
1301 dnl ===================================================================
1303 # Set up the ``entry points'' if they were not supplied by builder
1304 test "x$prefix" = xNONE && prefix=$ac_default_prefix
1305 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
1307 # Create CONFDIR #define for config.h
1309 # XXX: This may be dependent on a particular version of autoconf. Whatever,
1310 # it's autoconf fault to force us to do such hacks ;p.
1311 if test x"$sysconfdir" = x"\${prefix}/etc"; then
1312 # sysconfdir is set to its default value... fine, let's append /elinks/
1313 # XXX: We can't modify listing of the default in ./configure --help :-(
1314 sysconfdir_n=`eval echo "$sysconfdir"`
1315 sysconfdir=$sysconfdir_n
1316 (echo "$sysconfdir" | grep elinks >/dev/null 2>/dev/null) || \
1317 sysconfdir="$sysconfdir/elinks"
1321 AC_DEFINE_UNQUOTED(CONFDIR, "$CONFDIR", [Directory containing default config])
1324 # Create LOCALEDIR #define for config.h
1325 LOCALEDIR=`eval echo "$datadir/locale"`
1326 while echo "$LOCALEDIR" | grep "\\$"
1328 LOCALEDIR=`eval echo "$LOCALEDIR"`
1329 done > /dev/null 2> /dev/null
1330 AC_DEFINE_UNQUOTED(LOCALEDIR, "$LOCALEDIR", [Directory containing locales])
1333 # Create LIBDIR #define for config.h
1334 LIBDIR=`eval echo "$libdir"`
1335 AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [Directory containing libraries])
1338 EL_LOG_CONFIG(CONFDIR, [System configuration directory], [])
1339 EL_LOG_CONFIG(LOCALEDIR, [Locale catalogs directory], [])
1341 dnl ===================================================================
1342 dnl A little fine tuning of gcc specific options (continued)
1343 dnl ===================================================================
1345 if test "x$ac_cv_prog_gcc" = "xyes"; then
1346 if test "$CONFIG_DEBUG" = "yes"; then
1347 dnl We want to see all warnings and live with none (in debug mode).
1348 CFLAGS="$CFLAGS -Werror"
1351 case "`$CC -dumpversion`" in
1353 # These should be ok using -Werror
1356 # If gcc is version 3.3 (or higher?) it emits lots of false positive
1357 # "dereferencing type-punned pointer will break strict-aliasing rules"
1358 # warnings. Disable them by not doing any strict-aliasing. The
1359 # alternative is just too ugly. Thanks gcc guys!! ;)
1360 CFLAGS="$CFLAGS -fno-strict-aliasing"
1363 # Do not show warnings related to (char * | unsigned char *) type
1365 CFLAGS="$CFLAGS -fno-strict-aliasing -Wno-pointer-sign"
1368 # These should be ok using -Werror
1373 # CFLAGS doesn't contain all compile flags. Some will be added only when
1374 # needed in the respective source directory. To get all compile flags
1375 # easily just add CPPFLAGS.
1376 ALL_CFLAGS="$CFLAGS $CPPFLAGS"
1378 EL_LOG_CONFIG(ALL_CFLAGS, [Compiler options (CFLAGS)], [])
1379 EL_LOG_CONFIG(LIBS, [Linker options (LIBS)], [])
1381 dnl ===================================================================
1382 dnl Colored make output
1383 dnl ===================================================================
1385 if test $(`which tput` colors) -ge 4; then
1387 AC_SUBST(MAKE_COLOR)
1390 dnl ===================================================================
1392 dnl ===================================================================
1396 contrib/elinks.spec \
1397 contrib/lua/hooks.lua \
1398 contrib/conv/w3m2links.awk \
1399 doc/man/man1/elinks.1 \
1400 src/intl/gettext/ref-add.sed \
1401 src/intl/gettext/ref-del.sed
1404 abs_srcdir="$(cd "$srcdir" && pwd)"
1405 # builddir is always absolute!
1406 if test "$abs_srcdir" != "$builddir"; then
1407 # Bootstrap the Makefile creation
1408 echo "include $abs_srcdir/Makefile" > "$builddir/Makefile"
1409 "$MAKE" "SRC=$abs_srcdir" init
1411 # Make cg-status ignore this build directory
1412 echo "*" > "$builddir/.gitignore"
1415 dnl ===================================================================
1416 dnl Configuration summary
1417 dnl ===================================================================
1419 AC_MSG_RESULT(The following feature summary has been saved to features.log)