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