Blame


1 f36fd90a 2022-07-09 op #! /bin/sh
2 f36fd90a 2022-07-09 op #
3 f36fd90a 2022-07-09 op # Copyright (c) 2014, 2015, 2016 Ingo Schwarze <schwarze@openbsd.org>
4 f36fd90a 2022-07-09 op # Copyright (c) 2017, 2018 Kristaps Dzonsons <kristaps@bsd.lv>
5 34674849 2023-03-23 op # Copyright (c) 2022, 2023 Omar Polo <op@omarpolo.com>
6 f36fd90a 2022-07-09 op #
7 f36fd90a 2022-07-09 op # Permission to use, copy, modify, and distribute this software for any
8 f36fd90a 2022-07-09 op # purpose with or without fee is hereby granted, provided that the above
9 f36fd90a 2022-07-09 op # copyright notice and this permission notice appear in all copies.
10 f36fd90a 2022-07-09 op #
11 f36fd90a 2022-07-09 op # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12 f36fd90a 2022-07-09 op # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13 f36fd90a 2022-07-09 op # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 f36fd90a 2022-07-09 op # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15 f36fd90a 2022-07-09 op # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16 f36fd90a 2022-07-09 op # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17 f36fd90a 2022-07-09 op # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 f36fd90a 2022-07-09 op
19 f36fd90a 2022-07-09 op OCONFIGURE_VERSION="0.3.8"
20 f36fd90a 2022-07-09 op
21 f36fd90a 2022-07-09 op #
22 f36fd90a 2022-07-09 op # This script outputs two files: config.h and Makefile.configure.
23 f36fd90a 2022-07-09 op # It tries to read from configure.local, which contains predefined
24 f36fd90a 2022-07-09 op # values we won't autoconfigure.
25 f36fd90a 2022-07-09 op #
26 f36fd90a 2022-07-09 op # If you want to use configure with your project, have your GNUmakefile
27 f36fd90a 2022-07-09 op # or BSDmakefile---whichever---try to import/include Makefile.configure
28 f36fd90a 2022-07-09 op # at the beginning of the file.
29 f36fd90a 2022-07-09 op #
30 f36fd90a 2022-07-09 op # Like so (note no quotes, no period, etc.):
31 f36fd90a 2022-07-09 op #
32 f36fd90a 2022-07-09 op # include Makefile.configure
33 f36fd90a 2022-07-09 op #
34 f36fd90a 2022-07-09 op # If it exists, configure was run; otherwise, it wasn't.
35 f36fd90a 2022-07-09 op #
36 f36fd90a 2022-07-09 op # You'll probably want to change parts of this file. I've noted the
37 f36fd90a 2022-07-09 op # parts that you'll probably change in the section documentation.
38 f36fd90a 2022-07-09 op #
39 f36fd90a 2022-07-09 op # See https://github.com/kristapsdz/oconfigure for more.
40 f36fd90a 2022-07-09 op
41 f36fd90a 2022-07-09 op set -e
42 f36fd90a 2022-07-09 op
43 f36fd90a 2022-07-09 op # try to be helpful
44 f36fd90a 2022-07-09 op case "$1" in
45 f36fd90a 2022-07-09 op --help|-h)
46 f36fd90a 2022-07-09 op cat <<EOF
47 f36fd90a 2022-07-09 op \`configure' configures amused to adapt to many kinds of systems.
48 f36fd90a 2022-07-09 op
49 f36fd90a 2022-07-09 op Usage: $0 [-h] [--prefix=path] [VAR=VALUE]...
50 f36fd90a 2022-07-09 op
51 f36fd90a 2022-07-09 op The options are as follows:
52 f36fd90a 2022-07-09 op
53 f36fd90a 2022-07-09 op -h, --help print this help message
54 f36fd90a 2022-07-09 op
55 19ee7f3a 2022-08-13 op --prefix=path equivalent to specify the PREFIX variable, supported
56 f36fd90a 2022-07-09 op for compatibility with other common "configure" scripts.
57 f36fd90a 2022-07-09 op
58 34674849 2023-03-23 op --backend=name equivalent to specify the BACKEND variable, can be either
59 34674849 2023-03-23 op "sndio" or "alsa".
60 34674849 2023-03-23 op
61 f36fd90a 2022-07-09 op Variables available:
62 f36fd90a 2022-07-09 op
63 34674849 2023-03-23 op BACKEND audio backend to use; can be "sndio" or "alsa"
64 82556d5b 2023-09-07 op CC C compiler
65 82556d5b 2023-09-07 op CFLAGS generic C compiler flags
66 82556d5b 2023-09-07 op CPPFLAGS C preprocessors flags
67 f36fd90a 2022-07-09 op LDADD generic linker flags
68 82556d5b 2023-09-07 op LDADD_LIB_ASOUND linker flags for libasound
69 82556d5b 2023-09-07 op LDADD_LIB_FLAC linker flags for libflac
70 82556d5b 2023-09-07 op LDADD_LIB_IMSG linker flags for libimsg
71 56de3111 2023-09-07 op LDADD_LIB_MD linker flags for libmd
72 82556d5b 2023-09-07 op LDADD_LIB_MPG123 linker flags for libmpg123
73 82556d5b 2023-09-07 op LDADD_LIB_OPUSFILE linker flags for libopusfile
74 82556d5b 2023-09-07 op LDADD_LIB_SNDIO linker flags for libsndio
75 82556d5b 2023-09-07 op LDADD_LIB_SOCKET linker flags for libsocket
76 82556d5b 2023-09-07 op LDADD_LIB_VORBISFILE linker flags for libvorbisfile
77 f36fd90a 2022-07-09 op LDFLAGS extra linker flags
78 f36fd90a 2022-07-09 op DESTDIR destination directory
79 f36fd90a 2022-07-09 op PREFIX where to install files
80 f36fd90a 2022-07-09 op MANDIR where to install man pages (PREFIX/man)
81 f36fd90a 2022-07-09 op LIBDIR where to install libraries (PREFIX/lib)
82 f36fd90a 2022-07-09 op BINDIR where to install executables (PREFIX/bin)
83 f36fd90a 2022-07-09 op SHAREDIR where to install misc files (PREFIX/share)
84 f36fd90a 2022-07-09 op SBINDIR where to install system executables (PREFIX/sbin)
85 f36fd90a 2022-07-09 op INCLUDEDIR where to install header files (PREFIX/include)
86 19ee7f3a 2022-08-13 op PKG_CONFIG pkg-config program, \`false' to disable (pkg-config)
87 f36fd90a 2022-07-09 op
88 cac555b6 2022-07-13 op Additionally, the following environment variables are used if set:
89 cac555b6 2022-07-13 op
90 cac555b6 2022-07-13 op CC the C compiler to use (defaults to cc, clang or gcc)
91 cac555b6 2022-07-13 op CFLAGS generic C compiler flags
92 cac555b6 2022-07-13 op
93 f36fd90a 2022-07-09 op EOF
94 f36fd90a 2022-07-09 op exit 0 ;;
95 f36fd90a 2022-07-09 op esac
96 f36fd90a 2022-07-09 op
97 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
98 f36fd90a 2022-07-09 op # Prepare for running: move aside previous configure runs.
99 f36fd90a 2022-07-09 op # Output file descriptor usage:
100 f36fd90a 2022-07-09 op # 1 (stdout): config.h or Makefile.configure
101 f36fd90a 2022-07-09 op # 2 (stderr): original stderr, usually to the console
102 f36fd90a 2022-07-09 op # 3: config.log
103 f36fd90a 2022-07-09 op # You DO NOT want to change this.
104 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
105 f36fd90a 2022-07-09 op
106 f36fd90a 2022-07-09 op [ -w config.log ] && mv config.log config.log.old
107 f36fd90a 2022-07-09 op [ -w config.h ] && mv config.h config.h.old
108 f36fd90a 2022-07-09 op
109 f36fd90a 2022-07-09 op exec 3> config.log
110 f36fd90a 2022-07-09 op echo "config.log: writing..."
111 f36fd90a 2022-07-09 op
112 f36fd90a 2022-07-09 op # GNU submake prints different output if invoked recursively, which
113 f36fd90a 2022-07-09 op # messes up CC and CFLAGS detection. Pass --no-print-directory if
114 f36fd90a 2022-07-09 op # we have a MAKELEVEL (GNU and FreeBSD make) and the argument is
115 f36fd90a 2022-07-09 op # allowed.
116 f36fd90a 2022-07-09 op
117 f36fd90a 2022-07-09 op MAKE_FLAGS=""
118 f36fd90a 2022-07-09 op
119 f36fd90a 2022-07-09 op if [ -n "${MAKELEVEL}" ]; then
120 f36fd90a 2022-07-09 op if [ "${MAKELEVEL}" -gt 0 ] ; then
121 f36fd90a 2022-07-09 op MAKE_FLAGS="--no-print-directory"
122 f36fd90a 2022-07-09 op echo "all:" | make ${MAKE_FLAGS} -sf - 2>/dev/null || MAKE_FLAGS=""
123 f36fd90a 2022-07-09 op fi
124 f36fd90a 2022-07-09 op fi
125 f36fd90a 2022-07-09 op
126 f36fd90a 2022-07-09 op if [ -n "$MAKE_FLAGS" ]; then
127 f36fd90a 2022-07-09 op echo "GNU submake detected: using --no-print-directory" 1>&2
128 f36fd90a 2022-07-09 op echo "GNU submake detected: using --no-print-directory" 1>&3
129 f36fd90a 2022-07-09 op fi
130 f36fd90a 2022-07-09 op
131 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
132 f36fd90a 2022-07-09 op # Initialize all variables here such that nothing can leak in from the
133 f36fd90a 2022-07-09 op # environment except for CC and CFLAGS, which we might have passed in.
134 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
135 f36fd90a 2022-07-09 op
136 34674849 2023-03-23 op BACKEND=auto
137 f36fd90a 2022-07-09 op CC=`printf "all:\\n\\t@echo \\\$(CC)\\n" | make ${MAKE_FLAGS} -sf -`
138 f36fd90a 2022-07-09 op CFLAGS=`printf "all:\\n\\t@echo \\\$(CFLAGS)\\n" | make ${MAKE_FLAGS} -sf -`
139 b817795c 2023-01-08 op CFLAGS="${CFLAGS} -g -W -Wall -Wextra -Wmissing-prototypes"
140 b817795c 2023-01-08 op CFLAGS="${CFLAGS} -Wstrict-prototypes -Wmissing-declarations"
141 f6086a9b 2023-09-07 op CFLAGS="${CFLAGS} -Wno-unused-parameter -Wno-sign-compare -Wno-pointer-sign"
142 f36fd90a 2022-07-09 op LDADD=
143 82556d5b 2023-09-07 op LDADD_LIB_ASOUND=
144 f36fd90a 2022-07-09 op LDADD_LIB_FLAC=
145 82556d5b 2023-09-07 op LDADD_LIB_IMSG=
146 82556d5b 2023-09-07 op LDADD_LIB_MD=
147 f36fd90a 2022-07-09 op LDADD_LIB_MPG123=
148 82556d5b 2023-09-07 op LDADD_LIB_OPUSFILE=
149 f36fd90a 2022-07-09 op LDADD_LIB_SNDIO=
150 f36fd90a 2022-07-09 op LDADD_LIB_SOCKET=
151 82556d5b 2023-09-07 op LDADD_LIB_VORBISFILE=
152 f36fd90a 2022-07-09 op LDADD_STATIC=
153 f36fd90a 2022-07-09 op CPPFLAGS=
154 f36fd90a 2022-07-09 op LDFLAGS=
155 f36fd90a 2022-07-09 op DESTDIR=
156 f36fd90a 2022-07-09 op PREFIX="/usr/local"
157 f36fd90a 2022-07-09 op BINDIR=
158 f36fd90a 2022-07-09 op SBINDIR=
159 f36fd90a 2022-07-09 op INCLUDEDIR=
160 f36fd90a 2022-07-09 op LIBDIR=
161 f36fd90a 2022-07-09 op MANDIR=
162 f36fd90a 2022-07-09 op SHAREDIR=
163 f36fd90a 2022-07-09 op INSTALL="install"
164 f36fd90a 2022-07-09 op INSTALL_PROGRAM=
165 f36fd90a 2022-07-09 op INSTALL_LIB=
166 f36fd90a 2022-07-09 op INSTALL_MAN=
167 f36fd90a 2022-07-09 op INSTALL_DATA=
168 f36fd90a 2022-07-09 op PKG_CONFIG=
169 f36fd90a 2022-07-09 op
170 f36fd90a 2022-07-09 op # SunOS sets "cc", but this doesn't exist.
171 f36fd90a 2022-07-09 op # It does have gcc, so try that instead.
172 f36fd90a 2022-07-09 op # Prefer clang, though.
173 f36fd90a 2022-07-09 op
174 f36fd90a 2022-07-09 op command -v ${CC} 2>/dev/null 1>&2 || {
175 f36fd90a 2022-07-09 op echo "${CC} not found: trying clang" 1>&2
176 f36fd90a 2022-07-09 op echo "${CC} not found: trying clang" 1>&3
177 f36fd90a 2022-07-09 op CC=clang
178 f36fd90a 2022-07-09 op command -v ${CC} 2>/dev/null 1>&2 || {
179 f36fd90a 2022-07-09 op echo "${CC} not found: trying gcc" 1>&2
180 f36fd90a 2022-07-09 op echo "${CC} not found: trying gcc" 1>&3
181 f36fd90a 2022-07-09 op CC=gcc
182 f36fd90a 2022-07-09 op command -v ${CC} 2>/dev/null 1>&2 || {
183 f36fd90a 2022-07-09 op echo "gcc not found: giving up" 1>&2
184 f36fd90a 2022-07-09 op echo "gcc not found: giving up" 1>&3
185 f36fd90a 2022-07-09 op exit 1
186 f36fd90a 2022-07-09 op }
187 f36fd90a 2022-07-09 op }
188 f36fd90a 2022-07-09 op }
189 f36fd90a 2022-07-09 op
190 f36fd90a 2022-07-09 op command -v pkg-config 2>/dev/null 1>&2 && {
191 f36fd90a 2022-07-09 op PKG_CONFIG=pkg-config
192 f36fd90a 2022-07-09 op echo "pkg-config found" 1>&2
193 f36fd90a 2022-07-09 op echo "pkg-config found" 1>&3
194 f36fd90a 2022-07-09 op } || {
195 f36fd90a 2022-07-09 op echo "pkg-config not found" 1>&2
196 f36fd90a 2022-07-09 op echo "pkg-config not found" 1>&3
197 f36fd90a 2022-07-09 op }
198 f36fd90a 2022-07-09 op
199 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
200 82556d5b 2023-09-07 op # These are the values that will be pushed into config.h after we test
201 82556d5b 2023-09-07 op # for whether they're supported or not.
202 82556d5b 2023-09-07 op # Each of these must have a runtest(), below.
203 82556d5b 2023-09-07 op # Please sort by alpha, for clarity.
204 82556d5b 2023-09-07 op # You WANT to change this.
205 82556d5b 2023-09-07 op #----------------------------------------------------------------------
206 82556d5b 2023-09-07 op
207 82556d5b 2023-09-07 op HAVE_CAPSICUM=
208 82556d5b 2023-09-07 op HAVE_ERR=
209 82556d5b 2023-09-07 op HAVE_EXPLICIT_BZERO=
210 82556d5b 2023-09-07 op HAVE_FLOCK=
211 82556d5b 2023-09-07 op HAVE_FREEZERO=
212 82556d5b 2023-09-07 op HAVE_GETDTABLECOUNT=
213 82556d5b 2023-09-07 op HAVE_GETEXECNAME=
214 82556d5b 2023-09-07 op HAVE_GETPROGNAME=
215 82556d5b 2023-09-07 op HAVE_INFTIM=
216 82556d5b 2023-09-07 op HAVE_LANDLOCK=
217 82556d5b 2023-09-07 op HAVE_LIB_ASOUND=
218 82556d5b 2023-09-07 op HAVE_LIB_FLAC=
219 82556d5b 2023-09-07 op HAVE_LIB_IMSG=
220 82556d5b 2023-09-07 op HAVE_LIB_MD=
221 82556d5b 2023-09-07 op HAVE_LIB_MPG123=
222 82556d5b 2023-09-07 op HAVE_LIB_OPUSFILE=
223 82556d5b 2023-09-07 op HAVE_LIB_SNDIO=
224 82556d5b 2023-09-07 op HAVE_LIB_SOCKET=
225 82556d5b 2023-09-07 op HAVE_LIB_VORBISFILE=
226 82556d5b 2023-09-07 op HAVE_MEMMEM=
227 82556d5b 2023-09-07 op HAVE_MEMRCHR=
228 82556d5b 2023-09-07 op HAVE_MEMSET_S=
229 82556d5b 2023-09-07 op HAVE_OPTRESET=
230 82556d5b 2023-09-07 op HAVE_PATH_MAX=
231 82556d5b 2023-09-07 op HAVE_PLEDGE=
232 82556d5b 2023-09-07 op HAVE_PROGRAM_INVOCATION_SHORT_NAME=
233 82556d5b 2023-09-07 op HAVE_PR_SET_NAME=
234 82556d5b 2023-09-07 op HAVE_REALLOCARRAY=
235 82556d5b 2023-09-07 op HAVE_RECALLOCARRAY=
236 82556d5b 2023-09-07 op HAVE_SANDBOX_INIT=
237 82556d5b 2023-09-07 op HAVE_SETPROCTITLE=
238 82556d5b 2023-09-07 op HAVE_SIO_FLUSH=
239 82556d5b 2023-09-07 op HAVE_SOCK_NONBLOCK=
240 82556d5b 2023-09-07 op HAVE_STRLCAT=
241 82556d5b 2023-09-07 op HAVE_STRLCPY=
242 82556d5b 2023-09-07 op HAVE_STRNDUP=
243 82556d5b 2023-09-07 op HAVE_STRNLEN=
244 82556d5b 2023-09-07 op HAVE_STRTONUM=
245 82556d5b 2023-09-07 op HAVE_SYS_FILE=
246 82556d5b 2023-09-07 op HAVE_SYS_QUEUE=
247 82556d5b 2023-09-07 op HAVE_SYSTRACE=0
248 31e12e67 2023-09-07 op HAVE_TIMESPECSUB=
249 82556d5b 2023-09-07 op HAVE_UNVEIL=
250 82556d5b 2023-09-07 op HAVE___PROGNAME=
251 82556d5b 2023-09-07 op
252 82556d5b 2023-09-07 op #----------------------------------------------------------------------
253 f36fd90a 2022-07-09 op # Allow certain variables to be overriden on the command line.
254 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
255 f36fd90a 2022-07-09 op
256 f36fd90a 2022-07-09 op while [ $# -gt 0 ]; do
257 f36fd90a 2022-07-09 op key=${1%%=*}
258 f36fd90a 2022-07-09 op val=${1#*=}
259 f36fd90a 2022-07-09 op
260 f36fd90a 2022-07-09 op if [ "$key" = "--prefix" ]; then
261 f36fd90a 2022-07-09 op key=PREFIX
262 f36fd90a 2022-07-09 op if [ "$1" = "--prefix" ]; then
263 f36fd90a 2022-07-09 op if ! shift 2>&1 >/dev/null; then
264 f36fd90a 2022-07-09 op echo "$0: missing value for --prefix" 1>&2
265 34674849 2023-03-23 op exit 1
266 34674849 2023-03-23 op fi
267 34674849 2023-03-23 op val="$1"
268 34674849 2023-03-23 op fi
269 34674849 2023-03-23 op fi
270 34674849 2023-03-23 op
271 34674849 2023-03-23 op if [ "$key" = "--backend" ]; then
272 34674849 2023-03-23 op key=BACKEND
273 34674849 2023-03-23 op if [ "$1" = "--backend" ]; then
274 34674849 2023-03-23 op if ! shift 2>&1 >/dev/null; then
275 34674849 2023-03-23 op echo "$0 missing value for --backend" 1>&2
276 f36fd90a 2022-07-09 op exit 1
277 f36fd90a 2022-07-09 op fi
278 f36fd90a 2022-07-09 op val="$1"
279 f36fd90a 2022-07-09 op fi
280 f36fd90a 2022-07-09 op fi
281 f36fd90a 2022-07-09 op
282 f36fd90a 2022-07-09 op if [ "$1" = "$key" ]; then
283 f36fd90a 2022-07-09 op echo "$0: invalid key-value: $1" 1>&2
284 f36fd90a 2022-07-09 op exit 1
285 f36fd90a 2022-07-09 op fi
286 f36fd90a 2022-07-09 op
287 f36fd90a 2022-07-09 op shift
288 f36fd90a 2022-07-09 op
289 f36fd90a 2022-07-09 op case "$key" in
290 34674849 2023-03-23 op BACKEND)
291 34674849 2023-03-23 op case "$val" in
292 34674849 2023-03-23 op alsa) BACKEND=alsa ;;
293 34674849 2023-03-23 op sndio) BACKEND=sndio ;;
294 34674849 2023-03-23 op *)
295 34674849 2023-03-23 op echo "unknown audio backend: $val" 1>&2
296 34674849 2023-03-23 op exit 1
297 34674849 2023-03-23 op esac ;;
298 82556d5b 2023-09-07 op CC)
299 82556d5b 2023-09-07 op CC="$val" ;;
300 82556d5b 2023-09-07 op CFLAGS)
301 82556d5b 2023-09-07 op CFLAGS="$val" ;;
302 f36fd90a 2022-07-09 op LDADD)
303 f36fd90a 2022-07-09 op LDADD="$val" ;;
304 82556d5b 2023-09-07 op LDADD_LIB_ASOUND)
305 82556d5b 2023-09-07 op LDADD_LIB_ASOUND="$val"
306 82556d5b 2023-09-07 op HAVE_LIB_ASOUND=1
307 82556d5b 2023-09-07 op BACKEND=alsa
308 82556d5b 2023-09-07 op ;;
309 82556d5b 2023-09-07 op LDADD_LIB_FLAC)
310 82556d5b 2023-09-07 op LDADD_LIB_FLAC="$val"
311 82556d5b 2023-09-07 op HAVE_LIB_FLAC=1
312 82556d5b 2023-09-07 op ;;
313 82556d5b 2023-09-07 op LDADD_LIB_IMSG)
314 82556d5b 2023-09-07 op LDADD_LIB_IMSG="$val"
315 82556d5b 2023-09-07 op HAVE_LIB_IMSG=1
316 82556d5b 2023-09-07 op ;;
317 56de3111 2023-09-07 op LDADD_LIB_MD)
318 82556d5b 2023-09-07 op LDADD_LIB_MD="$val"
319 82556d5b 2023-09-07 op HAVE_LIB_MD=1
320 82556d5b 2023-09-07 op ;;
321 82556d5b 2023-09-07 op LDADD_LIB_MPG123)
322 82556d5b 2023-09-07 op LDADD_LIB_MPG123="$val"
323 82556d5b 2023-09-07 op HAVE_LIB_MPG123=1
324 82556d5b 2023-09-07 op ;;
325 82556d5b 2023-09-07 op LDADD_LIB_OPUSFILE)
326 82556d5b 2023-09-07 op LDADD_LIB_OPUSFILE="$val"
327 82556d5b 2023-09-07 op HAVE_LIB_OPUSFILE=1
328 82556d5b 2023-09-07 op ;;
329 82556d5b 2023-09-07 op LDADD_LIB_SNDIO)
330 82556d5b 2023-09-07 op LDADD_LIB_SNDIO="$val"
331 82556d5b 2023-09-07 op HAVE_LIB_SNDIO=1
332 82556d5b 2023-09-07 op BACKEND=sndio
333 82556d5b 2023-09-07 op ;;
334 82556d5b 2023-09-07 op LDADD_LIB_SOCKET)
335 82556d5b 2023-09-07 op LDADD_LIB_SOCKET="$val"
336 82556d5b 2023-09-07 op HAVE_LIB_SOCKET=1
337 82556d5b 2023-09-07 op ;;
338 82556d5b 2023-09-07 op LDADD_LIB_VORBISFILE)
339 82556d5b 2023-09-07 op LDADD_LIB_VORBISFILE="$val"
340 82556d5b 2023-09-07 op HAVE_LIB_VORBISFILE=1
341 82556d5b 2023-09-07 op ;;
342 f36fd90a 2022-07-09 op LDFLAGS)
343 f36fd90a 2022-07-09 op LDFLAGS="$val" ;;
344 f36fd90a 2022-07-09 op CPPFLAGS)
345 f36fd90a 2022-07-09 op CPPFLAGS="$val" ;;
346 f36fd90a 2022-07-09 op DESTDIR)
347 f36fd90a 2022-07-09 op DESTDIR="$val" ;;
348 f36fd90a 2022-07-09 op PREFIX)
349 f36fd90a 2022-07-09 op PREFIX="$val" ;;
350 f36fd90a 2022-07-09 op MANDIR)
351 f36fd90a 2022-07-09 op MANDIR="$val" ;;
352 f36fd90a 2022-07-09 op LIBDIR)
353 f36fd90a 2022-07-09 op LIBDIR="$val" ;;
354 f36fd90a 2022-07-09 op BINDIR)
355 f36fd90a 2022-07-09 op BINDIR="$val" ;;
356 f36fd90a 2022-07-09 op SHAREDIR)
357 f36fd90a 2022-07-09 op SHAREDIR="$val" ;;
358 f36fd90a 2022-07-09 op SBINDIR)
359 f36fd90a 2022-07-09 op SBINDIR="$val" ;;
360 f36fd90a 2022-07-09 op INCLUDEDIR)
361 f36fd90a 2022-07-09 op INCLUDEDIR="$val" ;;
362 f36fd90a 2022-07-09 op PKG_CONFIG)
363 f36fd90a 2022-07-09 op PKG_CONFIG="$val" ;;
364 f36fd90a 2022-07-09 op *)
365 f36fd90a 2022-07-09 op echo "$0: invalid key: $key" 1>&2
366 f36fd90a 2022-07-09 op exit 1
367 f36fd90a 2022-07-09 op esac
368 f36fd90a 2022-07-09 op done
369 f36fd90a 2022-07-09 op
370 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
371 f36fd90a 2022-07-09 op # Allow configure.local to override all variables, default settings,
372 f36fd90a 2022-07-09 op # command-line arguments, and tested features, above.
373 f36fd90a 2022-07-09 op # You PROBABLY DO NOT want to change this.
374 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
375 f36fd90a 2022-07-09 op
376 f36fd90a 2022-07-09 op if [ -r ./configure.local ]; then
377 f36fd90a 2022-07-09 op echo "configure.local: reading..." 1>&2
378 f36fd90a 2022-07-09 op echo "configure.local: reading..." 1>&3
379 f36fd90a 2022-07-09 op cat ./configure.local 1>&3
380 f36fd90a 2022-07-09 op . ./configure.local
381 f36fd90a 2022-07-09 op else
382 f36fd90a 2022-07-09 op echo "configure.local: no (fully automatic configuration)" 1>&2
383 f36fd90a 2022-07-09 op echo "configure.local: no (fully automatic configuration)" 1>&3
384 f36fd90a 2022-07-09 op fi
385 f36fd90a 2022-07-09 op
386 f36fd90a 2022-07-09 op echo 1>&3
387 f36fd90a 2022-07-09 op
388 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
389 f36fd90a 2022-07-09 op # Infrastructure for running tests.
390 f36fd90a 2022-07-09 op # These consists of a series of functions that will attempt to run the
391 f36fd90a 2022-07-09 op # given test file and record its exit into a HAVE_xxx variable.
392 f36fd90a 2022-07-09 op # You DO NOT want to change this.
393 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
394 f36fd90a 2022-07-09 op
395 f36fd90a 2022-07-09 op COMP="${CC} ${CFLAGS} ${CPPFLAGS} -Wno-unused -Werror"
396 f36fd90a 2022-07-09 op
397 f36fd90a 2022-07-09 op # Check whether this HAVE_ setting is manually overridden.
398 f36fd90a 2022-07-09 op # If yes, use the override, if no, do not decide anything yet.
399 f36fd90a 2022-07-09 op # Arguments: lower-case test name, manual value
400 f36fd90a 2022-07-09 op
401 f36fd90a 2022-07-09 op ismanual() {
402 82556d5b 2023-09-07 op eval _manual=\${LDADD_${2}}
403 82556d5b 2023-09-07 op if [ -z "$_manual" ]; then
404 82556d5b 2023-09-07 op eval _manual=\${HAVE_${2}}
405 82556d5b 2023-09-07 op fi
406 82556d5b 2023-09-07 op
407 82556d5b 2023-09-07 op [ -z "${_manual}" ] && return 1
408 82556d5b 2023-09-07 op echo "${1}: manual (${_manual})" 1>&2
409 82556d5b 2023-09-07 op echo "${1}: manual (${_manual})" 1>&3
410 f36fd90a 2022-07-09 op echo 1>&3
411 f36fd90a 2022-07-09 op return 0
412 f36fd90a 2022-07-09 op }
413 f36fd90a 2022-07-09 op
414 f36fd90a 2022-07-09 op # Run a single autoconfiguration test.
415 f36fd90a 2022-07-09 op # In case of success, enable the feature.
416 f36fd90a 2022-07-09 op # In case of failure, do not decide anything yet.
417 f36fd90a 2022-07-09 op # Arguments: lower-case test name, upper-case test name, additional
418 f36fd90a 2022-07-09 op # CFLAGS, additional LIBS.
419 f36fd90a 2022-07-09 op
420 f36fd90a 2022-07-09 op singletest() {
421 f36fd90a 2022-07-09 op extralib=""
422 f36fd90a 2022-07-09 op pkgcfs=""
423 f36fd90a 2022-07-09 op pkglib=""
424 f36fd90a 2022-07-09 op
425 f36fd90a 2022-07-09 op cat 1>&3 << __HEREDOC__
426 f36fd90a 2022-07-09 op ${1}: testing...
427 f36fd90a 2022-07-09 op ${COMP} -DTEST_${2} ${3} -o test-${1} tests.c ${LDFLAGS} ${4}
428 f36fd90a 2022-07-09 op __HEREDOC__
429 f36fd90a 2022-07-09 op if ${COMP} -DTEST_${2} ${3} -o "test-${1}" tests.c ${LDFLAGS} ${4} 1>&3 2>&3; then
430 f36fd90a 2022-07-09 op echo "${1}: ${CC} succeeded" 1>&3
431 f36fd90a 2022-07-09 op else
432 f36fd90a 2022-07-09 op if [ -n "${5}" ] ; then
433 f36fd90a 2022-07-09 op echo "${1}: ${CC} failed with $? (retrying)" 1>&3
434 f36fd90a 2022-07-09 op cat 1>&3 << __HEREDOC__
435 f36fd90a 2022-07-09 op ${1}: testing...
436 f36fd90a 2022-07-09 op ${COMP} -DTEST_${2} ${3} -o test-${1} tests.c ${LDFLAGS} ${5}
437 f36fd90a 2022-07-09 op __HEREDOC__
438 f36fd90a 2022-07-09 op if ${COMP} -DTEST_${2} ${3} -o "test-${1}" tests.c ${LDFLAGS} ${5} 1>&3 2>&3; then
439 f36fd90a 2022-07-09 op echo "${1}: ${CC} succeeded" 1>&3
440 f36fd90a 2022-07-09 op extralib="(with ${5})"
441 f36fd90a 2022-07-09 op else
442 f36fd90a 2022-07-09 op test -n "${PKG_CONFIG}" -a -n "${6}" && ${PKG_CONFIG} "$6"
443 f36fd90a 2022-07-09 op if [ $? -eq 0 ]; then
444 f36fd90a 2022-07-09 op echo "${1}: ${CC} failed with $? (retrying)" 1>&3
445 f36fd90a 2022-07-09 op pkgcfs=$($PKG_CONFIG --cflags "${6}")
446 f36fd90a 2022-07-09 op pkglib=$($PKG_CONFIG --libs "${6}")
447 f36fd90a 2022-07-09 op cat 1>&3 << __HEREDOC__
448 f36fd90a 2022-07-09 op ${1}: testing...
449 f36fd90a 2022-07-09 op ${COMP} -DTEST_${2} ${3} ${pkgcfs} -o test-${1} tests.c ${LDFLAGS} ${pkglib}
450 f36fd90a 2022-07-09 op __HEREDOC__
451 f36fd90a 2022-07-09 op if ${COMP} -DTEST_${2} ${3} ${pkgcfs} -o test-${1} tests.c ${LDFLAGS} ${pkglib} 1>&3 2>&3; then
452 f36fd90a 2022-07-09 op echo "${1}: ${CC} succeeded" 1>&3
453 f36fd90a 2022-07-09 op extralib="(with ${pkgcfs} ${pkglib})"
454 f36fd90a 2022-07-09 op else
455 f36fd90a 2022-07-09 op echo "${1}: ${CC} failed with $?" 1>&3
456 f36fd90a 2022-07-09 op echo 1>&3
457 f36fd90a 2022-07-09 op return 1
458 f36fd90a 2022-07-09 op fi
459 f36fd90a 2022-07-09 op else
460 f36fd90a 2022-07-09 op echo "${1}: ${CC} failed with $?" 1>&3
461 f36fd90a 2022-07-09 op echo 1>&3
462 f36fd90a 2022-07-09 op return 1
463 f36fd90a 2022-07-09 op fi
464 f36fd90a 2022-07-09 op fi
465 f36fd90a 2022-07-09 op else
466 f36fd90a 2022-07-09 op echo "${1}: ${CC} failed with $?" 1>&3
467 f36fd90a 2022-07-09 op echo 1>&3
468 f36fd90a 2022-07-09 op return 1
469 f36fd90a 2022-07-09 op fi
470 f36fd90a 2022-07-09 op fi
471 1c53767e 2022-07-13 op
472 1c53767e 2022-07-13 op rm -f test-${1}.d
473 f36fd90a 2022-07-09 op
474 8ac3fb61 2023-09-07 op if [ -n "${pkgcfs}" -o -n "${pkglib}" ]; then
475 f36fd90a 2022-07-09 op CFLAGS="${CFLAGS} ${pkgcfs}"
476 f36fd90a 2022-07-09 op eval "LDADD_${2}=\"${pkglib}\""
477 8ac3fb61 2023-09-07 op elif [ -n "${extralib}" ]; then
478 f36fd90a 2022-07-09 op eval "LDADD_${2}=\"${5}\""
479 8ac3fb61 2023-09-07 op elif [ -n "${4}" ]; then
480 f36fd90a 2022-07-09 op eval "LDADD_${2}=\"${4}\""
481 f36fd90a 2022-07-09 op fi
482 f36fd90a 2022-07-09 op
483 f36fd90a 2022-07-09 op echo "${1}: yes ${extralib}" 1>&2
484 f36fd90a 2022-07-09 op echo "${1}: yes ${extralib}" 1>&3
485 f36fd90a 2022-07-09 op echo 1>&3
486 f36fd90a 2022-07-09 op eval HAVE_${2}=1
487 f36fd90a 2022-07-09 op rm "test-${1}"
488 f36fd90a 2022-07-09 op return 0
489 f36fd90a 2022-07-09 op }
490 f36fd90a 2022-07-09 op
491 f36fd90a 2022-07-09 op # Run a complete autoconfiguration test, including the check for
492 f36fd90a 2022-07-09 op # a manual override and disabling the feature on failure.
493 f36fd90a 2022-07-09 op # Arguments: lower case name, upper case name, additional CFLAGS,
494 f36fd90a 2022-07-09 op # additional LDADD, alternative LDADD, pkg-config name.
495 f36fd90a 2022-07-09 op
496 f36fd90a 2022-07-09 op runtest() {
497 82556d5b 2023-09-07 op ismanual "${1}" "${2}" && return 0
498 f36fd90a 2022-07-09 op singletest "${1}" "${2}" "${3}" "${4}" "${5}" "${6}" && return 0
499 f36fd90a 2022-07-09 op echo "${1}: no" 1>&2
500 f36fd90a 2022-07-09 op eval HAVE_${2}=0
501 f36fd90a 2022-07-09 op return 1
502 f36fd90a 2022-07-09 op }
503 f36fd90a 2022-07-09 op
504 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
505 f36fd90a 2022-07-09 op # Begin running the tests themselves.
506 f36fd90a 2022-07-09 op # All of your tests must be defined here.
507 f36fd90a 2022-07-09 op # Please sort as the HAVE_xxxx values were defined.
508 f36fd90a 2022-07-09 op # You WANT to change this.
509 f36fd90a 2022-07-09 op # It consists of the following columns:
510 f36fd90a 2022-07-09 op # runtest
511 f36fd90a 2022-07-09 op # (1) test file
512 f36fd90a 2022-07-09 op # (2) macro to set
513 f36fd90a 2022-07-09 op # (3) argument to cc *before* -o
514 f36fd90a 2022-07-09 op # (4) argument to cc *after*
515 f36fd90a 2022-07-09 op # (5) alternative argument to cc *after*
516 f36fd90a 2022-07-09 op # (6) name for pkg-config auto-discovery
517 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
518 f36fd90a 2022-07-09 op
519 f36fd90a 2022-07-09 op if runtest -MMD _MMD -MMD; then
520 f36fd90a 2022-07-09 op CFLAGS="${CFLAGS} -MMD"
521 f36fd90a 2022-07-09 op echo "adding -MMD to CFLAGS" 1>&2
522 f36fd90a 2022-07-09 op echo "adding -MMD to CFLAGS" 1>&3
523 f36fd90a 2022-07-09 op fi
524 f36fd90a 2022-07-09 op
525 f36fd90a 2022-07-09 op runtest capsicum CAPSICUM || true
526 f36fd90a 2022-07-09 op runtest err ERR || true
527 f36fd90a 2022-07-09 op runtest explicit_bzero EXPLICIT_BZERO || true
528 f36fd90a 2022-07-09 op runtest flock FLOCK || true
529 f36fd90a 2022-07-09 op runtest freezero FREEZERO || true
530 f36fd90a 2022-07-09 op runtest getdtablecount GETDTABLECOUNT || true
531 f36fd90a 2022-07-09 op runtest getexecname GETEXECNAME || true
532 f36fd90a 2022-07-09 op runtest getprogname GETPROGNAME || true
533 f36fd90a 2022-07-09 op runtest INFTIM INFTIM || true
534 f36fd90a 2022-07-09 op runtest landlock LANDLOCK || true
535 82556d5b 2023-09-07 op
536 82556d5b 2023-09-07 op runtest lib_imsg LIB_IMSG "" "" "-lutil" || true
537 82556d5b 2023-09-07 op runtest lib_md LIB_MD "" "" "-lmd" "libmd" || true
538 82556d5b 2023-09-07 op runtest lib_socket LIB_SOCKET "" "" "-lsocket -lnsl" || true
539 f36fd90a 2022-07-09 op
540 f36fd90a 2022-07-09 op runtest lib_flac LIB_FLAC "" "" "-lFLAC" "flac" || true
541 f36fd90a 2022-07-09 op runtest lib_mpg123 LIB_MPG123 "" "" "-lmpg123" "libmpg123" || true
542 f36fd90a 2022-07-09 op runtest lib_opusfile LIB_OPUSFILE "" "" "-lopusfile" "opusfile" || true
543 f36fd90a 2022-07-09 op runtest lib_vorbisfile LIB_VORBISFILE "" "" "-lvorbisfile" "vorbisfile" || true
544 f36fd90a 2022-07-09 op
545 f36fd90a 2022-07-09 op runtest memmem MEMMEM || true
546 f36fd90a 2022-07-09 op runtest memrchr MEMRCHR || true
547 f36fd90a 2022-07-09 op runtest memset_s MEMSET_S || true
548 f36fd90a 2022-07-09 op runtest optreset OPTRESET || true
549 f36fd90a 2022-07-09 op runtest PATH_MAX PATH_MAX || true
550 f36fd90a 2022-07-09 op runtest pledge PLEDGE || true
551 f36fd90a 2022-07-09 op runtest program_invocation_short_name PROGRAM_INVOCATION_SHORT_NAME || true
552 f36fd90a 2022-07-09 op runtest PR_SET_NAME PR_SET_NAME || true
553 f36fd90a 2022-07-09 op runtest reallocarray REALLOCARRAY || true
554 f36fd90a 2022-07-09 op runtest recallocarray RECALLOCARRAY || true
555 f36fd90a 2022-07-09 op runtest sandbox_init SANDBOX_INIT "-Wno-deprecated" || true
556 f36fd90a 2022-07-09 op runtest setproctitle SETPROCTITLE || true
557 f36fd90a 2022-07-09 op runtest SOCK_NONBLOCK SOCK_NONBLOCK || true
558 f36fd90a 2022-07-09 op runtest static STATIC "" "-static" || true
559 f36fd90a 2022-07-09 op runtest strlcat STRLCAT || true
560 f36fd90a 2022-07-09 op runtest strlcpy STRLCPY || true
561 f36fd90a 2022-07-09 op runtest strndup STRNDUP || true
562 f36fd90a 2022-07-09 op runtest strnlen STRNLEN || true
563 f36fd90a 2022-07-09 op runtest strtonum STRTONUM || true
564 f36fd90a 2022-07-09 op runtest sys_queue SYS_QUEUE || true
565 f36fd90a 2022-07-09 op runtest sys_file SYS_FILE || true
566 31e12e67 2023-09-07 op runtest timespecsub TIMESPECSUB || true
567 f36fd90a 2022-07-09 op runtest unveil UNVEIL || true
568 f36fd90a 2022-07-09 op runtest __progname __PROGNAME || true
569 34674849 2023-03-23 op
570 34674849 2023-03-23 op if [ $BACKEND != alsa ]; then # auto or sndio
571 34674849 2023-03-23 op runtest lib_sndio LIB_SNDIO "" "" "-lsndio" "sndio" || true
572 34674849 2023-03-23 op runtest sio_flush SIO_FLUSH "" "" "${LDADD_LIB_SNDIO}" || true
573 34674849 2023-03-23 op
574 34674849 2023-03-23 op if [ "${HAVE_LIB_SNDIO}" -eq 0 ]; then
575 34674849 2023-03-23 op if [ $BACKEND = sndio ]; then
576 34674849 2023-03-23 op echo "Fatal: missing libsndio" 1>&2
577 34674849 2023-03-23 op echo "Fatal: missing libsndio" 1>&3
578 34674849 2023-03-23 op exit 1
579 34674849 2023-03-23 op fi
580 34674849 2023-03-23 op else
581 34674849 2023-03-23 op BACKEND=sndio
582 34674849 2023-03-23 op fi
583 e89b829a 2023-05-12 op else
584 e89b829a 2023-05-12 op HAVE_SIO_FLUSH=0
585 34674849 2023-03-23 op fi
586 f36fd90a 2022-07-09 op
587 34674849 2023-03-23 op if [ $BACKEND != sndio ]; then # auto or alsa
588 34674849 2023-03-23 op runtest lib_asound LIB_ASOUND "" "" "-lasound" "alsa" || true
589 34674849 2023-03-23 op if [ "${HAVE_LIB_ASOUND}" -eq 0 ]; then
590 34674849 2023-03-23 op if [ $BACKEND = alsa ]; then
591 34674849 2023-03-23 op echo "Fatal: missing libasound" 1>&2
592 34674849 2023-03-23 op echo "Fatal: missing libasound" 1>&3
593 34674849 2023-03-23 op else
594 34674849 2023-03-23 op echo "Fatal: missing libasound or libsndio" 1>&2
595 34674849 2023-03-23 op echo "Fatal: missing libasound or libsndio" 1>&3
596 34674849 2023-03-23 op fi
597 34674849 2023-03-23 op exit 1
598 34674849 2023-03-23 op fi
599 34674849 2023-03-23 op BACKEND=alsa
600 f36fd90a 2022-07-09 op fi
601 f36fd90a 2022-07-09 op
602 f36fd90a 2022-07-09 op if [ "${HAVE_LIB_FLAC}" -eq 0 -o \
603 f36fd90a 2022-07-09 op "${HAVE_LIB_MPG123}" -eq 0 -o \
604 f36fd90a 2022-07-09 op "${HAVE_LIB_OPUSFILE}" -eq 0 -o \
605 f36fd90a 2022-07-09 op "${HAVE_LIB_VORBISFILE}" -eq 0 ]; then
606 f36fd90a 2022-07-09 op echo "Fatal: missing required audio libraries" 1>&2
607 f36fd90a 2022-07-09 op echo "Fatal: missing required audio libraries" 1>&3
608 f36fd90a 2022-07-09 op exit 1
609 f36fd90a 2022-07-09 op fi
610 f36fd90a 2022-07-09 op
611 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
612 f36fd90a 2022-07-09 op # Output writing: generate the config.h file.
613 f36fd90a 2022-07-09 op # This file contains all of the HAVE_xxxx variables necessary for
614 f36fd90a 2022-07-09 op # compiling your source.
615 f36fd90a 2022-07-09 op # You must include "config.h" BEFORE any other variables.
616 f36fd90a 2022-07-09 op # You WANT to change this.
617 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
618 f36fd90a 2022-07-09 op
619 f36fd90a 2022-07-09 op exec > config.h
620 f36fd90a 2022-07-09 op
621 f36fd90a 2022-07-09 op # Start with prologue.
622 f36fd90a 2022-07-09 op
623 f36fd90a 2022-07-09 op cat << __HEREDOC__
624 f36fd90a 2022-07-09 op #ifndef OCONFIGURE_CONFIG_H
625 f36fd90a 2022-07-09 op #define OCONFIGURE_CONFIG_H
626 f36fd90a 2022-07-09 op
627 f36fd90a 2022-07-09 op #ifdef __cplusplus
628 f36fd90a 2022-07-09 op # error "Do not use C++: this is a C application."
629 f36fd90a 2022-07-09 op #endif
630 f36fd90a 2022-07-09 op #if !defined(__GNUC__) || (__GNUC__ < 4)
631 f36fd90a 2022-07-09 op # define __attribute__(x)
632 f36fd90a 2022-07-09 op #endif
633 f36fd90a 2022-07-09 op #if defined(__linux__) || defined(__MINT__)
634 f36fd90a 2022-07-09 op # define _GNU_SOURCE /* memmem, memrchr, setresuid... */
635 f36fd90a 2022-07-09 op # define _DEFAULT_SOURCE /* le32toh, crypt, ... */
636 f36fd90a 2022-07-09 op #endif
637 f36fd90a 2022-07-09 op #if defined(__NetBSD__)
638 f36fd90a 2022-07-09 op # define _OPENBSD_SOURCE /* reallocarray, etc. */
639 f36fd90a 2022-07-09 op #endif
640 f36fd90a 2022-07-09 op #if defined(__sun)
641 f36fd90a 2022-07-09 op # ifndef _XOPEN_SOURCE /* SunOS already defines */
642 f36fd90a 2022-07-09 op # define _XOPEN_SOURCE /* XPGx */
643 f36fd90a 2022-07-09 op # endif
644 f36fd90a 2022-07-09 op # define _XOPEN_SOURCE_EXTENDED 1 /* XPG4v2 */
645 f36fd90a 2022-07-09 op # ifndef __EXTENSIONS__ /* SunOS already defines */
646 f36fd90a 2022-07-09 op # define __EXTENSIONS__ /* reallocarray, etc. */
647 f36fd90a 2022-07-09 op # endif
648 f36fd90a 2022-07-09 op #endif
649 f36fd90a 2022-07-09 op #if !defined(__BEGIN_DECLS)
650 f36fd90a 2022-07-09 op # define __BEGIN_DECLS
651 f36fd90a 2022-07-09 op #endif
652 f36fd90a 2022-07-09 op #if !defined(__END_DECLS)
653 f36fd90a 2022-07-09 op # define __END_DECLS
654 f36fd90a 2022-07-09 op #endif
655 f36fd90a 2022-07-09 op
656 f36fd90a 2022-07-09 op __HEREDOC__
657 f36fd90a 2022-07-09 op
658 f36fd90a 2022-07-09 op # This is just for size_t, mode_t, and dev_t.
659 f36fd90a 2022-07-09 op # Most of these functions, in the real world, pull in <string.h> or
660 f36fd90a 2022-07-09 op # someting that pulls in support for size_t.
661 f36fd90a 2022-07-09 op # Our function declarations are standalone, so specify them here.
662 f36fd90a 2022-07-09 op
663 82556d5b 2023-09-07 op if [ ${HAVE_LIB_IMSG} -eq 0 -o \
664 f36fd90a 2022-07-09 op ${HAVE_MEMMEM} -eq 0 -o \
665 f36fd90a 2022-07-09 op ${HAVE_MEMRCHR} -eq 0 -o \
666 f36fd90a 2022-07-09 op ${HAVE_REALLOCARRAY} -eq 0 -o \
667 f36fd90a 2022-07-09 op ${HAVE_RECALLOCARRAY} -eq 0 -o \
668 f36fd90a 2022-07-09 op ${HAVE_STRLCAT} -eq 0 -o \
669 f36fd90a 2022-07-09 op ${HAVE_STRLCPY} -eq 0 -o \
670 f36fd90a 2022-07-09 op ${HAVE_STRNDUP} -eq 0 -o \
671 f36fd90a 2022-07-09 op ${HAVE_STRNLEN} -eq 0 ]
672 f36fd90a 2022-07-09 op then
673 f36fd90a 2022-07-09 op echo "#include <sys/types.h> /* size_t, mode_t, dev_t */ "
674 f36fd90a 2022-07-09 op echo
675 f36fd90a 2022-07-09 op fi
676 f36fd90a 2022-07-09 op
677 f36fd90a 2022-07-09 op if [ ${HAVE_FLOCK} -eq 0 ]; then
678 f36fd90a 2022-07-09 op if [ ${HAVE_SYS_FILE} -eq 0 ]; then
679 f36fd90a 2022-07-09 op HAVE_FLOCK=1
680 f36fd90a 2022-07-09 op echo "#include <sys/file.h>"
681 f36fd90a 2022-07-09 op echo
682 f36fd90a 2022-07-09 op else
683 f36fd90a 2022-07-09 op echo "int flock(int, int);"
684 f36fd90a 2022-07-09 op echo "#define LOCK_SH 0x1"
685 f36fd90a 2022-07-09 op echo "#define LOCK_EX 0x2"
686 f36fd90a 2022-07-09 op echo "#define LOCK_NB 0x4"
687 f36fd90a 2022-07-09 op echo
688 f36fd90a 2022-07-09 op fi
689 f36fd90a 2022-07-09 op fi
690 f36fd90a 2022-07-09 op
691 f36fd90a 2022-07-09 op if [ ${HAVE_ERR} -eq 0 ]; then
692 f36fd90a 2022-07-09 op echo "#include <stdarg.h> /* err(3) */"
693 f36fd90a 2022-07-09 op echo
694 f36fd90a 2022-07-09 op else
695 f36fd90a 2022-07-09 op echo "#include <err.h>"
696 f36fd90a 2022-07-09 op echo
697 f36fd90a 2022-07-09 op fi
698 f36fd90a 2022-07-09 op
699 f36fd90a 2022-07-09 op if [ ${HAVE_PLEDGE} -eq 0 ]; then
700 f36fd90a 2022-07-09 op echo "#define pledge(p, e) (0)"
701 f36fd90a 2022-07-09 op echo
702 f36fd90a 2022-07-09 op else
703 f36fd90a 2022-07-09 op echo "#include <unistd.h>"
704 f36fd90a 2022-07-09 op echo
705 f36fd90a 2022-07-09 op fi
706 f36fd90a 2022-07-09 op
707 f36fd90a 2022-07-09 op # Now we handle our HAVE_xxxx values.
708 f36fd90a 2022-07-09 op # Most will just be defined as 0 or 1.
709 f36fd90a 2022-07-09 op
710 f36fd90a 2022-07-09 op if [ ${HAVE_PATH_MAX} -eq 0 ]
711 f36fd90a 2022-07-09 op then
712 f36fd90a 2022-07-09 op echo "#define PATH_MAX 4096"
713 f36fd90a 2022-07-09 op echo
714 f36fd90a 2022-07-09 op fi
715 f36fd90a 2022-07-09 op
716 f36fd90a 2022-07-09 op if [ ${HAVE_INFTIM} -eq 0 ]
717 f36fd90a 2022-07-09 op then
718 f36fd90a 2022-07-09 op echo "#define INFTIM (-1) /* poll.h */"
719 f36fd90a 2022-07-09 op echo
720 f36fd90a 2022-07-09 op fi
721 f36fd90a 2022-07-09 op
722 f36fd90a 2022-07-09 op cat << __HEREDOC__
723 f36fd90a 2022-07-09 op /*
724 f36fd90a 2022-07-09 op * Results of configuration feature-testing.
725 f36fd90a 2022-07-09 op */
726 f36fd90a 2022-07-09 op #define HAVE_CAPSICUM ${HAVE_CAPSICUM}
727 f36fd90a 2022-07-09 op #define HAVE_ERR ${HAVE_ERR}
728 f36fd90a 2022-07-09 op #define HAVE_EXPLICIT_BZERO ${HAVE_EXPLICIT_BZERO}
729 f36fd90a 2022-07-09 op #define HAVE_FLOCK ${HAVE_FLOCK}
730 f36fd90a 2022-07-09 op #define HAVE_FREEZERO ${HAVE_FREEZERO}
731 f36fd90a 2022-07-09 op #define HAVE_GETDTABLECOUNT ${HAVE_GETDTABLECOUNT}
732 f36fd90a 2022-07-09 op #define HAVE_GETEXECNAME ${HAVE_GETEXECNAME}
733 f36fd90a 2022-07-09 op #define HAVE_GETPROGNAME ${HAVE_GETPROGNAME}
734 82556d5b 2023-09-07 op #define HAVE_LIB_IMSG ${HAVE_LIB_IMSG}
735 f36fd90a 2022-07-09 op #define HAVE_INFTIM ${HAVE_INFTIM}
736 f36fd90a 2022-07-09 op #define HAVE_LANDLOCK ${HAVE_LANDLOCK}
737 f36fd90a 2022-07-09 op #define HAVE_MEMMEM ${HAVE_MEMMEM}
738 f36fd90a 2022-07-09 op #define HAVE_MEMRCHR ${HAVE_MEMRCHR}
739 f36fd90a 2022-07-09 op #define HAVE_MEMSET_S ${HAVE_MEMSET_S}
740 f36fd90a 2022-07-09 op #define HAVE_OPTRESET ${HAVE_OPTRESET}
741 f36fd90a 2022-07-09 op #define HAVE_PATH_MAX ${HAVE_PATH_MAX}
742 f36fd90a 2022-07-09 op #define HAVE_PLEDGE ${HAVE_PLEDGE}
743 f36fd90a 2022-07-09 op #define HAVE_PROGRAM_INVOCATION_SHORT_NAME ${HAVE_PROGRAM_INVOCATION_SHORT_NAME}
744 f36fd90a 2022-07-09 op #define HAVE_PR_SET_NAME ${HAVE_PR_SET_NAME}
745 f36fd90a 2022-07-09 op #define HAVE_REALLOCARRAY ${HAVE_REALLOCARRAY}
746 f36fd90a 2022-07-09 op #define HAVE_RECALLOCARRAY ${HAVE_RECALLOCARRAY}
747 f36fd90a 2022-07-09 op #define HAVE_SANDBOX_INIT ${HAVE_SANDBOX_INIT}
748 f36fd90a 2022-07-09 op #define HAVE_SETPROCTITLE ${HAVE_SETPROCTITLE}
749 f36fd90a 2022-07-09 op #define HAVE_SIO_FLUSH ${HAVE_SIO_FLUSH}
750 f36fd90a 2022-07-09 op #define HAVE_SOCK_NONBLOCK ${HAVE_SOCK_NONBLOCK}
751 f36fd90a 2022-07-09 op #define HAVE_STRLCAT ${HAVE_STRLCAT}
752 f36fd90a 2022-07-09 op #define HAVE_STRLCPY ${HAVE_STRLCPY}
753 f36fd90a 2022-07-09 op #define HAVE_STRNDUP ${HAVE_STRNDUP}
754 f36fd90a 2022-07-09 op #define HAVE_STRNLEN ${HAVE_STRNLEN}
755 f36fd90a 2022-07-09 op #define HAVE_STRTONUM ${HAVE_STRTONUM}
756 f36fd90a 2022-07-09 op #define HAVE_SYS_FILE ${HAVE_SYS_FILE}
757 f36fd90a 2022-07-09 op #define HAVE_SYS_QUEUE ${HAVE_SYS_QUEUE}
758 f36fd90a 2022-07-09 op #define HAVE_SYSTRACE ${HAVE_SYSTRACE}
759 31e12e67 2023-09-07 op #define HAVE_TIMESPECSUB ${HAVE_TIMESPECSUB}
760 f36fd90a 2022-07-09 op #define HAVE_UNVEIL ${HAVE_UNVEIL}
761 f36fd90a 2022-07-09 op #define HAVE___PROGNAME ${HAVE___PROGNAME}
762 f36fd90a 2022-07-09 op
763 f36fd90a 2022-07-09 op __HEREDOC__
764 f36fd90a 2022-07-09 op
765 f36fd90a 2022-07-09 op # Now we do our function declarations for missing functions.
766 f36fd90a 2022-07-09 op
767 f36fd90a 2022-07-09 op [ ${HAVE_ERR} -eq 0 ] && \
768 f36fd90a 2022-07-09 op cat << __HEREDOC__
769 f36fd90a 2022-07-09 op /*
770 f36fd90a 2022-07-09 op * Compatibility functions for err(3).
771 f36fd90a 2022-07-09 op */
772 f36fd90a 2022-07-09 op extern void err(int, const char *, ...) __attribute__((noreturn));
773 f36fd90a 2022-07-09 op extern void errc(int, int, const char *, ...) __attribute__((noreturn));
774 f36fd90a 2022-07-09 op extern void errx(int, const char *, ...) __attribute__((noreturn));
775 f36fd90a 2022-07-09 op extern void verr(int, const char *, va_list) __attribute__((noreturn));
776 f36fd90a 2022-07-09 op extern void verrc(int, int, const char *, va_list) __attribute__((noreturn));
777 f36fd90a 2022-07-09 op extern void verrx(int, const char *, va_list) __attribute__((noreturn));
778 f36fd90a 2022-07-09 op extern void warn(const char *, ...);
779 f36fd90a 2022-07-09 op extern void warnx(const char *, ...);
780 f36fd90a 2022-07-09 op extern void warnc(int, const char *, ...);
781 f36fd90a 2022-07-09 op extern void vwarn(const char *, va_list);
782 f36fd90a 2022-07-09 op extern void vwarnc(int, const char *, va_list);
783 f36fd90a 2022-07-09 op extern void vwarnx(const char *, va_list);
784 f36fd90a 2022-07-09 op __HEREDOC__
785 f36fd90a 2022-07-09 op
786 f36fd90a 2022-07-09 op [ ${HAVE_EXPLICIT_BZERO} -eq 0 ] && \
787 f36fd90a 2022-07-09 op cat << __HEREDOC__
788 f36fd90a 2022-07-09 op /*
789 f36fd90a 2022-07-09 op * Compatibility for explicit_bzero(3).
790 f36fd90a 2022-07-09 op */
791 f36fd90a 2022-07-09 op extern void explicit_bzero(void *, size_t);
792 f36fd90a 2022-07-09 op
793 f36fd90a 2022-07-09 op __HEREDOC__
794 f36fd90a 2022-07-09 op
795 f36fd90a 2022-07-09 op [ ${HAVE_FREEZERO} -eq 0 ] && \
796 f36fd90a 2022-07-09 op cat << __HEREDOC__
797 f36fd90a 2022-07-09 op /*
798 f36fd90a 2022-07-09 op * Compatibility for freezero(3).
799 f36fd90a 2022-07-09 op */
800 f36fd90a 2022-07-09 op extern void freezero(void *, size_t);
801 f36fd90a 2022-07-09 op
802 f36fd90a 2022-07-09 op __HEREDOC__
803 f36fd90a 2022-07-09 op
804 f36fd90a 2022-07-09 op [ ${HAVE_MEMMEM} -eq 0 ] && \
805 f36fd90a 2022-07-09 op cat << __HEREDOC__
806 f36fd90a 2022-07-09 op /*
807 f36fd90a 2022-07-09 op * Compatibility for memmem(3).
808 f36fd90a 2022-07-09 op */
809 f36fd90a 2022-07-09 op void *memmem(const void *, size_t, const void *, size_t);
810 f36fd90a 2022-07-09 op
811 f36fd90a 2022-07-09 op __HEREDOC__
812 f36fd90a 2022-07-09 op
813 f36fd90a 2022-07-09 op [ ${HAVE_MEMRCHR} -eq 0 ] && \
814 f36fd90a 2022-07-09 op cat << __HEREDOC__
815 f36fd90a 2022-07-09 op /*
816 f36fd90a 2022-07-09 op * Compatibility for memrchr(3).
817 f36fd90a 2022-07-09 op */
818 f36fd90a 2022-07-09 op void *memrchr(const void *b, int, size_t);
819 f36fd90a 2022-07-09 op
820 f36fd90a 2022-07-09 op __HEREDOC__
821 f36fd90a 2022-07-09 op
822 f36fd90a 2022-07-09 op [ ${HAVE_GETPROGNAME} -eq 0 ] && \
823 f36fd90a 2022-07-09 op cat << __HEREDOC__
824 f36fd90a 2022-07-09 op /*
825 f36fd90a 2022-07-09 op * Compatibility for getprogname(3).
826 f36fd90a 2022-07-09 op */
827 f36fd90a 2022-07-09 op extern const char *getprogname(void);
828 f36fd90a 2022-07-09 op
829 f36fd90a 2022-07-09 op __HEREDOC__
830 f36fd90a 2022-07-09 op
831 f36fd90a 2022-07-09 op [ ${HAVE_REALLOCARRAY} -eq 0 ] && \
832 f36fd90a 2022-07-09 op cat << __HEREDOC__
833 f36fd90a 2022-07-09 op /*
834 f36fd90a 2022-07-09 op * Compatibility for reallocarray(3).
835 f36fd90a 2022-07-09 op */
836 f36fd90a 2022-07-09 op extern void *reallocarray(void *, size_t, size_t);
837 f36fd90a 2022-07-09 op
838 f36fd90a 2022-07-09 op __HEREDOC__
839 f36fd90a 2022-07-09 op
840 f36fd90a 2022-07-09 op [ ${HAVE_RECALLOCARRAY} -eq 0 ] && \
841 f36fd90a 2022-07-09 op cat << __HEREDOC__
842 f36fd90a 2022-07-09 op /*
843 f36fd90a 2022-07-09 op * Compatibility for recallocarray(3).
844 f36fd90a 2022-07-09 op */
845 f36fd90a 2022-07-09 op extern void *recallocarray(void *, size_t, size_t, size_t);
846 f36fd90a 2022-07-09 op
847 f36fd90a 2022-07-09 op __HEREDOC__
848 f36fd90a 2022-07-09 op
849 f36fd90a 2022-07-09 op [ ${HAVE_SETPROCTITLE} -eq 0 ] && \
850 f36fd90a 2022-07-09 op cat << __HEREDOC__
851 f36fd90a 2022-07-09 op /*
852 f36fd90a 2022-07-09 op * Compatibility for setproctitle(3).
853 f36fd90a 2022-07-09 op */
854 f36fd90a 2022-07-09 op extern void setproctitle(const char *, ...);
855 f36fd90a 2022-07-09 op
856 f36fd90a 2022-07-09 op __HEREDOC__
857 f36fd90a 2022-07-09 op
858 f36fd90a 2022-07-09 op [ ${HAVE_STRLCAT} -eq 0 ] && \
859 f36fd90a 2022-07-09 op cat << __HEREDOC__
860 f36fd90a 2022-07-09 op /*
861 f36fd90a 2022-07-09 op * Compatibility for strlcat(3).
862 f36fd90a 2022-07-09 op */
863 f36fd90a 2022-07-09 op extern size_t strlcat(char *, const char *, size_t);
864 f36fd90a 2022-07-09 op
865 f36fd90a 2022-07-09 op __HEREDOC__
866 f36fd90a 2022-07-09 op
867 f36fd90a 2022-07-09 op [ ${HAVE_STRLCPY} -eq 0 ] && \
868 f36fd90a 2022-07-09 op cat << __HEREDOC__
869 f36fd90a 2022-07-09 op /*
870 f36fd90a 2022-07-09 op * Compatibility for strlcpy(3).
871 f36fd90a 2022-07-09 op */
872 f36fd90a 2022-07-09 op extern size_t strlcpy(char *, const char *, size_t);
873 f36fd90a 2022-07-09 op
874 f36fd90a 2022-07-09 op __HEREDOC__
875 f36fd90a 2022-07-09 op
876 f36fd90a 2022-07-09 op [ ${HAVE_STRNDUP} -eq 0 ] && \
877 f36fd90a 2022-07-09 op cat << __HEREDOC__
878 f36fd90a 2022-07-09 op /*
879 f36fd90a 2022-07-09 op * Compatibility for strndup(3).
880 f36fd90a 2022-07-09 op */
881 f36fd90a 2022-07-09 op extern char *strndup(const char *, size_t);
882 f36fd90a 2022-07-09 op
883 f36fd90a 2022-07-09 op __HEREDOC__
884 f36fd90a 2022-07-09 op
885 f36fd90a 2022-07-09 op [ ${HAVE_STRNLEN} -eq 0 ] && \
886 f36fd90a 2022-07-09 op cat << __HEREDOC__
887 f36fd90a 2022-07-09 op /*
888 f36fd90a 2022-07-09 op * Compatibility for strnlen(3).
889 f36fd90a 2022-07-09 op */
890 f36fd90a 2022-07-09 op extern size_t strnlen(const char *, size_t);
891 f36fd90a 2022-07-09 op
892 f36fd90a 2022-07-09 op __HEREDOC__
893 f36fd90a 2022-07-09 op
894 f36fd90a 2022-07-09 op [ ${HAVE_STRTONUM} -eq 0 ] && \
895 f36fd90a 2022-07-09 op cat << __HEREDOC__
896 f36fd90a 2022-07-09 op /*
897 f36fd90a 2022-07-09 op * Compatibility for strotnum(3).
898 f36fd90a 2022-07-09 op */
899 f36fd90a 2022-07-09 op extern long long strtonum(const char *, long long, long long, const char **);
900 f36fd90a 2022-07-09 op
901 f36fd90a 2022-07-09 op __HEREDOC__
902 f36fd90a 2022-07-09 op
903 f36fd90a 2022-07-09 op if [ ${HAVE_SYS_QUEUE} -eq 0 ]; then
904 f36fd90a 2022-07-09 op cat << __HEREDOC__
905 f36fd90a 2022-07-09 op #include "queue.h"
906 f36fd90a 2022-07-09 op __HEREDOC__
907 f36fd90a 2022-07-09 op else
908 f36fd90a 2022-07-09 op echo "#include <sys/queue.h>"
909 f36fd90a 2022-07-09 op echo
910 f36fd90a 2022-07-09 op fi
911 f36fd90a 2022-07-09 op
912 f36fd90a 2022-07-09 op echo "#include <sys/uio.h>"
913 f36fd90a 2022-07-09 op echo "#include <stdint.h>"
914 82556d5b 2023-09-07 op if [ ${HAVE_LIB_IMSG} -eq 0 ]; then
915 f36fd90a 2022-07-09 op echo "#include \"imsg.h\""
916 f36fd90a 2022-07-09 op else
917 f36fd90a 2022-07-09 op echo "#include <imsg.h>"
918 f36fd90a 2022-07-09 op fi
919 f36fd90a 2022-07-09 op echo
920 f36fd90a 2022-07-09 op
921 f36fd90a 2022-07-09 op cat << __HEREDOC__
922 f36fd90a 2022-07-09 op #ifndef __dead
923 f36fd90a 2022-07-09 op # define __dead __attribute__((noreturn))
924 f36fd90a 2022-07-09 op #endif
925 f36fd90a 2022-07-09 op
926 f36fd90a 2022-07-09 op #if !HAVE_SIO_FLUSH
927 f36fd90a 2022-07-09 op #define sio_flush(hdl) (sio_stop(hdl))
928 f36fd90a 2022-07-09 op #endif
929 f36fd90a 2022-07-09 op
930 f36fd90a 2022-07-09 op #if !HAVE_GETDTABLECOUNT
931 f36fd90a 2022-07-09 op /* XXX: on linux it should be possible to inspect /proc/self/fd/ */
932 f36fd90a 2022-07-09 op #define getdtablecount() (0)
933 f36fd90a 2022-07-09 op #endif
934 f36fd90a 2022-07-09 op
935 f36fd90a 2022-07-09 op #if !HAVE_OPTRESET
936 f36fd90a 2022-07-09 op /* replace host' getopt with OpenBSD' one */
937 f36fd90a 2022-07-09 op #define opterr BSDopterr
938 f36fd90a 2022-07-09 op #define optind BSDoptind
939 f36fd90a 2022-07-09 op #define optopt BSDoptopt
940 f36fd90a 2022-07-09 op #define optreset BSDoptreset
941 f36fd90a 2022-07-09 op #define optarg BSDoptarg
942 f36fd90a 2022-07-09 op #define getopt BSDgetopt
943 f36fd90a 2022-07-09 op
944 f36fd90a 2022-07-09 op extern int BSDopterr, BSDoptind, BSDoptopt, BSDoptreset;
945 f36fd90a 2022-07-09 op extern char *BSDoptarg;
946 31e12e67 2023-09-07 op #endif
947 31e12e67 2023-09-07 op
948 31e12e67 2023-09-07 op #if !HAVE_TIMESPECSUB
949 31e12e67 2023-09-07 op struct timespec;
950 31e12e67 2023-09-07 op void timespecsub(struct timespec *, struct timespec *, struct timespec *);
951 f36fd90a 2022-07-09 op #endif
952 f36fd90a 2022-07-09 op
953 f36fd90a 2022-07-09 op #endif /*!OCONFIGURE_CONFIG_H*/
954 f36fd90a 2022-07-09 op __HEREDOC__
955 f36fd90a 2022-07-09 op
956 f36fd90a 2022-07-09 op echo "config.h: written" 1>&2
957 f36fd90a 2022-07-09 op echo "config.h: written" 1>&3
958 f36fd90a 2022-07-09 op
959 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
960 f36fd90a 2022-07-09 op # Now we go to generate our Makefile.configure.
961 f36fd90a 2022-07-09 op # This file is simply a bunch of Makefile variables.
962 f36fd90a 2022-07-09 op # They'll work in both GNUmakefile and BSDmakefile.
963 f36fd90a 2022-07-09 op # You MIGHT want to change this.
964 f36fd90a 2022-07-09 op #----------------------------------------------------------------------
965 f36fd90a 2022-07-09 op
966 f36fd90a 2022-07-09 op exec > Makefile.configure
967 f36fd90a 2022-07-09 op
968 f36fd90a 2022-07-09 op [ -z "${BINDIR}" ] && BINDIR="${PREFIX}/bin"
969 f36fd90a 2022-07-09 op [ -z "${SBINDIR}" ] && SBINDIR="${PREFIX}/sbin"
970 f36fd90a 2022-07-09 op [ -z "${INCLUDEDIR}" ] && INCLUDEDIR="${PREFIX}/include"
971 f36fd90a 2022-07-09 op [ -z "${LIBDIR}" ] && LIBDIR="${PREFIX}/lib"
972 f36fd90a 2022-07-09 op [ -z "${MANDIR}" ] && MANDIR="${PREFIX}/man"
973 f36fd90a 2022-07-09 op [ -z "${SHAREDIR}" ] && SHAREDIR="${PREFIX}/share"
974 f36fd90a 2022-07-09 op
975 f36fd90a 2022-07-09 op [ -z "${INSTALL_PROGRAM}" ] && INSTALL_PROGRAM="${INSTALL} -m 0555"
976 f36fd90a 2022-07-09 op [ -z "${INSTALL_LIB}" ] && INSTALL_LIB="${INSTALL} -m 0444"
977 f36fd90a 2022-07-09 op [ -z "${INSTALL_MAN}" ] && INSTALL_MAN="${INSTALL} -m 0444"
978 f36fd90a 2022-07-09 op [ -z "${INSTALL_DATA}" ] && INSTALL_DATA="${INSTALL} -m 0444"
979 f36fd90a 2022-07-09 op
980 f36fd90a 2022-07-09 op cat << __HEREDOC__
981 34674849 2023-03-23 op BACKEND = ${BACKEND}
982 f36fd90a 2022-07-09 op CC = ${CC}
983 f36fd90a 2022-07-09 op CFLAGS = ${CFLAGS}
984 f36fd90a 2022-07-09 op CPPFLAGS = ${CPPFLAGS}
985 3a60c277 2023-08-25 op LDADD = ${LDADD}
986 82556d5b 2023-09-07 op LDADD_LIB_IMSG = ${LDADD_LIB_IMSG}
987 3a60c277 2023-08-25 op LDADD_DECODERS = ${LDADD_LIB_FLAC} ${LDADD_LIB_MPG123} ${LDADD_LIB_OPUSFILE} \
988 3a60c277 2023-08-25 op ${LDADD_LIB_VORBISFILE}
989 56de3111 2023-09-07 op LDADD_LIB_MD = ${LDADD_LIB_MD}
990 3a60c277 2023-08-25 op LDADD_LIB_SOCKET = ${LDADD_LIB_SOCKET}
991 3a60c277 2023-08-25 op LDADD_BACKEND = ${LDADD_LIB_SNDIO} ${LDADD_LIB_ASOUND}
992 f36fd90a 2022-07-09 op LDADD_STATIC = ${LDADD_STATIC}
993 f36fd90a 2022-07-09 op LDFLAGS = ${LDFLAGS}
994 f36fd90a 2022-07-09 op STATIC = ${STATIC}
995 f36fd90a 2022-07-09 op PREFIX = ${PREFIX}
996 f36fd90a 2022-07-09 op BINDIR = ${BINDIR}
997 f36fd90a 2022-07-09 op SHAREDIR = ${SHAREDIR}
998 f36fd90a 2022-07-09 op SBINDIR = ${SBINDIR}
999 f36fd90a 2022-07-09 op INCLUDEDIR = ${INCLUDEDIR}
1000 f36fd90a 2022-07-09 op LIBDIR = ${LIBDIR}
1001 f36fd90a 2022-07-09 op MANDIR = ${MANDIR}
1002 f36fd90a 2022-07-09 op INSTALL = ${INSTALL}
1003 f36fd90a 2022-07-09 op INSTALL_PROGRAM = ${INSTALL_PROGRAM}
1004 f36fd90a 2022-07-09 op INSTALL_LIB = ${INSTALL_LIB}
1005 f36fd90a 2022-07-09 op INSTALL_MAN = ${INSTALL_MAN}
1006 f36fd90a 2022-07-09 op INSTALL_DATA = ${INSTALL_DATA}
1007 f36fd90a 2022-07-09 op __HEREDOC__
1008 f36fd90a 2022-07-09 op
1009 f36fd90a 2022-07-09 op echo "Makefile.configure: written" 1>&2
1010 f36fd90a 2022-07-09 op echo "Makefile.configure: written" 1>&3
1011 f36fd90a 2022-07-09 op
1012 f36fd90a 2022-07-09 op exit 0