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.
		
	
			
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
set -eu
 | 
						|
 | 
						|
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)
 | 
						|
		config libtls
 | 
						|
		defstr OPENSSL_BIN /usr/bin/openssl
 | 
						|
		;;
 | 
						|
	(OpenBSD)
 | 
						|
		defstr OPENSSL_BIN /usr/bin/openssl
 | 
						|
		;;
 | 
						|
	(Linux)
 | 
						|
		cflags -Wno-pedantic -D_GNU_SOURCE
 | 
						|
		config libtls ncursesw
 | 
						|
		defvar OPENSSL_BIN openssl exec_prefix /bin/openssl
 | 
						|
		;;
 | 
						|
	(Darwin)
 | 
						|
		cflags -D__STDC_WANT_LIB_EXT1__=1
 | 
						|
		cflags "-D'explicit_bzero(b,l)=memset_s((b),(l),0,(l))'"
 | 
						|
		config libtls ncursesw
 | 
						|
		defvar OPENSSL_BIN openssl exec_prefix /bin/openssl
 | 
						|
		;;
 | 
						|
	(*)
 | 
						|
		config libtls ncursesw
 | 
						|
		defvar OPENSSL_BIN openssl exec_prefix /bin/openssl
 | 
						|
		;;
 | 
						|
esac
 |