Blame


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