diff options
Diffstat (limited to 'contrib/bind/port/freebsd/bin/probe_ipv6')
-rwxr-xr-x | contrib/bind/port/freebsd/bin/probe_ipv6 | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/contrib/bind/port/freebsd/bin/probe_ipv6 b/contrib/bind/port/freebsd/bin/probe_ipv6 index ba7135d..993cabd 100755 --- a/contrib/bind/port/freebsd/bin/probe_ipv6 +++ b/contrib/bind/port/freebsd/bin/probe_ipv6 @@ -2,7 +2,7 @@ set -e PATH=/bin:/usr/bin:$PATH; export PATH -trap "rm -f tmp$$a.c tmp$$b.c tmp$$a.o tmp$$b.o" 0 +trap "rm -f tmp$$[abc].[oc]" 0 1 2 15 target=port_ipv6 new=new_${target}.h old=${target}.h @@ -19,6 +19,13 @@ cat > tmp$$b.c <<EOF struct in6_addr xx; EOF +cat > tmp$$c.c <<EOF +#include <sys/types.h> +#include <netinet/in.h> +struct sockaddr_in6 xx; +main() { xx.sin6_scope_id = 0; } +EOF + cat > ${new} <<EOF /* This file is automatically generated. Do Not Edit. */ @@ -37,6 +44,12 @@ then else echo "#define in6_addr in_addr6" >> ${new} fi + if ${CC} -c tmp$$c.c > /dev/null 2>&1 + then + echo "#define HAVE_SIN6_SCOPE_ID" >> ${new} + else + echo "#undef HAVE_SIN6_SCOPE_ID" >> ${new} + fi else echo "#undef HAS_INET6_STRUCTS" >> ${new} fi |