Blame


1 c423c56e 2022-09-25 op #!/bin/sh
2 c423c56e 2022-09-25 op #
3 c423c56e 2022-09-25 op # Copyright (c) 2014, 2015, 2016 Ingo Schwarze <schwarze@openbsd.org>
4 c423c56e 2022-09-25 op # Copyright (c) 2017, 2018 Kristaps Dzonsons <kristaps@bsd.lv>
5 c423c56e 2022-09-25 op # Copyright (c) 2022 Omar Polo <op@omarpolo.com>
6 c423c56e 2022-09-25 op #
7 c423c56e 2022-09-25 op # Permission to use, copy, modify, and distribute this software for any
8 c423c56e 2022-09-25 op # purpose with or without fee is hereby granted, provided that the above
9 c423c56e 2022-09-25 op # copyright notice and this permission notice appear in all copies.
10 c423c56e 2022-09-25 op #
11 c423c56e 2022-09-25 op # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12 c423c56e 2022-09-25 op # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13 c423c56e 2022-09-25 op # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 c423c56e 2022-09-25 op # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15 c423c56e 2022-09-25 op # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16 c423c56e 2022-09-25 op # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17 c423c56e 2022-09-25 op # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 c423c56e 2022-09-25 op
19 c423c56e 2022-09-25 op set -e
20 c423c56e 2022-09-25 op
21 c423c56e 2022-09-25 op RELEASE="${RELEASE:-no}"
22 c423c56e 2022-09-25 op
23 c423c56e 2022-09-25 op usage()
24 c423c56e 2022-09-25 op {
25 c423c56e 2022-09-25 op echo "usage: $0 [--help] [--prefix=prefix] [OPTION=VALUE...]" >&2
26 c423c56e 2022-09-25 op exit 1
27 c423c56e 2022-09-25 op }
28 c423c56e 2022-09-25 op
29 c423c56e 2022-09-25 op if command -v yacc 2>/dev/null >&2; then
30 c423c56e 2022-09-25 op YACC=yacc
31 c423c56e 2022-09-25 op elif command -v bison 2>/dev/null >&2; then
32 c423c56e 2022-09-25 op YACC=bison
33 c423c56e 2022-09-25 op else
34 c423c56e 2022-09-25 op # assume yacc by default. Make will fail building parse.y if
35 c423c56e 2022-09-25 op # not from a release tarball, but at least it'll have a decent
36 c423c56e 2022-09-25 op # error message.
37 c423c56e 2022-09-25 op YACC=yacc
38 c423c56e 2022-09-25 op fi
39 c423c56e 2022-09-25 op
40 c423c56e 2022-09-25 op if command -v pkg-config 2>/dev/null >&2; then
41 c423c56e 2022-09-25 op pkgconfig=pkg-config
42 c423c56e 2022-09-25 op else
43 c423c56e 2022-09-25 op pkgconfig=
44 c423c56e 2022-09-25 op fi
45 c423c56e 2022-09-25 op
46 c423c56e 2022-09-25 op conf=
47 c423c56e 2022-09-25 op user=
48 c423c56e 2022-09-25 op sock=
49 c423c56e 2022-09-25 op while [ $# -gt 0 ]; do
50 c423c56e 2022-09-25 op key="${1%%=*}"
51 c423c56e 2022-09-25 op val="${1#*=}"
52 c423c56e 2022-09-25 op
53 c423c56e 2022-09-25 op if [ "$key" = --help ]; then
54 c423c56e 2022-09-25 op usage
55 c423c56e 2022-09-25 op fi
56 c423c56e 2022-09-25 op
57 c423c56e 2022-09-25 op if [ "$key" = --prefix ]; then
58 c423c56e 2022-09-25 op key=PREFIX
59 c423c56e 2022-09-25 op if [ "$1" = --prefix ]; then # no =, look at next arg
60 c423c56e 2022-09-25 op if !shift 2>&1 >/dev/null; then
61 c423c56e 2022-09-25 op echo "$0: missing value for --prefix" >&2
62 c423c56e 2022-09-25 op exit 1
63 c423c56e 2022-09-25 op fi
64 c423c56e 2022-09-25 op val="$1"
65 c423c56e 2022-09-25 op fi
66 c423c56e 2022-09-25 op fi
67 c423c56e 2022-09-25 op
68 c423c56e 2022-09-25 op if [ "$1" = "$key" ]; then
69 c423c56e 2022-09-25 op echo "$0: invalid key-value: $1" >&2
70 c423c56e 2022-09-25 op exit 1
71 c423c56e 2022-09-25 op fi
72 c423c56e 2022-09-25 op
73 c423c56e 2022-09-25 op case "$key" in
74 c423c56e 2022-09-25 op CC)
75 c423c56e 2022-09-25 op CC="$val" ;;
76 c423c56e 2022-09-25 op CFLAGS)
77 c423c56e 2022-09-25 op CFLAGS="$val" ;;
78 c423c56e 2022-09-25 op CONF)
79 c423c56e 2022-09-25 op conf="$val" ;;
80 c423c56e 2022-09-25 op LDADD)
81 c423c56e 2022-09-25 op LDADD="$val" ;;
82 c423c56e 2022-09-25 op LDADD_IMSG)
83 c423c56e 2022-09-25 op LDADD_IMSG="$val" ;;
84 c423c56e 2022-09-25 op LDADD_LIBEVENT)
85 c423c56e 2022-09-25 op LDADD_LIBEVENT="$val" ;;
86 c423c56e 2022-09-25 op LDADD_LIBSOCKET)
87 c423c56e 2022-09-25 op LDADD_LIBSOCKET="$val" ;;
88 c423c56e 2022-09-25 op PKG_CONFIG)
89 c423c56e 2022-09-25 op pkgconfig="$val" ;;
90 c423c56e 2022-09-25 op SOCK)
91 c423c56e 2022-09-25 op sock="$sock" ;;
92 c423c56e 2022-09-25 op USER)
93 c423c56e 2022-09-25 op user="$val" ;;
94 c423c56e 2022-09-25 op YACC)
95 c423c56e 2022-09-25 op YACC="$val" ;;
96 c423c56e 2022-09-25 op esac
97 c423c56e 2022-09-25 op
98 c423c56e 2022-09-25 op shift
99 c423c56e 2022-09-25 op done
100 c423c56e 2022-09-25 op
101 c423c56e 2022-09-25 op CDIAGFLAGS=
102 c423c56e 2022-09-25 op CDIAGFLAGS="${CDIAGFLAGS} -Wall -Wextra -Wpointer-arith -Wuninitialized"
103 c423c56e 2022-09-25 op CDIAGFLAGS="${CDIAGFLAGS} -Wstrict-prototypes -Wmissing-prototypes -Wunused"
104 c423c56e 2022-09-25 op CDIAGFLAGS="${CDIAGFLAGS} -Wsign-compare -Wshadow -Wno-unused-parameter"
105 c423c56e 2022-09-25 op CDIAGFLAGS="${CDIAGFLAGS} -Wno-missing-field-initializers"
106 c423c56e 2022-09-25 op CDIAGFLAGS="${CDIAGFLAGS} -Wno-pointer-sign"
107 c423c56e 2022-09-25 op
108 c423c56e 2022-09-25 op # don't ship releases with -Werror
109 c423c56e 2022-09-25 op test "$RELEASE" = no && CDIAGFLAGS="${CDIAGFLAGS} -Werror"
110 c423c56e 2022-09-25 op
111 c423c56e 2022-09-25 op CFLAGS="${CFLAGS:--O2 -pipe} ${CDIAGFLAGS}"
112 c423c56e 2022-09-25 op CC="${CC:-cc}"
113 c423c56e 2022-09-25 op LIBS="${LIBS:-}"
114 c423c56e 2022-09-25 op LDFLAGS="${LDFLAGS:-}"
115 c423c56e 2022-09-25 op
116 c423c56e 2022-09-25 op HOSTCC="${HOSTCC:-${CC}}"
117 c423c56e 2022-09-25 op HOSTCFLAGS="${HOSTCFLAGS:-${CFLAGS}}"
118 c423c56e 2022-09-25 op
119 c423c56e 2022-09-25 op echo "running configure for \`template':" >&2
120 c423c56e 2022-09-25 op (cd ./template && ./configure CC="$HOSTCC" CFLAGS="$HOSTCFLAGS" YACC="$YACC")
121 c423c56e 2022-09-25 op echo "returning to the configure for \`galileo':" >&2
122 c423c56e 2022-09-25 op
123 c423c56e 2022-09-25 op CFLAGS="${CFLAGS} -I. -Itemplate"
124 c423c56e 2022-09-25 op test -n "$conf" && CFLAGS="${CFLAGS} -DGALILEO_CONF=\"$conf\""
125 c423c56e 2022-09-25 op test -n "$user" && CFLAGS="${CFLAGS} -DGALILEO_USER=\"$user\""
126 c423c56e 2022-09-25 op test -n "$sock" && CFLAGS="${CFLAGS} -DGALILEO_SOCK=\"$conf\""
127 c423c56e 2022-09-25 op
128 c423c56e 2022-09-25 op [ -w config.log ] && mv config.log config.log.old
129 c423c56e 2022-09-25 op
130 c423c56e 2022-09-25 op exec 3> config.log
131 c423c56e 2022-09-25 op echo "config.log: writing..."
132 c423c56e 2022-09-25 op
133 c423c56e 2022-09-25 op COMPATS=
134 c423c56e 2022-09-25 op
135 c423c56e 2022-09-25 op HAVE_ACCEPT4=
136 c423c56e 2022-09-25 op HAVE_ASR_RUN=
137 c423c56e 2022-09-25 op HAVE_BUFFEREVENT_READ_PRESSURE_CB=
138 c423c56e 2022-09-25 op HAVE_ERR=
139 c423c56e 2022-09-25 op HAVE_EVENT_ASR_RUN=
140 c423c56e 2022-09-25 op HAVE_FREEZERO=
141 c423c56e 2022-09-25 op HAVE_GETDTABLECOUNT=
142 c423c56e 2022-09-25 op HAVE_GETDTABLESIZE=
143 c423c56e 2022-09-25 op HAVE_GETEXECNAME=
144 c423c56e 2022-09-25 op HAVE_GETPROGNAME=
145 c423c56e 2022-09-25 op HAVE_IMSG=
146 c423c56e 2022-09-25 op HAVE_LIBEVENT=
147 c423c56e 2022-09-25 op HAVE_LIBEVENT2=
148 c423c56e 2022-09-25 op HAVE_PLEDGE=
149 c423c56e 2022-09-25 op HAVE_REALLOCARRAY=
150 c423c56e 2022-09-25 op HAVE_RECALLOCARRAY=
151 c423c56e 2022-09-25 op HAVE_SETGROUPS=
152 c423c56e 2022-09-25 op HAVE_SETPROCTITLE=
153 c423c56e 2022-09-25 op HAVE_STRLCAT=
154 c423c56e 2022-09-25 op HAVE_STRLCPY=
155 c423c56e 2022-09-25 op HAVE_STRTONUM=
156 c423c56e 2022-09-25 op HAVE_SYS_QUEUE=
157 c423c56e 2022-09-25 op HAVE_SYS_TREE=
158 c423c56e 2022-09-25 op HAVE_UNVEIL=
159 c423c56e 2022-09-25 op HAVE_VASPRINTF=
160 c423c56e 2022-09-25 op HAVE___PROGNAME=
161 c423c56e 2022-09-25 op
162 c423c56e 2022-09-25 op # singletest name var extra-cflags extra-libs msg
163 c423c56e 2022-09-25 op singletest() {
164 c423c56e 2022-09-25 op msg="$5"
165 c423c56e 2022-09-25 op if [ -z "$msg" ]; then
166 c423c56e 2022-09-25 op if [ -n "$3" ]; then
167 c423c56e 2022-09-25 op msg=" ($3)"
168 c423c56e 2022-09-25 op elif [ -n "$4" ]; then
169 c423c56e 2022-09-25 op msg=" ($4)"
170 c423c56e 2022-09-25 op fi
171 c423c56e 2022-09-25 op elif [ "$msg" = no ]; then
172 c423c56e 2022-09-25 op msg=""
173 c423c56e 2022-09-25 op fi
174 c423c56e 2022-09-25 op
175 c423c56e 2022-09-25 op cat >&3 <<EOF
176 c423c56e 2022-09-25 op ${1}: testing...
177 c423c56e 2022-09-25 op $CC tests/${1}.c -Werror $3 -o test-$1 $LDFLAGS $4
178 c423c56e 2022-09-25 op EOF
179 c423c56e 2022-09-25 op if $CC tests/${1}.c -Werror $3 -o test-$1 $LDFLAGS $4 >&3 2>&3; then
180 c423c56e 2022-09-25 op rm -f test-${1} test-${1}.d
181 c423c56e 2022-09-25 op
182 c423c56e 2022-09-25 op echo "${1}: $CC$msg succeeded" >&3
183 c423c56e 2022-09-25 op echo "${1}$msg: yes"
184 c423c56e 2022-09-25 op echo >&3
185 c423c56e 2022-09-25 op
186 c423c56e 2022-09-25 op return 0
187 c423c56e 2022-09-25 op fi
188 c423c56e 2022-09-25 op
189 c423c56e 2022-09-25 op echo "${1}: $CC$msg failed with $?" >&3
190 c423c56e 2022-09-25 op echo "${1}$msg: no"
191 c423c56e 2022-09-25 op echo >&3
192 c423c56e 2022-09-25 op
193 c423c56e 2022-09-25 op return 1
194 c423c56e 2022-09-25 op }
195 c423c56e 2022-09-25 op
196 c423c56e 2022-09-25 op # deptest name var
197 c423c56e 2022-09-25 op deptest() {
198 c423c56e 2022-09-25 op if singletest "$1" "$2" "${CFLAGS}" "${LIBS}" no; then
199 c423c56e 2022-09-25 op eval HAVE_${2}=1
200 c423c56e 2022-09-25 op return 0
201 c423c56e 2022-09-25 op fi
202 c423c56e 2022-09-25 op
203 c423c56e 2022-09-25 op if [ -f compat/${1}.c ]; then
204 c423c56e 2022-09-25 op COMPATS="compat/${1}.c $COMPATS"
205 c423c56e 2022-09-25 op fi
206 c423c56e 2022-09-25 op
207 c423c56e 2022-09-25 op eval HAVE_${2}=0
208 c423c56e 2022-09-25 op return 1
209 c423c56e 2022-09-25 op }
210 c423c56e 2022-09-25 op
211 c423c56e 2022-09-25 op # runtest name var extra-cflags extra-libs pkgconfig-name
212 c423c56e 2022-09-25 op runtest() {
213 c423c56e 2022-09-25 op if singletest "$1" "$2" "" ""; then
214 c423c56e 2022-09-25 op eval HAVE_${2}=1
215 c423c56e 2022-09-25 op return 0
216 c423c56e 2022-09-25 op fi
217 c423c56e 2022-09-25 op
218 c423c56e 2022-09-25 op if [ -n "$3" -o -n "$4" ]; then
219 c423c56e 2022-09-25 op echo "retrying with ${3+$3 }$4" >&3
220 c423c56e 2022-09-25 op if singletest "$1" "$2" "$3" "$4"; then
221 c423c56e 2022-09-25 op if [ -n "$3" ]; then
222 c423c56e 2022-09-25 op CFLAGS="$CFLAGS $3"
223 c423c56e 2022-09-25 op fi
224 c423c56e 2022-09-25 op if [ -n "${4}" ]; then
225 c423c56e 2022-09-25 op LIBS="$LIBS $4"
226 c423c56e 2022-09-25 op fi
227 c423c56e 2022-09-25 op eval HAVE_${2}=1
228 c423c56e 2022-09-25 op return 0
229 c423c56e 2022-09-25 op fi
230 c423c56e 2022-09-25 op fi
231 c423c56e 2022-09-25 op
232 c423c56e 2022-09-25 op if [ -n "$5" -a -n "$pkgconfig" ]; then
233 c423c56e 2022-09-25 op if $pkgconfig "$5"; then
234 c423c56e 2022-09-25 op cflags="$($pkgconfig --cflags "$5")"
235 c423c56e 2022-09-25 op ldflags="$($pkgconfig --libs "$5")"
236 c423c56e 2022-09-25 op echo "retrying with pkg-config" >&3
237 c423c56e 2022-09-25 op if singletest "$1" "$2" "$3" "$cflags" "$ldflags"; then
238 c423c56e 2022-09-25 op CFLAGS="$CFLAGS $cflags"
239 c423c56e 2022-09-25 op LIBS="$LIBS $ldflags"
240 c423c56e 2022-09-25 op eval HAVE_${2}=1
241 c423c56e 2022-09-25 op return 0
242 c423c56e 2022-09-25 op fi
243 c423c56e 2022-09-25 op fi
244 c423c56e 2022-09-25 op fi
245 c423c56e 2022-09-25 op
246 c423c56e 2022-09-25 op if [ -f compat/${1}.c ]; then
247 c423c56e 2022-09-25 op COMPATS="compat/${1}.c $COMPATS"
248 c423c56e 2022-09-25 op fi
249 c423c56e 2022-09-25 op
250 c423c56e 2022-09-25 op eval HAVE_${2}=0
251 c423c56e 2022-09-25 op return 1
252 c423c56e 2022-09-25 op }
253 c423c56e 2022-09-25 op
254 c423c56e 2022-09-25 op if runtest MMD _MMD -MMD >/dev/null; then
255 c423c56e 2022-09-25 op echo "adding -MMD to CFLAGS" >&2
256 c423c56e 2022-09-25 op echo "adding -MMD to CFLAGS" >&3
257 c423c56e 2022-09-25 op fi
258 c423c56e 2022-09-25 op
259 c423c56e 2022-09-25 op runtest accept4 ACCEPT4 -D_GNU_SOURCE || true
260 c423c56e 2022-09-25 op runtest asr_run ASR_RUN "" "-lasr" || true
261 c423c56e 2022-09-25 op runtest err ERR || true
262 c423c56e 2022-09-25 op runtest freezero FREEZERO || true
263 c423c56e 2022-09-25 op runtest getdtablecount GETDTABLECOUNT || true
264 c423c56e 2022-09-25 op runtest getdtablesize GETDTABLESIZE || true
265 c423c56e 2022-09-25 op runtest getexecname GETEXECNAME || true
266 c423c56e 2022-09-25 op runtest getprogname GETPROGNAME || true
267 c423c56e 2022-09-25 op runtest imsg IMSG "" "-lutil" libimsg || true
268 c423c56e 2022-09-25 op runtest libevent LIBEVENT "" "-levent" libevent_core || true
269 c423c56e 2022-09-25 op runtest libtls LIBTLS "" "-ltls" libtls || true
270 c423c56e 2022-09-25 op runtest pledge PLEDGE || true
271 c423c56e 2022-09-25 op runtest reallocarray REALLOCARRAY -D_OPENBSD_SOURCE || true
272 c423c56e 2022-09-25 op runtest recallocarray RECALLOCARRAY -D_OPENBSD_SOURCE || true
273 c423c56e 2022-09-25 op runtest setgroups SETGROUPS -D_BSD_SOURCE || true
274 c423c56e 2022-09-25 op runtest setproctitle SETPROCTITLE || true
275 c423c56e 2022-09-25 op runtest strlcat STRLCAT || true
276 c423c56e 2022-09-25 op runtest strlcpy STRLCPY || true
277 c423c56e 2022-09-25 op runtest strtonum STRTONUM || true
278 c423c56e 2022-09-25 op runtest sys_queue SYS_QUEUE || true
279 c423c56e 2022-09-25 op runtest sys_tree SYS_TREE || true
280 c423c56e 2022-09-25 op runtest unveil UNVEIL || true
281 c423c56e 2022-09-25 op runtest vasprintf VASPRINTF -D_GNU_SOURCE || true
282 c423c56e 2022-09-25 op runtest __progname __PROGNAME || true
283 c423c56e 2022-09-25 op
284 c423c56e 2022-09-25 op deptest bufferevent_read_pressure_cb BEV_READ_PRESSURE || true
285 c423c56e 2022-09-25 op deptest event_asr_run EVENT_ASR_RUN || true
286 c423c56e 2022-09-25 op deptest libevent2 LIBEVENT2 || true
287 c423c56e 2022-09-25 op
288 c423c56e 2022-09-25 op # mandatory things:
289 c423c56e 2022-09-25 op
290 c423c56e 2022-09-25 op if [ "${HAVE_ACCEPT4}" -eq 0 ]; then
291 c423c56e 2022-09-25 op echo "Fatal: missing accept4(2)" >&2
292 c423c56e 2022-09-25 op echo "Fatal: missing accept4(2)" >&3
293 c423c56e 2022-09-25 op exit 1
294 c423c56e 2022-09-25 op fi
295 c423c56e 2022-09-25 op
296 c423c56e 2022-09-25 op if [ "${HAVE_ASR_RUN}" -eq 0 ]; then
297 c423c56e 2022-09-25 op echo "Fatal: missing libasr" >&2
298 c423c56e 2022-09-25 op echo "Fatal: missing libasr" >&3
299 c423c56e 2022-09-25 op exit 1
300 c423c56e 2022-09-25 op fi
301 c423c56e 2022-09-25 op
302 c423c56e 2022-09-25 op if [ "${HAVE_LIBEVENT}" -eq 0 ]; then
303 c423c56e 2022-09-25 op echo "Fatal: missing libevent" >&2
304 c423c56e 2022-09-25 op echo "Fatal: missing libevent" >&3
305 c423c56e 2022-09-25 op exit 1
306 c423c56e 2022-09-25 op fi
307 c423c56e 2022-09-25 op
308 c423c56e 2022-09-25 op if [ "${HAVE_LIBTLS}" -eq 0 ]; then
309 c423c56e 2022-09-25 op echo "Fatal: missing libtls" >&2
310 c423c56e 2022-09-25 op echo "Fatal: missing libtls" >&3
311 c423c56e 2022-09-25 op exit 1
312 c423c56e 2022-09-25 op fi
313 c423c56e 2022-09-25 op
314 c423c56e 2022-09-25 op if [ "${HAVE_SETGROUPS}" -eq 0 ]; then
315 c423c56e 2022-09-25 op echo "Fatal: missing setgroups(2)" >&2
316 c423c56e 2022-09-25 op echo "Fatal: missing setgroups(2)" >&3
317 c423c56e 2022-09-25 op exit 1
318 c423c56e 2022-09-25 op fi
319 c423c56e 2022-09-25 op
320 c423c56e 2022-09-25 op # things we can provide by ourselves:
321 c423c56e 2022-09-25 op
322 c423c56e 2022-09-25 op if [ "${HAVE_IMSG}" -eq 0 ]; then
323 c423c56e 2022-09-25 op CFLAGS="-I compat/imsg ${CFLAGS}"
324 c423c56e 2022-09-25 op COMPATS="compat/imsg/imsg.c compat/imsg/imsg-buffer.c ${COMPATS}"
325 c423c56e 2022-09-25 op fi
326 c423c56e 2022-09-25 op
327 c423c56e 2022-09-25 op if [ "${HAVE_SYS_QUEUE}" -eq 0 -o "${HAVE_SYS_TREE}" -eq 0 ]; then
328 c423c56e 2022-09-25 op CFLAGS="-I compat/sys ${CFLAGS}"
329 c423c56e 2022-09-25 op fi
330 c423c56e 2022-09-25 op
331 c423c56e 2022-09-25 op if [ -n "${COMPATS}" ]; then
332 c423c56e 2022-09-25 op CFLAGS="-I compat/ ${CFLAGS}"
333 c423c56e 2022-09-25 op fi
334 c423c56e 2022-09-25 op
335 c423c56e 2022-09-25 op exec > config.h
336 c423c56e 2022-09-25 op echo "config.h: writing..." >&2
337 c423c56e 2022-09-25 op
338 c423c56e 2022-09-25 op cat <<EOF
339 c423c56e 2022-09-25 op #ifndef CONFIG_H
340 c423c56e 2022-09-25 op #define CONFIG_H
341 c423c56e 2022-09-25 op
342 c423c56e 2022-09-25 op #ifdef __cplusplus
343 c423c56e 2022-09-25 op # error "Do not use C++: this is a C application."
344 c423c56e 2022-09-25 op #endif
345 c423c56e 2022-09-25 op
346 c423c56e 2022-09-25 op #define HAVE_ACCEPT4 ${HAVE_ACCEPT4}
347 c423c56e 2022-09-25 op #define HAVE_ASR_RUN ${HAVE_ASR_RUN}
348 c423c56e 2022-09-25 op #define HAVE_BUFFEREVENT_READ_PRESSURE_CB ${HAVE_BUFFEREVENT_READ_PRESSURE_CB}
349 c423c56e 2022-09-25 op #define HAVE_ERR ${HAVE_ERR}
350 c423c56e 2022-09-25 op #define HAVE_EVENT_ASR_RUN ${HAVE_EVENT_ASR_RUN}
351 c423c56e 2022-09-25 op #define HAVE_FREEZERO ${HAVE_FREEZERO}
352 c423c56e 2022-09-25 op #define HAVE_GETDTABLECOUNT ${HAVE_GETDTABLECOUNT}
353 c423c56e 2022-09-25 op #define HAVE_GETDTABLESIZE ${HAVE_GETDTABLESIZE}
354 c423c56e 2022-09-25 op #define HAVE_GETEXECNAME ${HAVE_GETEXECNAME}
355 c423c56e 2022-09-25 op #define HAVE_GETPROGNAME ${HAVE_GETPROGNAME}
356 c423c56e 2022-09-25 op #define HAVE_IMSG ${HAVE_IMSG}
357 c423c56e 2022-09-25 op #define HAVE_LIBEVENT ${HAVE_LIBEVENT}
358 c423c56e 2022-09-25 op #define HAVE_LIBEVENT2 ${HAVE_LIBEVENT2}
359 c423c56e 2022-09-25 op #define HAVE_PLEDGE ${HAVE_PLEDGE}
360 c423c56e 2022-09-25 op #define HAVE_REALLOCARRAY ${HAVE_REALLOCARRAY}
361 c423c56e 2022-09-25 op #define HAVE_RECALLOCARRAY ${HAVE_RECALLOCARRAY}
362 c423c56e 2022-09-25 op #define HAVE_SETGROUPS ${HAVE_SETGROUPS}
363 c423c56e 2022-09-25 op #define HAVE_SETPROCTITLE ${HAVE_SETPROCTITLE}
364 c423c56e 2022-09-25 op #define HAVE_STRLCAT ${HAVE_STRLCAT}
365 c423c56e 2022-09-25 op #define HAVE_STRLCPY ${HAVE_STRLCPY}
366 c423c56e 2022-09-25 op #define HAVE_STRTONUM ${HAVE_STRTONUM}
367 c423c56e 2022-09-25 op #define HAVE_SYS_QUEUE ${HAVE_SYS_QUEUE}
368 c423c56e 2022-09-25 op #define HAVE_SYS_TREE ${HAVE_SYS_TREE}
369 c423c56e 2022-09-25 op #define HAVE_UNVEIL ${HAVE_UNVEIL}
370 c423c56e 2022-09-25 op #define HAVE_VASPRINTF ${HAVE_VASPRINTF}
371 c423c56e 2022-09-25 op #define HAVE___PROGNAME ${HAVE___PROGNAME}
372 c423c56e 2022-09-25 op
373 c423c56e 2022-09-25 op #endif
374 c423c56e 2022-09-25 op EOF
375 c423c56e 2022-09-25 op
376 c423c56e 2022-09-25 op exec > config.mk
377 c423c56e 2022-09-25 op echo "config.mk: writing..." >&2
378 c423c56e 2022-09-25 op
379 c423c56e 2022-09-25 op cat <<EOF
380 c423c56e 2022-09-25 op CC= ${CC}
381 c423c56e 2022-09-25 op CFLAGS= ${CFLAGS}
382 c423c56e 2022-09-25 op LIBS= ${LIBS}
383 c423c56e 2022-09-25 op LDFLAGS= ${LDFLAGS}
384 c423c56e 2022-09-25 op YACC= ${YACC}
385 c423c56e 2022-09-25 op
386 c423c56e 2022-09-25 op COMPATS= ${COMPATS}
387 c423c56e 2022-09-25 op
388 c423c56e 2022-09-25 op INSTALL= install
389 c423c56e 2022-09-25 op INSTALL_PROGRAM=\${INSTALL} -m 0555
390 c423c56e 2022-09-25 op INSTALL_LIB= \${INSTALL} -m 0444
391 c423c56e 2022-09-25 op INSTALL_MAN= \${INSTALL} -m 0444
392 c423c56e 2022-09-25 op INSTALL_DATA= \${INSTALL} -m 0444
393 c423c56e 2022-09-25 op
394 c423c56e 2022-09-25 op EOF
395 c423c56e 2022-09-25 op
396 c423c56e 2022-09-25 op echo "done!" >&2
397 c423c56e 2022-09-25 op
398 c423c56e 2022-09-25 op echo >&2
399 c423c56e 2022-09-25 op echo "Now run \`make' to compile." >&2
400 c423c56e 2022-09-25 op echo >&2