aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2004-06-20 12:27:57 +0000
committerMatthias Andree <matthias.andree@gmx.de>2004-06-20 12:27:57 +0000
commit2fbf7bcbea6e6db78a1b3cacc3e8371a1db2d599 (patch)
tree363fa12bf304d7384295c18b6134f15a8650134d
parent8bfa1889ebdbff232d567a761ea1ec8d32c18e52 (diff)
downloadfetchmail-2fbf7bcbea6e6db78a1b3cacc3e8371a1db2d599.tar.gz
fetchmail-2fbf7bcbea6e6db78a1b3cacc3e8371a1db2d599.tar.bz2
fetchmail-2fbf7bcbea6e6db78a1b3cacc3e8371a1db2d599.zip
Fix HESIOD compile failure on FreeBSD 5-CURRENT,
adding a new macro that is based on ac_caolan_search_package from the autoconf macro archive. Mention +HESIOD in fetchmail -V if compiled in. svn path=/trunk/; revision=3912
-rw-r--r--COPYING6
-rw-r--r--Makefile.am4
-rw-r--r--configure.in32
-rw-r--r--driver.c4
-rw-r--r--fetchmail.c3
-rw-r--r--m4-local/Makefile.am2
-rw-r--r--m4-local/ac-archive-license.txt59
-rw-r--r--m4-local/ac_ma_search_package.m498
8 files changed, 175 insertions, 33 deletions
diff --git a/COPYING b/COPYING
index 38f6e879..14af9fd1 100644
--- a/COPYING
+++ b/COPYING
@@ -14,6 +14,12 @@ by its author, Craig Metz: ipv6_connect.c.
The following files are explicitly GPL-licensed: getopt1.c, getopt.c, getopt.h.
+The file m4-local/ac_ma_search_package.m4 is copyright by Caolan
+McNamara <caolan@skynet.ie> with fixes from Alexandre Duret-Lutz
+<duret_g@lrde.epita.fr>, Matthew Mueller <donut@azstarnet.com> and
+Matthias Andree <matthias.andree@gmx.de>
+The license is detailed in m4-local/ac-archive-license.txt.
+
All other code in the distribution incorporates the copy of GPL version 2
below by reference.
diff --git a/Makefile.am b/Makefile.am
index 5267d799..ecb38145 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,11 +1,11 @@
# Makefile for fetchmail
-SUBDIRS= intl m4 po
+SUBDIRS= intl m4 m4-local po
AM_CFLAGS= @CEFLAGS@
AM_CPPFLAGS= @CPFLAGS@ -I$(top_srcdir)/intl
AM_LDFLAGS= @LDEFLAGS@
-ACLOCAL_AMFLAGS= -I m4
+ACLOCAL_AMFLAGS= -I m4 -I m4-local
AM_YFLAGS= -d
BUILT_SOURCES= rcfile_y.h
diff --git a/configure.in b/configure.in
index bfe28303..02955a7d 100644
--- a/configure.in
+++ b/configure.in
@@ -626,34 +626,7 @@ then
fi])
### use option --with-hesiod=DIR to point at a HESIOD directory
-AC_ARG_WITH(hesiod,
- [ --with-hesiod=DIR point fetchmail compilation at a HESIOD directory])
-
-case "x$with_hesiod" in
-xno)
- ;;
-x)
- for dir in /usr/athena /usr /usr/local
- do
- if test -f "$dir/include/hesiod.h"
- then
- CEFLAGS="$CEFLAGS -DHESIOD"
- test "$dir" != "/usr" && CEFLAGS="$CEFLAGS -I$dir/include"
- LDEFLAGS="$LDEFLAGS -L$dir/lib"
- LIBS="$LIBS -lhesiod"
- with_hesiod=$dir
- break
- fi
- done
- ;;
-*)
- # Path given
- CEFLAGS="$CEFLAGS -DHESIOD"
- test "$with_hesiod" != "/usr" && CEFLAGS="$CEFLAGS -I$with_hesiod/include"
- LDEFLAGS="$LDEFLAGS -L$with_hesiod/lib"
- LIBS="$LIBS -lhesiod"
- ;;
-esac
+AC_ma_SEARCH_PACKAGE(hesiod, hesiod_getmailhost, /usr/athena /usr /usr/local,hesiod, hesiod.h)
### use option --with-gssapi=DIR to compile in GSSAPI support
AC_ARG_WITH(gssapi,
@@ -700,7 +673,8 @@ AC_SUBST(CPFLAGS)
AC_SUBST(CEFLAGS)
AC_SUBST(LDEFLAGS)
-AC_CONFIG_FILES([Makefile po/Makefile.in m4/Makefile intl/Makefile ])
+AC_CONFIG_FILES([Makefile m4/Makefile m4-local/Makefile
+ po/Makefile.in intl/Makefile])
AC_OUTPUT
dnl Local Variables:
diff --git a/driver.c b/driver.c
index fb98afd3..27036a7a 100644
--- a/driver.c
+++ b/driver.c
@@ -32,7 +32,7 @@
#ifdef HAVE_NET_SOCKET_H
#include <net/socket.h>
#endif
-#ifdef HESIOD
+#ifdef HAVE_PKG_hesiod
#include <hesiod.h>
#endif
@@ -954,7 +954,7 @@ static int do_session(
#endif
#endif /* !INET6_ENABLE */
-#ifdef HESIOD
+#ifdef HAVE_PKG_hesiod
/* If either the pollname or vianame are "hesiod" we want to
lookup the user's hesiod pobox host */
if (!strcasecmp(ctl->server.queryname, "hesiod")) {
diff --git a/fetchmail.c b/fetchmail.c
index 173449c1..de5215a9 100644
--- a/fetchmail.c
+++ b/fetchmail.c
@@ -222,6 +222,9 @@ int main(int argc, char **argv)
#ifdef INET6_ENABLE
printf("+INET6");
#endif /* INET6_ENABLE */
+#ifdef HAVE_PKG_hesiod
+ printf("+HESIOD");
+#endif
#ifdef NET_SECURITY
printf("+NETSEC");
#endif /* NET_SECURITY */
diff --git a/m4-local/Makefile.am b/m4-local/Makefile.am
new file mode 100644
index 00000000..2c4cd385
--- /dev/null
+++ b/m4-local/Makefile.am
@@ -0,0 +1,2 @@
+EXTRA_DIST=ac_ma_search_package.m4 \
+ ac-archive-license.txt
diff --git a/m4-local/ac-archive-license.txt b/m4-local/ac-archive-license.txt
new file mode 100644
index 00000000..e95b0de3
--- /dev/null
+++ b/m4-local/ac-archive-license.txt
@@ -0,0 +1,59 @@
+ generated...
+
+ Wed Mar 3 02:24:34 2004
+
+ (C) 2004 guidod
+
+The Autoconf Macro Archive
+
+ 0.5.58 SourceForge Logo
+
+All these macros are copyrighted!
+
+ Please note that every macro contained in this archive is copyrighted
+ by its respective author, unless the macro source explicitely says
+ otherwise. Permission has been granted, though, to use and distribute
+ all macros under the following license, which is a modified version of
+ the GNU General Public License version 2:
+
+ Every Autoconf macro presented on this web site is free software;
+ you can redistribute it and/or modify it under the terms of the GNU
+ General Public License as published by the Free Software
+ Foundation; either version 2, or (at your option) any later
+ version.
+
+ They are distributed in the hope that they will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details. (You should have received
+ a copy of the GNU General Public License along with this program;
+ if not, write to the Free Software Foundation, Inc., 59 Temple
+ Place -- Suite 330, Boston, MA 02111-1307, USA.)
+
+ As a special exception, the Free Software Foundation gives
+ unlimited permission to copy, distribute and modify the configure
+ scripts that are the output of Autoconf. You need not follow the
+ terms of the GNU General Public License when using or distributing
+ such scripts, even though portions of the text of Autoconf appear
+ in them. The GNU General Public License (GPL) does govern all other
+ use of the material that constitutes the Autoconf program.
+
+ Certain portions of the Autoconf source text are designed to be
+ copied (in certain cases, depending on the input) into the output
+ of Autoconf. We call these the "data" portions. The rest of the
+ Autoconf source text consists of comments plus executable code that
+ decides which of the data portions to output in any given case. We
+ call these comments and executable code the "non-data" portions.
+ Autoconf never copies any of the non-data portions into its output.
+
+ This special exception to the GPL applies to versions of Autoconf
+ released by the Free Software Foundation. When you make and
+ distribute a modified version of Autoconf, you may extend this
+ special exception to the GPL to apply to your modified version as
+ well, *unless* your modified version has the potential to copy into
+ its output some of the text that was the non-data portion of the
+ version that you started with. (In other words, unless your change
+ moves or copies text from the non-data portions to the data
+ portions.) If your modification has such potential, you must delete
+ any notice of this special exception to the GPL from your modified
+ version.
diff --git a/m4-local/ac_ma_search_package.m4 b/m4-local/ac_ma_search_package.m4
new file mode 100644
index 00000000..553c96cc
--- /dev/null
+++ b/m4-local/ac_ma_search_package.m4
@@ -0,0 +1,98 @@
+dnl @synopsis AC_ma_SEARCH_PACKAGE(PACKAGE, FUNCTION, PREFIX LIST, LIBRARY LIST, HEADERFILE [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+dnl based on AC_caolan_SEARCH_PACKAGE
+dnl
+dnl Provides --with-PACKAGE, --with-PACKAGE-include and --with-PACKAGE-libdir
+dnl options to configure. Supports the now standard --with-PACKAGE=DIR
+dnl approach where the package's include dir and lib dir are underneath DIR,
+dnl but also allows the include and lib directories to be specified seperately
+dnl
+dnl PREFIX LIST can be a list of directories to search for the package
+dnl if set to "no", the package must be enabled with --with-PACKAGE
+dnl otherwise it is enabled unless overridden with --without-PACKAGE
+dnl
+dnl adds the extra -Ipath to CFLAGS if needed
+dnl adds extra -Lpath to LD_FLAGS if needed
+dnl searches for the FUNCTION in each of the LIBRARY LIST with
+dnl AC_SEARCH_LIBRARY and thus adds the lib to LIBS
+dnl
+dnl defines HAVE_PKG_PACKAGE if it is found, (where PACKAGE in the
+dnl HAVE_PKG_PACKAGE is replaced with the actual first parameter passed)
+dnl note that autoheader will complain of not having the HAVE_PKG_PACKAGE and you
+dnl will have to add it to acconfig.h manually
+dnl
+dnl @version $Id: ac_caolan_search_package.m4,v 1.3 2003/10/29 02:13:06 guidod Exp $
+dnl @author Caolan McNamara <caolan@skynet.ie>
+dnl
+dnl with fixes from...
+dnl Alexandre Duret-Lutz <duret_g@lrde.epita.fr>
+dnl Matthew Mueller <donut@azstarnet.com>
+dnl Matthias Andree <matthias.andree@gmx.de>
+
+AC_PREREQ(2.59)dnl oldest tested version
+
+AC_DEFUN([AC_ma_SEARCH_PACKAGE],
+[
+
+search="$3"
+AC_ARG_WITH($1,
+AS_HELP_STRING([--without-$1],[disables $1 usage completely])
+AS_HELP_STRING([--with-$1[=DIR]],[root directory of $1 installation]),
+if test "${with_$1}" != yes; then
+ search="$withval"
+ $1_winclude="$withval/include"
+ $1_wlibdir="$withval/lib"
+fi
+)
+
+AC_ARG_WITH($1-include,
+AS_HELP_STRING([--with-$1-include=DIR],[specify exact include dir for $1 headers]),
+$1_winclude="$withval")
+
+AC_ARG_WITH($1-libdir,
+AS_HELP_STRING([--with-$1-libdir=DIR],[specify exact library dir for $1 library]),
+$1_wlibdir="$withval")
+
+if test "${with_$1}" != no ; then
+ for i in $search ; do
+ if test "$search" = "${with_$1}" ; then
+ $1_include="${$1_winclude}"
+ $1_libdir="${$1_wlibdir}"
+ else
+ $1_include=$i/include
+ $1_libdir=$i/lib
+ fi
+
+ OLD_LIBS=$LIBS
+ OLD_LDFLAGS=$LDFLAGS
+ OLD_CFLAGS=$CFLAGS
+ OLD_CPPFLAGS=$CPPFLAGS
+
+ if test "${$1_libdir}" ; then
+ LDFLAGS="$LDFLAGS -L${$1_libdir}"
+ fi
+ if test "${$1_include}" ; then
+ CPPFLAGS="$CPPFLAGS -I${$1_include}"
+ CFLAGS="$CFLAGS -I${$1_include}"
+ fi
+
+ success=no
+ AC_SEARCH_LIBS($2,$4,success=yes)
+ AC_CHECK_HEADERS($5,,success=no)
+ if test "$success" = yes; then
+dnl fixed
+ ifelse([$6], , , [$6])
+ AC_DEFINE(HAVE_PKG_$1,1,[Define to 1 if you have the '$1' package.])
+ break
+ fi
+ done
+ if test "$success" = no ; then
+dnl broken
+ ifelse([$7], , , [$7])
+ LIBS=$OLD_LIBS
+ LDFLAGS=$OLD_LDFLAGS
+ CPPFLAGS=$OLD_CPPFLAGS
+ CFLAGS=$OLD_CFLAGS
+ fi
+fi
+
+])