diff options
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/configure b/configure index 38bc6d5..6283675 100755 --- a/configure +++ b/configure @@ -4,27 +4,28 @@ 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:-}" } +ldadd() { + lib=$1; shift + echo "LDADD.${lib} = $*" +} +config() { + pkg-config --print-errors "$@" + cflags $(pkg-config --cflags "$@") + for lib; do ldadd $lib $(pkg-config --libs $lib); done +} exec >config.mk for opt; do case "${opt}" in (--prefix=*) echo "PREFIX = ${opt#*=}" ;; + (--bindir=*) echo "BINDIR = ${opt#*=}" ;; (--mandir=*) echo "MANDIR = ${opt#*=}" ;; (*) echo "warning: unsupported option ${opt}" >&2 ;; esac @@ -33,16 +34,17 @@ done case "$(uname)" in (OpenBSD) cflags -I/usr/local/include - ldlibs -L/usr/local/lib -liconv -ltls + ldadd libiconv -L/usr/local/lib -liconv ;; (Darwin) config libtls - ldlibs -liconv -lresolv + ldadd libiconv -liconv + ldadd resolv -lresolv ;; (Linux) cflags -D_GNU_SOURCE - ldlibs -lresolv config libtls + ldadd resolv -lresolv echo 'OBJS += compat.o' ;; (*) |