configure
author Kim Alvefur <zash@zash.se>
Sun, 24 Mar 2024 21:32:00 +0100
changeset 13468 2dbc169aae6a
parent 12830 944c7f0f1a9e
permissions -rwxr-xr-x
util.startup: Abort before initialization of logging when started as root Prevents creation of log files owned by the root user which could be inaccessible once started correctly.
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
9864
2cf3dcf93d74 configure: Separate flags related to compiler warnings
Kim Alvefur <zash@zash.se>
parents: 9683
diff changeset
    26
CFLAGS="-fPIC -std=c99"
9865
84916bbe5985 configure: Enable more compiler warnings
Kim Alvefur <zash@zash.se>
parents: 9864
diff changeset
    27
CFLAGS="$CFLAGS -Wall -pedantic -Wextra -Wshadow -Wformat=2"
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
    28
LDFLAGS="-shared"
511
f9ab28562fda Potential fixes for building on Mac OSX
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
    29
11532
d3b0049e50f5 configure: Make ICU the default library for IDNA and JID normalization
Kim Alvefur <zash@zash.se>
parents: 11013
diff changeset
    30
IDN_LIBRARY="icu"
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    31
# Help
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    32
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    33
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
    34
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
    35
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
    36
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    37
--help                      This help.
7635
2b14e2121700 configure: Add ostype preset for NetBSD
Holger Weiss <holger@zedat.fu-berlin.de>
parents: 7621
diff changeset
    38
--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
    39
                            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
    40
--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
    41
                            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
    42
--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
    43
                            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
    44
--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
    45
                            Default is \$PREFIX/lib
502
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
    46
--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
    47
                            Default is \$PREFIX/var/lib/$APP_DIRNAME
12574
e6f68b6c87e1 configure: No longer accept Lua 5.1
Kim Alvefur <zash@zash.se>
parents: 11970
diff changeset
    48
--lua-version=VERSION       Use specific Lua version: 5.2, 5.3, or 5.4
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    49
                            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
    50
--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
    51
                            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
    52
--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
    53
                            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
    54
--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
    55
                            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
    56
                            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
    57
--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
    58
                            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
    59
--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
    60
                            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
    61
--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
    62
                            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
    63
--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
    64
                            Default is $IDN_LIB
5422
396072d62695 configure: Replaces tabs with spaces in --help
Kim Alvefur <zash@zash.se>
parents: 5421
diff changeset
    65
--idn-library=(idn|icu)     Select library to use for IDNA functionality.
11532
d3b0049e50f5 configure: Make ICU the default library for IDNA and JID normalization
Kim Alvefur <zash@zash.se>
parents: 11013
diff changeset
    66
                            idn: use GNU libidn
d3b0049e50f5 configure: Make ICU the default library for IDNA and JID normalization
Kim Alvefur <zash@zash.se>
parents: 11013
diff changeset
    67
                            icu: use ICU from IBM (default)
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    68
--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
    69
                            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
    70
--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
    71
                            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
    72
                            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
    73
                            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
    74
                            Default is to use /dev/urandom
511
f9ab28562fda Potential fixes for building on Mac OSX
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
    75
--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
    76
                            Default is $CFLAGS
8285
9495e2cbe666 configure: Add new but undocumented flags to --help
Kim Alvefur <zash@zash.se>
parents: 8284
diff changeset
    77
--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
    78
                            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
    79
--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
    80
                            Default is $LDFLAGS
8285
9495e2cbe666 configure: Add new but undocumented flags to --help
Kim Alvefur <zash@zash.se>
parents: 8284
diff changeset
    81
--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
    82
                            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
    83
--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
    84
                            Default is $CC
8285
9495e2cbe666 configure: Add new but undocumented flags to --help
Kim Alvefur <zash@zash.se>
parents: 8284
diff changeset
    85
--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
    86
                            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
    87
--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
    88
                            Default is $LD
5933
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5422
diff changeset
    89
--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
    90
EOF
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    91
}
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    92
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    93
# 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
    94
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    95
find_program() {
9421
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
    96
   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
    97
   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
    98
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
    99
      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
   100
   fi
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
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   103
die() {
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
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 "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
   107
   echo
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   108
   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
   109
}
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   110
11970
4c5087ce3c2e configure: Silence warning about echo -n [shellcheck]
Kim Alvefur <zash@zash.se>
parents: 11969
diff changeset
   111
# COMPAT SC2039 has been phased out, remove in the future
4c5087ce3c2e configure: Silence warning about echo -n [shellcheck]
Kim Alvefur <zash@zash.se>
parents: 11969
diff changeset
   112
# shellcheck disable=SC2039,SC3037
9425
b7aad88c537b configure: Add shellcheck directives to suppress warnings on harmless lines
Matthew Wild <mwild1@gmail.com>
parents: 9424
diff changeset
   113
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
   114
-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
   115
*)   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
   116
esac
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   117
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   118
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
   119
   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
   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
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
# 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
   124
# ----------------------------------------------------------------------------
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
# 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
   127
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   128
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
   129
do
9421
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
   130
   value=$(echo "$1" | sed 's/[^=]*.\(.*\)/\1/')
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
   131
   key=$(echo "$1" | sed 's/=.*//')
9430
460f08008521 configure: Suppress warning about '~' [SC2088]
Matthew Wild <mwild1@gmail.com>
parents: 9429
diff changeset
   132
   # shellcheck disable=SC2088
9421
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
   133
   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
   134
   then
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   135
      echo
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 '*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
   137
      # 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
   138
      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
   139
      echo
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   140
   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
   141
   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
   142
   --help)
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   143
      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
   144
      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
   145
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   146
   --prefix)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   147
      [ -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
   148
      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
   149
      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
   150
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   151
   --sysconfdir)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   152
      [ -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
   153
      SYSCONFDIR="$value"
b873715ffd96 configure: Honour --sysconfdir parameter; thanks to Michael Scherer
Matthew Wild <mwild1@gmail.com>
parents: 998
diff changeset
   154
      SYSCONFDIR_SET=yes
b873715ffd96 configure: Honour --sysconfdir parameter; thanks to Michael Scherer
Matthew Wild <mwild1@gmail.com>
parents: 998
diff changeset
   155
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   156
   --ostype)
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
   157
      OSPRESET="$value"
10012
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   158
      OSPRESET_SET="yes"
511
f9ab28562fda Potential fixes for building on Mac OSX
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
   159
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   160
   --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
   161
      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
   162
      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
   163
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   164
   --datadir)
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   165
      DATADIR="$value"
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   166
      DATADIR_SET=yes
502
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   167
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   168
   --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
   169
      [ -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
   170
      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
   171
      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
   172
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   173
   --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
   174
      [ -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
   175
      LUA_VERSION="$value"
12574
e6f68b6c87e1 configure: No longer accept Lua 5.1
Kim Alvefur <zash@zash.se>
parents: 11970
diff changeset
   176
      [ "$LUA_VERSION" != "5.1" ] || die "Lua 5.1 is no longer supported"
e6f68b6c87e1 configure: No longer accept Lua 5.1
Kim Alvefur <zash@zash.se>
parents: 11970
diff changeset
   177
      [ "$LUA_VERSION" = "5.2" ] || [ "$LUA_VERSION" = "5.3" ] || [ "$LUA_VERSION" = "5.4" ] || 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
   178
      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
   179
      ;;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   180
   --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
   181
      [ -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
   182
      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
   183
      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
   184
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   185
   --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
   186
      [ -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
   187
      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
   188
      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
   189
      ;;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   190
   --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
   191
      [ -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
   192
      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
   193
      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
   194
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   195
   --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
   196
      [ -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
   197
      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
   198
      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
   199
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   200
   --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
   201
      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
   202
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   203
   --idn-library)
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   204
      IDN_LIBRARY="$value"
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   205
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   206
   --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
   207
      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
   208
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   209
   --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
   210
      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
   211
         getrandom)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   212
            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
   213
            ;;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   214
         openssl)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   215
            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
   216
            ;;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   217
         arc4random)
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   218
            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
   219
            ;;
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   220
      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
   221
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   222
   --cflags)
511
f9ab28562fda Potential fixes for building on Mac OSX
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
   223
      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
   224
      ;;
8132
69f8b22b0472 configure: --add-cflags to amend $CFLAGS without replacing existing value(s) #858
Kim Alvefur <zash@zash.se>
parents: 8090
diff changeset
   225
   --add-cflags)
69f8b22b0472 configure: --add-cflags to amend $CFLAGS without replacing existing value(s) #858
Kim Alvefur <zash@zash.se>
parents: 8090
diff changeset
   226
      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
   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
   --ldflags)
2315
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
   229
      LDFLAGS="$value"
174b4a83f5b7 configure: Add 'linux' ostype and rename lflags to LDFLAGS to match expectations.
Brian Cully <bjc@junctionnetworks.com>
parents: 1081
diff changeset
   230
      ;;
8133
12440a0043ab configure: --add-ldflags to amend $LDFLAGS without overriding previous value #858
Kim Alvefur <zash@zash.se>
parents: 8132
diff changeset
   231
   --add-ldflags)
12440a0043ab configure: --add-ldflags to amend $LDFLAGS without overriding previous value #858
Kim Alvefur <zash@zash.se>
parents: 8132
diff changeset
   232
      LDFLAGS="$LDFLAGS $value"
12440a0043ab configure: --add-ldflags to amend $LDFLAGS without overriding previous value #858
Kim Alvefur <zash@zash.se>
parents: 8132
diff changeset
   233
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   234
   --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
   235
      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
   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
   --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
   238
      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
   239
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   240
   --runwith)
5145
53f741a5a73a configure, Makefile: Allow runtime to be overridden.
Kim Alvefur <zash@zash.se>
parents: 5048
diff changeset
   241
      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
   242
      RUNWITH_SET=yes
5145
53f741a5a73a configure, Makefile: Allow runtime to be overridden.
Kim Alvefur <zash@zash.se>
parents: 5048
diff changeset
   243
      ;;
5933
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5422
diff changeset
   244
    --no-example-certs)
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5422
diff changeset
   245
      EXCERTS=
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5422
diff changeset
   246
      ;;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   247
   --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
   248
      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
   249
      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
   250
      ;;
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   251
   *)
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   252
      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
   253
      ;;
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   254
   esac
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   255
   shift
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   256
done
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   257
10012
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   258
if [ "$OSPRESET_SET" = "yes" ]; then
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   259
	# TODO make this a switch?
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   260
   if [ "$OSPRESET" = "debian" ]; then
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   261
      CFLAGS="$CFLAGS -ggdb"
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   262
   fi
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   263
   if [ "$OSPRESET" = "macosx" ]; then
10014
34bfefb39937 configure: Respect previously set paths in macosx preset
Kim Alvefur <zash@zash.se>
parents: 10013
diff changeset
   264
      if [ "$LUA_INCDIR_SET" != "yes" ]; then
34bfefb39937 configure: Respect previously set paths in macosx preset
Kim Alvefur <zash@zash.se>
parents: 10013
diff changeset
   265
         LUA_INCDIR=/usr/local/include;
34bfefb39937 configure: Respect previously set paths in macosx preset
Kim Alvefur <zash@zash.se>
parents: 10013
diff changeset
   266
         LUA_INCDIR_SET=yes
34bfefb39937 configure: Respect previously set paths in macosx preset
Kim Alvefur <zash@zash.se>
parents: 10013
diff changeset
   267
      fi
34bfefb39937 configure: Respect previously set paths in macosx preset
Kim Alvefur <zash@zash.se>
parents: 10013
diff changeset
   268
      if [ "$LUA_LIBDIR_SET" != "yes" ]; then
34bfefb39937 configure: Respect previously set paths in macosx preset
Kim Alvefur <zash@zash.se>
parents: 10013
diff changeset
   269
         LUA_LIBDIR=/usr/local/lib
34bfefb39937 configure: Respect previously set paths in macosx preset
Kim Alvefur <zash@zash.se>
parents: 10013
diff changeset
   270
         LUA_LIBDIR_SET=yes
34bfefb39937 configure: Respect previously set paths in macosx preset
Kim Alvefur <zash@zash.se>
parents: 10013
diff changeset
   271
      fi
10012
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   272
      CFLAGS="$CFLAGS -mmacosx-version-min=10.3"
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   273
      LDFLAGS="-bundle -undefined dynamic_lookup"
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   274
   fi
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   275
   if [ "$OSPRESET" = "linux" ]; then
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   276
      CFLAGS="$CFLAGS -ggdb"
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   277
   fi
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   278
   if [ "$OSPRESET" = "freebsd" ] || [ "$OSPRESET" = "openbsd" ]; then
12574
e6f68b6c87e1 configure: No longer accept Lua 5.1
Kim Alvefur <zash@zash.se>
parents: 11970
diff changeset
   279
      LUA_INCDIR="/usr/local/include/lua52"
10012
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   280
      LUA_INCDIR_SET=yes
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   281
      CFLAGS="-Wall -fPIC -I/usr/local/include"
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   282
      LDFLAGS="-I/usr/local/include -L/usr/local/lib -shared"
12574
e6f68b6c87e1 configure: No longer accept Lua 5.1
Kim Alvefur <zash@zash.se>
parents: 11970
diff changeset
   283
      LUA_SUFFIX="52"
10012
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   284
      LUA_SUFFIX_SET=yes
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   285
      LUA_DIR=/usr/local
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   286
      LUA_DIR_SET=yes
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   287
      CC=cc
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   288
      LD=ld
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   289
   fi
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   290
   if [ "$OSPRESET" = "openbsd" ]; then
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   291
      LUA_INCDIR="/usr/local/include";
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   292
      LUA_INCDIR_SET="yes"
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   293
   fi
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   294
   if [ "$OSPRESET" = "netbsd" ]; then
12574
e6f68b6c87e1 configure: No longer accept Lua 5.1
Kim Alvefur <zash@zash.se>
parents: 11970
diff changeset
   295
      LUA_INCDIR="/usr/pkg/include/lua-5.2"
10012
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   296
      LUA_INCDIR_SET=yes
12574
e6f68b6c87e1 configure: No longer accept Lua 5.1
Kim Alvefur <zash@zash.se>
parents: 11970
diff changeset
   297
      LUA_LIBDIR="/usr/pkg/lib/lua/5.2"
10012
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   298
      LUA_LIBDIR_SET=yes
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   299
      CFLAGS="-Wall -fPIC -I/usr/pkg/include"
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   300
      LDFLAGS="-L/usr/pkg/lib -Wl,-rpath,/usr/pkg/lib -shared"
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   301
   fi
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   302
   if [ "$OSPRESET" = "pkg-config" ]; then
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   303
      if [ "$LUA_SUFFIX_SET" != "yes" ]; then
12574
e6f68b6c87e1 configure: No longer accept Lua 5.1
Kim Alvefur <zash@zash.se>
parents: 11970
diff changeset
   304
         LUA_SUFFIX="5.4";
10012
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   305
         LUA_SUFFIX_SET=yes
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   306
      fi
12829
ee5fcfef5200 configure: Fix quoting of $LUA_SUFFIX (thanks shellcheck/Zash)
Matthew Wild <mwild1@gmail.com>
parents: 11970
diff changeset
   307
      LUA_CF="$(pkg-config --cflags-only-I lua"$LUA_SUFFIX")"
10012
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   308
      LUA_CF="${LUA_CF#*-I}"
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   309
      LUA_CF="${LUA_CF%% *}"
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   310
      if [ "$LUA_CF" != "" ]; then
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   311
         LUA_INCDIR="$LUA_CF"
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   312
         LUA_INCDIR_SET=yes
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   313
      fi
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   314
   fi
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   315
fi
272c436ca5d1 configure: Handle ostype preset after argument processing
Kim Alvefur <zash@zash.se>
parents: 10003
diff changeset
   316
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   317
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
   318
then
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   319
   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
   320
   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
   321
   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
   322
   fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   323
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   324
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   325
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
   326
then
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   327
   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
   328
   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
   329
   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
   330
   fi
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   331
fi
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   332
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   333
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
   334
then
1f4a0e0b7167 configure: Fix setting libdir if prefix changed
Kim Alvefur <zash@zash.se>
parents: 7946
diff changeset
   335
   LIBDIR=$PREFIX/lib
1f4a0e0b7167 configure: Fix setting libdir if prefix changed
Kim Alvefur <zash@zash.se>
parents: 7946
diff changeset
   336
fi
1f4a0e0b7167 configure: Fix setting libdir if prefix changed
Kim Alvefur <zash@zash.se>
parents: 7946
diff changeset
   337
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   338
detect_lua_version() {
12574
e6f68b6c87e1 configure: No longer accept Lua 5.1
Kim Alvefur <zash@zash.se>
parents: 11970
diff changeset
   339
   detected_lua=$("$1" -e 'print(_VERSION:match(" (5%.[234])$"))' 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
   340
   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
   341
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   342
      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
   343
      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
   344
         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
   345
         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
   346
         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
   347
      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
   348
      then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   349
         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
   350
      fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   351
   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
   352
   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
   353
}
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   354
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   355
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
   356
   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
   357
   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
   358
      then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   359
      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
   360
   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
   361
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   362
      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
   363
      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
   364
      then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   365
         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
   366
      fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   367
   else
9421
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
   368
      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
   369
   fi
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   370
   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
   371
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   372
      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
   373
      then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   374
         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
   375
         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
   376
         then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   377
            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
   378
         fi
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_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
   380
         then
9421
44a2609d1535 configure: Replace backticks with $()
Matthew Wild <mwild1@gmail.com>
parents: 9420
diff changeset
   381
            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
   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
         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
   384
         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
   385
      fi
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
   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
   388
}
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   389
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   390
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
   391
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
   392
then
12574
e6f68b6c87e1 configure: No longer accept Lua 5.1
Kim Alvefur <zash@zash.se>
parents: 11970
diff changeset
   393
   if [ "$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
   394
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   395
      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
   396
   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
   397
   then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   398
      suffixes="5.3 53 -5.3 -53"
9662
597653fe8ea4 configure: Recognise 5.4 as a valid Lua version
Kim Alvefur <zash@zash.se>
parents: 9661
diff changeset
   399
   elif [ "$LUA_VERSION_SET" = "yes" ] && [ "$LUA_VERSION" = "5.4" ]
597653fe8ea4 configure: Recognise 5.4 as a valid Lua version
Kim Alvefur <zash@zash.se>
parents: 9661
diff changeset
   400
   then
597653fe8ea4 configure: Recognise 5.4 as a valid Lua version
Kim Alvefur <zash@zash.se>
parents: 9661
diff changeset
   401
      suffixes="5.4 54 -5.4 -54"
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   402
   else
12574
e6f68b6c87e1 configure: No longer accept Lua 5.1
Kim Alvefur <zash@zash.se>
parents: 11970
diff changeset
   403
      suffixes="5.2 52 -5.2 -52"
9661
bd75edf0e0e2 configure: Split list of possible suffixes into a line per Lua version
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   404
      suffixes="$suffixes 5.3 53 -5.3 -53"
9662
597653fe8ea4 configure: Recognise 5.4 as a valid Lua version
Kim Alvefur <zash@zash.se>
parents: 9661
diff changeset
   405
      suffixes="$suffixes 5.4 54 -5.4 -54"
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   406
   fi
9423
3b8c4b2c6ba1 configure: Remove unnecessary 'echo'
Matthew Wild <mwild1@gmail.com>
parents: 9422
diff changeset
   407
   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
   408
   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
   409
      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
   410
      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
   411
      break
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   412
   }
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   413
done
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   414
else
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   415
   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
   416
   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
   417
}
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   418
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   419
10002
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   420
# See #1353
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   421
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
   422
then
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   423
   LUA_DIR="/usr"
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   424
fi
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   425
c8646f65767a configure: Handle lua being found in /bin (workaround for #1353)
Kim Alvefur <zash@zash.se>
parents: 9430
diff changeset
   426
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   427
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
   428
then
9424
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   429
   if [ "$LUA_VERSION_SET" ]; then
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   430
      interp="Lua $LUA_VERSION";
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   431
   else
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   432
      interp="Lua";
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   433
   fi
9429
e290a60f1f09 configure: Replace use of '-o' with '||' [SC2166]
Matthew Wild <mwild1@gmail.com>
parents: 9428
diff changeset
   434
   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
   435
      where="$LUA_BINDIR";
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   436
   else
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   437
      where="\$PATH";
03b50f5bd8cd configure: Replace logic constructs with explicit if/else statements
Matthew Wild <mwild1@gmail.com>
parents: 9423
diff changeset
   438
   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
   439
   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
   440
   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
   441
fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   442
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   443
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
   444
then
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   445
   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
   446
   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
   447
   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
   448
      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
   449
   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
   450
      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
   451
      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
   452
   fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   453
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   454
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
   455
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
   456
then
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   457
   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
   458
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   459
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
   460
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
   461
then
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   462
   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
   463
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   464
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   465
lua_h="$LUA_INCDIR/lua.h"
9683
4f02aaf40ee9 configure: Refactor header search to make it more portable
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
   466
echo_n "Looking for lua.h at $lua_h..."
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
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
   468
then
9683
4f02aaf40ee9 configure: Refactor header search to make it more portable
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
   469
   echo found
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   470
else
9683
4f02aaf40ee9 configure: Refactor header search to make it more portable
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
   471
  echo "not found"
9682
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   472
  for postfix in "$LUA_VERSION" "$LUA_SUFFIX"; do
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   473
    if ! [ "$postfix" = "" ]; then
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   474
      v_dir="$LUA_INCDIR/lua/$postfix";
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   475
    else
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   476
      v_dir="$LUA_INCDIR/lua";
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   477
    fi
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   478
    lua_h="$v_dir/lua.h"
9683
4f02aaf40ee9 configure: Refactor header search to make it more portable
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
   479
    echo_n "Looking for lua.h at $lua_h..."
9682
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   480
    if [ -f "$lua_h" ]
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   481
    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
   482
      LUA_INCDIR="$v_dir"
9683
4f02aaf40ee9 configure: Refactor header search to make it more portable
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
   483
      echo found
9682
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   484
      break;
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   485
    else
9683
4f02aaf40ee9 configure: Refactor header search to make it more portable
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
   486
      echo "not found"
9682
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   487
      d_dir="$LUA_INCDIR/lua$postfix"
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   488
      lua_h="$d_dir/lua.h"
9683
4f02aaf40ee9 configure: Refactor header search to make it more portable
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
   489
      echo_n "Looking for lua.h at $lua_h..."
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   490
      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
   491
      then
9683
4f02aaf40ee9 configure: Refactor header search to make it more portable
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
   492
        echo found
9682
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   493
        LUA_INCDIR="$d_dir"
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   494
        break;
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   495
      else
9683
4f02aaf40ee9 configure: Refactor header search to make it more portable
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
   496
        echo "not found"
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   497
      fi
9682
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   498
    fi
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   499
  done
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   500
  if [ ! -f "$lua_h" ]; then
9683
4f02aaf40ee9 configure: Refactor header search to make it more portable
Matthew Wild <mwild1@gmail.com>
parents: 9682
diff changeset
   501
    echo "lua.h not found."
9682
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   502
    echo
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
diff changeset
   503
    die "You may want to use the flag --with-lua or --with-lua-include. See --help."
6178b491fe28 configure: Also look for lua.h in a directory with the same suffix as the interpreter (FreeBSD-friendly)
Matthew Wild <mwild1@gmail.com>
parents: 9662
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
8090
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   507
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
   508
then
8090
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   509
   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
   510
   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
   511
   if [ "$header_version" = "$LUA_VERSION" ]
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   512
   then
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   513
      echo "yes"
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   514
   else
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   515
      echo "no"
eb38f3b919be configure: Skip some interpreter checks if --runwith is set
Kim Alvefur <zash@zash.se>
parents: 8089
diff changeset
   516
      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
   517
      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
   518
   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
   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
3762
f02bac902a1e util.encodings: Support for ICU for IDNA operations.
Tobias Markmann <tm@ayena.de>
parents: 3352
diff changeset
   521
if [ "$IDN_LIBRARY" = "icu" ]
f02bac902a1e util.encodings: Support for ICU for IDNA operations.
Tobias Markmann <tm@ayena.de>
parents: 3352
diff changeset
   522
then
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   523
   IDNA_LIBS="$ICU_FLAGS"
11013
74ef9f2334f3 configure: Pass compiler flag to enable ICU only when building util.encodings
Kim Alvefur <zash@zash.se>
parents: 10014
diff changeset
   524
   IDNA_FLAGS="-DUSE_STRINGPREP_ICU"
3762
f02bac902a1e util.encodings: Support for ICU for IDNA operations.
Tobias Markmann <tm@ayena.de>
parents: 3352
diff changeset
   525
fi
5641
92ffddd02c96 configure: Fix poor layout
James Callahan <james@chatid.com>
parents: 5422
diff changeset
   526
if [ "$IDN_LIBRARY" = "idn" ]
3764
323169f229fa Make libidn default when not specifiying a IDN lib.
Tobias Markmann <tm@ayena.de>
parents: 3763
diff changeset
   527
then
7610
d17bc0d0748e configure: Normalize whitespace
Kim Alvefur <zash@zash.se>
parents: 7551
diff changeset
   528
   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
   529
fi
323169f229fa Make libidn default when not specifiying a IDN lib.
Tobias Markmann <tm@ayena.de>
parents: 3763
diff changeset
   530
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   531
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
   532
   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
   533
fi
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   534
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
   535
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
   536
   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
   537
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
   538
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
   539
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
   540
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   541
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
   542
   PRNGLIBS=$OPENSSL_LIBS
9428
b741e9b9593b configure: Fix incorrect syntax of '&&' in previous commit
Matthew Wild <mwild1@gmail.com>
parents: 9427
diff changeset
   543
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
   544
   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
   545
fi
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   546
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   547
# 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
   548
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   549
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
   550
echo
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   551
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   552
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
   553
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
   554
# 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
   555
# 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
   556
7945
21a25b29ebeb configure: Merge with configure from LuaRocks (which it was originally based on apparently)
Kim Alvefur <zash@zash.se>
parents: 7938
diff changeset
   557
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
   558
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
   559
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
   560
LIBDIR=$LIBDIR
502
21dc299387a6 Installation improvements (auto-creation of data directories)
Matthew Wild <mwild1@gmail.com>
parents: 467
diff changeset
   561
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
   562
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
   563
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
   564
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
   565
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
   566
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
   567
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
   568
IDN_LIB=$IDN_LIB
11013
74ef9f2334f3 configure: Pass compiler flag to enable ICU only when building util.encodings
Kim Alvefur <zash@zash.se>
parents: 10014
diff changeset
   569
IDNA_FLAGS=$IDNA_FLAGS
3762
f02bac902a1e util.encodings: Support for ICU for IDNA operations.
Tobias Markmann <tm@ayena.de>
parents: 3352
diff changeset
   570
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
   571
OPENSSL_LIBS=$OPENSSL_LIBS
511
f9ab28562fda Potential fixes for building on Mac OSX
Matthew Wild <mwild1@gmail.com>
parents: 502
diff changeset
   572
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
   573
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
   574
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
   575
LD=$LD
5145
53f741a5a73a configure, Makefile: Allow runtime to be overridden.
Kim Alvefur <zash@zash.se>
parents: 5048
diff changeset
   576
RUNWITH=$RUNWITH
5933
56b1f151f4a3 Makefile, configure: Add option for disabling generation of example certificates
Kim Alvefur <zash@zash.se>
parents: 5422
diff changeset
   577
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
   578
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
   579
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
   580
463
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   581
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   582
EOF
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   583
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   584
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
   585
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
   586
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
   587
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   588
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
   589
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   590
echo
a2452d3bd828 Add a top-level Makefile and ./configure script. Update util-src Makefile for this.
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
   591
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
   592
echo