#!/bin/sh set -eu : ${PKG_CONFIG:=pkg-config} cflags() { echo "CFLAGS += $*" } 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 done case "$(uname)" in (FreeBSD|OpenBSD) echo 'STATIC = -static' PKG_CONFIG="${PKG_CONFIG} --static" config kcgi kcgi-html sqlite3 ;; (Linux) cflags -D_GNU_SOURCE config kcgi kcgi-html sqlite3 ;; (*) config kcgi kcgi-html sqlite3 ;; esac