diff -Naurp elinks-0.11.3-orig/configure.in elinks-0.11.3/configure.in --- elinks-0.11.3-orig/configure.in 2007-05-13 11:51:34.000000000 +0200 +++ elinks-0.11.3/configure.in 2007-05-13 11:52:30.000000000 +0200 @@ -727,7 +727,7 @@ if test -z "$disable_lua"; then for luadir in "$withval" "" /usr /usr/local; do for suffix in "" 50 51; do if test "$cf_result" = no; then - LUA_LIBS="-llua$suffix -llualib$suffix -lm" + LUA_LIBS="`pkg-config --libs lua`" if test ! -z "$luadir"; then LUA_LIBS="-L$luadir/lib $LUA_LIBS" diff -Naurp elinks-0.11.3-orig/configure.in.orig elinks-0.11.3/configure.in.orig --- elinks-0.11.3-orig/configure.in.orig 1970-01-01 01:00:00.000000000 +0100 +++ elinks-0.11.3/configure.in.orig 2007-04-15 22:51:02.000000000 +0200 @@ -0,0 +1,1342 @@ +dnl Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.13) +AC_INIT(src/main/main.c) +AC_CONFIG_AUX_DIR(config) + +PACKAGE=elinks +VERSION=0.11.3 +AC_SUBST(PACKAGE) +AC_SUBST(VERSION) +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Package version]) +AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Package version]) +AC_CONFIG_HEADERS(config.h) + +AC_CHECK_PROG(ACLOCAL,[aclocal],[aclocal],[config/missing aclocal]) +AC_CHECK_PROG(AUTOCONF,[autoconf],[autoconf],[config/missing autoconf]) +AC_CHECK_PROG(AUTOHEADER,[autoheader],[autoheader],[config/missing autoheader]) + +MAKE= + +for make in gnumake gmake make false; do + if test "x$MAKE" = x; then + AC_PATH_PROGS(MAKE, "$make") + fi +done + +builddir="`pwd`" + +# Cleanup if we are configuring with a previous build in the tree +if test -e Makefile.config; then + AC_MSG_CHECKING([for previous build to clean]) + "$MAKE" -C "$builddir/src" cleanall >/dev/null 2>/dev/null + AC_MSG_RESULT(done) +fi + +dnl =================================================================== +dnl Load feature configuration file and start logging features. +dnl =================================================================== + +features="features.conf" +AC_CHECK_FILE("$srcdir/$features", [ . $srcdir/$features ]) +AC_CHECK_FILE("$builddir/$features", [ . $builddir/$features ]) +echo "Feature summary:" > features.log + +dnl =================================================================== +dnl Checks for programs. +dnl =================================================================== + +AC_PROG_CC +AC_PROG_AWK +AC_PATH_PROGS(AWK, "$AWK") +AC_PROG_RANLIB +AC_PROG_INSTALL + +AC_PATH_PROGS(CG_COMMIT_ID, "cg-commit-id") +AC_PATH_PROGS(SPARSE, "sparse") + +CONFIG_ASCIIDOC="no" +CONFIG_POD2HTML="no" +CONFIG_XMLTO="no" +CONFIG_JW="no" + +if test "x$CONFIG_DOC" != xno; then + AC_PATH_PROGS(ASCIIDOC, "asciidoc") + if test "x$ASCIIDOC" != "x"; then + EL_CONFIG(CONFIG_ASCIIDOC, [AsciiDoc]) + EL_CONFIG(MANUAL_ASCIIDOC, [HTML (one file)]) + EL_CONFIG(MAN_ASCIIDOC, [HTML]) + + echo > config.asciidoc-unsafe.txt + if "$ASCIIDOC" --unsafe config.asciidoc-unsafe.txt >/dev/null 2>/dev/null; then + ASCIIDOC_FLAGS=--unsafe + fi + rm config.asciidoc-unsafe.* + fi + + AC_PATH_PROGS(XMLTO, "xmlto") + if test "x$XMLTO" != "x"; then + EL_CONFIG(CONFIG_XMLTO, [XmlTo]) + EL_CONFIG(MANUAL_XMLTO, [HTML (multiple files)]) + EL_CONFIG(MAN_XMLTO, [man (groff)]) + fi + + AC_PATH_PROGS(JW, "jw") + if test "x$JW" != "x"; then + EL_CONFIG(CONFIG_JW, [JadeWrapper]) + EL_CONFIG(MANUAL_JW, [PDF]) + fi + + AC_PATH_PROGS(POD2HTML, "pod2html") + if test "x$POD2HTML" != "x"; then + EL_CONFIG(CONFIG_POD2HTML, [Pod2HTML]) + fi +fi + +AC_SUBST(ASCIIDOC_FLAGS) +AC_SUBST(CONFIG_ASCIIDOC) +AC_SUBST(CONFIG_POD2HTML) +AC_SUBST(CONFIG_XMLTO) +AC_SUBST(CONFIG_JW) + +EL_CONFIG_DEPENDS(CONFIG_DOC, [CONFIG_ASCIIDOC CONFIG_XMLTO CONFIG_JW CONFIG_POD2HTML], [Documentation Tools]) +EL_CONFIG_DEPENDS(CONFIG_MANUAL, [MANUAL_ASCIIDOC MANUAL_XMLTO MANUAL_JW], [Manual Formats]) +EL_CONFIG_DEPENDS(CONFIG_MANPAGE, [MAN_ASCIIDOC MAN_XMLTO], [Man Page Formats]) + +dnl gcc specific options (to be continued at the bottom of configure) +if test "x$ac_cv_prog_gcc" = "xyes"; then + dnl We want to see all warnings and live with none. + dnl We can't set up -Werror here as there may be some warnings in test + dnl suite of configure, and we don't want to fail them. + CFLAGS="$CFLAGS -Wall" +fi + +dnl =================================================================== +dnl Checks for special OSes. +dnl =================================================================== + +dnl EL_CHECK_COMPILER_MACRO(define, name, flagname) +AC_DEFUN([EL_CHECK_COMPILER_MACROS], +[ + AC_MSG_CHECKING([for $2]) + + for flag in $3; do + AC_TRY_COMPILE(, [#ifndef $flag +kill me! +#endif ], $1=yes, $1=no) + if test "[$]$1" = yes; then + EL_CONFIG([$1], [$2]) + break + fi + done + + AC_MSG_RESULT([$]$1) +]) + +EL_CHECK_COMPILER_MACROS(CONFIG_BEOS, [BEOS], [__BEOS__]) +AC_SUBST(CONFIG_BEOS) + +EL_CHECK_COMPILER_MACROS(CONFIG_RISCOS, [RISCOS], [__riscos__]) +AC_SUBST(CONFIG_RISCOS) + +EL_CHECK_COMPILER_MACROS(CONFIG_WIN32, [WIN32], [_WIN32 __WIN32__]) +AC_SUBST(CONFIG_WIN32) + +EL_CHECK_COMPILER_MACROS(CONFIG_OS2, [EMX], [__EMX__]) +AC_SUBST(CONFIG_OS2) +test "$CONFIG_OS2" = yes && LDFLAGS=`echo "$LDFLAGS" | sed "s/-Zexe//g"` + +AC_MSG_CHECKING([for UNIX]) +dnl FIXME: some depend kind of mechanism +if test "$CONFIG_BEOS" = no && \ + test "$CONFIG_RISCOS" = no && \ + test "$CONFIG_WIN32" = no && \ + test "$CONFIG_OS2" = no; then + EL_CONFIG(CONFIG_UNIX, [UNIX]) +else + CONFIG_UNIX=no +fi +AC_MSG_RESULT($CONFIG_UNIX) +AC_SUBST(CONFIG_UNIX) + +dnl =================================================================== +dnl Checks for header files. +dnl =================================================================== + +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_HEADER_TIME + +AC_CHECK_HEADERS(fcntl.h limits.h time.h unistd.h) +AC_CHECK_HEADERS(sigaction.h) +AC_CHECK_HEADERS(arpa/inet.h) +AC_CHECK_HEADERS(netinet/in_systm.h netinet/in_system.h netinet/ip.h) +AC_CHECK_HEADERS(net/if.h netdb.h netinet/in.h netinet/in6_var.h) +AC_CHECK_HEADERS(ifaddrs.h) +AC_CHECK_HEADERS(sys/cygwin.h io.h) +AC_CHECK_HEADERS(sys/fmutex.h) +AC_CHECK_HEADERS(sys/ioctl.h sys/sockio.h) +AC_CHECK_HEADERS(sys/resource.h) +AC_CHECK_HEADERS(sys/select.h) +AC_CHECK_HEADERS(sys/signal.h) +AC_CHECK_HEADERS(sys/socket.h) +AC_CHECK_HEADERS(sys/time.h) +AC_CHECK_HEADERS(sys/utsname.h) +AC_CHECK_HEADERS(stdint.h inttypes.h) +AC_CHECK_HEADERS(locale.h pwd.h) +AC_CHECK_HEADERS(termios.h) + + +AC_CHECK_HEADERS(sys/un.h, + [CONFIG_INTERLINK=yes + EL_CONFIG([CONFIG_INTERLINK], [interlinking])], + [CONFIG_INTERLINK=no]) +AC_SUBST(CONFIG_INTERLINK) + +dnl =================================================================== +dnl Checks for typedefs, structures, and compiler characteristics. +dnl =================================================================== + +AC_STRUCT_TM +AC_C_CONST +AC_C_INLINE +EL_CHECK_CODE(typeof, HAVE_TYPEOF, [], [int a; typeof(a) b;]) + +AC_SYS_LARGEFILE +AC_TYPE_SIZE_T +AC_TYPE_OFF_T +EL_CHECK_TYPE(ssize_t, int) +EL_CHECK_SYS_TYPE(long long, HAVE_LONG_LONG, []) +EL_CHECK_SYS_TYPE(off_t, HAVE_OFF_T, []) +EL_CHECK_INT_TYPE(int32_t, HAVE_INT32_T) +EL_CHECK_INT_TYPE(uint32_t, HAVE_UINT32_T) +EL_CHECK_INT_TYPE(uint16_t, HAVE_UINT16_T) + +AC_CHECK_SIZEOF(char, 1) +AC_CHECK_SIZEOF(short, 2) +AC_CHECK_SIZEOF(int, 4) +AC_CHECK_SIZEOF(long, 4) +test "x$HAVE_LONG_LONG" = xyes && AC_CHECK_SIZEOF(long long, 8) +test "x$HAVE_OFF_T" = xyes && AC_CHECK_SIZEOF(off_t, 4) + +dnl Check for variadic macros +EL_CHECK_CODE([variadic macros], HAVE_VARIADIC_MACROS, + [#include + #define a(b,c...) printf(b,##c)], + [a("foo");a("%s","bar");a("%s%s","baz","quux");]) + +dnl Check for -rdynamic +dnl FIXME: This check doesn't work. Something to do with the compiler +dnl happily ignoring it and stderr not being checked for error messages. +AC_MSG_CHECKING([for -rdynamic]) +LDFLAGS_X="$LDFLAGS" +LDFLAGS="$LDFLAGS -rdynamic" +AC_TRY_LINK([], [], have_rdynamic=yes, have_rdynamic=no) +test "$have_rdynamic" = no && LDFLAGS="$LDFLAGS_X" +AC_MSG_RESULT($have_rdynamic) + +dnl =================================================================== +dnl Check for POSIX +dnl =================================================================== + +EL_CHECK_SYS_TYPE(regex_t, HAVE_REGEX_H, [#include ]) + +dnl =================================================================== +dnl Checks for library functions. +dnl =================================================================== + +AC_PROG_GCC_TRADITIONAL +AC_FUNC_MEMCMP +AC_FUNC_MMAP +AC_FUNC_STRFTIME +AC_CHECK_FUNCS(cfmakeraw gethostbyaddr herror strerror) +AC_CHECK_FUNCS(popen uname access chmod alarm timegm mremap) +AC_CHECK_FUNCS(strcasecmp strncasecmp strcasestr strstr strchr strrchr) +AC_CHECK_FUNCS(memmove bcopy stpcpy strdup index isdigit mempcpy memrchr) +AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf) +AC_CHECK_FUNCS(getifaddrs getpwnam inet_pton inet_ntop) +AC_CHECK_FUNCS(fflush fsync fseeko ftello sigaction) +AC_CHECK_FUNCS(gettimeofday clock_gettime) + +AC_HAVE_FUNCS(cygwin_conv_to_full_win32_path) + +AC_CHECK_FUNCS(setenv putenv, HAVE_SETENV_OR_PUTENV=yes) +AC_CHECK_FUNCS(getuid, HAVE_GETUID=yes) +AC_CHECK_FUNCS(geteuid, HAVE_GETEUID=yes) + +dnl These aren't probably needed now, as they are commented in links.h. +dnl I've no idea about their historical background, but I keep them here +dnl just in the case they will help later. --pasky +AC_CHECK_FUNCS(getpid, HAVE_GETPID=yes) +AC_CHECK_FUNCS(setpgid getpgid setpgrp getpgrp) +AC_CHECK_FUNCS(raise, HAVE_RAISE=yes) +AC_CHECK_FUNCS(kill, HAVE_KILL=yes) + +if test x"$HAVE_RAISE" = x; then + if test x"$HAVE_KILL" = x || test x"$HAVE_GETPID" = x; then + AC_ERROR([Unable to emulate raise()]) + fi +fi + +AC_CACHE_CHECK([for __va_copy],el_cv_HAVE_VA_COPY,[ +AC_TRY_LINK([#include +va_list ap1,ap2;], [__va_copy(ap1,ap2);], +el_cv_HAVE_VA_COPY=yes,el_cv_HAVE_VA_COPY=no)]) +if test x"$el_cv_HAVE_VA_COPY" = x"yes"; then + EL_DEFINE(HAVE_VA_COPY, __va_copy) +fi + +AC_CACHE_CHECK([for sysconf(_SC_PAGE_SIZE)],el_cv_HAVE_SC_PAGE_SIZE,[ +AC_TRY_LINK([#include +], [int page_size = sysconf(_SC_PAGE_SIZE);], +el_cv_HAVE_SC_PAGE_SIZE=yes,el_cv_HAVE_SC_PAGE_SIZE=no)]) +if test x"$el_cv_HAVE_SC_PAGE_SIZE" = x"yes"; then + EL_DEFINE(HAVE_SC_PAGE_SIZE, _SC_PAGE_SIZE) +fi + +AC_CACHE_CHECK([for C99 vsnprintf],el_cv_HAVE_C99_VSNPRINTF,[ +AC_TRY_RUN([ +#include +#include +#include +#include + +char buf[8]; + +int bar(char *buf, const char *format, va_list ap) +{ + return vsnprintf(buf, 0, format, ap); +} + +void foo(const char *format, ...) { + va_list ap; + int len; + + va_start(ap, format); + len = bar(buf, format, ap); + va_end(ap); + if ((len != 6) && (len != 7)) exit(1); /* \n -> \r\n */ + + va_start(ap, format); + len = bar(buf, format, ap); + va_end(ap); + if ((len != 6) && (len != 7)) exit(1); + + if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(1); + + exit(0); +} +main() { foo("hello\n"); } +], +el_cv_HAVE_C99_VSNPRINTF=yes,el_cv_HAVE_C99_VSNPRINTF=no,el_cv_HAVE_C99_VSNPRINTF=cross)]) +if test x"$el_cv_HAVE_C99_VSNPRINTF" = x"yes"; then + EL_DEFINE(HAVE_C99_VSNPRINTF, [C99 compliant vsnprintf()]) +fi + +AC_CHECK_LIB(dl, dlopen) # OpenSSL and Lua frequently needs it + +dnl =================================================================== +dnl Checks for libraries. +dnl =================================================================== + +dnl Replace `main' with a function in -lsocket: +AC_CHECK_FUNC(socket, cf_result=yes, cf_result=no) +if test "$cf_result" = no; then + AC_CHECK_LIB(socket, socket) +fi + +AC_CHECK_FUNC(setsockopt, cf_result=yes, cf_result=no) +if test "$cf_result" = no; then + AC_CHECK_LIB(socket, setsockopt) +fi + +AC_CHECK_FUNC(gethostbyname, cf_result=yes, cf_result=no) +if test "$cf_result" = no; then + AC_CHECK_LIB(socket, gethostbyname, cf_result=yes, cf_result=no) + if test "$cf_result" = no; then + AC_CHECK_LIB(nsl, gethostbyname) + else + test -z "`echo $LIBS | grep -- -lsocket`" && LIBS="$LIBS -lsocket" + fi +fi + +dnl =================================================================== +dnl Checks for packaging specific options. +dnl =================================================================== + +AC_ARG_WITH(xterm, [ --with-xterm how to invoke the X terminal emulator], + [ if test "$withval" != no && test "$withval" != yes; then + AC_DEFINE_UNQUOTED(XTERM, "$withval", [How to invoke XTerm]) + fi ]) + +dnl =================================================================== +dnl Checks for a libraries, optional even if installed. +dnl =================================================================== + +dnl EL_CHECK_OPTIONAL_LIBRARY(define, name, header, lib, function) +AC_DEFUN([EL_CHECK_OPTIONAL_LIBRARY], +[ + AC_MSG_CHECKING([for $2 support]) + + if test "[$]$1" != no; then + AC_MSG_RESULT(yes) + EL_SAVE_FLAGS + if test -n "$withval" && test -d "$withval"; then + CFLAGS="$CFLAGS -I$withval/include"; + CPPFLAGS="$CPPFLAGS -I$withval/include"; + LDFLAGS="$LDFLAGS -L$withval/lib"; + fi + + AC_CHECK_HEADERS([$3], [$1=yes], [$1=no; break;]) + if test "[$]$1" = yes; then + AC_CHECK_LIB([$4], [$5], [$1=yes], [$1=no]) + fi + + if test "[$]$1" = yes; then + EL_CONFIG([$1], [$2]) + LIBS="$LIBS -l$4" + else + if test -n "[$]WITHVAL_$1" && + test "[$]WITHVAL_$1" != xno; then + AC_MSG_ERROR([$2 not found]) + fi + EL_RESTORE_FLAGS + fi + else + AC_MSG_RESULT(disabled) + fi +]) + +dnl EL_CONFIG_OPTIONAL_LIBRARY(define, name, header, lib, function, confhelp) +AC_DEFUN([EL_CONFIG_OPTIONAL_LIBRARY], +[ + $1=yes + WITHVAL_$1= + + AC_ARG_WITH([$2], [$6], [WITHVAL_$1="[$]withval"]) + if test "x[$]WITHVAL_$1" = xno; then $1=no; fi + + EL_CHECK_OPTIONAL_LIBRARY([$1], [$2], [$3], [$4], [$5]) + + EL_LOG_CONFIG([$1], [$2], []) +]) + +EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_GPM, gpm, gpm.h, gpm, Gpm_Open, + [ --without-gpm disable gpm (mouse) support]) + +EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_GZIP, zlib, zlib.h, z, gzdopen, + [ --without-zlib disable zlib support]) + +EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_BZIP2, bzlib, bzlib.h, bz2, BZ2_bzReadOpen, + [ --without-bzlib disable bzlib support]) + +EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_IDN, idn, idna.h, idn, stringprep_check_version, + [ --without-idn disable international domain names support]) + +dnl =================================================================== +dnl Bookmark and XBEL support +dnl =================================================================== + +EL_SAVE_FLAGS + +EL_ARG_ENABLE(CONFIG_BOOKMARKS, bookmarks, [Bookmarks], + [ --disable-bookmarks disable bookmark support]) + +# Check whether --enable-xbel or --disable-xbel was given. +if test "x${enable_xbel}" != xno; then + AC_CHECK_HEADERS(expat.h, HAVE_LIBEXPAT=yes, HAVE_LIBEXPAT=no) + + if test "$HAVE_LIBEXPAT" = yes; then + AC_CHECK_LIB(expat, XML_ParserCreate, HAVE_LIBEXPAT=yes, HAVE_LIBEXPAT=no) + if test "$HAVE_LIBEXPAT" = yes; then + LIBS="$LIBS -lexpat" + fi + fi +fi + + +EL_ARG_DEPEND(CONFIG_XBEL_BOOKMARKS, xbel, [CONFIG_BOOKMARKS:yes HAVE_LIBEXPAT:yes], + [XBEL bookmarks], + [ --disable-xbel disable XBEL bookmark support (requires expat)]) + +if test "$CONFIG_XBEL_BOOKMARKS" != yes; then + EL_RESTORE_FLAGS +fi + +dnl =================================================================== +dnl Checks for BSD sysmouse +dnl =================================================================== + +HAVE_SYSMOUSE_HEADER="no" + +# Either of these header files provides the (same) sysmouse interface +AC_CHECK_HEADERS(sys/consio.h machine/console.h, [HAVE_SYSMOUSE_HEADER="yes"]) + +dnl =================================================================== +dnl Checks for OS/2 +dnl =================================================================== + +if test "$CONFIG_OS2" = yes; then + EL_CONFIG_OS2 +fi + +dnl =================================================================== +dnl Checks for Win32 +dnl =================================================================== + +if test "$CONFIG_WIN32" = yes; then + EL_CONFIG_WIN32 +fi + +dnl =================================================================== +dnl Check for SpiderMonkey, optional even if installed. +dnl =================================================================== + +AC_ARG_WITH(spidermonkey, [ --without-spidermonkey disable SpiderMonkey Mozilla JavaScript engine support], + [if test "$withval" = no; then disable_spidermonkey=yes; fi]) +AC_MSG_CHECKING([for SpiderMonkey]) + +EL_SAVE_FLAGS +cf_result=no + +if test -z "$disable_spidermonkey"; then + if test ! -d "$withval"; then + withval=""; + fi + for spidermonkeydir in "$withval" "" /usr /usr/local /opt/spidermonkey /opt/js; do + for spidermonkeyinclude in "/include" "/include/js" "/include/smjs"; do + for spidermonkeylib in js smjs; do + if test "$cf_result" = no; then + SPIDERMONKEY_LIBS="-l$spidermonkeylib" + + if test ! -z "$spidermonkeydir"; then + SPIDERMONKEY_LIBS="-L$spidermonkeydir/lib $SPIDERMONKEY_LIBS" + SPIDERMONKEY_CFLAGS="-I$spidermonkeydir$spidermonkeyinclude" + fi + + LIBS="$SPIDERMONKEY_LIBS $LIBS_X" + CFLAGS="$CFLAGS_X $SPIDERMONKEY_CFLAGS" + CPPFLAGS="$CPPFLAGS_X $SPIDERMONKEY_CFLAGS" + + AC_TRY_LINK([#define XP_UNIX + #include ], + [JS_GetImplementationVersion()], + cf_result=yes, cf_result=no) + fi + done + done + done +fi + +AC_MSG_RESULT($cf_result) + +if test "$cf_result" != yes; then + EL_RESTORE_FLAGS +else + EL_CONFIG(CONFIG_SPIDERMONKEY, [SpiderMonkey]) + + CFLAGS="$CFLAGS_X" + AC_SUBST(SPIDERMONKEY_LIBS) + AC_SUBST(SPIDERMONKEY_CFLAGS) +fi + +AC_SUBST(CONFIG_SPIDERMONKEY) + +EL_CONFIG_DEPENDS(CONFIG_ECMASCRIPT, [CONFIG_SPIDERMONKEY], [ECMAScript (JavaScript)]) + + +dnl =================================================================== +dnl Check for Guile, optional even if installed. +dnl =================================================================== + +enable_guile="no"; + +AC_ARG_WITH(guile, [ --with-guile enable Guile support], + [ if test "x$withval" != xno; then enable_guile=yes; fi ]) + +# The following is probably bad, ugly and so on. Stolen from Guile's (1.4) +# GUILE_FLAGS but I really don't want to require people to have Guile in order +# to compile CVS. Also, the macro seems to be really stupid regarding searching +# for Guile in $PATH etc. --pasky + +AC_MSG_CHECKING([for Guile]) + +if test "$enable_guile" = "yes"; then + AC_MSG_RESULT(yes); + ## Based on the GUILE_FLAGS macro. + + if test -d "$withval"; then + GUILE_PATH="$withval:$PATH" + else + GUILE_PATH="$PATH" + fi + + AC_PATH_PROG(GUILE_CONFIG, guile-config, no, $GUILE_PATH) + + ## First, let's just see if we can find Guile at all. + if test "$GUILE_CONFIG" != no; then + cf_result="yes"; + + GUILE_LIBS="`guile-config link`" + GUILE_CFLAGS="`guile-config compile`" + LIBS="$GUILE_LIBS $LIBS" + CPPFLAGS="$CPPFLAGS $GUILE_CFLAGS" + EL_CONFIG(CONFIG_GUILE, [Guile]) + AC_SUBST(GUILE_CFLAGS) + cat < +#include +#include +], + [PerlInterpreter *my_perl = perl_alloc();], + cf_result=yes, cf_result=no) +fi + +if test "$cf_result" != "yes"; then + EL_RESTORE_FLAGS +else + EL_CONFIG(CONFIG_PERL, [Perl]) + + CFLAGS="$CFLAGS_X" + AC_SUBST(PERL_LIBS) + AC_SUBST(PERL_CFLAGS) +fi + +if test "$cf_result"; then AC_MSG_RESULT($cf_result); fi +dnl =================================================================== +dnl Check for Python +dnl =================================================================== +enable_python="no"; + +AC_ARG_WITH(python, [ --with-python enable Python support], + [ +if test "$withval" = yes; then + # FIXME: If withval is a valid directory append it to PATH + # so that you can specify one of several Python installations. + withval=""; + enable_python=yes; + cat < /dev/null`" + PYTHON_CFLAGS="-I`python -c 'from distutils import sysconfig; print sysconfig.get_python_inc()' 2> /dev/null`" + LIBS="$PYTHON_LIBS $LIBS" + CFLAGS="$PYTHON_CFLAGS $CFLAGS" + CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS" + AC_TRY_LINK([ +#include +], + [Py_Initialize();], + cf_result=yes, cf_result=no) +fi + +if test "$cf_result" != "yes"; then + EL_RESTORE_FLAGS +else + EL_CONFIG(CONFIG_PYTHON, [Python]) + + CFLAGS="$CFLAGS_X" + AC_SUBST(PYTHON_LIBS) + AC_SUBST(PYTHON_CFLAGS) +fi + +if test "$cf_result"; then AC_MSG_RESULT($cf_result); fi + + +dnl =================================================================== +dnl Check for Lua, optional even if installed. +dnl =================================================================== + +dnl Do this the long way, as FreeBSD reportedly needs -L for +dnl anything other than /usr/lib, and Lua is very often in /usr/local/lib. + +AC_ARG_WITH(lua, [ --without-lua disable Lua support], + [if test "$withval" = no; then disable_lua=yes; fi]) +AC_MSG_CHECKING([for Lua]) + +EL_SAVE_FLAGS +cf_result=no + +if test -z "$disable_lua"; then + if test ! -d "$withval"; then + withval=""; + fi + for luadir in "$withval" "" /usr /usr/local; do + for suffix in "" 50 51; do + if test "$cf_result" = no; then + LUA_LIBS="-llua$suffix -llualib$suffix -lm" + + if test ! -z "$luadir"; then + LUA_LIBS="-L$luadir/lib $LUA_LIBS" + LUA_CFLAGS="-I$luadir/include -I$luadir/include/lua$suffix" + fi + + LIBS="$LUA_LIBS $LIBS_X" + CFLAGS="$CFLAGS_X $LUA_CFLAGS" + CPPFLAGS="$CPPFLAGS_X $LUA_CFLAGS" + + # Check that it is a compatible Lua version + AC_TRY_LINK([ #include + #include ], + [ lua_State *L = lua_open(); + luaopen_base(L); + luaopen_table(L); + luaopen_io(L); + luaopen_string(L); + luaopen_math(L); + lua_pushboolean(L, 1); + lua_close(L);], + cf_result=yes, cf_result=no) + fi + done + done +fi + +AC_MSG_RESULT($cf_result) + +if test "$cf_result" != yes; then + EL_RESTORE_FLAGS +else + EL_CONFIG(CONFIG_LUA, [Lua]) + AC_CHECK_HEADERS(lauxlib.h) + + CFLAGS="$CFLAGS_X" + AC_SUBST(LUA_LIBS) + AC_SUBST(LUA_CFLAGS) +fi + + +dnl =================================================================== +dnl Check for Ruby, optional even if installed. +dnl =================================================================== + +EL_CONFIG_RUBY + +dnl =================================================================== +dnl Optional Spidermonkey-based ECMAScript browser scripting +dnl =================================================================== + +AC_ARG_ENABLE(sm-scripting, + [ --disable-sm-scripting ECMAScript browser scripting (requires Spidermonkey)], + [if test "$enableval" != no; then enableval="yes"; fi + CONFIG_SM_SCRIPTING="$enableval";]) + +if test "x$CONFIG_SPIDERMONKEY" = xyes && + test "x$CONFIG_SM_SCRIPTING" = xyes; then + EL_CONFIG(CONFIG_SM_SCRIPTING, [SpiderMonkey]) +else + CONFIG_SM_SCRIPTING=no +fi + +dnl =================================================================== +dnl Setup global scripting +dnl =================================================================== + +EL_CONFIG_DEPENDS(CONFIG_SCRIPTING, [CONFIG_GUILE CONFIG_LUA CONFIG_PERL CONFIG_PYTHON CONFIG_RUBY CONFIG_SM_SCRIPTING], [Browser scripting]) +AC_SUBST(CONFIG_GUILE) +AC_SUBST(CONFIG_LUA) +AC_SUBST(CONFIG_PERL) +AC_SUBST(CONFIG_PYTHON) +AC_SUBST(CONFIG_RUBY) +AC_SUBST(CONFIG_SM_SCRIPTING) +AC_SUBST(CONFIG_SCRIPTING) + + +dnl =================================================================== +dnl Check for SSL support. +dnl =================================================================== + +dnl We by default use OpenSSL, and we always prefer it. However, when GNUTLS +dnl is enabled, we won't try to use OpenSSL anymore. + +dnl For wiping SSL hooks.. +#ifdef CONFIG_SSL + +disable_openssl="" +disable_gnutls="" +enable_gnutls="" + +AC_ARG_WITH(gnutls, [ --without-gnutls disable GNUTLS SSL support], + [if test "$with_gnutls" = no; then disable_gnutls=yes; fi]) +AC_ARG_WITH(gnutls, [ --with-gnutls[=DIR] enable GNUTLS SSL support], + [if test "$with_gnutls" != no; then enable_gnutls=yes; fi]) +gnutls_withval="$withval" + +if test "$enable_gnutls" = yes; then + disable_openssl=yes; +fi + +AC_ARG_WITH(openssl, [ --without-openssl disable OpenSSL support], + [if test "$with_openssl" = no; then disable_openssl=yes; fi]) +AC_ARG_WITH(openssl, [ --with-openssl[=DIR] enable OpenSSL support (default)]) +openssl_withval="$withval" + +dnl ---- OpenSSL + +AC_MSG_CHECKING([for OpenSSL]) + +EL_SAVE_FLAGS +cf_result="no" + +if test "$disable_openssl" = yes; then + cf_result="not used" +else + for ssldir in "$openssl_withval" "" /usr /usr/local/openssl \ + /usr/lib/openssl /usr/local/ssl \ + /usr/local/www /usr/lib/ssl /usr/local \ + /usr/pkg /opt /opt/openssl; do + if test "$cf_result" = no; then + if test -d "$ssldir"; then + OPENSSL_CFLAGS="-I$ssldir/include" + LIBS="-L$ssldir/lib -lssl -lcrypto $LIBS_X" + CFLAGS="$CFLAGS_X $OPENSSL_CFLAGS" + CPPFLAGS="$CPPFLAGS_X $OPENSSL_CFLAGS" +# # FIXME: This created serious portability problems. --pasky +# if test "$CC" == "gcc"; then +# # I'm not sure about compatibility here. --pasky +# LIBS="$LIBS -R$ssldir/lib" +# fi + else + LIBS="-lssl -lcrypto $LIBS_X" + fi + AC_TRY_LINK([#include ], + [OpenSSL_add_all_algorithms()], + cf_result=yes, cf_result=no) + if test "$cf_result" != yes; then + AC_TRY_LINK([#include ], + [SSLeay_add_ssl_algorithms()], + cf_result=yes, cf_result=no) + fi + fi + done + + if test "$cf_result" != yes; then + if test -n "$openssl_withval" && test "x$openssl_withval" != xno; then + AC_MSG_ERROR([OpenSSL not found]) + fi + EL_RESTORE_FLAGS + else + EL_CONFIG(CONFIG_OPENSSL, [OpenSSL]) + + CFLAGS="$CFLAGS_X" + AC_SUBST(OPENSSL_CFLAGS) + fi +fi + +AC_MSG_RESULT($cf_result) + +CONFIG_GNUTLS_OPENSSL_COMPAT=no +dnl ---- GNU TLS +dnl We can't have AC_MSG_CHECKING here, because AC_PATH_PROG prints its own and +dnl it looks ugly then. + +if test "$cf_result" = yes; then + cf_result="not used" + +else + EL_SAVE_FLAGS + cf_result="no" + + if test -z "$disable_gnutls"; then + # Sure, we maybe _could_ use their macro, but how to ensure + # that the ./configure script won't fail if the macro won't be + # found..? :( --pasky + + GNUTLS_PATH="$PATH:/usr/local/gnutls:/opt:/opt/gnutls" + + if test -d "$gnutls_withval"; then + GNUTLS_PATH="$gnutls_withval:$GNUTLS_PATH" + fi + + AC_PATH_PROG(LIBGNUTLS_CONFIG, libgnutls-config, no, $GNUTLS_PATH) + + if test "$LIBGNUTLS_CONFIG" = "no" ; then + cf_result=no + else + GNUTLS_CFLAGS=`$LIBGNUTLS_CONFIG --cflags` + GNUTLS_LIBS=`$LIBGNUTLS_CONFIG --libs` + + LIBS="$GNUTLS_LIBS $LIBS_X" + CFLAGS="$CFLAGS_X $GNUTLS_CFLAGS" + CPPFLAGS="$CPPFLAGS_X $GNUTLS_CFLAGS" + + # Verify if it's really usable. gnutls_session was + # renamed to gnutls_session_t before GNU TLS 1.2.0 + # (on 2004-06-13); ELinks now requires this. + AC_TRY_LINK([#include ], + [gnutls_session_t dummy; + gnutls_check_version(NULL)], + cf_result=yes, cf_result=no) + fi + + if test "$cf_result" = yes; then + EL_CONFIG(CONFIG_GNUTLS, [GNUTLS]) + + CFLAGS="$CFLAGS_X" + AC_SUBST(GNUTLS_CFLAGS) + + # Verify if the MD5 compatibility layer is usable. + CONFIG_GNUTLS_OPENSSL_COMPAT=yes + EL_CHECK_OPTIONAL_LIBRARY(CONFIG_GNUTLS_OPENSSL_COMPAT, + [GNU TLS OpenSSL compatibility], + gnutls/openssl.h, gnutls-openssl, + MD5_Init) + else + if test -n "$gnutls_withval" && test "x$gnutls_withval" != xno; then + AC_MSG_ERROR([GNUTLS (1.2 or later) not found. ELinks no longer supports GNUTLS 1.1.]) + fi + EL_RESTORE_FLAGS + fi + fi +fi + +AC_MSG_CHECKING([for GNU TLS (1.2 or later)]) +AC_MSG_RESULT($cf_result) + +dnl Final SSL setup + +EL_CONFIG_DEPENDS(CONFIG_SSL, [CONFIG_OPENSSL CONFIG_GNUTLS], [SSL]) +AC_SUBST(CONFIG_GNUTLS_OPENSSL_COMPAT) +AC_SUBST(CONFIG_OPENSSL) +AC_SUBST(CONFIG_GNUTLS) + +#endif + +AC_MSG_CHECKING([whether to be or not to be]) +AC_MSG_RESULT([needs to be determined experimentally]) + +dnl =================================================================== +dnl Check for IPv6 support and related functions. +dnl =================================================================== + +EL_CHECK_NET_TYPE(struct sockaddr_storage, HAVE_SA_STORAGE, []) +EL_CHECK_NET_TYPE(struct sockaddr_in6, HAVE_SA_IN6, [#include ]) +EL_CHECK_NET_TYPE(struct addrinfo, HAVE_ADDRINFO, [#include ]) + +AC_CHECK_FUNC(getaddrinfo, HAVE_GETADDRINFO=yes, HAVE_GETADDRINFO=no) +if test "$HAVE_GETADDRINFO" != yes; then + AC_CHECK_LIB(inet6, getaddrinfo, HAVE_GETADDRINFO=yes, HAVE_GETADDRINFO=no) + if test "$HAVE_GETADDRINFO" = yes; then + LIBS="$LIBS -linet6" + fi +fi + + +dnl =================================================================== +dnl Checking for X11 (window title restoring). +dnl =================================================================== + +AC_PATH_X +if test x"$no_x" != xyes; then + if test -n "$x_includes"; then + X_CFLAGS="-I$x_includes" + CPPFLAGS="$CPPFLAGS -I$x_includes" + fi + if test -n "$x_libraries"; then + LDFLAGS="$LDFLAGS -L$x_libraries" + fi + LIBS="-lX11 $LIBS" + EL_DEFINE(HAVE_X11, [X11 for restoring window titles]) + AC_SUBST(X_CFLAGS) +fi + + +dnl =================================================================== +dnl Backtraces displaying support. +dnl =================================================================== + +AC_CHECK_HEADERS(execinfo.h, HAVE_EXECINFO=yes, HAVE_EXECINFO=no) +# possible checks for other system-specific means go here + + +dnl =================================================================== +dnl SMB protocol support. +dnl =================================================================== + +AC_CHECK_PROG(HAVE_SMBCLIENT, smbclient, yes, no) + + +dnl =================================================================== +dnl Gettext grey zone. Beware. +dnl =================================================================== + +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" + +AM_GNU_GETTEXT + +dnl AC_MSG_CHECKING([how many characters your English alphabet has]) +dnl # f33r d4 l33t... I hope it's portable. :) +dnl cf_result=$((48#z - 48#a + 1)); +dnl AC_MSG_RESULT($cf_result) + + +dnl =================================================================== +dnl Compile-time features control +dnl =================================================================== + +EL_ARG_ENABLE(CONFIG_COOKIES, cookies, [Cookies], + [ --disable-cookies disable cookie support]) + +EL_ARG_ENABLE(CONFIG_FORMHIST, formhist, [Form history], + [ --disable-formhist disable form history support]) + +EL_ARG_ENABLE(CONFIG_GLOBHIST, globhist, [Global history], + [ --disable-globhist disable global history support]) + + +EL_ARG_ENABLE(CONFIG_MAILCAP, mailcap, [Mailcap], + [ --disable-mailcap disable mailcap support]) + +EL_ARG_ENABLE(CONFIG_MIMETYPES, mimetypes, [Mimetypes files], + [ --disable-mimetypes disable mimetypes files support]) + + +EL_ARG_DEPEND(CONFIG_IPV6, ipv6, + [HAVE_SA_STORAGE:yes HAVE_SA_IN6:yes HAVE_ADDRINFO:yes HAVE_GETADDRINFO:yes], + [IPv6], + [ --disable-ipv6 disable IPv6 support]) + +EL_ARG_ENABLE(CONFIG_BITTORRENT, bittorrent, [BitTorrent protocol], + [ --enable-bittorrent enable BitTorrent protocol support]) + +EL_ARG_ENABLE(CONFIG_DATA, data, [Data protocol], + [ --disable-data disable data protocol support]) + +EL_ARG_ENABLE(CONFIG_URI_REWRITE, uri-rewrite, [URI rewriting], + [ --disable-uri-rewrite disable URI rewrite support]) + +EL_ARG_DEPEND(CONFIG_CGI, cgi, [HAVE_SETENV_OR_PUTENV:yes], [Local CGI], + [ --enable-cgi enable local CGI support]) + +EL_ARG_ENABLE(CONFIG_FINGER, finger, [Finger protocol], + [ --enable-finger enable finger protocol support]) + +dnl =================================================================== +dnl FSP protocol +dnl =================================================================== +EL_SAVE_FLAGS + +if test "x${enable_fsp}" != xno; then + AC_CHECK_HEADERS(fsplib.h, HAVE_FSPLIB=yes, HAVE_FSPLIB=no) + + if test "$HAVE_FSPLIB" = yes; then + AC_CHECK_LIB(fsplib, fsp_open_session, HAVE_FSPLIB=yes, HAVE_FSPLIB=no) + if test "$HAVE_FSPLIB" = yes; then + LIBS="$LIBS -lfsplib" + else + AC_CHECK_LIB(fsp, fsp_open_session, HAVE_FSPLIB=yes, HAVE_FSPLIB=no) + if test "$HAVE_FSPLIB" = yes; then + LIBS="$LIBS -lfsp" + fi + fi + fi +fi + +EL_ARG_DEPEND(CONFIG_FSP, fsp, [HAVE_FSPLIB:yes], [FSP protocol], + [ --enable-fsp enable FSP protocol support]) + +if test "x$CONFIG_FSP" = xno; then + EL_RESTORE_FLAGS +fi + +EL_ARG_ENABLE(CONFIG_FTP, ftp, [FTP protocol], + [ --disable-ftp disable ftp protocol support]) + +EL_ARG_ENABLE(CONFIG_GOPHER, gopher, [Gopher protocol], + [ --enable-gopher enable gopher protocol support]) + +EL_ARG_ENABLE(CONFIG_NNTP, nntp, [NNTP protocol], + [ --enable-nntp enable nntp protocol support]) + +dnl Force disable SMB before EL_ARG_DEPEND so that it logs the correct value. +if test "${enable_smb-no}" != no || test "${CONFIG_SMB-no}" != no; then + AC_MSG_WARN([Forcing --disable-smb because of vulnerability CVE-2006-5925. +If you want to use SMB, please vote for bug 844 or post a patch.]) +fi +enable_smb=no +CONFIG_SMB=no +EL_ARG_DEPEND(CONFIG_SMB, smb, [HAVE_SMBCLIENT:yes], [SMB protocol], + [ --enable-smb not currently allowed]) +dnl EL_ARG_DEPEND(CONFIG_SMB, smb, [HAVE_SMBCLIENT:yes], [SMB protocol], +dnl [ --disable-smb disable SMB protocol support (requires smbclient)]) + + +EL_ARG_ENABLE(CONFIG_MOUSE, mouse, [Mouse handling], + [ --disable-mouse disable mouse support]) + +# GPM mouse is Linux specific, so ... +CONFIG_SYSMOUSE=yes +EL_ARG_DEPEND(CONFIG_SYSMOUSE, sysmouse, + [CONFIG_MOUSE:yes CONFIG_GPM:no HAVE_SYSMOUSE_HEADER:yes], + [BSD sysmouse], + [ --disable-sysmouse disable BSD sysmouse support]) + +EL_ARG_ENABLE(CONFIG_88_COLORS, 88-colors, [88 colors], + [ --enable-88-colors enable 88 color support]) + +EL_ARG_ENABLE(CONFIG_256_COLORS, 256-colors, [256 colors], + [ --enable-256-colors enable 256 color support]) + + +EL_ARG_ENABLE(CONFIG_EXMODE, exmode, [Exmode interface], + [ --enable-exmode enable exmode (CLI) interface]) + +EL_ARG_ENABLE(CONFIG_LEDS, leds, [LEDs], + [ --disable-leds disable LEDs support]) + +EL_ARG_ENABLE(CONFIG_MARKS, marks, [Marks], + [ --disable-marks disable document marks support]) + + +EL_ARG_ENABLE(CONFIG_CSS, css, [Cascading Style Sheets], + [ --disable-css disable Cascading Style Sheet support]) + +EL_ARG_DEPEND(CONFIG_HTML_HIGHLIGHT, html-highlight, [CONFIG_CSS:yes], [HTML highlighting], + [ --enable-html-highlight HTML highlighting using DOM engine]) + +dnl Everything in the tree already uses CONFIG_DOM +dnl so resolve CONFIG_HTML_HIGHLIGHT to CONFIG_DOM +EL_CONFIG_DEPENDS(CONFIG_DOM, [CONFIG_HTML_HIGHLIGHT], [DOM engine]) + +EL_ARG_DEPEND(CONFIG_BACKTRACE, backtrace, [HAVE_EXECINFO:yes], [Backtrace], + [ --disable-backtrace disable backtrace support]) + +EL_ARG_DEPEND(CONFIG_NO_ROOT_EXEC, no-root, [HAVE_GETUID:yes HAVE_GETEUID:yes], [No root exec], + [ --enable-no-root enable prevention of usage by root]) + + +EL_ARG_ENABLE(CONFIG_DEBUG, debug, [Debug mode], + [ --enable-debug enable leak debug and internal error checking]) + +EL_ARG_DEPEND(CONFIG_FASTMEM, fastmem, [CONFIG_DEBUG:no], [Fast mode], + [ --enable-fastmem enable direct use of system allocation functions, not usable with --enable-debug]) + +EL_ARG_ENABLE(CONFIG_OWN_LIBC, own-libc, [Own libc stubs], + [ --enable-own-libc force use of internal functions instead of those of system libc]) + +EL_ARG_ENABLE(CONFIG_SMALL, small, [Small binary], + [ --enable-small reduce binary size as far as possible (but see the bottom of doc/small.txt!)]) + +if test "$CONFIG_OPENSSL" != yes && + test "$CONFIG_GNUTLS_OPENSSL_COMPAT" != yes || + test "$CONFIG_OWN_LIBC" = yes; +then + AC_MSG_CHECKING(for built-in MD5 support) + AC_MSG_RESULT(yes) + EL_CONFIG(CONFIG_MD5, [Built-in MD5]) +fi + +AC_SUBST(CONFIG_MD5) + +if test "$CONFIG_BITTORRENT" = yes; then + if test "$CONFIG_OPENSSL" != yes || + test "$CONFIG_OWN_LIBC" = yes; + then + AC_MSG_CHECKING(for built-in SHA1 support) + AC_MSG_RESULT(yes) + EL_CONFIG(CONFIG_SHA1, [Built-in SHA1]) + fi +fi + +AC_SUBST(CONFIG_SHA1) + +if test "$CONFIG_CSS" = yes || test "$CONFIG_DOM" = yes; +then + EL_CONFIG(CONFIG_SCANNER, [Built-in scanner]) +fi +AC_SUBST(CONFIG_SCANNER) + +AC_ARG_ENABLE(weehoofooboomookerchoo, + [ + Also check out the features.conf file for more information about features! + ], + [AC_MSG_ERROR(Are you strange, or what?)]) + + +dnl == EMX hack + +test "$CONFIG_OS2" = yes && LDFLAGS="$LDFLAGS -Zexe" +test "$CONFIG_OS2" = yes && LDFLAGS=`echo "$LDFLAGS" | sed "s/-Zbin-files//g"` + + +dnl =================================================================== +dnl Export directory paths +dnl =================================================================== + +# Set up the ``entry points'' if they were not supplied by builder +test "x$prefix" = xNONE && prefix=$ac_default_prefix +test "x$exec_prefix" = xNONE && exec_prefix=${prefix} + +# Create CONFDIR #define for config.h + +# XXX: This may be dependent on a particular version of autoconf. Whatever, +# it's autoconf fault to force us to do such hacks ;p. +if test x"$sysconfdir" = x"\${prefix}/etc"; then + # sysconfdir is set to its default value... fine, let's append /elinks/ + # XXX: We can't modify listing of the default in ./configure --help :-( + sysconfdir_n=`eval echo "$sysconfdir"` + sysconfdir=$sysconfdir_n + (echo "$sysconfdir" | grep elinks >/dev/null 2>/dev/null) || \ + sysconfdir="$sysconfdir/elinks" +fi + +CONFDIR=$sysconfdir +AC_DEFINE_UNQUOTED(CONFDIR, "$CONFDIR", [Directory containing default config]) +AC_SUBST(CONFDIR) + +# Create LOCALEDIR #define for config.h +LOCALEDIR=`eval echo "$datadir/locale"` +AC_DEFINE_UNQUOTED(LOCALEDIR, "$LOCALEDIR", [Directory containing locales]) +AC_SUBST(LOCALEDIR) + +# Create LIBDIR #define for config.h +LIBDIR=`eval echo "$libdir"` +AC_DEFINE_UNQUOTED(LIBDIR, "$LIBDIR", [Directory containing libraries]) +AC_SUBST(LIBDIR) + +EL_LOG_CONFIG(CONFDIR, [System configuration directory], []) +EL_LOG_CONFIG(LOCALEDIR, [Locale catalogs directory], []) + +dnl =================================================================== +dnl A little fine tuning of gcc specific options (continued) +dnl =================================================================== + +if test "x$ac_cv_prog_gcc" = "xyes"; then + if test "$CONFIG_DEBUG" = "yes"; then + dnl We want to see all warnings and live with none (in debug mode). + CFLAGS="$CFLAGS -Werror" + fi + + case "`$CC -dumpversion`" in + 3.0|3.1|3.2) + # These should be ok using -Werror + ;; + 3.*) + # If gcc is version 3.3 (or higher?) it emits lots of false positive + # "dereferencing type-punned pointer will break strict-aliasing rules" + # warnings. Disable them by not doing any strict-aliasing. The + # alternative is just too ugly. Thanks gcc guys!! ;) + CFLAGS="$CFLAGS -fno-strict-aliasing" + ;; + 4.*) + # Do not show warnings related to (char * | unsigned char *) type + # difference. + CFLAGS="$CFLAGS -fno-strict-aliasing -Wno-pointer-sign" + ;; + *) + # These should be ok using -Werror + ;; + esac +fi + +# CFLAGS doesn't contain all compile flags. Some will be added only when +# needed in the respective source directory. To get all compile flags +# easily just add CPPFLAGS. +ALL_CFLAGS="$CFLAGS $CPPFLAGS" + +EL_LOG_CONFIG(ALL_CFLAGS, [Compiler options (CFLAGS)], []) +EL_LOG_CONFIG(LIBS, [Linker options (LIBS)], []) + +dnl =================================================================== +dnl Colored make output +dnl =================================================================== + +if test $(`which tput` colors) -ge 4; then + MAKE_COLOR=1 + AC_SUBST(MAKE_COLOR) +fi + +dnl =================================================================== +dnl Generated files +dnl =================================================================== + +AC_OUTPUT([ \ + Makefile.config \ + contrib/elinks.spec \ + contrib/lua/hooks.lua \ + contrib/conv/w3m2links.awk \ + doc/man/man1/elinks.1 \ + src/intl/gettext/ref-add.sed \ + src/intl/gettext/ref-del.sed +]) + +abs_srcdir="$(cd "$srcdir" && pwd)" +# builddir is always absolute! +if test "$abs_srcdir" != "$builddir"; then + # Bootstrap the Makefile creation + echo "include $abs_srcdir/Makefile" > "$builddir/Makefile" + "$MAKE" "SRC=$abs_srcdir" init + # Make cg-status ignore this build directory + echo "*" > "$builddir/.gitignore" +fi + + +dnl =================================================================== +dnl Configuration summary +dnl =================================================================== + +AC_MSG_RESULT(The following feature summary has been saved to features.log) +cat features.log diff -Naurp elinks-0.11.3-orig/configure.in.rej elinks-0.11.3/configure.in.rej --- elinks-0.11.3-orig/configure.in.rej 1970-01-01 01:00:00.000000000 +0100 +++ elinks-0.11.3/configure.in.rej 2007-05-13 11:51:49.000000000 +0200 @@ -0,0 +1,23 @@ +*************** +*** 742,751 **** + AC_TRY_LINK([ #include + #include ], + [ lua_State *L = lua_open(); +- lua_baselibopen(L); +- lua_mathlibopen(L); +- lua_strlibopen(L); +- lua_tablibopen(L); + lua_pushboolean(L, 1); + lua_close(L);], + cf_result=yes, cf_result=no) +--- 742,751 ---- + AC_TRY_LINK([ #include + #include ], + [ lua_State *L = lua_open(); ++ luaopen_base(L); ++ luaopen_math(L); ++ luaopen_string(L); ++ luaopen_table(L); + lua_pushboolean(L, 1); + lua_close(L);], + cf_result=yes, cf_result=no) diff -Naurp elinks-0.11.3-orig/src/scripting/lua/core.c elinks-0.11.3/src/scripting/lua/core.c --- elinks-0.11.3-orig/src/scripting/lua/core.c 2007-05-13 11:51:34.000000000 +0200 +++ elinks-0.11.3/src/scripting/lua/core.c 2007-05-13 11:51:49.000000000 +0200 @@ -633,7 +633,7 @@ do_hooks_file(LS, unsigned char *prefix, if (file_can_read(file)) { int oldtop = lua_gettop(S); - if (lua_dofile(S, file) != 0) + if (luaL_dofile(S, file) != 0) sleep(3); /* Let some time to see error messages. */ lua_settop(S, oldtop); } @@ -755,7 +755,7 @@ handle_ret_eval(struct session *ses) int oldtop = lua_gettop(L); if (prepare_lua(ses) == 0) { - lua_dostring(L, expr); + luaL_dostring(L, expr); lua_settop(L, oldtop); finish_lua(); } diff -Naurp elinks-0.11.3-orig/src/scripting/lua/hooks.c elinks-0.11.3/src/scripting/lua/hooks.c --- elinks-0.11.3-orig/src/scripting/lua/hooks.c 2007-05-13 11:51:34.000000000 +0200 +++ elinks-0.11.3/src/scripting/lua/hooks.c 2007-05-13 11:51:49.000000000 +0200 @@ -200,7 +200,7 @@ static enum evhook_status script_hook_quit(va_list ap, void *data) { if (!prepare_lua(NULL)) { - lua_dostring(lua_state, "if quit_hook then quit_hook() end"); + luaL_dostring(lua_state, "if quit_hook then quit_hook() end"); finish_lua(); }