diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2004-06-20 12:27:57 +0000 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2004-06-20 12:27:57 +0000 |
commit | 2fbf7bcbea6e6db78a1b3cacc3e8371a1db2d599 (patch) | |
tree | 363fa12bf304d7384295c18b6134f15a8650134d | |
parent | 8bfa1889ebdbff232d567a761ea1ec8d32c18e52 (diff) | |
download | fetchmail-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-- | COPYING | 6 | ||||
-rw-r--r-- | Makefile.am | 4 | ||||
-rw-r--r-- | configure.in | 32 | ||||
-rw-r--r-- | driver.c | 4 | ||||
-rw-r--r-- | fetchmail.c | 3 | ||||
-rw-r--r-- | m4-local/Makefile.am | 2 | ||||
-rw-r--r-- | m4-local/ac-archive-license.txt | 59 | ||||
-rw-r--r-- | m4-local/ac_ma_search_package.m4 | 98 |
8 files changed, 175 insertions, 33 deletions
@@ -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: @@ -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 + +]) |