1330567Sgordon#! /bin/sh
2330567Sgordon
3330567Sgordonargs=`getopt d:f:v $*`
4330567Sgordonset -- $args
5330567Sgordon
6330567SgordonHF=
7330567SgordonV=": "
8330567Sgordon
9330567Sgordonfor i
10330567Sgordondo
11330567Sgordon    case "$i" in
12330567Sgordon     -d) sdir="$2" ; shift 2 ;;
13330567Sgordon     -f) hardenfile="$2" ; shift 2 ;;
14330567Sgordon     -v) V= ; shift ;;
15330567Sgordon     --) shift ; break ;;
16330567Sgordon    esac
17330567Sgordondone
18330567Sgordon
19330567Sgordoncase "$sdir" in
20330567Sgordon '')
21330567Sgordon    sdir=.
22330567Sgordonesac
23330567Sgordon
24330567Sgordoncase "$hardenfile" in
25330567Sgordon */*)
26330567Sgordon    HF=$hardenfile
27330567Sgordon    ;;
28330567Sgordon '')
29330567Sgordon    ;;
30330567Sgordon *)
31330567Sgordon    hf=harden/$hardenfile
32330567Sgordon    if test -f $hf
33330567Sgordon    then
34330567Sgordon	HF=$hf
35330567Sgordon    fi
36330567Sgordon    ;;
37330567Sgordonesac
38330567Sgordon
39330567Sgordon# If we have a file to use (ie, HF is not empty) then look for one.
40330567Sgordoncase "$HF" in
41330567Sgordon '')
42330567Sgordon    PATH=$PATH:libevent/build-aux
43330567Sgordon    export PATH
44330567Sgordon    set `scripts/cvo.sh @osname@ @osver@` || exit 1
45330567Sgordon
46330567Sgordon    CVO_OSNAME=$1
47330567Sgordon    CVO_OSVER=$2
48330567Sgordon
49330567Sgordon    x=$CVO_OSVER
50330567Sgordon
51330567Sgordon    while true
52330567Sgordon    do
53330567Sgordon	case "$x" in
54330567Sgordon	 '') break ;;
55330567Sgordon	esac
56330567Sgordonhf=harden/$CVO_OSNAME$x
57330567Sgordon${V}echo "Looking for <$hf>" >&2
58330567Sgordon	if test -f $hf
59330567Sgordon	then
60330567Sgordon	    HF=$hf
61330567Sgordon	    break
62330567Sgordon	fi
63330567Sgordon	case "$x" in
64330567Sgordon	 *.*) x=`echo $x | sed -e 's/\.[^.]*$//'` ;;
65330567Sgordon	 *) x= ;;
66330567Sgordon	esac
67330567Sgordon    done
68330567Sgordon    case "$HF" in
69330567Sgordon     '')
70330567Sgordon	hf=harden/$CVO_OSNAME
71330567Sgordon${V}echo "Looking for <$hf>" >&2
72330567Sgordon	if test -f $hf
73330567Sgordon	then
74330567Sgordon	    HF=$hf
75330567Sgordon	fi
76330567Sgordon	;;
77330567Sgordon    esac
78330567Sgordon    # Handle some "aliases"
79330567Sgordon    case "$HF" in
80330567Sgordon     '')
81330567Sgordon	case "$CVO_OSNAME" in
82330567Sgordon	 raspbian*)
83330567Sgordon	    hf=harden/debian
84330567Sgordon${V}echo "Looking for <$hf>" >&2
85330567Sgordon	    if test -f $hf
86330567Sgordon	    then
87330567Sgordon		HF=$hf
88330567Sgordon	    fi
89330567Sgordon	    ;;
90330567Sgordon	 redhat* | fedora*)
91330567Sgordon	    hf=harden/redhat
92330567Sgordon${V}echo "Looking for <$hf>" >&2
93330567Sgordon	    if test -f $hf
94330567Sgordon	    then
95330567Sgordon		HF=$hf
96330567Sgordon	    fi
97330567Sgordon	    ;;
98330567Sgordon	esac
99330567Sgordon	;;
100330567Sgordon    esac
101330567Sgordon
102330567Sgordon    # This might be a good place to see if uname returns "Linux",
103330567Sgordon    # and if so, use a generic file for that.
104330567Sgordon    case "$HF" in
105330567Sgordon     '')
106330567Sgordon	case "`uname`" in
107330567Sgordon	 Linux)
108330567Sgordon	    hf=harden/linux
109330567Sgordon${V}echo "Looking for <$hf>" >&2
110330567Sgordon	    if test -f $hf
111330567Sgordon	    then
112330567Sgordon		HF=$hf
113330567Sgordon	    fi
114330567Sgordon	    ;;
115330567Sgordon	esac
116330567Sgordon	;;
117330567Sgordon    esac
118330567Sgordon
119330567Sgordon    # Finally, 'default'
120330567Sgordon    case "$HF" in
121330567Sgordon     '')
122330567Sgordon	hf=harden/default
123330567Sgordon${V}echo "Looking for <$hf>" >&2
124330567Sgordon	if test -f $hf
125330567Sgordon	then
126330567Sgordon	    HF=$hf
127330567Sgordon	fi
128330567Sgordon	;;
129330567Sgordon    esac
130330567Sgordon
131330567Sgordon    case "$HF" in
132330567Sgordon     '')
133330567Sgordon	echo "No harden/XXX file found!" >&2
134330567Sgordon	exit 1
135330567Sgordon	;;
136330567Sgordon    esac
137330567Sgordon    ;;
138330567Sgordonesac
139330567Sgordon
140330567Sgordon${V}echo "Using <$HF>" >&2
141330567Sgordonecho "GENHARDFLAGFILE=$HF"
142330567Sgordon
143330567Sgordon###
144330567Sgordon
145330567Sgordon. $HF
146330567Sgordon
147330567Sgordonecho "NTP_HARD_CFLAGS='$NTP_HARD_CFLAGS'"
148330567Sgordonecho "NTP_HARD_CPPFLAGS='$NTP_HARD_CPPFLAGS'"
149330567Sgordonecho "NTP_HARD_LDFLAGS='$NTP_HARD_LDFLAGS'"
150330567Sgordonecho GENHARDFLAG=OK
151330567Sgordon
152330567Sgordonexit 0
153