Rewrite configure script for all platforms
parent
5873d8b5a7
commit
f37ad399fe
3
Makefile
3
Makefile
|
@ -1,9 +1,6 @@
|
|||
PREFIX ?= /usr/local
|
||||
MANDIR ?= ${PREFIX}/share/man
|
||||
|
||||
CFLAGS += -I${PREFIX}/include
|
||||
LDFLAGS += -L${PREFIX}/lib
|
||||
|
||||
CEXTS = gnu-case-range gnu-conditional-omitted-operand
|
||||
CFLAGS += -std=c11 -Wall -Wextra -Wpedantic ${CEXTS:%=-Wno-%}
|
||||
LDLIBS = -lncursesw -ltls
|
||||
|
|
16
README.7
16
README.7
|
@ -1,4 +1,4 @@
|
|||
.Dd July 8, 2020
|
||||
.Dd July 23, 2020
|
||||
.Dt README 7
|
||||
.Os "Causal Agency"
|
||||
.\" To view this file, run: man ./README.7
|
||||
|
@ -86,17 +86,11 @@ requires LibreSSL
|
|||
.Pq Fl ltls
|
||||
and ncurses
|
||||
.Pq Fl lncursesw .
|
||||
It primarily targets
|
||||
It targets
|
||||
.Fx ,
|
||||
.Ox
|
||||
and macOS,
|
||||
as well as Linux.
|
||||
The
|
||||
.Pa configure
|
||||
step is not necessary on
|
||||
.Fx
|
||||
or
|
||||
.Ox .
|
||||
.Ox ,
|
||||
macOS
|
||||
and Linux.
|
||||
On
|
||||
.Ox ,
|
||||
additionally set
|
||||
|
|
|
@ -1,26 +1,44 @@
|
|||
#!/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
|
||||
|
||||
if [ $# -gt 0 ]; then
|
||||
echo 'warning: this script does not process arguments' >&2
|
||||
fi
|
||||
|
||||
libs='libcrypto libtls ncursesw'
|
||||
|
||||
pkg-config --print-errors $libs
|
||||
exec_prefix=$(pkg-config --variable=exec_prefix openssl)
|
||||
|
||||
cat <<EOF
|
||||
CFLAGS += $(pkg-config --cflags $libs)
|
||||
CFLAGS += -D'OPENSSL_BIN="${exec_prefix}/bin/openssl"'
|
||||
LDFLAGS += $(pkg-config --libs-only-L $libs)
|
||||
LDLIBS = $(pkg-config --libs-only-l $libs)
|
||||
EOF
|
||||
|
||||
if [ "$(uname)" = 'Linux' ]; then
|
||||
cat <<-EOF
|
||||
CFLAGS += -D_GNU_SOURCE
|
||||
EOF
|
||||
fi
|
||||
case "$(uname)" in
|
||||
(FreeBSD)
|
||||
ldlibs -lncursesw
|
||||
config libtls
|
||||
defvar OPENSSL_BIN openssl exec_prefix /bin/openssl
|
||||
;;
|
||||
(OpenBSD)
|
||||
ldlibs -lncursesw -ltls
|
||||
defstr OPENSSL_BIN /usr/bin/openssl
|
||||
;;
|
||||
(Linux)
|
||||
cflags -Wno-pedantic -D_GNU_SOURCE
|
||||
config libcrypto libtls ncursesw
|
||||
defvar OPENSSL_BIN openssl exec_prefix /bin/openssl
|
||||
;;
|
||||
(*)
|
||||
config libcrypto libtls ncursesw
|
||||
defvar OPENSSL_BIN openssl exec_prefix /bin/openssl
|
||||
;;
|
||||
esac
|
||||
|
|
Loading…
Reference in New Issue