1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-12-04 14:46:47 -05:00

Merge branch 'elinks-0.12' into elinks-0.13

Conflicts:
	configure.in
	doc/installation.txt
This commit is contained in:
Kalle Olavi Niemitalo 2009-05-23 12:40:52 +03:00 committed by Kalle Olavi Niemitalo
commit 5def50bed9
4 changed files with 110 additions and 87 deletions

9
NEWS
View File

@ -78,6 +78,15 @@ ELinks 0.12pre3.GIT now:
To be released as 0.12pre4, 0.12rc1, or even 0.12.0. This branch also To be released as 0.12pre4, 0.12rc1, or even 0.12.0. This branch also
includes the changes listed under ``ELinks 0.11.6.GIT now'' below. includes the changes listed under ``ELinks 0.11.6.GIT now'' below.
Incompatibilities:
* Debian build bug 529821: Use ``pkg-config gnutls'' instead of
``libgnutls-config'', which is not included in GNUTLS 2.7.x.
You can no longer specify the location of GNUTLS using
``configure --with-gnutls=DIR''.
Other changes:
* critical bug 1071: Fix crash in get_dom_node_child. * critical bug 1071: Fix crash in get_dom_node_child.
* Debian build bug 526349: Include asciidoc.py from AsciiDoc 7.1.2, * Debian build bug 526349: Include asciidoc.py from AsciiDoc 7.1.2,
to remove all dependencies on the installed version. to remove all dependencies on the installed version.

View File

@ -12,6 +12,8 @@ AC_DEFUN([EL_CONFIG], [
AC_DEFINE($1, 1, [Define if you want: $2 support])]) AC_DEFINE($1, 1, [Define if you want: $2 support])])
dnl EL_LOG_CONFIG(define, description, value) dnl EL_LOG_CONFIG(define, description, value)
dnl The first parameter (define) will not be expanded by m4,
dnl and it must be a valid name for a shell variable.
AC_DEFUN([EL_LOG_CONFIG], AC_DEFUN([EL_LOG_CONFIG],
[ [
about="$2" about="$2"
@ -29,7 +31,7 @@ AC_DEFUN([EL_LOG_CONFIG],
fi fi
if test -z "$value"; then if test -z "$value"; then
value="[$]$1" value="$[$1]"
fi fi
echo "$about $dots $value" >> features.log echo "$about $dots $value" >> features.log

View File

@ -6,9 +6,10 @@ dnl discards them. Other comments begin with "#", and they get copied
dnl to the configure script, hopefully making it easier to read. dnl to the configure script, hopefully making it easier to read.
dnl Autoconf 2.13 generates an incomplete config.h.in; see ELinks bug 936. dnl Autoconf 2.13 generates an incomplete config.h.in; see ELinks bug 936.
dnl Autoconf 2.59 is installed in the computer that generates our nightly dnl Autoconf 2.61 is installed in the computer that generates our nightly
dnl snapshots, so we need to be compatible with that. dnl snapshots, so we need to be compatible with that. (Also, some files
AC_PREREQ(2.59) dnl in Autoconf 2.62 and 2.63 sources are not GPLv2 compatible.)
AC_PREREQ(2.61)
AC_INIT AC_INIT
AC_CONFIG_SRCDIR([src/main/main.c]) AC_CONFIG_SRCDIR([src/main/main.c])
AC_CONFIG_AUX_DIR(config) AC_CONFIG_AUX_DIR(config)
@ -218,9 +219,9 @@ AC_SUBST(CONFIG_INTERLINK)
AC_STRUCT_TM AC_STRUCT_TM
AC_C_CONST AC_C_CONST
AC_C_INLINE AC_C_INLINE
AC_MSG_CHECKING([[C99-conforming inline]]) AC_MSG_CHECKING([[for C99-conforming inline]])
AC_COMPILE_IFELSE([[ AC_COMPILE_IFELSE([[
int add(int x); int add(int change);
static int sum; static int sum;
@ -1003,31 +1004,47 @@ AC_SUBST(CONFIG_SCRIPTING)
# For wiping SSL hooks.. # For wiping SSL hooks..
#ifdef CONFIG_SSL #ifdef CONFIG_SSL
disable_openssl="" chosen_ssl_library=""
disable_gnutls=""
enable_gnutls=""
AC_ARG_WITH(gnutls, [ --without-gnutls disable GNUTLS SSL support], 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 enable GNUTLS SSL support]],
AC_ARG_WITH(gnutls, [[ --with-gnutls[=DIR] enable GNUTLS SSL support]], [case "$with_gnutls" in
[if test "$with_gnutls" != no; then enable_gnutls=yes; fi]) "no") : ;;
gnutls_withval="$withval" "yes") chosen_ssl_library="GNUTLS" ;;
*) chosen_ssl_library="GNUTLS"
AC_MSG_WARN([[Support for --with-gnutls=DIR has been removed.
You may have to set the PKG_CONFIG_PATH environment variable instead.]]) ;;
esac])
if test "$enable_gnutls" = yes; then AC_ARG_WITH(openssl, [[ --without-openssl disable OpenSSL support]])
disable_openssl=yes; AC_ARG_WITH(openssl, [[ --with-openssl[=DIR] enable OpenSSL support (default)]],
with_nss_compat_ossl=no; [case "$with_openssl" in
fi "no") : ;;
*) chosen_ssl_library="OpenSSL" ;;
AC_ARG_WITH(openssl, [ --without-openssl disable OpenSSL support], esac])
[if test "$with_openssl" = no; then disable_openssl=yes; fi])
AC_ARG_WITH(openssl, [[ --with-openssl[=DIR] enable OpenSSL support (default)]])
openssl_withval="$withval"
AC_ARG_WITH(nss_compat_ossl, [[ --with-nss_compat_ossl[=DIR] AC_ARG_WITH(nss_compat_ossl, [[ --with-nss_compat_ossl[=DIR]
NSS compatibility SSL libraries/include files]]) NSS compatibility SSL libraries/include files]],
[case "$with_nss_compat_ossl" in
"no") : ;;
*) chosen_ssl_library="nss_compat_ossl" ;;
esac])
# nss_compat_ossl # ---- nss_compat_ossl
if test -n "$with_nss_compat_ossl" && test "$with_nss_compat_ossl" != "no"; then
if test "$with_nss_compat_ossl" = no; then
# explicitly disabled
:
elif test -n "$chosen_ssl_library" && test "$chosen_ssl_library" != "nss_compat_ossl"; then
# not used, because $chosen_ssl_library was chosen
:
elif test -z "${with_nss_compat_ossl+set}"; then
# SSL_library_init() in nss_compat_ossl 0.9.2 calls exit(1)
# with no error message if there is no certificate database.
# https://bugzilla.redhat.com/show_bug.cgi?id=463437
# So ELinks uses nss_compat_ossl only if explicitly requested.
:
else
EL_SAVE_FLAGS EL_SAVE_FLAGS
if test "$with_nss_compat_ossl" = yes; then if test "$with_nss_compat_ossl" = yes; then
if pkg-config nss; then if pkg-config nss; then
@ -1049,8 +1066,7 @@ if test -n "$with_nss_compat_ossl" && test "$with_nss_compat_ossl" != "no"; then
else else
LIBS="$LIBS -lnss_compat_ossl" LIBS="$LIBS -lnss_compat_ossl"
EL_CONFIG(CONFIG_NSS_COMPAT_OSSL, [nss_compat_ossl]) EL_CONFIG(CONFIG_NSS_COMPAT_OSSL, [nss_compat_ossl])
disable_openssl="yes" chosen_ssl_library="nss_compat_ossl"
disable_gnutls="yes"
fi fi
fi fi
@ -1059,12 +1075,16 @@ fi
AC_MSG_CHECKING([for OpenSSL]) AC_MSG_CHECKING([for OpenSSL])
EL_SAVE_FLAGS EL_SAVE_FLAGS
cf_result="no"
if test "$disable_openssl" = yes; then if test "$with_openssl" = no; then
cf_result="not used" cf_result="explicitly disabled"
elif test -n "$chosen_ssl_library" && test "$chosen_ssl_library" != "OpenSSL"; then
cf_result="not used, because $chosen_ssl_library was chosen"
else else
for ssldir in "$openssl_withval" "" /usr /usr/local/openssl \ cf_result=no
for ssldir in "$with_openssl" "" /usr /usr/local/openssl \
/usr/lib/openssl /usr/local/ssl \ /usr/lib/openssl /usr/local/ssl \
/usr/local/www /usr/lib/ssl /usr/local \ /usr/local/www /usr/lib/ssl /usr/local \
/usr/pkg /opt /opt/openssl; do /usr/pkg /opt /opt/openssl; do
@ -1090,12 +1110,13 @@ else
done done
if test "$cf_result" != yes; then if test "$cf_result" != yes; then
if test -n "$openssl_withval" && test "x$openssl_withval" != xno; then if test "${with_openssl-no}" != "no"; then
AC_MSG_ERROR([OpenSSL not found]) AC_MSG_ERROR([OpenSSL not found])
fi fi
EL_RESTORE_FLAGS EL_RESTORE_FLAGS
else else
EL_CONFIG(CONFIG_OPENSSL, [OpenSSL]) EL_CONFIG(CONFIG_OPENSSL, [OpenSSL])
chosen_ssl_library="OpenSSL"
CFLAGS="$CFLAGS_X" CFLAGS="$CFLAGS_X"
AC_SUBST(OPENSSL_CFLAGS) AC_SUBST(OPENSSL_CFLAGS)
@ -1104,70 +1125,59 @@ fi
AC_MSG_RESULT($cf_result) AC_MSG_RESULT($cf_result)
CONFIG_GNUTLS_OPENSSL_COMPAT=no
# ---- GNU TLS # ---- 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 # GnuTLS 2.2.0 changed libgnutls-openssl from GPLv2+
cf_result="not used" # to GPLv3+. Don't link that with the GPLv2 ELinks.
# ELinks will use its internal MD5 code instead.
CONFIG_GNUTLS_OPENSSL_COMPAT=no
if test "$with_gnutls" = no; then
AC_MSG_CHECKING([[for GNUTLS]])
AC_MSG_RESULT([[explicitly disabled]])
elif test -n "$chosen_ssl_library" && test "$chosen_ssl_library" != "GNUTLS"; then
AC_MSG_CHECKING([[for GNUTLS]])
AC_MSG_RESULT([[not used, because $chosen_ssl_library was chosen]])
else else
EL_SAVE_FLAGS cf_result=no
cf_result="no" AC_MSG_CHECKING([[for GNUTLS (1.2 or later) in pkg-config]])
if pkg-config --atleast-version=1.2 gnutls; then
GNUTLS_CFLAGS=`pkg-config --cflags gnutls`
GNUTLS_LIBS=`pkg-config --libs gnutls`
AC_MSG_RESULT([[yes: $GNUTLS_CFLAGS $GNUTLS_LIBS]])
if test -z "$disable_gnutls"; then # Verify if it's really usable. gnutls_session was
# Sure, we maybe _could_ use their macro, but how to ensure # renamed to gnutls_session_t before GNU TLS 1.2.0
# that the ./configure script won't fail if the macro won't be # (on 2004-06-13); ELinks now requires this.
# found..? :( --pasky AC_MSG_CHECKING([[whether GNUTLS can be linked with]])
EL_SAVE_FLAGS
LIBS="$GNUTLS_LIBS $LIBS"
CFLAGS="$CFLAGS $GNUTLS_CFLAGS"
CPPFLAGS="$CPPFLAGS $GNUTLS_CFLAGS"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <gnutls/gnutls.h>]],
[[gnutls_session_t dummy;
gnutls_check_version(NULL)]])],
[cf_result=yes],
[cf_result=no])
EL_RESTORE_FLAGS
fi
# This can match either AC_MSG_CHECKING above. A bit hacky...
AC_MSG_RESULT([[$cf_result]])
GNUTLS_PATH="$PATH:/usr/local/gnutls:/opt:/opt/gnutls" if test "$cf_result" = yes; then
EL_CONFIG(CONFIG_GNUTLS, [GNUTLS])
chosen_ssl_library="GNUTLS"
if test -d "$gnutls_withval"; then LIBS="$GNUTLS_LIBS $LIBS"
GNUTLS_PATH="$gnutls_withval:$GNUTLS_PATH" AC_SUBST(GNUTLS_CFLAGS)
fi
AC_PATH_PROG(LIBGNUTLS_CONFIG, libgnutls-config, no, $GNUTLS_PATH) elif test "${with_gnutls-no}" != "no"; then
AC_MSG_ERROR([[GNUTLS (1.2 or later) not found. ELinks no longer supports GNUTLS 1.1.]])
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_LINK_IFELSE([AC_LANG_PROGRAM([[#include <gnutls/gnutls.h>]], [[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)
# GnuTLS 2.2.0 changed libgnutls-openssl from GPLv2+
# to GPLv3+. Don't link that with the GPLv2 ELinks.
# ELinks will use its internal MD5 code instead.
CONFIG_GNUTLS_OPENSSL_COMPAT=no
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
fi fi
AC_MSG_CHECKING([for GNU TLS (1.2 or later)])
AC_MSG_RESULT($cf_result)
# Final SSL setup # Final SSL setup
EL_CONFIG_DEPENDS(CONFIG_SSL, [CONFIG_OPENSSL CONFIG_GNUTLS CONFIG_NSS_COMPAT_OSSL], [SSL]) EL_CONFIG_DEPENDS(CONFIG_SSL, [CONFIG_OPENSSL CONFIG_GNUTLS CONFIG_NSS_COMPAT_OSSL], [SSL])
@ -1480,7 +1490,7 @@ else
fi fi
AC_SUBST(TRE_CFLAGS) AC_SUBST(TRE_CFLAGS)
AC_SUBST(TRE_LIBS) AC_SUBST(TRE_LIBS)
EL_LOG_CONFIG([[CONFIG_TRE]], [[Regexp searching]], [[$tre_log]]) EL_LOG_CONFIG([CONFIG_TRE], [[Regexp searching]], [[$tre_log]])
# =================================================================== # ===================================================================

View File

@ -50,6 +50,8 @@ LZMA Utils |Likewise, for LZMA compressed documents. \
Version 4.32.5 should work. XZ Utils does not work. Version 4.32.5 should work. XZ Utils does not work.
OpenSSL, GNU TLS, or nss_compat_ossl \ OpenSSL, GNU TLS, or nss_compat_ossl \
|For handling secure HTTP browsing. |For handling secure HTTP browsing.
pkg-config |Needed for locating some libraries (at least \
GNU TLS and TRE)
GPM |'General Purpose Mouse' for mouse support. GPM |'General Purpose Mouse' for mouse support.
expat |'XML Parser Toolkit' needed for XBEL support. expat |'XML Parser Toolkit' needed for XBEL support.
http://laurikari.net/tre/[TRE] \ http://laurikari.net/tre/[TRE] \