summaryrefslogtreecommitdiff
path: root/configure
blob: ad724ccbd28c9f633e9443604f424767bc82dda7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/sh

# This file is part of GNU Taler.
# (C) 2020 Taler Systems S.A.
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
# LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
# THIS SOFTWARE.
#
# SPDX-License-Identifier: 0BSD

# This script checks if a suitable python3 executable is installed and then
# executes the actual configure logic written in Python.

build_system_dir=build-system

if ! test -d "$build_system_dir"; then
  # Maybe this is not a top-level configure invocation
  # For monorepos, try location from top-level
  build_system_dir=../../build-system
fi

if ! test -d "$build_system_dir"; then
  echo "fatal error: build-system directory not found" >&2
  echo "hint: are you running this script from the right directory?" >&2
  exit 1
fi

scriptpath=$build_system_dir/taler-build-scripts
if ! test -d "$build_system_dir"; then
  echo "fatal error: taler-build-scripts directory not found at $scriptpath" >&2
  echo "hint: did you run './bootstrap'?" >&2
  exit 1
fi

export TALERBUILDSYSTEMDIR=$build_system_dir

# Check that the python3 executable is on the PATH.
# This follows PEP 394 (https://www.python.org/dev/peps/pep-0394/).
if ! python3 --version >/dev/null 2>&1; then
  echo "error: python3 not found" >&2
  exit 1
fi

# Let python3 check that its own version is okay for us.
python3 "$scriptpath/pyvercheck.py" || exit $?

# Allow Python to find libraries that are checked into the build system git.
export PYTHONPATH="$scriptpath:${PYTHONPATH:-}"

# Call configure.py, assuming all went well.
python3 $TALERBUILDSYSTEMDIR/configure.py "$@"