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
 |