xref: /onnv-gate/usr/src/lib/libresolv2/include/probe_ipv6.sh (revision 2127:ba8e8855927c)
1*2127Sstevel#!/bin/sh
2*2127Sstevel
3*2127Sstevel# Copyright 2003 by Sun Microsystems, Inc. All rights reserved.
4*2127Sstevel# Use is subject to license terms.
5*2127Sstevel#
6*2127Sstevel#pragma ident	"%Z%%M%	%I%	%E% SMI"
7*2127Sstevel
8*2127Sstevelset -e
9*2127SstevelPATH=/bin:/usr/bin:$PATH; export PATH
10*2127Ssteveltrap "rm -f tmp$$[abc].[oc]" 0
11*2127Ssteveltarget=port_ipv6
12*2127Sstevelnew=new_${target}.h
13*2127Sstevelold=${target}.h
14*2127Sstevel
15*2127Sstevelcat > tmp$$a.c <<EOF
16*2127Sstevel#include <sys/types.h>
17*2127Sstevel#include <netinet/in.h>
18*2127Sstevelstruct sockaddr_in6 xx;
19*2127SstevelEOF
20*2127Sstevel
21*2127Sstevelcat > tmp$$b.c <<EOF
22*2127Sstevel#include <sys/types.h>
23*2127Sstevel#include <netinet/in.h>
24*2127Sstevelstruct in6_addr xx;
25*2127SstevelEOF
26*2127Sstevel
27*2127Sstevelcat > tmp$$c.c <<EOF
28*2127Sstevel#include <sys/types.h>
29*2127Sstevel#include <netinet/in.h>
30*2127Sstevelstruct sockaddr_in6 xx;
31*2127Sstevelmain() { xx.sin6_scope_id = 0; }
32*2127SstevelEOF
33*2127Sstevel
34*2127Sstevelcat > ${new} <<EOF
35*2127Sstevel
36*2127Sstevel/* This file is automatically generated. Do Not Edit. */
37*2127Sstevel
38*2127Sstevel#ifndef ${target}_h
39*2127Sstevel#define ${target}_h
40*2127Sstevel
41*2127SstevelEOF
42*2127Sstevel
43*2127Sstevelif ${CC} -c tmp$$a.c > /dev/null 2>&1
44*2127Sstevelthen
45*2127Sstevel        echo "#define HAS_INET6_STRUCTS" >> ${new}
46*2127Sstevel        if ${CC} -c tmp$$b.c > /dev/null 2>&1
47*2127Sstevel        then
48*2127Sstevel		:
49*2127Sstevel	else
50*2127Sstevel                echo "#define in6_addr in_addr6" >> ${new}
51*2127Sstevel        fi
52*2127Sstevel	if ${CC} -c tmp$$c.c > /dev/null 2>&1
53*2127Sstevel	then
54*2127Sstevel		echo "#define HAVE_SIN6_SCOPE_ID" >> ${new}
55*2127Sstevel	else
56*2127Sstevel		echo "#undef HAVE_SIN6_SCOPE_ID" >> ${new}
57*2127Sstevel	fi
58*2127Sstevelelse
59*2127Sstevel        echo "#undef HAS_INET6_STRUCTS" >> ${new}
60*2127Sstevelfi
61*2127Sstevelecho  >> ${new}
62*2127Sstevelecho "#endif" >> ${new}
63*2127Sstevelif [ -f ${old} ]; then
64*2127Sstevel        if cmp -s ${new} ${old} ; then
65*2127Sstevel                rm -f ${new}
66*2127Sstevel        else
67*2127Sstevel                rm -f ${old}
68*2127Sstevel                mv ${new} ${old}
69*2127Sstevel        fi
70*2127Sstevelelse
71*2127Sstevel        mv ${new} ${old}
72*2127Sstevelfi
73*2127Sstevelexit 0
74