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