59 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/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)
 | 
						|
		ldlibs -lncursesw
 | 
						|
		config libtls
 | 
						|
		defstr OPENSSL_BIN /usr/bin/openssl
 | 
						|
		;;
 | 
						|
	(OpenBSD)
 | 
						|
		ldlibs -lncursesw -ltls
 | 
						|
		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
 |