summary refs log tree commit diff
path: root/configure
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-05-04 12:09:46 -0400
committerJune McEnroe <june@causal.agency>2021-05-04 12:13:50 -0400
commitff87d561bd545c715dbe6beb813724a28535e7f4 (patch)
treee67589c55806edb9e8e42af4895b3358a6e54e47 /configure
parentReset formatting after realnames (diff)
downloadcatgirl-ff87d561bd545c715dbe6beb813724a28535e7f4.tar.gz
catgirl-ff87d561bd545c715dbe6beb813724a28535e7f4.zip
Add support for BINDIR, fix default MANDIR, use LDADD vars
I avoided defaulting MANDIR to /usr/local/man because I thought it
didn't work on GNU/Linux and users would be confused, but it turns
out man-db's default configuration includes both /usr/local/man and
/usr/man, so ${PREFIX}/man is a sensical default.
Diffstat (limited to '')
-rwxr-xr-xconfigure21
1 files changed, 10 insertions, 11 deletions
diff --git a/configure b/configure
index 02bf093..4199980 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
@@ -32,12 +33,10 @@ done
 
 case "$(uname)" in
 	(FreeBSD)
-		ldlibs -lncursesw
 		config libtls
 		defstr OPENSSL_BIN /usr/bin/openssl
 		;;
 	(OpenBSD)
-		ldlibs -lncursesw -ltls
 		defstr OPENSSL_BIN /usr/bin/openssl
 		;;
 	(Linux)