Blob


1 #!/bin/sh
2 #
3 # Copyright (c) 2014, 2015, 2016 Ingo Schwarze <schwarze@openbsd.org>
4 # Copyright (c) 2017, 2018 Kristaps Dzonsons <kristaps@bsd.lv>
5 # Copyright (c) 2022, 2023 Omar Polo <op@openbsd.org>
6 #
7 # Permission to use, copy, modify, and distribute this software for any
8 # purpose with or without fee is hereby granted, provided that the above
9 # copyright notice and this permission notice appear in all copies.
10 #
11 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 set -e
21 RELEASE=no
23 usage()
24 {
25 echo "usage: $0 [--help] [--option=value] [OPTION=VALUE]" >&2
26 exit 1
27 }
29 PKG_CONFIG=
30 if command -v pkg-config 2>/dev/null >&2; then
31 PKG_CONFIG=pkg-config
32 fi
34 while [ $# -gt 0 ]; do
35 key="${1%%=*}"
36 val="${1#*=}"
38 if [ "$key" = --help ]; then
39 usage
40 fi
42 if [ "$key" = "$1" ]; then
43 # if no --x=y, look at the next arg
44 if !shift 2>/dev/null; then
45 echo "$0: missing value for $key" >&2
46 exit 1
47 fi
48 val="$1"
49 fi
51 case "$key" in
52 --mandir) key=MANDIR ;;
53 --perllib) key=PERL_LIB ;;
54 --prefix) key=PREFIX ;;
55 --sharedir) key=SHAREDIR ;;
56 --statedir) key=STATEDIR ;;
57 --sysconfdir) key=SYSCONFDIR ;;
58 esac
60 case "$key" in
61 CC) CC="$val" ;;
62 CFLAGS) CFLAGS="$val" ;;
63 LDFLAGS) LDFLAGS="$val" ;;
64 MANDIR) MANDIR="$val" ;;
65 PERL_LIB) PERL_LIB="$val" ;;
66 PKG_CONFIG) PKG_CONFIG="$val" ;;
67 PREFIX) PREFIX="$val" ;;
68 SHAREDIR) SHAREDIR="$val" ;;
69 STATEDIR) STATECONFDIR="$val" ;;
70 SYSCONFDIR) SYSCONFDIR="$val" ;;
71 esac
73 shift
74 done
76 CC=${CC:-cc}
77 CFLAGS=${CFLAGS:--O2 -pipe}
78 PREFIX=${PREFIX-/usr/local}
79 STATEDIR=${STATEDIR-/var}
80 SYSCONFDIR=${SYSCONFDIR-/etc}
82 pkgconfig=${PKG_CONFIG}
83 if [ "$pkgconfig" = no ]; then
84 pkgconfig=
85 fi
87 export CC CFLAGS LDFLAGS PERL_LIB PREFIX STATEDIR SYSCONFDIR pkgconfig
89 mv config.log config.log.old 2>/dev/null || true
91 exec 3> config.log
92 echo "config.log: writing..."
94 echo >&2
95 echo "running configure for \`msearchd':" >&2
96 (cd msearchd && ./configure)
97 echo >&2
98 echo "returning to the configure for \`gotmarc':" >&2
100 exec > config.mk
101 echo "config.mk: writing...">&2
103 cat <<EOF
104 INSTALL = install
105 INSTALL_PROGRAM = \${INSTALL} -m 0555
106 INSTALL_LIB = \${INSTALL} -m 0444
107 INSTALL_MAN = \${INSTALL} -m 0444
108 INSTALL_DATA = \${INSTALL} -m 0444
110 BINDIR = \${PREFIX}/bin
111 PREFIX = ${PREFIX}
112 LIBEXEC = \${PREFIX}/libexec
113 SBINDIR = \${PREFIX}/sbin
114 STATEDIR = ${STATEDIR}
115 SYSCONFDIR = ${SYSCONFDIR}
116 REAL_SYSCONFDIR = \${SYSCONFDIR}
117 EOF
119 if [ -n "$MANDIR" ]; then
120 echo "MANDIR = ${MANDIR}"
121 else
122 echo 'MANDIR = ${PREFIX}/man'
123 fi
125 if [ -n "$SHAREDIR" ]; then
126 echo "SHAREDIR = ${SHAREDIR}"
127 else
128 echo 'SHAREDIR = ${PREFIX}/share'
129 fi
131 if [ -n "$PERL_LIB" ]; then
132 echo "PERL_LIB = ${PERL_LIB}"
133 else
134 echo 'PERL_LIB = ${PREFIX}/libdata/perl5/site_perl'
135 fi
137 echo >&2
138 echo "Now run \`make' to compile." >&2
139 echo >&2