main configure
 1#!/bin/sh
 2set -eu
 3
 4PLATFORM=$(uname -s)
 5BACKEND=${1:-}
 6CPPFLAGS=
 7LDFLAGS="-Llibmaus/build"
 8LDLIBS=
 9
10if [ "$#" -gt 1 ]; then
11	echo "Usage: ./configure [x11|wayland|mac]" >&2
12	exit 1
13fi
14
15case "$PLATFORM" in
16	Darwin)
17		: "${BACKEND:=mac}"
18		;;
19	Linux|FreeBSD|OpenBSD)
20		if [ -z "$BACKEND" ] && [ -n "${WAYLAND_DISPLAY:-}" ]; then
21			BACKEND=wayland
22		elif [ -z "$BACKEND" ] && [ -n "${DISPLAY:-}" ]; then
23			BACKEND=x11
24		elif [ -z "$BACKEND" ]; then
25			echo "No X11 or Wayland display found" >&2
26			exit 1
27		fi
28		;;
29	*)
30		echo "Unsupported platform: $PLATFORM" >&2
31		exit 1
32		;;
33esac
34
35case "$PLATFORM" in
36	Linux)
37		CPPFLAGS="-D_XOPEN_SOURCE=700"
38		;;
39	FreeBSD)
40		LDLIBS="-lutil"
41		;;
42	OpenBSD)
43		CPPFLAGS="-I/usr/X11R6/include"
44		LDFLAGS="-L/usr/X11R6/lib $LDFLAGS"
45		LDLIBS="-lutil"
46		;;esac
47
48(
49	cd libmaus
50	rm -rf build/
51	./configure "$BACKEND"
52	make
53)
54
55CONF_CPPFLAGS=$(sed -n 's/^CONF_CPPFLAGS = //p' libmaus/config.mk)
56CONF_LDFLAGS=$(sed -n 's/^CONF_LDFLAGS = //p' libmaus/config.mk)
57CONF_LIB_NAME=$(sed -n 's/^CONF_LIB_NAME = //p' libmaus/config.mk)
58CONF_LIB=${CONF_LIB_NAME#lib}
59CONF_LIB=${CONF_LIB%.a}
60
61cat >platform.mk <<EOF
62CPPFLAGS += $CPPFLAGS $CONF_CPPFLAGS
63LDFLAGS += $LDFLAGS
64LDLIBS += -l$CONF_LIB
65LDLIBS += ${CONF_LDFLAGS} $LDLIBS
66EOF
67
68echo "Configuration done"
69