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 --realsysconfdir) key=REALSYSCONFDIR ;;
56 --sharedir) key=SHAREDIR ;;
57 --statedir) key=STATEDIR ;;
58 --sysconfdir) key=SYSCONFDIR ;;
59 --wwwuser) key=WWWUSER ;;
60 esac
62 case "$key" in
63 CC) CC="$val" ;;
64 CFLAGS) CFLAGS="$val" ;;
65 LDFLAGS) LDFLAGS="$val" ;;
66 MANDIR) MANDIR="$val" ;;
67 PERL_LIB) PERL_LIB="$val" ;;
68 PKG_CONFIG) PKG_CONFIG="$val" ;;
69 PREFIX) PREFIX="$val" ;;
70 REALSYSCONFDIR) REALSYSCONFDIR="$val" ;;
71 SHAREDIR) SHAREDIR="$val" ;;
72 STATEDIR) STATECONFDIR="$val" ;;
73 SYSCONFDIR) SYSCONFDIR="$val" ;;
74 WWWUSER) WWWUSER="$val" ;;
75 esac
77 shift
78 done
80 CC=${CC:-cc}
81 CFLAGS=${CFLAGS:--O2 -pipe}
82 PREFIX=${PREFIX-/usr/local}
83 STATEDIR=${STATEDIR-/var}
84 SYSCONFDIR=${SYSCONFDIR-/etc}
85 WWWUSER=${WWWUSER:-www}
87 pkgconfig=${PKG_CONFIG}
88 if [ "$pkgconfig" = no ]; then
89 pkgconfig=
90 fi
92 export CC CFLAGS LDFLAGS PERL_LIB PREFIX STATEDIR SYSCONFDIR pkgconfig
94 mv config.log config.log.old 2>/dev/null || true
96 exec 3> config.log
97 echo "config.log: writing..."
99 echo >&2
100 echo "running configure for \`msearchd':" >&2
101 (cd msearchd && ./configure)
102 echo >&2
103 echo "returning to the configure for \`gotmarc':" >&2
105 exec > config.mk
106 echo "config.mk: writing...">&2
108 cat <<EOF
109 INSTALL = install
110 INSTALL_PROGRAM = \${INSTALL} -m 0555
111 INSTALL_LIB = \${INSTALL} -m 0444
112 INSTALL_MAN = \${INSTALL} -m 0444
113 INSTALL_DATA = \${INSTALL} -m 0444
115 BINDIR = \${PREFIX}/bin
116 PREFIX = ${PREFIX}
117 LIBEXEC = \${PREFIX}/libexec
118 SBINDIR = \${PREFIX}/sbin
119 STATEDIR = ${STATEDIR}
120 SYSCONFDIR = ${SYSCONFDIR}
121 WWWUSER = ${WWWUSER}
122 EOF
124 if [ -n "$REALSYSCONFDIR" ]; then
125 echo "REALSYSCONFDIR = ${REALSYSCONFDIR}"
126 else
127 echo 'REALSYSCONFDIR = ${SYSCONFDIR}'
128 fi
130 if [ -n "$MANDIR" ]; then
131 echo "MANDIR = ${MANDIR}"
132 else
133 echo 'MANDIR = ${PREFIX}/man'
134 fi
136 if [ -n "$SHAREDIR" ]; then
137 echo "SHAREDIR = ${SHAREDIR}"
138 else
139 echo 'SHAREDIR = ${PREFIX}/share'
140 fi
142 if [ -n "$PERL_LIB" ]; then
143 echo "PERL_LIB = ${PERL_LIB}"
144 else
145 echo 'PERL_LIB = ${PREFIX}/libdata/perl5/site_perl'
146 fi
148 echo >&2
149 echo "Now run \`make' to compile." >&2
150 echo >&2