diff options
author | June McEnroe <june@causal.agency> | 2020-07-23 17:43:54 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-07-23 17:43:54 -0400 |
commit | 86133bdcaae3358bb4af740d8bfd22a045379ac4 (patch) | |
tree | e30583ad0b5bd4fa2f1fc164f25572905a4862a5 | |
parent | Add OpenBSD instructions (diff) | |
download | scooper-86133bdcaae3358bb4af740d8bfd22a045379ac4.tar.gz scooper-86133bdcaae3358bb4af740d8bfd22a045379ac4.zip |
Rewrite configure script
-rw-r--r-- | README.7 | 9 | ||||
-rwxr-xr-x | configure | 42 | ||||
-rw-r--r-- | scooper.pc | 7 |
3 files changed, 42 insertions, 16 deletions
diff --git a/README.7 b/README.7 index 6f1ecd0..a37d8be 100644 --- a/README.7 +++ b/README.7 @@ -1,4 +1,4 @@ -.Dd July 21, 2020 +.Dd July 23, 2020 .Dt README 7 .Os "Causal Agency" . @@ -26,21 +26,22 @@ and requires and SQLite. . .Bd -literal -offset indent -\&./configure --static +\&./configure make all make install .Ed . .Pp +By default, .Nm -should be statically linked +is statically linked so it can easily run in .Xr chroot 2 with .Xr kfcgi 8 . The default install .Ev PREFIX -is set to +is also set to .Pa ~/.local , which is a convenient .Xr chroot 2 diff --git a/configure b/configure index ab23150..c55e71a 100755 --- a/configure +++ b/configure @@ -1,9 +1,41 @@ #!/bin/sh set -eu -pkg-config "$@" --print-errors scooper.pc +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:-}" +} -cat >config.mk <<EOF -CFLAGS += $(pkg-config "$@" --cflags scooper.pc) -LDLIBS = $(pkg-config "$@" --libs scooper.pc) -EOF +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|OpenBSD) + echo 'LDFLAGS += -static' + config --static kcgi kcgi-html sqlite3 + ;; + (*) + config kcgi kcgi-html sqlite3 + ;; +esac diff --git a/scooper.pc b/scooper.pc deleted file mode 100644 index 1784b60..0000000 --- a/scooper.pc +++ /dev/null @@ -1,7 +0,0 @@ -Name: scooper -Version: -Description: -URL: - -Requires: kcgi kcgi-html sqlite3 -Libs.private: -static |