closes bpo-22140: Prevent double substitution of prefix in python-con… · python/cpython@14086cf (original) (raw)
`@@ -24,17 +24,18 @@ installed_prefix ()
`
24
24
`echo $RESULT
`
25
25
`}
`
26
26
``
27
``
`-
prefix_build="@prefix@"
`
28
27
`prefix_real=$(installed_prefix "$0")
`
29
28
``
30
29
`# Use sed to fix paths from their built-to locations to their installed-to
`
31
``
`-
locations.
`
32
``
`-
prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#")
`
33
``
`-
exec_prefix_build="@exec_prefix@"
`
34
``
`-
exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#")
`
35
``
`-
includedir=$(echo "@includedir@" | sed "s#$prefix_build#$prefix_real#")
`
36
``
`-
libdir=$(echo "@libdir@" | sed "s#$prefix_build#$prefix_real#")
`
37
``
`-
CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#")
`
``
30
`+
locations. Keep prefix & exec_prefix using their original values in case
`
``
31
`+
they are referenced in other configure variables, to prevent double
`
``
32
`+
substitution, issue #22140.
`
``
33
`+
prefix="@prefix@"
`
``
34
`+
exec_prefix="@exec_prefix@"
`
``
35
`+
exec_prefix_real=${prefix_real}
`
``
36
`+
includedir=$(echo "@includedir@" | sed "s#$prefix#$prefix_real#")
`
``
37
`+
libdir=$(echo "@libdir@" | sed "s#$prefix#$prefix_real#")
`
``
38
`+
CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix#$prefix_real#")
`
38
39
`VERSION="@VERSION@"
`
39
40
`LIBM="@LIBM@"
`
40
41
`LIBC="@LIBC@"
`
`@@ -47,8 +48,8 @@ LINKFORSHARED="@LINKFORSHARED@"
`
47
48
`OPT="@OPT@"
`
48
49
`PY_ENABLE_SHARED="@PY_ENABLE_SHARED@"
`
49
50
`LDVERSION="@LDVERSION@"
`
50
``
`-
LIBDEST=${prefix}/lib/python${VERSION}
`
51
``
`-
LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#")
`
``
51
`+
LIBDEST=${prefix_real}/lib/python${VERSION}
`
``
52
`+
LIBPL=$(echo "@LIBPL@" | sed "s#$prefix#$prefix_real#")
`
52
53
`SO="@EXT_SUFFIX@"
`
53
54
`PYTHONFRAMEWORK="@PYTHONFRAMEWORK@"
`
54
55
`INCDIR="-I$includedir/python${VERSION}${ABIFLAGS}"
`
`@@ -73,10 +74,10 @@ for ARG in "$@"
`
73
74
`do
`
74
75
`case "$ARG" in
`
75
76
` --prefix)
`
76
``
`-
echo "$prefix"
`
``
77
`+
echo "$prefix_real"
`
77
78
` ;;
`
78
79
` --exec-prefix)
`
79
``
`-
echo "$exec_prefix"
`
``
80
`+
echo "$exec_prefix_real"
`
80
81
` ;;
`
81
82
` --includes)
`
82
83
`echo "$INCDIR $PLATINCDIR"
`