59 lines
1.1 KiB
Bash
Executable File
59 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
cflags() {
|
|
echo "CFLAGS += $*"
|
|
}
|
|
ldlibs() {
|
|
echo "LDLIBS ${o:-}= $*"
|
|
o=+
|
|
}
|
|
config() {
|
|
pkg-config --print-errors "$@"
|
|
cflags $(pkg-config --cflags "$@")
|
|
ldlibs $(pkg-config --libs "$@")
|
|
}
|
|
defstr() {
|
|
cflags "-D'$1=\"$2\"'"
|
|
}
|
|
defvar() {
|
|
defstr "$1" "$(pkg-config --variable=$3 $2)${4:-}"
|
|
}
|
|
|
|
exec >config.mk
|
|
|
|
for opt; do
|
|
case "${opt}" in
|
|
(--prefix=*) echo "PREFIX = ${opt#*=}" ;;
|
|
(--mandir=*) echo "MANDIR = ${opt#*=}" ;;
|
|
(*) echo "warning: unsupported option ${opt}" >&2 ;;
|
|
esac
|
|
done
|
|
|
|
case "$(uname)" in
|
|
(FreeBSD)
|
|
ldlibs -lncursesw
|
|
config libtls
|
|
defvar OPENSSL_BIN openssl exec_prefix /bin/openssl
|
|
;;
|
|
(OpenBSD)
|
|
ldlibs -lncursesw -ltls
|
|
defstr OPENSSL_BIN /usr/bin/openssl
|
|
;;
|
|
(Linux)
|
|
cflags -Wno-pedantic -D_GNU_SOURCE
|
|
config libcrypto libtls ncursesw
|
|
defvar OPENSSL_BIN openssl exec_prefix /bin/openssl
|
|
;;
|
|
(Darwin)
|
|
cflags -D__STDC_WANT_LIB_EXT1__=1
|
|
cflags "-D'explicit_bzero(b,l)=memset_s((b),(l),0,(l))'"
|
|
config libcrypto libtls ncursesw
|
|
defvar OPENSSL_BIN openssl exec_prefix /bin/openssl
|
|
;;
|
|
(*)
|
|
config libcrypto libtls ncursesw
|
|
defvar OPENSSL_BIN openssl exec_prefix /bin/openssl
|
|
;;
|
|
esac
|