2005-09-15 09:58:31 -04:00
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
dnl There are two types of comments in this file.
|
|
|
|
dnl Comments that refer to Autoconf macros begin with "dnl", and m4
|
|
|
|
dnl discards them. Other comments begin with "#", and they get copied
|
|
|
|
dnl to the configure script, hopefully making it easier to read.
|
|
|
|
|
2007-07-02 13:19:33 -04:00
|
|
|
dnl Autoconf 2.13 generates an incomplete config.h.in; see ELinks bug 936.
|
2007-07-11 15:59:14 -04:00
|
|
|
dnl Autoconf 2.59 is installed in the computer that generates our nightly
|
2007-07-02 14:05:03 -04:00
|
|
|
dnl snapshots, so we need to be compatible with that.
|
|
|
|
AC_PREREQ(2.59)
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_INIT
|
|
|
|
AC_CONFIG_SRCDIR([src/main/main.c])
|
2005-09-15 09:58:31 -04:00
|
|
|
AC_CONFIG_AUX_DIR(config)
|
|
|
|
|
2005-09-16 07:42:25 -04:00
|
|
|
PACKAGE=elinks
|
2008-09-21 07:49:04 -04:00
|
|
|
VERSION=0.12pre2.GIT
|
2005-09-16 07:42:25 -04:00
|
|
|
AC_SUBST(PACKAGE)
|
2005-09-16 07:45:59 -04:00
|
|
|
AC_SUBST(VERSION)
|
2005-09-16 07:54:26 -04:00
|
|
|
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Package version])
|
|
|
|
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Package version])
|
2005-09-16 07:45:59 -04:00
|
|
|
AC_CONFIG_HEADERS(config.h)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2005-10-02 19:29:52 -04:00
|
|
|
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])
|
|
|
|
|
2005-10-22 07:25:28 -04:00
|
|
|
MAKE=
|
|
|
|
|
|
|
|
for make in gnumake gmake make false; do
|
|
|
|
if test "x$MAKE" = x; then
|
|
|
|
AC_PATH_PROGS(MAKE, "$make")
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
2006-01-14 09:00:26 -05:00
|
|
|
builddir="`pwd`"
|
|
|
|
|
2005-10-22 07:25:28 -04:00
|
|
|
# Cleanup if we are configuring with a previous build in the tree
|
|
|
|
if test -e Makefile.config; then
|
2006-01-14 09:00:26 -05:00
|
|
|
AC_MSG_CHECKING([for previous build to clean])
|
|
|
|
"$MAKE" -C "$builddir/src" cleanall >/dev/null 2>/dev/null
|
|
|
|
AC_MSG_RESULT(done)
|
2005-10-22 07:25:28 -04:00
|
|
|
fi
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Load feature configuration file and start logging features.
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
features="features.conf"
|
|
|
|
AC_CHECK_FILE("$srcdir/$features", [ . $srcdir/$features ])
|
|
|
|
AC_CHECK_FILE("$builddir/$features", [ . $builddir/$features ])
|
|
|
|
echo "Feature summary:" > features.log
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Checks for programs.
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
AC_PROG_CC
|
|
|
|
AC_PROG_AWK
|
|
|
|
AC_PATH_PROGS(AWK, "$AWK")
|
|
|
|
AC_PROG_RANLIB
|
2005-09-17 14:00:58 -04:00
|
|
|
AC_PROG_INSTALL
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2008-01-22 07:21:29 -05:00
|
|
|
AC_PATH_PROGS(GIT, "git")
|
2005-11-24 07:24:19 -05:00
|
|
|
AC_PATH_PROGS(SPARSE, "sparse")
|
|
|
|
|
2005-09-15 09:58:31 -04:00
|
|
|
CONFIG_ASCIIDOC="no"
|
|
|
|
CONFIG_POD2HTML="no"
|
|
|
|
CONFIG_XMLTO="no"
|
|
|
|
CONFIG_JW="no"
|
|
|
|
|
|
|
|
if test "x$CONFIG_DOC" != xno; then
|
|
|
|
AC_PATH_PROGS(ASCIIDOC, "asciidoc")
|
2005-10-02 18:50:16 -04:00
|
|
|
if test "x$ASCIIDOC" != "x"; then
|
2005-09-15 09:58:31 -04:00
|
|
|
EL_CONFIG(CONFIG_ASCIIDOC, [AsciiDoc])
|
|
|
|
EL_CONFIG(MANUAL_ASCIIDOC, [HTML (one file)])
|
|
|
|
EL_CONFIG(MAN_ASCIIDOC, [HTML])
|
2006-01-26 20:32:06 -05:00
|
|
|
|
|
|
|
echo > config.asciidoc-unsafe.txt
|
2006-02-25 03:58:17 -05:00
|
|
|
if "$ASCIIDOC" --unsafe config.asciidoc-unsafe.txt >/dev/null 2>/dev/null; then
|
2006-01-26 20:32:06 -05:00
|
|
|
ASCIIDOC_FLAGS=--unsafe
|
|
|
|
fi
|
|
|
|
rm config.asciidoc-unsafe.*
|
2005-09-15 09:58:31 -04:00
|
|
|
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
|
2007-08-08 08:23:21 -04:00
|
|
|
|
|
|
|
AC_PATH_PROGS(DOXYGEN, "doxygen")
|
|
|
|
if test "x$DOXYGEN" != "x"; then
|
|
|
|
EL_CONFIG(CONFIG_DOXYGEN, [Doxygen])
|
|
|
|
api_srcdir="$(cd "$srcdir" && pwd)/src"
|
|
|
|
AC_SUBST(api_srcdir)
|
|
|
|
fi
|
2005-09-15 09:58:31 -04:00
|
|
|
fi
|
|
|
|
|
2006-01-26 20:32:06 -05:00
|
|
|
AC_SUBST(ASCIIDOC_FLAGS)
|
2005-09-15 09:58:31 -04:00
|
|
|
AC_SUBST(CONFIG_ASCIIDOC)
|
2007-08-08 08:23:21 -04:00
|
|
|
AC_SUBST(CONFIG_DOXYGEN)
|
2005-09-15 09:58:31 -04:00
|
|
|
AC_SUBST(CONFIG_POD2HTML)
|
|
|
|
AC_SUBST(CONFIG_XMLTO)
|
|
|
|
AC_SUBST(CONFIG_JW)
|
|
|
|
|
2006-02-08 14:28:10 -05:00
|
|
|
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])
|
2007-08-08 08:23:21 -04:00
|
|
|
EL_CONFIG_DEPENDS(CONFIG_APIDOCS, [CONFIG_DOXYGEN], [API Documentation])
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# gcc specific options (to be continued at the bottom of configure)
|
2007-07-05 09:03:59 -04:00
|
|
|
if test "x$ac_cv_c_compiler_gnu" = "xyes"; then
|
2008-02-17 11:40:19 -05:00
|
|
|
# We want to see all warnings and live with none.
|
|
|
|
# We can't set up -Werror here as there may be some warnings in test
|
|
|
|
# suite of configure, and we don't want to fail them.
|
2005-09-15 09:58:31 -04:00
|
|
|
CFLAGS="$CFLAGS -Wall"
|
|
|
|
fi
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Checks for special OSes.
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
dnl EL_CHECK_COMPILER_MACRO(define, name, flagname)
|
|
|
|
AC_DEFUN([EL_CHECK_COMPILER_MACROS],
|
|
|
|
[
|
|
|
|
AC_MSG_CHECKING([for $2])
|
|
|
|
|
|
|
|
for flag in $3; do
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[#ifndef $flag
|
2005-09-15 09:58:31 -04:00
|
|
|
kill me!
|
2007-07-05 09:03:59 -04:00
|
|
|
#endif ]])],[$1=yes],[$1=no])
|
2005-09-15 09:58:31 -04:00
|
|
|
if test "[$]$1" = yes; then
|
|
|
|
EL_CONFIG([$1], [$2])
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
AC_MSG_RESULT([$]$1)
|
|
|
|
])
|
|
|
|
|
2006-01-11 14:12:59 -05:00
|
|
|
EL_CHECK_COMPILER_MACROS(CONFIG_OS_BEOS, [BEOS], [__BEOS__])
|
|
|
|
AC_SUBST(CONFIG_OS_BEOS)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-11 14:10:26 -05:00
|
|
|
EL_CHECK_COMPILER_MACROS(CONFIG_OS_RISCOS, [RISCOS], [__riscos__])
|
|
|
|
AC_SUBST(CONFIG_OS_RISCOS)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-11 14:10:27 -05:00
|
|
|
EL_CHECK_COMPILER_MACROS(CONFIG_OS_WIN32, [WIN32], [_WIN32 __WIN32__])
|
|
|
|
AC_SUBST(CONFIG_OS_WIN32)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-11 14:10:26 -05:00
|
|
|
EL_CHECK_COMPILER_MACROS(CONFIG_OS_OS2, [EMX], [__EMX__])
|
|
|
|
AC_SUBST(CONFIG_OS_OS2)
|
|
|
|
test "$CONFIG_OS_OS2" = yes && LDFLAGS=`echo "$LDFLAGS" | sed "s/-Zexe//g"`
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
AC_MSG_CHECKING([for UNIX])
|
|
|
|
dnl FIXME: some depend kind of mechanism
|
2006-01-11 14:12:59 -05:00
|
|
|
if test "$CONFIG_OS_BEOS" = no && \
|
2006-01-11 14:10:26 -05:00
|
|
|
test "$CONFIG_OS_RISCOS" = no && \
|
2006-01-11 14:10:27 -05:00
|
|
|
test "$CONFIG_OS_WIN32" = no && \
|
2006-01-11 14:10:26 -05:00
|
|
|
test "$CONFIG_OS_OS2" = no; then
|
2006-01-11 14:10:27 -05:00
|
|
|
EL_CONFIG(CONFIG_OS_UNIX, [UNIX])
|
2005-09-15 09:58:31 -04:00
|
|
|
else
|
2006-01-11 14:10:27 -05:00
|
|
|
CONFIG_OS_UNIX=no
|
2005-09-15 09:58:31 -04:00
|
|
|
fi
|
2006-01-11 14:10:27 -05:00
|
|
|
AC_MSG_RESULT($CONFIG_OS_UNIX)
|
|
|
|
AC_SUBST(CONFIG_OS_UNIX)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Checks for header files.
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
AC_HEADER_DIRENT
|
|
|
|
AC_HEADER_STDC
|
|
|
|
AC_HEADER_SYS_WAIT
|
|
|
|
AC_HEADER_TIME
|
|
|
|
|
2006-10-21 17:05:37 -04:00
|
|
|
AC_CHECK_HEADERS(wctype.h)
|
2005-09-15 09:58:31 -04:00
|
|
|
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)
|
2008-07-29 12:09:28 -04:00
|
|
|
AC_CHECK_HEADERS(netdb.h netinet/in.h netinet/in6_var.h)
|
2005-09-15 09:58:31 -04:00
|
|
|
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)
|
2008-07-29 12:09:28 -04:00
|
|
|
AC_CHECK_HEADERS([net/if.h], [], [],
|
|
|
|
[[#ifdef HAVE_SYS_SOCKET_H
|
|
|
|
# include <sys/socket.h> /* <net/if.h> on Mac OS X 10.5.4 needs this */
|
|
|
|
#endif
|
|
|
|
]])
|
2005-09-15 09:58:31 -04:00
|
|
|
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])
|
2005-09-15 22:24:01 -04:00
|
|
|
AC_SUBST(CONFIG_INTERLINK)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
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, [])
|
2006-08-04 18:31:29 -04:00
|
|
|
EL_CHECK_SYS_TYPE(off_t, HAVE_OFF_T, [])
|
2005-09-15 09:58:31 -04:00
|
|
|
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)
|
2006-08-04 18:31:29 -04:00
|
|
|
test "x$HAVE_OFF_T" = xyes && AC_CHECK_SIZEOF(off_t, 4)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# Check for variadic macros
|
2005-09-15 09:58:31 -04:00
|
|
|
EL_CHECK_CODE([variadic macros], HAVE_VARIADIC_MACROS,
|
|
|
|
[#include <stdio.h>
|
|
|
|
#define a(b,c...) printf(b,##c)],
|
|
|
|
[a("foo");a("%s","bar");a("%s%s","baz","quux");])
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Check for POSIX <regex.h>
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
EL_CHECK_SYS_TYPE(regex_t, HAVE_REGEX_H, [#include <regex.h>])
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Checks for library functions.
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
AC_PROG_GCC_TRADITIONAL
|
|
|
|
AC_FUNC_MEMCMP
|
|
|
|
AC_FUNC_MMAP
|
|
|
|
AC_FUNC_STRFTIME
|
2008-01-13 12:23:03 -05:00
|
|
|
AC_CHECK_FUNCS(atoll gethostbyaddr herror strerror)
|
2005-09-15 09:58:31 -04:00
|
|
|
AC_CHECK_FUNCS(popen uname access chmod alarm timegm mremap)
|
2006-10-21 17:05:37 -04:00
|
|
|
AC_CHECK_FUNCS(strcasecmp strncasecmp strcasestr strstr strchr strrchr)
|
2005-09-15 09:58:31 -04:00
|
|
|
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)
|
|
|
|
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_CHECK_FUNCS([cygwin_conv_to_full_win32_path])
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
AC_CHECK_FUNCS(setenv putenv, HAVE_SETENV_OR_PUTENV=yes)
|
|
|
|
AC_CHECK_FUNCS(getuid, HAVE_GETUID=yes)
|
|
|
|
AC_CHECK_FUNCS(geteuid, HAVE_GETEUID=yes)
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# These aren't probably needed now, as they are commented in links.h.
|
|
|
|
# I've no idea about their historical background, but I keep them here
|
|
|
|
# just in the case they will help later. --pasky
|
2005-09-15 09:58:31 -04:00
|
|
|
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
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_MSG_ERROR([Unable to emulate raise()])
|
2005-09-15 09:58:31 -04:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_CACHE_CHECK([for __va_copy],el_cv_HAVE_VA_COPY,[
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdarg.h>
|
|
|
|
va_list ap1,ap2;]], [[__va_copy(ap1,ap2);]])],[el_cv_HAVE_VA_COPY=yes],[el_cv_HAVE_VA_COPY=no])])
|
2005-09-15 09:58:31 -04:00
|
|
|
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,[
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>
|
|
|
|
]], [[int page_size = sysconf(_SC_PAGE_SIZE);]])],[el_cv_HAVE_SC_PAGE_SIZE=yes],[el_cv_HAVE_SC_PAGE_SIZE=no])])
|
2005-09-15 09:58:31 -04:00
|
|
|
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,[
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
2005-09-15 09:58:31 -04:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdarg.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
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"); }
|
2007-07-05 09:03:59 -04:00
|
|
|
]])],[el_cv_HAVE_C99_VSNPRINTF=yes],[el_cv_HAVE_C99_VSNPRINTF=no],[el_cv_HAVE_C99_VSNPRINTF=cross])])
|
2005-09-15 09:58:31 -04:00
|
|
|
if test x"$el_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
|
|
|
|
EL_DEFINE(HAVE_C99_VSNPRINTF, [C99 compliant vsnprintf()])
|
|
|
|
fi
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# OpenSSL and Lua frequently need dlopen
|
|
|
|
AC_CHECK_LIB(dl, dlopen)
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Checks for libraries.
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Checks for packaging specific options.
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
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 ])
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Checks for a libraries, optional even if installed.
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
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
|
2006-01-30 22:28:25 -05:00
|
|
|
# Be a little more careful when setting
|
|
|
|
# include and lib directories. This way
|
|
|
|
# $withval will work when includes are
|
|
|
|
# there but the library is in the common
|
|
|
|
# /usr/lib ... Does the right thing when
|
|
|
|
# looking for gc on Debian.
|
|
|
|
if test -d "$withval/include"; then
|
|
|
|
CFLAGS="$CFLAGS -I$withval/include"
|
|
|
|
CPPFLAGS="$CPPFLAGS -I$withval/include"
|
|
|
|
else
|
|
|
|
CFLAGS="$CFLAGS -I$withval"
|
|
|
|
CPPFLAGS="$CPPFLAGS -I$withval"
|
|
|
|
fi
|
|
|
|
if test -d "$withval/lib"; then
|
|
|
|
LDFLAGS="$LDFLAGS -L$withval/lib"
|
|
|
|
fi
|
2005-09-15 09:58:31 -04:00
|
|
|
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])
|
|
|
|
|
2008-02-17 11:44:48 -05:00
|
|
|
# ELinks calls deflateInit2 with windowBits = MAX_WBITS | 32, to
|
|
|
|
# enable automatic decoding of both zlib and gzip headers. This
|
|
|
|
# feature was added in zlib 1.2.0.2; earlier versions return an error.
|
|
|
|
# The gzclearerr function was also added in zlib 1.2.0.2, so check for
|
|
|
|
# that, even though ELinks does not actually call gzclearerr.
|
2007-06-11 03:15:43 -04:00
|
|
|
EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_GZIP, zlib, zlib.h, z, gzclearerr,
|
2005-09-15 09:58:31 -04:00
|
|
|
[ --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])
|
|
|
|
|
2006-02-01 04:36:42 -05:00
|
|
|
if test "x{with_gc}" != xno; then
|
|
|
|
EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_GC, gc, gc.h, gc, GC_init,
|
2006-07-26 15:31:01 -04:00
|
|
|
[ --with-gc enable Boehm's garbage collector])
|
2006-02-01 04:36:42 -05:00
|
|
|
fi
|
2006-01-30 22:28:25 -05:00
|
|
|
|
2008-02-18 08:15:53 -05:00
|
|
|
EL_CONFIG_OPTIONAL_LIBRARY(CONFIG_LZMA, lzma, lzma.h, lzma, lzma_code,
|
|
|
|
[ --without-lzma disable lzma encoding support])
|
2006-12-09 19:30:16 -05:00
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Check for GSSAPI, optional even if installed.
|
|
|
|
# ===================================================================
|
2006-06-14 08:41:59 -04:00
|
|
|
|
|
|
|
enable_gssapi="no";
|
|
|
|
|
|
|
|
AC_ARG_WITH(gssapi, [ --with-gssapi enable GSSAPI support],
|
|
|
|
[ if test "x$withval" != xno; then enable_gssapi=yes; fi ])
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([for GSSAPI])
|
|
|
|
|
|
|
|
if test "$enable_gssapi" = "yes"; then
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
GSSAPI_CFLAGS=`krb5-config --cflags gssapi`
|
|
|
|
GSSAPI_LIBS=`krb5-config --libs gssapi`
|
|
|
|
CFLAGS="$GSSAPI_CFLAGS $CFLAGS"
|
|
|
|
LIBS="$GSSAPI_LIBS $LIBS"
|
|
|
|
EL_CONFIG(CONFIG_GSSAPI, [GssApi])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_SUBST(CONFIG_GSSAPI)
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Bookmark and XBEL support
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Checks for BSD sysmouse
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
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"])
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Checks for OS/2
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-11 14:10:26 -05:00
|
|
|
if test "$CONFIG_OS_OS2" = yes; then
|
|
|
|
EL_CONFIG_OS_OS2
|
2005-09-15 09:58:31 -04:00
|
|
|
fi
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Checks for Win32
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-11 14:10:27 -05:00
|
|
|
if test "$CONFIG_OS_WIN32" = yes; then
|
|
|
|
EL_CONFIG_OS_WIN32
|
2005-09-15 09:58:31 -04:00
|
|
|
fi
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Check for SEE (Simple Ecmascript Engine)
|
|
|
|
# ===================================================================
|
2006-01-10 13:17:29 -05:00
|
|
|
AC_ARG_WITH(see, [ --with-see enable Simple Ecmascript Engine (SEE) support],
|
|
|
|
[ if test "x$withval" != xno; then enable_see=yes; fi ])
|
|
|
|
|
|
|
|
# The following is probably bad, ugly and so on. Stolen from Guile's (1.4)
|
|
|
|
# SEE_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
|
|
|
|
|
2006-01-20 10:31:59 -05:00
|
|
|
CONFIG_ECMASCRIPT_SEE=no
|
|
|
|
|
2006-01-10 13:17:29 -05:00
|
|
|
if test "$enable_see" = "yes"; then
|
|
|
|
if test -d "$withval"; then
|
|
|
|
SEE_PATH="$withval:$PATH"
|
|
|
|
else
|
|
|
|
SEE_PATH="$PATH"
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_PATH_PROG(SEE_CONFIG, libsee-config, no, $SEE_PATH)
|
2007-06-30 12:42:27 -04:00
|
|
|
AC_MSG_CHECKING([for SEE (2.0.1131 or later)])
|
2006-01-10 13:17:29 -05:00
|
|
|
if test "$SEE_CONFIG" != no; then
|
2007-06-30 12:42:27 -04:00
|
|
|
EL_SAVE_FLAGS
|
2006-01-10 13:17:29 -05:00
|
|
|
SEE_LIBS="`$SEE_CONFIG --libs`"
|
|
|
|
SEE_CFLAGS="`$SEE_CONFIG --cppflags`"
|
2007-06-30 12:42:27 -04:00
|
|
|
CPPFLAGS="$SEE_CFLAGS $CPPFLAGS"
|
|
|
|
LIBS="$SEE_LIBS $LIBS_X"
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <see/see.h>]], [[#if SEE_VERSION_API_MAJOR < 2
|
2007-07-01 06:49:11 -04:00
|
|
|
#error SEE too old
|
2007-06-30 12:42:27 -04:00
|
|
|
#endif
|
2007-07-05 09:03:59 -04:00
|
|
|
]])],[cf_result=yes],[cf_result=no])
|
2007-06-30 12:42:27 -04:00
|
|
|
EL_RESTORE_FLAGS
|
|
|
|
if test "$cf_result" = yes; then
|
|
|
|
LIBS="$SEE_LIBS $LIBS"
|
|
|
|
EL_CONFIG(CONFIG_ECMASCRIPT_SEE, [SEE])
|
|
|
|
AC_SUBST(SEE_CFLAGS)
|
|
|
|
fi
|
|
|
|
AC_MSG_RESULT($cf_result)
|
2006-01-10 13:17:29 -05:00
|
|
|
else
|
|
|
|
if test -n "$withval" && test "x$withval" != xno; then
|
|
|
|
AC_MSG_ERROR([SEE not found])
|
|
|
|
else
|
|
|
|
AC_MSG_WARN([SEE support disabled])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Check for SpiderMonkey, optional even if installed.
|
|
|
|
# ===================================================================
|
2005-12-24 20:23:54 -05:00
|
|
|
|
|
|
|
AC_ARG_WITH(spidermonkey, [ --without-spidermonkey disable SpiderMonkey Mozilla JavaScript engine support],
|
|
|
|
[if test "$withval" = no; then disable_spidermonkey=yes; fi])
|
2007-06-27 16:40:41 -04:00
|
|
|
AC_MSG_CHECKING([for SpiderMonkey (1.5 RC3a or later)])
|
2005-12-24 20:23:54 -05:00
|
|
|
|
|
|
|
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
|
2006-02-26 03:28:15 -05:00
|
|
|
for spidermonkeyinclude in "/include" "/include/js" "/include/smjs" "/include/mozjs"; do
|
2006-02-26 03:25:22 -05:00
|
|
|
for spidermonkeylib in js smjs mozjs; do
|
2007-07-03 08:21:32 -04:00
|
|
|
if test "$cf_result" = no &&
|
|
|
|
test -f "$spidermonkeydir$spidermonkeyinclude/jsapi.h"; then
|
2007-07-10 06:53:18 -04:00
|
|
|
SPIDERMONKEY_LIBS="-L$spidermonkeydir/lib -l$spidermonkeylib"
|
|
|
|
SPIDERMONKEY_CFLAGS="-I$spidermonkeydir$spidermonkeyinclude"
|
2005-12-24 20:23:54 -05:00
|
|
|
|
|
|
|
LIBS="$SPIDERMONKEY_LIBS $LIBS_X"
|
|
|
|
CFLAGS="$CFLAGS_X $SPIDERMONKEY_CFLAGS"
|
|
|
|
CPPFLAGS="$CPPFLAGS_X $SPIDERMONKEY_CFLAGS"
|
|
|
|
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define XP_UNIX
|
|
|
|
#include <jsapi.h>]], [[JS_GetReservedSlot(NULL, NULL, 0, NULL)]])],[cf_result=yes],[cf_result=no])
|
2005-12-24 20:23:54 -05:00
|
|
|
fi
|
|
|
|
done
|
|
|
|
done
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_MSG_RESULT($cf_result)
|
2006-01-20 10:31:59 -05:00
|
|
|
CONFIG_SPIDERMONKEY="$cf_result"
|
2006-01-20 09:26:57 -05:00
|
|
|
EL_RESTORE_FLAGS
|
2005-12-24 20:23:54 -05:00
|
|
|
|
2006-01-20 10:31:59 -05:00
|
|
|
if test "x$CONFIG_SPIDERMONKEY" = xyes &&
|
|
|
|
test "x$CONFIG_ECMASCRIPT_SEE" != xyes; then
|
2006-01-10 20:21:53 -05:00
|
|
|
EL_CONFIG(CONFIG_ECMASCRIPT_SMJS, [SpiderMonkey document scripting])
|
2006-01-20 10:31:59 -05:00
|
|
|
else
|
|
|
|
CONFIG_ECMASCRIPT_SMJS=no
|
2006-01-10 20:21:53 -05:00
|
|
|
fi
|
|
|
|
|
2006-01-12 11:33:33 -05:00
|
|
|
EL_CONFIG_DEPENDS(CONFIG_ECMASCRIPT, [CONFIG_ECMASCRIPT_SEE CONFIG_ECMASCRIPT_SMJS], [ECMAScript (JavaScript)])
|
2006-01-20 10:31:59 -05:00
|
|
|
AC_SUBST(CONFIG_ECMASCRIPT_SEE)
|
|
|
|
AC_SUBST(CONFIG_ECMASCRIPT_SMJS)
|
2006-01-10 20:21:53 -05:00
|
|
|
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Optional Spidermonkey-based ECMAScript browser scripting
|
|
|
|
# ===================================================================
|
2006-01-10 20:21:53 -05:00
|
|
|
|
|
|
|
AC_ARG_ENABLE(sm-scripting,
|
|
|
|
[ --disable-sm-scripting ECMAScript browser scripting (requires Spidermonkey)],
|
|
|
|
[if test "$enableval" != no; then enableval="yes"; fi
|
2006-01-11 08:14:11 -05:00
|
|
|
CONFIG_SCRIPTING_SPIDERMONKEY="$enableval";])
|
2006-01-10 20:21:53 -05:00
|
|
|
|
|
|
|
if test "x$CONFIG_SPIDERMONKEY" = xyes &&
|
2006-01-11 08:14:11 -05:00
|
|
|
test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then
|
|
|
|
EL_CONFIG(CONFIG_SCRIPTING_SPIDERMONKEY, [SpiderMonkey])
|
2006-01-10 20:21:53 -05:00
|
|
|
else
|
2006-01-11 08:14:11 -05:00
|
|
|
CONFIG_SCRIPTING_SPIDERMONKEY=no
|
2006-01-10 20:21:53 -05:00
|
|
|
fi
|
2005-12-24 20:23:54 -05:00
|
|
|
|
2006-01-20 10:31:59 -05:00
|
|
|
if test "x$CONFIG_ECMASCRIPT_SMJS" = xyes ||
|
|
|
|
test "x$CONFIG_SCRIPTING_SPIDERMONKEY" = xyes; then
|
|
|
|
LIBS="$LIBS $SPIDERMONKEY_LIBS"
|
|
|
|
AC_SUBST(SPIDERMONKEY_LIBS)
|
|
|
|
AC_SUBST(SPIDERMONKEY_CFLAGS)
|
|
|
|
AC_SUBST(CONFIG_SPIDERMONKEY)
|
2006-01-20 09:26:57 -05:00
|
|
|
fi
|
2005-12-24 20:23:54 -05:00
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Check for Guile, optional even if installed.
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
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"
|
2006-01-11 08:10:41 -05:00
|
|
|
EL_CONFIG(CONFIG_SCRIPTING_GUILE, [Guile])
|
2005-09-15 09:58:31 -04:00
|
|
|
AC_SUBST(GUILE_CFLAGS)
|
|
|
|
cat <<EOF
|
|
|
|
***********************************************************************
|
|
|
|
The Guile support is incomplete and not so well integrated to ELinks
|
2006-02-11 13:37:57 -05:00
|
|
|
yet. That means, e.g., that you have no Guile console and there might
|
2005-09-15 09:58:31 -04:00
|
|
|
not be all the necessary hooks. Also, the Guile interface is not too
|
|
|
|
well tested (success stories heartily welcomed!). See
|
|
|
|
src/scripting/guile/README for further details and hints.
|
|
|
|
***********************************************************************
|
|
|
|
EOF
|
|
|
|
else
|
|
|
|
if test -n "$withval" && test "x$withval" != xno; then
|
|
|
|
AC_MSG_ERROR([Guile not found])
|
|
|
|
else
|
|
|
|
AC_MSG_WARN([Guile support disabled])
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no);
|
|
|
|
fi
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Check for Perl
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
enable_perl="no";
|
|
|
|
|
|
|
|
AC_ARG_WITH(perl, [ --with-perl enable Perl 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 perl installations.
|
|
|
|
withval="";
|
|
|
|
enable_perl=yes;
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([for Perl])
|
|
|
|
|
|
|
|
cf_result=no
|
|
|
|
|
|
|
|
EL_SAVE_FLAGS
|
|
|
|
|
|
|
|
if test "$enable_perl" = "yes"; then
|
|
|
|
PERL_LIBS="`perl -MExtUtils::Embed -e ldopts`"
|
|
|
|
PERL_CFLAGS="`perl -MExtUtils::Embed -e ccopts`"
|
|
|
|
LIBS="$PERL_LIBS $LIBS"
|
|
|
|
CFLAGS="$PERL_CFLAGS $CFLAGS"
|
|
|
|
CPPFLAGS="$CPPFLAGS $PERL_CFLAGS"
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
2005-09-15 09:58:31 -04:00
|
|
|
#include <EXTERN.h>
|
|
|
|
#include <perl.h>
|
|
|
|
#include <perlapi.h>
|
2007-07-05 09:03:59 -04:00
|
|
|
]], [[PerlInterpreter *my_perl = perl_alloc();]])],[cf_result=yes],[cf_result=no])
|
2005-09-15 09:58:31 -04:00
|
|
|
fi
|
|
|
|
|
2006-12-09 13:26:06 -05:00
|
|
|
if test "$cf_result"; then AC_MSG_RESULT($cf_result); fi
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([whether POPpx works without an n_a variable])
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
2006-12-09 13:26:06 -05:00
|
|
|
#include <EXTERN.h>
|
|
|
|
#include <perl.h>
|
|
|
|
extern PerlInterpreter *my_perl;
|
2007-07-05 09:03:59 -04:00
|
|
|
]], [[dSP; (void) POPpx;]])],[AC_MSG_RESULT([yes])
|
2006-12-09 13:26:06 -05:00
|
|
|
AC_DEFINE([CONFIG_PERL_POPPX_WITHOUT_N_A], [1],
|
|
|
|
[Define if using Perl 5.8.8 or later, where the "POPpx" macro
|
2007-07-05 09:03:59 -04:00
|
|
|
no longer needs an "n_a" variable like it did in 5.8.7])],[AC_MSG_RESULT([no])])
|
2006-12-09 13:26:06 -05:00
|
|
|
|
2005-09-15 09:58:31 -04:00
|
|
|
if test "$cf_result" != "yes"; then
|
|
|
|
EL_RESTORE_FLAGS
|
|
|
|
else
|
2006-01-11 08:07:17 -05:00
|
|
|
EL_CONFIG(CONFIG_SCRIPTING_PERL, [Perl])
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
CFLAGS="$CFLAGS_X"
|
2007-02-17 12:08:00 -05:00
|
|
|
CPPFLAGS="$CPPFLAGS_X"
|
2005-09-15 09:58:31 -04:00
|
|
|
AC_SUBST(PERL_LIBS)
|
|
|
|
AC_SUBST(PERL_CFLAGS)
|
|
|
|
fi
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Check for Python
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
enable_python="no";
|
|
|
|
|
2008-09-09 03:56:14 -04:00
|
|
|
AC_ARG_WITH(python, [[ --with-python[=DIR] enable Python support]],
|
2006-07-26 15:27:57 -04:00
|
|
|
[ if test "x$withval" != xno; then enable_python=yes; fi ])
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-07-26 15:27:57 -04:00
|
|
|
EL_SAVE_FLAGS
|
2005-09-15 09:58:31 -04:00
|
|
|
cf_result=no
|
|
|
|
|
2006-07-26 15:27:57 -04:00
|
|
|
AC_MSG_CHECKING([for Python])
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
if test "$enable_python" = "yes"; then
|
2006-07-26 15:27:57 -04:00
|
|
|
AC_MSG_RESULT(yes);
|
|
|
|
|
|
|
|
if test -d "$withval"; then
|
|
|
|
PYTHON_PATH="$withval:$PATH"
|
2006-01-29 10:48:33 -05:00
|
|
|
else
|
|
|
|
PYTHON_PATH="$PATH"
|
|
|
|
fi
|
2006-07-26 15:27:57 -04:00
|
|
|
|
2006-01-29 10:48:33 -05:00
|
|
|
AC_PATH_PROG(PYTHON, python, no, $PYTHON_PATH)
|
2006-07-26 15:27:57 -04:00
|
|
|
|
|
|
|
if test "$PYTHON" != no; then
|
|
|
|
cf_result="yes";
|
|
|
|
|
|
|
|
PYTHON_CFLAGS="`$PYTHON -c 'from distutils import sysconfig; print "-I%s -I%s" % (sysconfig.get_python_inc(), sysconfig.get_python_inc(plat_specific=True))'`"
|
|
|
|
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"))'`"
|
2006-01-29 10:48:33 -05:00
|
|
|
LIBS="$PYTHON_LIBS $LIBS"
|
2006-07-26 15:27:57 -04:00
|
|
|
CPPFLAGS="$CPPFLAGS $PYTHON_CFLAGS"
|
2007-07-05 09:03:59 -04:00
|
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <Python.h>]], [[Py_Initialize();]])],[cf_result=yes],[cf_result=no])
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2006-01-29 10:48:33 -05:00
|
|
|
if test "$cf_result" != "yes"; then
|
|
|
|
EL_RESTORE_FLAGS
|
|
|
|
else
|
|
|
|
EL_CONFIG(CONFIG_SCRIPTING_PYTHON, [Python])
|
|
|
|
AC_SUBST(PYTHON_LIBS)
|
|
|
|
AC_SUBST(PYTHON_CFLAGS)
|
2007-02-17 12:12:53 -05:00
|
|
|
CPPFLAGS="$CPPFLAGS_X"
|
2006-07-26 15:27:57 -04:00
|
|
|
cat <<EOF
|
|
|
|
***********************************************************************
|
|
|
|
The Python support is incomplete and not so well integrated to ELinks
|
2006-09-17 10:32:07 -04:00
|
|
|
yet. That means, e.g., that you have no Python console and there might
|
2006-07-26 15:27:57 -04:00
|
|
|
not be all the necessary hooks. Also, the Python interface is not too
|
|
|
|
well tested (success stories heartily welcomed!).
|
|
|
|
***********************************************************************
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
if test -n "$withval" && test "x$withval" != xno; then
|
|
|
|
AC_MSG_ERROR([Python not found])
|
|
|
|
else
|
|
|
|
AC_MSG_WARN([Python support disabled])
|
2006-01-29 10:48:33 -05:00
|
|
|
fi
|
|
|
|
fi
|
2006-07-26 15:27:57 -04:00
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no);
|
2005-09-15 09:58:31 -04:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# ===================================================================
|
|
|
|
# Check for Lua, optional even if installed.
|
|
|
|
# ===================================================================
|
2005-09-15 09:58:31 -04:00
|
|
|
|
2008-02-17 11:40:19 -05:00
|
|
|
# Do this the long way, as FreeBSD reportedly needs -L<dir> for
|
|
|
|
# anything other than /usr/lib, and Lua is very often in /usr/local/lib.
|
2005-09-15 09:58:31 -04:00
|
|
|
|
|
|
|
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
|
2008-02-09 06:27:33 -05:00
|
|
|
for suffix in "" 50; do
|
2007-07-03 12:20:14 -04:00
|
|
|
if test "$cf_result" = no && ( test -f "$luadir/include/lua.h" || \
|
|
|
|
test -f "$luadir/include/lua$suffix/lua.h" ) ; then
|
|