configure
author Kim Alvefur <zash@zash.se>
Mon, 12 Dec 2022 07:03:31 +0100
branch0.11
changeset 12802 c4b1b5cbc20b
parent 10002 c8646f65767a
child 10003 d2febb4befbc
permissions -rwxr-xr-x
Tag 0.11.14
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     2
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     3
# Defaults
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     4
7990
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
     5
APP_NAME="Prosody"
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
     6
APP_DIRNAME="prosody"
7612
01df17dc06a4 configure: Quote strings
Kim Alvefur <zash@zash.se>
parents: 7611
diff changeset
     7
PREFIX="/usr/local"
7990
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
     8
SYSCONFDIR="$PREFIX/etc/$APP_DIRNAME"
6577
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 5933
diff changeset
     9
LIBDIR="$PREFIX/lib"
7990
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
    10
DATADIR="$PREFIX/var/lib/$APP_DIRNAME"
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    11
LUA_SUFFIX=""
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    12
LUA_DIR="/usr"
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    13
LUA_BINDIR="/usr/bin"
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    14
LUA_INCDIR="/usr/include"
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    15
LUA_LIBDIR="/usr/lib"
7612
01df17dc06a4 configure: Quote strings
Kim Alvefur <zash@zash.se>
parents: 7611
diff changeset
    16
IDN_LIB="idn"
3762
f02bac902a1e util.encodings: Support for ICU for IDNA operations.
Tobias Markmann <tm@ayena.de>
parents: 3352
diff changeset
    17
ICU_FLAGS="-licui18n -licudata -licuuc"
7612
01df17dc06a4 configure: Quote strings
Kim Alvefur <zash@zash.se>
parents: 7611
diff changeset
    18
OPENSSL_LIB="crypto"
01df17dc06a4 configure: Quote strings
Kim Alvefur <zash@zash.se>
parents: 7611
diff changeset
    19
CC="gcc"
01df17dc06a4 configure: Quote strings
Kim Alvefur <zash@zash.se>
parents: 7611
diff changeset
    20
LD="gcc"
01df17dc06a4 configure: Quote strings
Kim Alvefur <zash@zash.se>
parents: 7611
diff changeset
    21
RUNWITH="lua"
01df17dc06a4 configure: Quote strings
Kim Alvefur <zash@zash.se>
parents: 7611
diff changeset
    22
EXCERTS="yes"
7190
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 6889
diff changeset
    23
PRNG=
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 6889
diff changeset
    24
PRNGLIBS=
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    25
7938
96fa5ef5d613 configure: Set C standard to C99
Kim Alvefur <zash@zash.se>
parents: 7934
diff changeset
    26
CFLAGS="-fPIC -Wall -pedantic -std=c99"
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
    27
LDFLAGS="-shared"
511
f9ab28562fda Potential fixes for building on Mac OSX
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
    28
7612
01df17dc06a4 configure: Quote strings
Kim Alvefur <zash@zash.se>
parents: 7611
diff changeset
    29
IDN_LIBRARY="idn"
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    30
# Help
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    31
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    32
show_help() {
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    33
cat <<EOF
7990
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
    34
Configure $APP_NAME prior to building.
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    35
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    36
--help                      This help.
7635
2b14e2121700 configure: Add ostype preset for NetBSD
Holger Weiss <holger@zedat.fu-berlin.de>
parents: 7621
diff changeset
    37
--ostype=OS                 Use one of the OS presets. May be one of:
2b14e2121700 configure: Add ostype preset for NetBSD
Holger Weiss <holger@zedat.fu-berlin.de>
parents: 7621
diff changeset
    38
                            debian, macosx, linux, freebsd, openbsd, netbsd
7990
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
    39
--prefix=DIR                Prefix where $APP_NAME should be installed.
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    40
                            Default is $PREFIX
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    41
--sysconfdir=DIR            Location where the config file should be installed.
7990
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
    42
                            Default is \$PREFIX/etc/$APP_DIRNAME
6577
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 5933
diff changeset
    43
--libdir=DIR                Location where the server files should be stored.
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 5933
diff changeset
    44
                            Default is \$PREFIX/lib
502
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
    45
--datadir=DIR               Location where the server data should be stored.
7990
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
    46
                            Default is \$PREFIX/var/lib/$APP_DIRNAME
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    47
--lua-version=VERSION       Use specific Lua version: 5.1, 5.2, or 5.3
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    48
                            Default is auto-detected.
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    49
--lua-suffix=SUFFIX         Versioning suffix to use in Lua filenames.
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    50
                            Default is "$LUA_SUFFIX" (lua$LUA_SUFFIX...)
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    51
--with-lua=PREFIX           Use Lua from given prefix.
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    52
                            Default is auto-detected (the parent directory of \$LUA_BINDIR).
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    53
--with-lua-bin=DIR          You can also specify Lua's bin dir.
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    54
                            Default is the directory of the auto-detected Lua interpreter,
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    55
                            or \$LUA_DIR/bin if --with-lua is used.
5421
a3f0fe9431cf configure: Add RUNWITH to --help
Kim Alvefur <zash@zash.se>
parents: 5401
diff changeset
    56
--runwith=BINARY            What Lua binary to set as runtime environment.
a3f0fe9431cf configure: Add RUNWITH to --help
Kim Alvefur <zash@zash.se>
parents: 5401
diff changeset
    57
                            Default is $RUNWITH
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    58
--with-lua-include=DIR      You can also specify Lua's includes dir.
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    59
                            Default is \$LUA_DIR/include
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    60
--with-lua-lib=DIR          You can also specify Lua's libraries dir.
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    61
                            Default is \$LUA_DIR/lib
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    62
--with-idn=LIB              The name of the IDN library to link with.
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    63
                            Default is $IDN_LIB
5422
396072d62695 configure: Replaces tabs with spaces in --help
Kim Alvefur <zash@zash.se>
parents: 5421
diff changeset
    64
--idn-library=(idn|icu)     Select library to use for IDNA functionality.
396072d62695 configure: Replaces tabs with spaces in --help
Kim Alvefur <zash@zash.se>
parents: 5421
diff changeset
    65
                            idn: use GNU libidn (default)
396072d62695 configure: Replaces tabs with spaces in --help
Kim Alvefur <zash@zash.se>
parents: 5421
diff changeset
    66
                            icu: use ICU from IBM
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    67
--with-ssl=LIB              The name of the SSL to link with.
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    68
                            Default is $OPENSSL_LIB
7190
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 6889
diff changeset
    69
--with-random=METHOD        CSPRNG backend to use. One of
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 6889
diff changeset
    70
                            getrandom: Linux kernel
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 6889
diff changeset
    71
                            arc4random: OpenBSD kernel
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 6889
diff changeset
    72
                            openssl: OpenSSL RAND method
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 6889
diff changeset
    73
                            Default is to use /dev/urandom
511
f9ab28562fda Potential fixes for building on Mac OSX
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
    74
--cflags=FLAGS              Flags to pass to the compiler
f9ab28562fda Potential fixes for building on Mac OSX
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
    75
                            Default is $CFLAGS
8285
9495e2cbe666 configure: Add new but undocumented flags to --help
Kim Alvefur <zash@zash.se>
parents: 8284
diff changeset
    76
--add-cflags=FLAGS          Adds additional CFLAGS, preserving defaults.
9495e2cbe666 configure: Add new but undocumented flags to --help
Kim Alvefur <zash@zash.se>
parents: 8284
diff changeset
    77
                            Can be repeated.
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
    78
--ldflags=FLAGS             Flags to pass to the linker
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
    79
                            Default is $LDFLAGS
8285
9495e2cbe666 configure: Add new but undocumented flags to --help
Kim Alvefur <zash@zash.se>
parents: 8284
diff changeset
    80
--add-ldflags=FLAGS         Adds additional linker flags, preserving defaults.
9495e2cbe666 configure: Add new but undocumented flags to --help
Kim Alvefur <zash@zash.se>
parents: 8284
diff changeset
    81
                            Can be repeated.
798
2a92b58144a9 Use $CC, $LD in Makefile. Add --c-compiler, --linker flags to ./configure script. Add --lflags to ./configure script. Thanks to Lorenzo for the initial patch!
Matthew Wild <mwild1@gmail.com>
parents: 536
diff changeset
    82
--c-compiler=CC             The C compiler to use when building modules.
2a92b58144a9 Use $CC, $LD in Makefile. Add --c-compiler, --linker flags to ./configure script. Add --lflags to ./configure script. Thanks to Lorenzo for the initial patch!
Matthew Wild <mwild1@gmail.com>
parents: 536
diff changeset
    83
                            Default is $CC
8285
9495e2cbe666 configure: Add new but undocumented flags to --help
Kim Alvefur <zash@zash.se>
parents: 8284
diff changeset
    84
--compiler-wrapper=WRAPPER  Adds a prefix to compiler and linker calls,
9495e2cbe666 configure: Add new but undocumented flags to --help
Kim Alvefur <zash@zash.se>
parents: 8284
diff changeset
    85
                            usable for eg distcc or ccache.
798
2a92b58144a9 Use $CC, $LD in Makefile. Add --c-compiler, --linker flags to ./configure script. Add --lflags to ./configure script. Thanks to Lorenzo for the initial patch!
Matthew Wild <mwild1@gmail.com>
parents: 536
diff changeset
    86
--linker=CC                 The linker to use when building modules.
2a92b58144a9 Use $CC, $LD in Makefile. Add --c-compiler, --linker flags to ./configure script. Add --lflags to ./configure script. Thanks to Lorenzo for the initial patch!
Matthew Wild <mwild1@gmail.com>
parents: 536
diff changeset
    87
                            Default is $LD
5933
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5422
diff changeset
    88
--no-example-certs          Disables generation of example certificates.
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    89
EOF
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    90
}
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    91
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    92
# Helper functions
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    93
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    94
find_program() {
9421
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
    95
   prog=$(command -v "$1" 2>/dev/null)
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    96
   if [ -n "$prog" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    97
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    98
      dirname "$prog"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    99
   fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   100
}
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   101
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   102
die() {
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   103
   echo "$*"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   104
   echo
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   105
   echo "configure failed."
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   106
   echo
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   107
   exit 1
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   108
}
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   109
9425
b7aad88c537b configure: Add shellcheck directives to suppress warnings on harmless lines
Matthew Wild <mwild1@gmail.com>
parents: 9424
diff changeset
   110
# shellcheck disable=SC2039
b7aad88c537b configure: Add shellcheck directives to suppress warnings on harmless lines
Matthew Wild <mwild1@gmail.com>
parents: 9424
diff changeset
   111
case $(echo -n x) in
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   112
-n*) echo_n_flag='';;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   113
*)   echo_n_flag='-n';;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   114
esac
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   115
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   116
echo_n() {
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   117
   echo $echo_n_flag "$*"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   118
}
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   119
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   120
# ----------------------------------------------------------------------------
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   121
# MAIN PROGRAM
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   122
# ----------------------------------------------------------------------------
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   123
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   124
# Parse options
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   125
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   126
while [ -n "$1" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   127
do
9421
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
   128
   value=$(echo "$1" | sed 's/[^=]*.\(.*\)/\1/')
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
   129
   key=$(echo "$1" | sed 's/=.*//')
9430
460f08008521 configure: Suppress warning about '~' [SC2088]
Matthew Wild <mwild1@gmail.com>
parents: 9429
diff changeset
   130
   # shellcheck disable=SC2088
9421
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
   131
   if echo "$value" | grep "~" >/dev/null 2>/dev/null
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   132
   then
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   133
      echo
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   134
      echo '*WARNING*: the "~" sign is not expanded in flags.'
9425
b7aad88c537b configure: Add shellcheck directives to suppress warnings on harmless lines
Matthew Wild <mwild1@gmail.com>
parents: 9424
diff changeset
   135
      # shellcheck disable=SC2016
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   136
      echo 'If you mean the home directory, use $HOME instead.'
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   137
      echo
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   138
   fi
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   139
   case "$key" in
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   140
   --help)
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   141
      show_help
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   142
      exit 0
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   143
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   144
   --prefix)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   145
      [ -n "$value" ] || die "Missing value in flag $key."
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   146
      PREFIX="$value"
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   147
      PREFIX_SET=yes
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   148
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   149
   --sysconfdir)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   150
      [ -n "$value" ] || die "Missing value in flag $key."
1063
b873715ffd96 configure: Honour --sysconfdir parameter; thanks to Michael Scherer
Matthew Wild <mwild1@gmail.com>
parents: 998
diff changeset
   151
      SYSCONFDIR="$value"
b873715ffd96 configure: Honour --sysconfdir parameter; thanks to Michael Scherer
Matthew Wild <mwild1@gmail.com>
parents: 998
diff changeset
   152
      SYSCONFDIR_SET=yes
b873715ffd96 configure: Honour --sysconfdir parameter; thanks to Michael Scherer
Matthew Wild <mwild1@gmail.com>
parents: 998
diff changeset
   153
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   154
   --ostype)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   155
	# TODO make this a switch?
9422
78c58a1089ea configure: Rename OSTYPE variable due to conflict with magic variable with same name on some shells/platforms
Matthew Wild <mwild1@gmail.com>
parents: 9421
diff changeset
   156
      OSPRESET="$value"
78c58a1089ea configure: Rename OSTYPE variable due to conflict with magic variable with same name on some shells/platforms
Matthew Wild <mwild1@gmail.com>
parents: 9421
diff changeset
   157
      if [ "$OSPRESET" = "debian" ]; then
7611
2306d261ca0a configure: Respect Lua suffix in Debian preset if already set
Kim Alvefur <zash@zash.se>
parents: 7610
diff changeset
   158
         if [ "$LUA_SUFFIX_SET" != "yes" ]; then
2306d261ca0a configure: Respect Lua suffix in Debian preset if already set
Kim Alvefur <zash@zash.se>
parents: 7610
diff changeset
   159
            LUA_SUFFIX="5.1";
2306d261ca0a configure: Respect Lua suffix in Debian preset if already set
Kim Alvefur <zash@zash.se>
parents: 7610
diff changeset
   160
            LUA_SUFFIX_SET=yes
2306d261ca0a configure: Respect Lua suffix in Debian preset if already set
Kim Alvefur <zash@zash.se>
parents: 7610
diff changeset
   161
         fi
8284
6bfaa43bea3c configure: Set runtime in debian preset to allow building without interperter installed
Kim Alvefur <zash@zash.se>
parents: 8133
diff changeset
   162
         if [ "$RUNWITH_SET" != "yes" ]; then
6bfaa43bea3c configure: Set runtime in debian preset to allow building without interperter installed
Kim Alvefur <zash@zash.se>
parents: 8133
diff changeset
   163
            RUNWITH="lua$LUA_SUFFIX";
6bfaa43bea3c configure: Set runtime in debian preset to allow building without interperter installed
Kim Alvefur <zash@zash.se>
parents: 8133
diff changeset
   164
            RUNWITH_SET=yes
6bfaa43bea3c configure: Set runtime in debian preset to allow building without interperter installed
Kim Alvefur <zash@zash.se>
parents: 8133
diff changeset
   165
         fi
7611
2306d261ca0a configure: Respect Lua suffix in Debian preset if already set
Kim Alvefur <zash@zash.se>
parents: 7610
diff changeset
   166
         LUA_INCDIR="/usr/include/lua$LUA_SUFFIX"
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   167
         LUA_INCDIR_SET=yes
7934
b619b85e01aa util.pposix, configure: Move _GNU_SOURCE macro into source files
Kim Alvefur <zash@zash.se>
parents: 7752
diff changeset
   168
         CFLAGS="$CFLAGS -ggdb"
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   169
      fi
9422
78c58a1089ea configure: Rename OSTYPE variable due to conflict with magic variable with same name on some shells/platforms
Matthew Wild <mwild1@gmail.com>
parents: 9421
diff changeset
   170
      if [ "$OSPRESET" = "macosx" ]; then
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   171
         LUA_INCDIR=/usr/local/include;
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   172
         LUA_INCDIR_SET=yes
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   173
         LUA_LIBDIR=/usr/local/lib
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   174
         LUA_LIBDIR_SET=yes
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   175
         CFLAGS="$CFLAGS -mmacosx-version-min=10.3"
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   176
         LDFLAGS="-bundle -undefined dynamic_lookup"
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   177
      fi
9422
78c58a1089ea configure: Rename OSTYPE variable due to conflict with magic variable with same name on some shells/platforms
Matthew Wild <mwild1@gmail.com>
parents: 9421
diff changeset
   178
      if [ "$OSPRESET" = "linux" ]; then
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   179
         LUA_INCDIR=/usr/local/include;
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   180
         LUA_INCDIR_SET=yes
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   181
         LUA_LIBDIR=/usr/local/lib
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   182
         LUA_LIBDIR_SET=yes
7934
b619b85e01aa util.pposix, configure: Move _GNU_SOURCE macro into source files
Kim Alvefur <zash@zash.se>
parents: 7752
diff changeset
   183
         CFLAGS="$CFLAGS -ggdb"
5641
92ffddd02c96 configure: Fix poor layout
James Callahan <james@chatid.com>
parents: 5422
diff changeset
   184
      fi
9429
e290a60f1f09 configure: Replace use of '-o' with '||' [SC2166]
Matthew Wild <mwild1@gmail.com>
parents: 9428
diff changeset
   185
      if [ "$OSPRESET" = "freebsd" ] || [ "$OSPRESET" = "openbsd" ]; then
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   186
         LUA_INCDIR="/usr/local/include/lua51"
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   187
         LUA_INCDIR_SET=yes
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   188
         CFLAGS="-Wall -fPIC -I/usr/local/include"
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   189
         LDFLAGS="-I/usr/local/include -L/usr/local/lib -shared"
7967
1023f2add7fe configure: Fix Lua suffix in FreeBSD preset
Kim Alvefur <zash@zash.se>
parents: 7948
diff changeset
   190
         LUA_SUFFIX="51"
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   191
         LUA_SUFFIX_SET=yes
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   192
         LUA_DIR=/usr/local
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   193
         LUA_DIR_SET=yes
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   194
         CC=cc
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   195
         LD=ld
5641
92ffddd02c96 configure: Fix poor layout
James Callahan <james@chatid.com>
parents: 5422
diff changeset
   196
      fi
9422
78c58a1089ea configure: Rename OSTYPE variable due to conflict with magic variable with same name on some shells/platforms
Matthew Wild <mwild1@gmail.com>
parents: 9421
diff changeset
   197
      if [ "$OSPRESET" = "openbsd" ]; then
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   198
         LUA_INCDIR="/usr/local/include";
7613
8c60d7b4a0c1 configure: Indicate that LUA_INCDIR is set in openbsd preset
Kim Alvefur <zash@zash.se>
parents: 7612
diff changeset
   199
         LUA_INCDIR_SET="yes"
5641
92ffddd02c96 configure: Fix poor layout
James Callahan <james@chatid.com>
parents: 5422
diff changeset
   200
      fi
9422
78c58a1089ea configure: Rename OSTYPE variable due to conflict with magic variable with same name on some shells/platforms
Matthew Wild <mwild1@gmail.com>
parents: 9421
diff changeset
   201
      if [ "$OSPRESET" = "netbsd" ]; then
7635
2b14e2121700 configure: Add ostype preset for NetBSD
Holger Weiss <holger@zedat.fu-berlin.de>
parents: 7621
diff changeset
   202
         LUA_INCDIR="/usr/pkg/include/lua-5.1"
2b14e2121700 configure: Add ostype preset for NetBSD
Holger Weiss <holger@zedat.fu-berlin.de>
parents: 7621
diff changeset
   203
         LUA_INCDIR_SET=yes
2b14e2121700 configure: Add ostype preset for NetBSD
Holger Weiss <holger@zedat.fu-berlin.de>
parents: 7621
diff changeset
   204
         LUA_LIBDIR="/usr/pkg/lib/lua/5.1"
2b14e2121700 configure: Add ostype preset for NetBSD
Holger Weiss <holger@zedat.fu-berlin.de>
parents: 7621
diff changeset
   205
         LUA_LIBDIR_SET=yes
2b14e2121700 configure: Add ostype preset for NetBSD
Holger Weiss <holger@zedat.fu-berlin.de>
parents: 7621
diff changeset
   206
         CFLAGS="-Wall -fPIC -I/usr/pkg/include"
2b14e2121700 configure: Add ostype preset for NetBSD
Holger Weiss <holger@zedat.fu-berlin.de>
parents: 7621
diff changeset
   207
         LDFLAGS="-L/usr/pkg/lib -Wl,-rpath,/usr/pkg/lib -shared"
2b14e2121700 configure: Add ostype preset for NetBSD
Holger Weiss <holger@zedat.fu-berlin.de>
parents: 7621
diff changeset
   208
      fi
9422
78c58a1089ea configure: Rename OSTYPE variable due to conflict with magic variable with same name on some shells/platforms
Matthew Wild <mwild1@gmail.com>
parents: 9421
diff changeset
   209
      if [ "$OSPRESET" = "pkg-config" ]; then
7620
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   210
         if [ "$LUA_SUFFIX_SET" != "yes" ]; then
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   211
            LUA_SUFFIX="5.1";
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   212
            LUA_SUFFIX_SET=yes
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   213
         fi
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   214
         LUA_CF="$(pkg-config --cflags-only-I lua$LUA_SUFFIX)"
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   215
         LUA_CF="${LUA_CF#*-I}"
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   216
         LUA_CF="${LUA_CF%% *}"
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   217
         if [ "$LUA_CF" != "" ]; then
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   218
            LUA_INCDIR="$LUA_CF"
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   219
            LUA_INCDIR_SET=yes
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   220
         fi
7934
b619b85e01aa util.pposix, configure: Move _GNU_SOURCE macro into source files
Kim Alvefur <zash@zash.se>
parents: 7752
diff changeset
   221
         CFLAGS="$CFLAGS"
7620
c6d18ee93e34 configure: Add initial attempt at pkg-config preset
Kim Alvefur <zash@zash.se>
parents: 7619
diff changeset
   222
      fi
511
f9ab28562fda Potential fixes for building on Mac OSX
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
   223
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   224
   --libdir)
6577
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 5933
diff changeset
   225
      LIBDIR="$value"
6582
5a82ee60e07e configure: Fix for commit cd0088c73daf - update LIBDIR if --prefix is set and --libdir isn't (thanks Medics)
Matthew Wild <mwild1@gmail.com>
parents: 6577
diff changeset
   226
      LIBDIR_SET=yes
6577
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 5933
diff changeset
   227
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   228
   --datadir)
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   229
      DATADIR="$value"
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   230
      DATADIR_SET=yes
502
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   231
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   232
   --lua-suffix)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   233
      [ -n "$value" ] || die "Missing value in flag $key."
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   234
      LUA_SUFFIX="$value"
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   235
      LUA_SUFFIX_SET=yes
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   236
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   237
   --lua-version|--with-lua-version)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   238
      [ -n "$value" ] || die "Missing value in flag $key."
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   239
      LUA_VERSION="$value"
9429
e290a60f1f09 configure: Replace use of '-o' with '||' [SC2166]
Matthew Wild <mwild1@gmail.com>
parents: 9428
diff changeset
   240
      [ "$LUA_VERSION" = "5.1" ] || [ "$LUA_VERSION" = "5.2" ] || [ "$LUA_VERSION" = "5.3" ] || die "Invalid Lua version in flag $key."
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   241
      LUA_VERSION_SET=yes
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   242
      ;;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   243
   --with-lua)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   244
      [ -n "$value" ] || die "Missing value in flag $key."
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   245
      LUA_DIR="$value"
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   246
      LUA_DIR_SET=yes
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   247
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   248
   --with-lua-bin)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   249
      [ -n "$value" ] || die "Missing value in flag $key."
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   250
      LUA_BINDIR="$value"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   251
      LUA_BINDIR_SET=yes
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   252
      ;;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   253
   --with-lua-include)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   254
      [ -n "$value" ] || die "Missing value in flag $key."
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   255
      LUA_INCDIR="$value"
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   256
      LUA_INCDIR_SET=yes
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   257
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   258
   --with-lua-lib)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   259
      [ -n "$value" ] || die "Missing value in flag $key."
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   260
      LUA_LIBDIR="$value"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   261
      LUA_LIBDIR_SET=yes
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
   262
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   263
   --with-idn)
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   264
      IDN_LIB="$value"
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
   265
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   266
   --idn-library)
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   267
      IDN_LIBRARY="$value"
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   268
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   269
   --with-ssl)
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   270
      OPENSSL_LIB="$value"
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
   271
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   272
   --with-random)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   273
      case "$value" in
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   274
         getrandom)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   275
            PRNG=GETRANDOM
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   276
            ;;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   277
         openssl)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   278
            PRNG=OPENSSL
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   279
            ;;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   280
         arc4random)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   281
            PRNG=ARC4RANDOM
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   282
            ;;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   283
      esac
7190
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 6889
diff changeset
   284
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   285
   --cflags)
511
f9ab28562fda Potential fixes for building on Mac OSX
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
   286
      CFLAGS="$value"
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
   287
      ;;
8132
69f8b22b0472 configure: --add-cflags to amend $CFLAGS without replacing existing value(s) #858
Kim Alvefur <zash@zash.se>
parents: 8090
diff changeset
   288
   --add-cflags)
69f8b22b0472 configure: --add-cflags to amend $CFLAGS without replacing existing value(s) #858
Kim Alvefur <zash@zash.se>
parents: 8090
diff changeset
   289
      CFLAGS="$CFLAGS $value"
69f8b22b0472 configure: --add-cflags to amend $CFLAGS without replacing existing value(s) #858
Kim Alvefur <zash@zash.se>
parents: 8090
diff changeset
   290
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   291
   --ldflags)
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
   292
      LDFLAGS="$value"
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
   293
      ;;
8133
12440a0043ab configure: --add-ldflags to amend $LDFLAGS without overriding previous value #858
Kim Alvefur <zash@zash.se>
parents: 8132
diff changeset
   294
   --add-ldflags)
12440a0043ab configure: --add-ldflags to amend $LDFLAGS without overriding previous value #858
Kim Alvefur <zash@zash.se>
parents: 8132
diff changeset
   295
      LDFLAGS="$LDFLAGS $value"
12440a0043ab configure: --add-ldflags to amend $LDFLAGS without overriding previous value #858
Kim Alvefur <zash@zash.se>
parents: 8132
diff changeset
   296
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   297
   --c-compiler)
798
2a92b58144a9 Use $CC, $LD in Makefile. Add --c-compiler, --linker flags to ./configure script. Add --lflags to ./configure script. Thanks to Lorenzo for the initial patch!
Matthew Wild <mwild1@gmail.com>
parents: 536
diff changeset
   298
      CC="$value"
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
   299
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   300
   --linker)
798
2a92b58144a9 Use $CC, $LD in Makefile. Add --c-compiler, --linker flags to ./configure script. Add --lflags to ./configure script. Thanks to Lorenzo for the initial patch!
Matthew Wild <mwild1@gmail.com>
parents: 536
diff changeset
   301
      LD="$value"
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
   302
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   303
   --runwith)
5145
53f741a5a73a configure, Makefile: Allow runtime to be overridden.
Kim Alvefur <zash@zash.se>
parents: 5048
diff changeset
   304
      RUNWITH="$value"
7946
da791f11e20c configure: Set RUNWITH to lua + lua-suffix unless --runwith is given (fixes #721, #777)
Kim Alvefur <zash@zash.se>
parents: 7945
diff changeset
   305
      RUNWITH_SET=yes
5145
53f741a5a73a configure, Makefile: Allow runtime to be overridden.
Kim Alvefur <zash@zash.se>
parents: 5048
diff changeset
   306
      ;;
5933
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5422
diff changeset
   307
    --no-example-certs)
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5422
diff changeset
   308
      EXCERTS=
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5422
diff changeset
   309
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   310
   --compiler-wrapper)
7621
5a09c1166d89 configure: Add --compiler-wrapper flag for using things like ccache or distcc
Kim Alvefur <zash@zash.se>
parents: 7620
diff changeset
   311
      CC="$value $CC"
5a09c1166d89 configure: Add --compiler-wrapper flag for using things like ccache or distcc
Kim Alvefur <zash@zash.se>
parents: 7620
diff changeset
   312
      LD="$value $LD"
5a09c1166d89 configure: Add --compiler-wrapper flag for using things like ccache or distcc
Kim Alvefur <zash@zash.se>
parents: 7620
diff changeset
   313
      ;;
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   314
   *)
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   315
      die "Error: Unknown flag: $1"
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   316
      ;;
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   317
   esac
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   318
   shift
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   319
done
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   320
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   321
if [ "$PREFIX_SET" = "yes" ] && [ ! "$SYSCONFDIR_SET" = "yes" ]
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   322
then
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   323
   if [ "$PREFIX" = "/usr" ]
7990
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
   324
   then SYSCONFDIR=/etc/$APP_DIRNAME
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
   325
   else SYSCONFDIR=$PREFIX/etc/$APP_DIRNAME
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   326
   fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   327
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   328
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   329
if [ "$PREFIX_SET" = "yes" ] && [ ! "$DATADIR_SET" = "yes" ]
502
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   330
then
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   331
   if [ "$PREFIX" = "/usr" ]
7990
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
   332
   then DATADIR=/var/lib/$APP_DIRNAME
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
   333
   else DATADIR=$PREFIX/var/lib/$APP_DIRNAME
502
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   334
   fi
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   335
fi
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   336
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   337
if [ "$PREFIX_SET" = "yes" ] && [ ! "$LIBDIR_SET" = "yes" ]
7948
1f4a0e0b7167 configure: Fix setting libdir if prefix changed
Kim Alvefur <zash@zash.se>
parents: 7946
diff changeset
   338
then
1f4a0e0b7167 configure: Fix setting libdir if prefix changed
Kim Alvefur <zash@zash.se>
parents: 7946
diff changeset
   339
   LIBDIR=$PREFIX/lib
1f4a0e0b7167 configure: Fix setting libdir if prefix changed
Kim Alvefur <zash@zash.se>
parents: 7946
diff changeset
   340
fi
1f4a0e0b7167 configure: Fix setting libdir if prefix changed
Kim Alvefur <zash@zash.se>
parents: 7946
diff changeset
   341
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   342
detect_lua_version() {
9421
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
   343
   detected_lua=$("$1" -e 'print(_VERSION:match(" (5%.[123])$"))' 2> /dev/null)
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   344
   if [ "$detected_lua" != "nil" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   345
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   346
      if [ "$LUA_VERSION_SET" != "yes" ]
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   347
      then
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   348
         echo "Lua version detected: $detected_lua"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   349
         LUA_VERSION=$detected_lua
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   350
         return 0
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   351
      elif [ "$LUA_VERSION" = "$detected_lua" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   352
      then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   353
         return 0
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   354
      fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   355
   fi
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   356
   return 1
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   357
}
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   358
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   359
search_interpreter() {
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   360
   suffix="$1"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   361
   if [ "$LUA_BINDIR_SET" = "yes" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   362
      then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   363
      find_lua="$LUA_BINDIR"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   364
   elif [ "$LUA_DIR_SET" = "yes" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   365
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   366
      LUA_BINDIR="$LUA_DIR/bin"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   367
      if [ -f "$LUA_BINDIR/lua$suffix" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   368
      then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   369
         find_lua="$LUA_BINDIR"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   370
      fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   371
   else
9421
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
   372
      find_lua=$(find_program lua"$suffix")
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   373
   fi
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   374
   if [ -n "$find_lua" ] && [ -x "$find_lua/lua$suffix" ]
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   375
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   376
      if detect_lua_version "$find_lua/lua$suffix"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   377
      then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   378
         echo "Lua interpreter found: $find_lua/lua$suffix..."
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   379
         if [ "$LUA_BINDIR_SET" != "yes" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   380
         then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   381
            LUA_BINDIR="$find_lua"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   382
         fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   383
         if [ "$LUA_DIR_SET" != "yes" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   384
         then
9421
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
   385
            LUA_DIR=$(dirname "$find_lua")
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   386
         fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   387
         LUA_SUFFIX="$suffix"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   388
         return 0
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   389
      fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   390
   fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   391
   return 1
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   392
}
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   393
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   394
lua_interp_found=no
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   395
if [ "$LUA_SUFFIX_SET" != "yes" ]
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   396
then
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   397
   if [ "$LUA_VERSION_SET" = "yes" ] && [ "$LUA_VERSION" = "5.1" ]
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   398
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   399
      suffixes="5.1 51 -5.1 -51"
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   400
   elif [ "$LUA_VERSION_SET" = "yes" ] && [ "$LUA_VERSION" = "5.2" ]
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   401
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   402
      suffixes="5.2 52 -5.2 -52"
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   403
   elif [ "$LUA_VERSION_SET" = "yes" ] && [ "$LUA_VERSION" = "5.3" ]
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   404
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   405
      suffixes="5.3 53 -5.3 -53"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   406
   else
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   407
      suffixes="5.1 51 -5.1 -51 5.2 52 -5.2 -52 5.3 53 -5.3 -53"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   408
   fi
9423
3b8c4b2c6ba1 configure: Remove unnecessary 'echo'
Matthew Wild <mwild1@gmail.com>
parents: 9422
diff changeset
   409
   for suffix in "" $suffixes
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   410
   do
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   411
      search_interpreter "$suffix" && {
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   412
      lua_interp_found=yes
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   413
      break
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   414
   }
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   415
done
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   416
else
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   417
   search_interpreter "$LUA_SUFFIX" && {
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   418
   lua_interp_found=yes
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   419
}
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   420
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   421
10002
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   422
# See #1353
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   423
if [ "$LUA_DIR_SET" != "yes" ] && [ "$LUA_DIR" = "/" ]
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   424
then
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   425
   LUA_DIR="/usr"
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   426
fi
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   427
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   428
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   429
if [ "$lua_interp_found" != "yes" ] && [ "$RUNWITH_SET" != "yes" ]
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   430
then
9424
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   431
   if [ "$LUA_VERSION_SET" ]; then
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   432
      interp="Lua $LUA_VERSION";
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   433
   else
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   434
      interp="Lua";
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   435
   fi
9429
e290a60f1f09 configure: Replace use of '-o' with '||' [SC2166]
Matthew Wild <mwild1@gmail.com>
parents: 9428
diff changeset
   436
   if [ "$LUA_DIR_SET" ] || [ "$LUA_BINDIR_SET" ]; then
9424
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   437
      where="$LUA_BINDIR";
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   438
   else
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   439
      where="\$PATH";
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   440
   fi
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   441
   echo "$interp interpreter not found in $where"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   442
   die "You may want to use the flags --with-lua, --with-lua-bin and/or --lua-suffix. See --help."
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   443
fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   444
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   445
if [ "$LUA_VERSION_SET" = "yes" ] && [ "$RUNWITH_SET" != "yes" ]
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   446
then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   447
   echo_n "Checking if $LUA_BINDIR/lua$LUA_SUFFIX is Lua version $LUA_VERSION... "
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   448
   if detect_lua_version "$LUA_BINDIR/lua$LUA_SUFFIX"
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   449
   then
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   450
      echo "yes"
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   451
   else
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   452
      echo "no"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   453
      die "You may want to use the flags --with-lua, --with-lua-bin and/or --lua-suffix. See --help."
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   454
   fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   455
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   456
6813
533fd843d91f configure, Makefile: Make compatible with plain Bourne shell as used on Solaris. Fixes #418 (thanks jcea)
Matthew Wild <mwild1@gmail.com>
parents: 6638
diff changeset
   457
if [ "$LUA_INCDIR_SET" != "yes" ]
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   458
then
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   459
   LUA_INCDIR="$LUA_DIR/include"
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   460
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   461
6813
533fd843d91f configure, Makefile: Make compatible with plain Bourne shell as used on Solaris. Fixes #418 (thanks jcea)
Matthew Wild <mwild1@gmail.com>
parents: 6638
diff changeset
   462
if [ "$LUA_LIBDIR_SET" != "yes" ]
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   463
then
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   464
   LUA_LIBDIR="$LUA_DIR/lib"
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   465
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   466
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   467
echo_n "Checking Lua includes... "
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   468
lua_h="$LUA_INCDIR/lua.h"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   469
if [ -f "$lua_h" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   470
then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   471
   echo "lua.h found in $lua_h"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   472
else
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   473
   v_dir="$LUA_INCDIR/lua/$LUA_VERSION"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   474
   lua_h="$v_dir/lua.h"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   475
   if [ -f "$lua_h" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   476
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   477
      echo "lua.h found in $lua_h"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   478
      LUA_INCDIR="$v_dir"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   479
   else
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   480
      d_dir="$LUA_INCDIR/lua$LUA_VERSION"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   481
      lua_h="$d_dir/lua.h"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   482
      if [ -f "$lua_h" ]
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   483
      then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   484
         echo "lua.h found in $lua_h (Debian/Ubuntu)"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   485
         LUA_INCDIR="$d_dir"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   486
      else
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   487
         echo "lua.h not found (looked in $LUA_INCDIR, $v_dir, $d_dir)"
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   488
         die "You may want to use the flag --with-lua or --with-lua-include. See --help."
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   489
      fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   490
   fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   491
fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   492
8090
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   493
if [ "$lua_interp_found" = "yes" ]
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   494
then
8090
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   495
   echo_n "Checking if Lua header version matches that of the interpreter... "
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   496
   header_version=$(sed -n 's/.*LUA_VERSION_NUM.*5.\(.\).*/5.\1/p' "$lua_h")
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   497
   if [ "$header_version" = "$LUA_VERSION" ]
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   498
   then
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   499
      echo "yes"
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   500
   else
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   501
      echo "no"
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   502
      echo "lua.h version mismatch (interpreter: $LUA_VERSION; lua.h: $header_version)."
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   503
      die "You may want to use the flag --with-lua or --with-lua-include. See --help."
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   504
   fi
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   505
fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   506
3762
f02bac902a1e util.encodings: Support for ICU for IDNA operations.
Tobias Markmann <tm@ayena.de>
parents: 3352
diff changeset
   507
if [ "$IDN_LIBRARY" = "icu" ]
f02bac902a1e util.encodings: Support for ICU for IDNA operations.
Tobias Markmann <tm@ayena.de>
parents: 3352
diff changeset
   508
then
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   509
   IDNA_LIBS="$ICU_FLAGS"
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   510
   CFLAGS="$CFLAGS -DUSE_STRINGPREP_ICU"
3762
f02bac902a1e util.encodings: Support for ICU for IDNA operations.
Tobias Markmann <tm@ayena.de>
parents: 3352
diff changeset
   511
fi
5641
92ffddd02c96 configure: Fix poor layout
James Callahan <james@chatid.com>
parents: 5422
diff changeset
   512
if [ "$IDN_LIBRARY" = "idn" ]
3764
323169f229fa Make libidn default when not specifiying a IDN lib.
Tobias Markmann <tm@ayena.de>
parents: 3763
diff changeset
   513
then
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   514
   IDNA_LIBS="-l$IDN_LIB"
3764
323169f229fa Make libidn default when not specifiying a IDN lib.
Tobias Markmann <tm@ayena.de>
parents: 3763
diff changeset
   515
fi
323169f229fa Make libidn default when not specifiying a IDN lib.
Tobias Markmann <tm@ayena.de>
parents: 3763
diff changeset
   516
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   517
if [ -f config.unix ]; then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   518
   rm -f config.unix
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   519
fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   520
7946
da791f11e20c configure: Set RUNWITH to lua + lua-suffix unless --runwith is given (fixes #721, #777)
Kim Alvefur <zash@zash.se>
parents: 7945
diff changeset
   521
if [ "$RUNWITH_SET" != yes ]; then
da791f11e20c configure: Set RUNWITH to lua + lua-suffix unless --runwith is given (fixes #721, #777)
Kim Alvefur <zash@zash.se>
parents: 7945
diff changeset
   522
   RUNWITH="lua$LUA_SUFFIX"
da791f11e20c configure: Set RUNWITH to lua + lua-suffix unless --runwith is given (fixes #721, #777)
Kim Alvefur <zash@zash.se>
parents: 7945
diff changeset
   523
fi
da791f11e20c configure: Set RUNWITH to lua + lua-suffix unless --runwith is given (fixes #721, #777)
Kim Alvefur <zash@zash.se>
parents: 7945
diff changeset
   524
6889
27f5a76e3fa5 configure,util-src/Makefile: Make a variable that includes -l for OpenSSL (like with IDNA_LIBS)
Kim Alvefur <zash@zash.se>
parents: 6881
diff changeset
   525
OPENSSL_LIBS="-l$OPENSSL_LIB"
27f5a76e3fa5 configure,util-src/Makefile: Make a variable that includes -l for OpenSSL (like with IDNA_LIBS)
Kim Alvefur <zash@zash.se>
parents: 6881
diff changeset
   526
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   527
if [ "$PRNG" = "OPENSSL" ]; then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   528
   PRNGLIBS=$OPENSSL_LIBS
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   529
elif [ "$PRNG" = "ARC4RANDOM" ] && [ "$(uname)" = "Linux" ]; then
8451
f516a52f19e8 util.crand: Make it possible to use arc4random on Linux (needs libbsd)
Kim Alvefur <zash@zash.se>
parents: 8287
diff changeset
   530
   PRNGLIBS="-lbsd"
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   531
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   532
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   533
# Write config
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   534
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   535
echo "Writing configuration..."
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   536
echo
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   537
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   538
rm -f built
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   539
cat <<EOF > config.unix
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   540
# This file was automatically generated by the configure script.
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   541
# Run "./configure --help" for details.
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   542
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   543
LUA_VERSION=$LUA_VERSION
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   544
PREFIX=$PREFIX
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   545
SYSCONFDIR=$SYSCONFDIR
6577
cd0088c73daf configure, Makefile: Add --libdir option to ./configure, allowing you to override the $PREFIX/lib/ default. Fixes #470.
Matthew Wild <mwild1@gmail.com>
parents: 5933
diff changeset
   546
LIBDIR=$LIBDIR
502
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   547
DATADIR=$DATADIR
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   548
LUA_SUFFIX=$LUA_SUFFIX
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   549
LUA_DIR=$LUA_DIR
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   550
LUA_DIR_SET=$LUA_DIR_SET
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   551
LUA_INCDIR=$LUA_INCDIR
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   552
LUA_LIBDIR=$LUA_LIBDIR
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   553
LUA_BINDIR=$LUA_BINDIR
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   554
IDN_LIB=$IDN_LIB
3762
f02bac902a1e util.encodings: Support for ICU for IDNA operations.
Tobias Markmann <tm@ayena.de>
parents: 3352
diff changeset
   555
IDNA_LIBS=$IDNA_LIBS
6889
27f5a76e3fa5 configure,util-src/Makefile: Make a variable that includes -l for OpenSSL (like with IDNA_LIBS)
Kim Alvefur <zash@zash.se>
parents: 6881
diff changeset
   556
OPENSSL_LIBS=$OPENSSL_LIBS
511
f9ab28562fda Potential fixes for building on Mac OSX
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
   557
CFLAGS=$CFLAGS
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
   558
LDFLAGS=$LDFLAGS
798
2a92b58144a9 Use $CC, $LD in Makefile. Add --c-compiler, --linker flags to ./configure script. Add --lflags to ./configure script. Thanks to Lorenzo for the initial patch!
Matthew Wild <mwild1@gmail.com>
parents: 536
diff changeset
   559
CC=$CC
2a92b58144a9 Use $CC, $LD in Makefile. Add --c-compiler, --linker flags to ./configure script. Add --lflags to ./configure script. Thanks to Lorenzo for the initial patch!
Matthew Wild <mwild1@gmail.com>
parents: 536
diff changeset
   560
LD=$LD
5145
53f741a5a73a configure, Makefile: Allow runtime to be overridden.
Kim Alvefur <zash@zash.se>
parents: 5048
diff changeset
   561
RUNWITH=$RUNWITH
5933
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5422
diff changeset
   562
EXCERTS=$EXCERTS
7190
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 6889
diff changeset
   563
RANDOM=$PRNG
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 6889
diff changeset
   564
RANDOM_LIBS=$PRNGLIBS
3d2c2f0809ee util.crand: C binding to one of OpenSSL, Linux getrandom() or OpenBSD arc4random() CSPRNG
Kim Alvefur <zash@zash.se>
parents: 6889
diff changeset
   565
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   566
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   567
EOF
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   568
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   569
echo "Installation prefix: $PREFIX"
7990
b3ee697158b5 configure: Move name and directory name into a variable for easier comparison with similar scripts
Kim Alvefur <zash@zash.se>
parents: 7967
diff changeset
   570
echo "$APP_NAME configuration directory: $SYSCONFDIR"
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   571
echo "Using Lua from: $LUA_DIR"
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   572
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   573
make clean > /dev/null 2> /dev/null
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   574
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   575
echo
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   576
echo "Done. You can now run 'make' to build."
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   577
echo