Blame adns-1.4-configure.patch

Bernhard M. Wiedemann 3f44a3
--- configure.in
Bernhard M. Wiedemann 3f44a3
+++ configure.in	2006/09/01 12:30:00
Bernhard M. Wiedemann 3f44a3
@@ -23,8 +23,7 @@
Bernhard M. Wiedemann 3f44a3
 AC_INIT(src/adns.h)
Bernhard M. Wiedemann 3f44a3
 AC_CONFIG_HEADER(src/config.h)
Bernhard M. Wiedemann 3f44a3
 
Bernhard M. Wiedemann 3f44a3
-dnl DPKG_CACHED_TRY_COMPILE(<description>,<cachevar>,<include>,<program>,<ifyes>,<ifno>)
Bernhard M. Wiedemann 3f44a3
-define([DPKG_CACHED_TRY_COMPILE],[
Bernhard M. Wiedemann 3f44a3
+AC_DEFUN([DPKG_CACHED_TRY_COMPILE],[
Bernhard M. Wiedemann 3f44a3
  AC_MSG_CHECKING($1)
Bernhard M. Wiedemann 3f44a3
  AC_CACHE_VAL($2,[
Bernhard M. Wiedemann 3f44a3
   AC_TRY_COMPILE([$3],[$4],[$2=yes],[$2=no])
Bernhard M. Wiedemann 3f44a3
@@ -65,6 +64,116 @@
Bernhard M. Wiedemann 3f44a3
 AC_PROG_RANLIB
Bernhard M. Wiedemann 3f44a3
 AC_PROG_INSTALL
Bernhard M. Wiedemann 3f44a3
 
Bernhard M. Wiedemann 3f44a3
+AH_TOP([
Bernhard M. Wiedemann 3f44a3
+/*
Bernhard M. Wiedemann 3f44a3
+ *  This file is
Bernhard M. Wiedemann 3f44a3
+ *    Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
Bernhard M. Wiedemann 3f44a3
+ *
Bernhard M. Wiedemann 3f44a3
+ *  It is part of adns, which is
Bernhard M. Wiedemann 3f44a3
+ *    Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
Bernhard M. Wiedemann 3f44a3
+ *    Copyright (C) 1999-2000 Tony Finch <dot@dotat.at>
Bernhard M. Wiedemann 3f44a3
+ *  
Bernhard M. Wiedemann 3f44a3
+ *  This program is free software; you can redistribute it and/or modify
Bernhard M. Wiedemann 3f44a3
+ *  it under the terms of the GNU General Public License as published by
Bernhard M. Wiedemann 3f44a3
+ *  the Free Software Foundation; either version 2, or (at your option)
Bernhard M. Wiedemann 3f44a3
+ *  any later version.
Bernhard M. Wiedemann 3f44a3
+ *  
Bernhard M. Wiedemann 3f44a3
+ *  This program is distributed in the hope that it will be useful,
Bernhard M. Wiedemann 3f44a3
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
Bernhard M. Wiedemann 3f44a3
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Bernhard M. Wiedemann 3f44a3
+ *  GNU General Public License for more details.
Bernhard M. Wiedemann 3f44a3
+ *  
Bernhard M. Wiedemann 3f44a3
+ *  You should have received a copy of the GNU General Public License
Bernhard M. Wiedemann 3f44a3
+ *  along with this program; if not, write to the Free Software Foundation,
Bernhard M. Wiedemann 3f44a3
+ *  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
Bernhard M. Wiedemann 3f44a3
+ */
Bernhard M. Wiedemann 3f44a3
+])
Bernhard M. Wiedemann 3f44a3
+
Bernhard M. Wiedemann 3f44a3
+AH_TEMPLATE([HAVE_INLINE],
Bernhard M. Wiedemann 3f44a3
+	    [Define if inline functions a la GCC are available.])
Bernhard M. Wiedemann 3f44a3
+AH_TEMPLATE([HAVE_GNUC25_ATTRIB],
Bernhard M. Wiedemann 3f44a3
+	    [Define if function attributes a la GCC 2.5 and higher are available.])
Bernhard M. Wiedemann 3f44a3
+AH_TEMPLATE([HAVE_GNUC25_CONST],
Bernhard M. Wiedemann 3f44a3
+	    [Define if function attributes a la GCC 2.5 and higher are available.])
Bernhard M. Wiedemann 3f44a3
+AH_TEMPLATE([HAVE_GNUC25_NORETURN],
Bernhard M. Wiedemann 3f44a3
+	    [Define if nonreturning functions a la GCC 2.5 and higher are available.])
Bernhard M. Wiedemann 3f44a3
+AH_TEMPLATE([HAVE_GNUC25_PRINTFFORMAT],
Bernhard M. Wiedemann 3f44a3
+	    [Define if printf-format argument lists a la GCC are available.])
Bernhard M. Wiedemann 3f44a3
+AH_TEMPLATE([HAVEUSE_RPCTYPES_H],
Bernhard M. Wiedemann 3f44a3
+            [Define if we want to include rpc/types.h.  Crap BSDs put INADDR_LOOPBACK there.])
Bernhard M. Wiedemann 3f44a3
+
Bernhard M. Wiedemann 3f44a3
+AH_BOTTOM([
Bernhard M. Wiedemann 3f44a3
+/* Use the definitions: */
Bernhard M. Wiedemann 3f44a3
+
Bernhard M. Wiedemann 3f44a3
+#ifndef HAVE_INLINE
Bernhard M. Wiedemann 3f44a3
+#define inline
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+
Bernhard M. Wiedemann 3f44a3
+#ifdef HAVE_POLL
Bernhard M. Wiedemann 3f44a3
+#include <sys/poll.h>
Bernhard M. Wiedemann 3f44a3
+#else
Bernhard M. Wiedemann 3f44a3
+/* kludge it up */
Bernhard M. Wiedemann 3f44a3
+struct pollfd { int fd; short events; short revents; };
Bernhard M. Wiedemann 3f44a3
+#define POLLIN  1
Bernhard M. Wiedemann 3f44a3
+#define POLLPRI 2
Bernhard M. Wiedemann 3f44a3
+#define POLLOUT 4
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+
Bernhard M. Wiedemann 3f44a3
+/* GNU C attributes. */
Bernhard M. Wiedemann 3f44a3
+#ifndef FUNCATTR
Bernhard M. Wiedemann 3f44a3
+#ifdef HAVE_GNUC25_ATTRIB
Bernhard M. Wiedemann 3f44a3
+#define FUNCATTR(x) __attribute__(x)
Bernhard M. Wiedemann 3f44a3
+#else
Bernhard M. Wiedemann 3f44a3
+#define FUNCATTR(x)
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+
Bernhard M. Wiedemann 3f44a3
+/* GNU C printf formats, or null. */
Bernhard M. Wiedemann 3f44a3
+#ifndef ATTRPRINTF
Bernhard M. Wiedemann 3f44a3
+#ifdef HAVE_GNUC25_PRINTFFORMAT
Bernhard M. Wiedemann 3f44a3
+#define ATTRPRINTF(si,tc) format(printf,si,tc)
Bernhard M. Wiedemann 3f44a3
+#else
Bernhard M. Wiedemann 3f44a3
+#define ATTRPRINTF(si,tc)
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+#ifndef PRINTFFORMAT
Bernhard M. Wiedemann 3f44a3
+#define PRINTFFORMAT(si,tc) FUNCATTR((ATTRPRINTF(si,tc)))
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+
Bernhard M. Wiedemann 3f44a3
+/* GNU C nonreturning functions, or null. */
Bernhard M. Wiedemann 3f44a3
+#ifndef ATTRNORETURN
Bernhard M. Wiedemann 3f44a3
+#ifdef HAVE_GNUC25_NORETURN
Bernhard M. Wiedemann 3f44a3
+#define ATTRNORETURN noreturn
Bernhard M. Wiedemann 3f44a3
+#else
Bernhard M. Wiedemann 3f44a3
+#define ATTRNORETURN
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+#ifndef NONRETURNING
Bernhard M. Wiedemann 3f44a3
+#define NONRETURNING FUNCATTR((ATTRNORETURN))
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+
Bernhard M. Wiedemann 3f44a3
+/* Combination of both the above. */
Bernhard M. Wiedemann 3f44a3
+#ifndef NONRETURNPRINTFFORMAT
Bernhard M. Wiedemann 3f44a3
+#define NONRETURNPRINTFFORMAT(si,tc) FUNCATTR((ATTRPRINTF(si,tc),ATTRNORETURN))
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+
Bernhard M. Wiedemann 3f44a3
+/* GNU C constant functions, or null. */
Bernhard M. Wiedemann 3f44a3
+#ifndef ATTRCONST
Bernhard M. Wiedemann 3f44a3
+#ifdef HAVE_GNUC25_CONST
Bernhard M. Wiedemann 3f44a3
+#define ATTRCONST const
Bernhard M. Wiedemann 3f44a3
+#else
Bernhard M. Wiedemann 3f44a3
+#define ATTRCONST
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+#ifndef CONSTANT
Bernhard M. Wiedemann 3f44a3
+#define CONSTANT FUNCATTR((ATTRCONST))
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+
Bernhard M. Wiedemann 3f44a3
+#ifdef HAVEUSE_RPCTYPES_H
Bernhard M. Wiedemann 3f44a3
+#include <rpc/types.h>
Bernhard M. Wiedemann 3f44a3
+#endif
Bernhard M. Wiedemann 3f44a3
+])
Bernhard M. Wiedemann 3f44a3
+
Bernhard M. Wiedemann 3f44a3
 AC_CHECK_FUNCS(poll)
Bernhard M. Wiedemann 3f44a3
 ADNS_C_GETFUNC(socket,socket)
Bernhard M. Wiedemann 3f44a3
 ADNS_C_GETFUNC(inet_ntoa,nsl)