From: Joan Lledó <[email protected]>
It tests for dependencies and defines the proper variables for config.h
---
configure | 49 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 48 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index e9c08f18..201ce366 100755
--- a/configure
+++ b/configure
@@ -251,6 +251,7 @@ if [ -z "$OS" ]; then
esac
case "$REST" in
gnu/kfreebsd*) OS="kfreebsd"; VENDOR= ;;
+ *gnu) OS="gnu"; VENDOR= ;;
esac
# Special case
case "$OS" in
@@ -508,6 +509,12 @@ solaris*|sunos*)
echo "DHCPCD_SRCS+= if-sun.c" >>$CONFIG_MK
echo "LDADD+= -ldlpi -lkstat" >>$CONFIG_MK
;;
+hurd*)
+ echo "CSTD=gnu99" >>$CONFIG_MK
+ echo "CPPFLAGS+= -D_GNU_SOURCE" >>$CONFIG_MK
+ echo "DHCPCD_SRCS+= if-pcap.c if-hurd.c" >>$CONFIG_MK
+ echo "#define PATH_MAX 4096" >>$CONFIG_H
+;;
*)
echo "DHCPCD_SRCS+= if-bsd.c" >>$CONFIG_MK
;;
@@ -542,6 +549,14 @@ if [ -z "$INET" ] || [ "$INET" = yes ]; then
echo "DHCPCD_SRCS+= ipv4ll.c" >>$CONFIG_MK
fi
fi
+
+if [ -z "$INET6" ]; then
+ # Support for IPv6 in dhcpcd still not tested in hte Hurd
+ case "$OS" in
+ hurd*) INET6=no; DHCP6=no;;
+ esac
+fi
+
if [ -z "$INET6" ] || [ "$INET6" = yes ]; then
echo "Enabling INET6 support"
echo "CPPFLAGS+= -DINET6" >>$CONFIG_MK
@@ -560,8 +575,9 @@ fi
if [ -z "$PRIVSEP" ]; then
# privilege separation works fine .... except on Solaris
+ # Not tested in the Hurd yet.
case "$OS" in
- solaris*|sunos*) PRIVSEP=no;;
+ solaris*|sunos*|hurd*) PRIVSEP=no;;
*) PRIVSEP=yes;;
esac
fi
@@ -606,6 +622,7 @@ if [ "$PRIVSEP" = yes ]; then
fi
;;
solaris*|sunos*) echo "PRIVSEP_SRCS+= privsep-sun.c" >>$CONFIG_MK;;
+ hurd*) ;;
*) echo "PRIVSEP_SRCS+= privsep-bsd.c" >>$CONFIG_MK;;
esac
else
@@ -1670,6 +1687,36 @@ EOF
$abort && exit 1
fi
+# Check for Hurd dependencies if OS is hurd
+abort=false
+if [ "$OS" = "hurd" ]; then
+ # Check for libpcap
+ printf "Testing for libpcap ... "
+ if $PKG_CONFIG --exists libpcap 2>/dev/null; then
+ PCAP_CFLAGS=$($PKG_CONFIG --cflags libpcap 2>/dev/null)
+ PCAP_LIBS=$($PKG_CONFIG --libs libpcap 2>/dev/null)
+ echo "yes"
+ echo "CFLAGS+= $PCAP_CFLAGS" >>$CONFIG_MK
+ echo "LDADD+= $PCAP_LIBS" >>$CONFIG_MK
+ else
+ # Check with -lpcap if pkg-config fails
+ cat >_pcap.c <<EOF
+#include <pcap/pcap.h>
+int main(void) { return pcap_lib_version() != NULL; }
+EOF
+ if $XCC _pcap.c -o _pcap -lpcap 2>&3; then
+ echo "yes"
+ echo "LDADD+= -lpcap" >>$CONFIG_MK
+ else
+ echo "no"
+ echo "libpcap is required for Hurd support" >&2
+ abort=true
+ fi
+ rm -f _pcap.c _pcap
+ $abort && exit 1
+ fi
+fi
+
# Transform for a make file
SERVICEEXISTS=$(echo "$SERVICEEXISTS" | $SED \
-e 's:\\:\\\\:g' \
--
2.50.1