Switch to python3.7 (integration-tests incomplete), continue using python2.7 for...
[oweals/gnunet.git] / bootstrap
1 #!/bin/sh
2 # This file is in the public domain.
3 echo "Removing folder 'libltdl'..."
4 rm -rf libltdl
5
6 echo "checking for libtoolize / libtool... "
7
8 # This is more portable than `which' but comes with
9 # the caveat of not(?) properly working on busybox's ash:
10 existence()
11 {
12     command -v "$1" >/dev/null 2>&1
13 }
14
15 if existence libtool || existence libtoolize || existence glibtoolize; then
16     autoreconf -if
17     . "bin/pogen.sh"
18 else
19     echo "*** No libtoolize (libtool) or libtool found, please install it ***" >&2;
20     exit 1
21 fi
22
23 # autotools is being incredible stupid with multiple python versions
24 # what we do here is check for a functional python 2.7 which reports
25 # back to be a real python 2.7, then later on sed the location in
26 # the only python 2.7 file we keep around
27 # the rest of the build system can then be happy detecting 3.7 or
28 # higher
29 # this checks a range of names which is as annoying as what autotools
30 # is doing
31 # Since everything we could try is do too much work, we will assume
32 # that python2 OR python2.7 are the names for python 2.7.
33 # If your system diverges, please sed it accordingly!
34 echo "save python 2.7 location into src/util/python27_location"
35 #if existence python2 || existence python2.7; then
36 #       echo command -v
37 python_version()
38 {
39         "$1" -c "print(__import__('sys').version)" | grep -Z "2.7" | cut -c1-3
40 }
41
42 if existence python; then
43     if [ ! -z "${python_version} python" ]; then
44         loc1=$(command -v python)
45         echo "$loc1" >./src/util/python27_location
46     fi
47 elif existence python2; then
48     if [ ! -z "${python_version} python2" ]; then
49         loc2=$(command -v python2)
50         echo "$loc2" >./src/util/python27_location
51     fi
52 elif existence python2.7; then
53     if [ ! -z "${python_version} python2.7" ]; then
54         loc3=$(command -v python2.7)
55         echo "$loc3" >./src/util/python27_location
56     fi
57 else
58     echo "*** No python 2.7 binary found, please install it" >&2
59     echo "*** for the optional gnunet-qr to work." >&2
60     echo "*** Make sure to install a matching python future module." >&2
61 fi