@@ -26,12 +26,18 @@ function lex_pyver {
26
26
function do_python_build {
27
27
local py_ver=$1
28
28
check_var $py_ver
29
- mkdir -p /opt/$py_ver /lib
29
+ local soabi_flags=$2
30
+ check_var $soabi_flags
31
+ mkdir -p /opt/python/${py_ver}${soabi_flags} /lib
30
32
if [ $( lex_pyver $py_ver ) -lt $( lex_pyver 3.3) ]; then
31
- local unicode_flags=" --enable-unicode=ucs4"
33
+ if [ $soabi_flags = " mu" ]; then
34
+ local unicode_flags=" --enable-unicode=ucs4"
35
+ else
36
+ local unicode_flags=" --enable-unicode=ucs2"
37
+ fi
32
38
fi
33
39
# -Wformat added for https://bugs.python.org/issue17547 on Python 2.6
34
- CFLAGS=" -Wformat" LDFLAGS= " -Wl,-rpath /opt/ $py_ver /lib " ./configure --prefix=/opt/$ py_ver --disable-shared $unicode_flags > /dev/null
40
+ CFLAGS=" -Wformat" ./configure --prefix=/opt/python/ ${ py_ver}${soabi_flags} --disable-shared $unicode_flags > /dev/null
35
41
make -j2 > /dev/null
36
42
make install > /dev/null
37
43
}
@@ -43,15 +49,21 @@ function build_python {
43
49
local py_ver2=" $( echo $py_ver | cut -d. -f 1,2) "
44
50
check_var $PYTHON_DOWNLOAD_URL
45
51
wget -q $PYTHON_DOWNLOAD_URL /$py_ver /Python-$py_ver .tgz
46
- tar -xzf Python-$py_ver .tgz
47
- (cd Python-$py_ver && do_python_build $py_ver )
48
- if [ $( lex_pyver $py_ver ) -ge $( lex_pyver 3) ]; then \
49
- ln -s /opt/$py_ver /bin/python3 /opt/$py_ver /bin/python;
50
- fi ;
51
- ln -s /opt/$py_ver / /opt/$py_ver2
52
- /opt/$py_ver /bin/python get-pip.py
53
- /opt/$py_ver /bin/pip install wheel
54
- rm -rf Python-$py_ver .tgz Python-$py_ver
52
+ if [ $( lex_pyver $py_ver ) -lt $( lex_pyver 3.3) ]; then
53
+ local soabi_flags_list=" mu m"
54
+ fi
55
+ for soabi_flags in ${soabi_flags_list:- m} ; do
56
+ tar -xzf Python-$py_ver .tgz
57
+ (cd Python-$py_ver && do_python_build $py_ver $soabi_flags )
58
+ if [ $( lex_pyver $py_ver ) -ge $( lex_pyver 3) ]; then \
59
+ ln -s /opt/python/${py_ver}${soabi_flags} /bin/python3 /opt/python/${py_ver}${soabi_flags} /bin/python;
60
+ fi ;
61
+ ln -s /opt/python/${py_ver}${soabi_flags} / /opt/${py_ver2}${soabi_flags}
62
+ /opt/python/${py_ver}${soabi_flags} /bin/python get-pip.py
63
+ /opt/python/${py_ver}${soabi_flags} /bin/pip install wheel
64
+ rm -rf Python-$py_ver
65
+ done
66
+ rm -f Python-$py_ver .tgz
55
67
}
56
68
57
69
0 commit comments