diff options
Diffstat (limited to '')
-rwxr-xr-x | configure | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/configure b/configure new file mode 100755 index 0000000..ccea81d --- /dev/null +++ b/configure @@ -0,0 +1,50 @@ +#!/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) + config libtls + defstr DRILL_PATH /usr/bin/drill + ;; + (OpenBSD) + ldlibs -ltls + defstr DIG_PATH /usr/bin/dig + ;; + (Linux) + cflags -D_GNU_SOURCE -DDECLARE_RPP + config libtls + echo 'OBJS += compat.o' + ;; + (*) + config libtls + ;; +esac |