160 lines
4.7 KiB
Diff
160 lines
4.7 KiB
Diff
From a3da6c38d96be769365d9763c22df0f260f8687a Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?=
|
|
<alexey.pawlow@gmail.com>
|
|
Date: Thu, 17 Jun 2021 18:51:43 +0530
|
|
Subject: [PATCH 020/N] add python config sh
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Co-authored-by: Алексей <alexey.pawlow@gmail.com>
|
|
Co-authored-by: Christoph Reiter <reiter.christoph@gmail.com>
|
|
---
|
|
Misc/python-config.sh.in | 62 +++++++++++++++++++++++++---------------
|
|
1 file changed, 39 insertions(+), 23 deletions(-)
|
|
|
|
diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in
|
|
index 2602fe2..195c317 100644
|
|
--- a/Misc/python-config.sh.in
|
|
+++ b/Misc/python-config.sh.in
|
|
@@ -1,32 +1,44 @@
|
|
#!/bin/sh
|
|
|
|
-# Keep this script in sync with python-config.in
|
|
-
|
|
exit_with_usage ()
|
|
{
|
|
echo "Usage: $0 --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--abiflags|--configdir|--embed"
|
|
- exit $1
|
|
+ exit 1
|
|
}
|
|
|
|
+# Really, python-config.py (and thus .sh) should be called directly, but
|
|
+# sometimes software (e.g. GDB) calls python-config.sh as if it were the
|
|
+# Python executable, passing python-config.py as the first argument.
|
|
+# Work around that oddness by ignoring any .py passed as first arg.
|
|
+case "$1" in
|
|
+ *.py)
|
|
+ shift
|
|
+ ;;
|
|
+esac
|
|
+
|
|
if [ "$1" = "" ] ; then
|
|
- exit_with_usage 1
|
|
+ exit_with_usage
|
|
fi
|
|
|
|
# Returns the actual prefix where this script was installed to.
|
|
installed_prefix ()
|
|
{
|
|
- RESULT=$(dirname $(cd $(dirname "$1") && pwd -P))
|
|
- if which readlink >/dev/null 2>&1 ; then
|
|
- if readlink -f "$RESULT" >/dev/null 2>&1; then
|
|
- RESULT=$(readlink -f "$RESULT")
|
|
- fi
|
|
+ local RESULT=$(dirname $(cd $(dirname "$1") && pwd -P))
|
|
+ if [ $(which readlink) ] ; then
|
|
+ RESULT=$(readlink -f "$RESULT")
|
|
+ fi
|
|
+ # Since we don't know where the output from this script will end up
|
|
+ # we keep all paths in Windows-land since MSYS2 can handle that
|
|
+ # while native tools can't handle paths in MSYS2-land.
|
|
+ if [ "$OSTYPE" = "cygwin" ] || [ "$OSTYPE" = "msys" ] ; then
|
|
+ RESULT=$(cd "$RESULT" && pwd -W)
|
|
fi
|
|
echo $RESULT
|
|
}
|
|
|
|
prefix_real=$(installed_prefix "$0")
|
|
|
|
-# Use sed to fix paths from their built-to locations to their installed-to
|
|
+# Use sed to fix paths from their built-to locations to their installed to
|
|
# locations. Keep prefix & exec_prefix using their original values in case
|
|
# they are referenced in other configure variables, to prevent double
|
|
# substitution, issue #22140.
|
|
@@ -41,13 +53,17 @@ LIBM="@LIBM@"
|
|
LIBC="@LIBC@"
|
|
SYSLIBS="$LIBM $LIBC"
|
|
ABIFLAGS="@ABIFLAGS@"
|
|
+# Protect against lack of substitution.
|
|
+if [ "$ABIFLAGS" = "@""ABIFLAGS""@" ] ; then
|
|
+ ABIFLAGS=
|
|
+fi
|
|
LIBS="@LIBPYTHON@ @LIBS@ $SYSLIBS"
|
|
LIBS_EMBED="-lpython${VERSION}${ABIFLAGS} @LIBS@ $SYSLIBS"
|
|
BASECFLAGS="@BASECFLAGS@"
|
|
-LDLIBRARY="@LDLIBRARY@"
|
|
OPT="@OPT@"
|
|
PY_ENABLE_SHARED="@PY_ENABLE_SHARED@"
|
|
LDVERSION="@LDVERSION@"
|
|
+LDLIBRARY="@LDLIBRARY@"
|
|
LIBDEST=${prefix_real}/lib/python${VERSION}
|
|
LIBPL=$(echo "@LIBPL@" | sed "s#$prefix#$prefix_real#")
|
|
SO="@EXT_SUFFIX@"
|
|
@@ -61,7 +77,7 @@ for ARG in $*
|
|
do
|
|
case $ARG in
|
|
--help)
|
|
- exit_with_usage 0
|
|
+ exit_with_usage
|
|
;;
|
|
--embed)
|
|
PY_EMBED=1
|
|
@@ -69,7 +85,7 @@ do
|
|
--prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--abiflags|--configdir)
|
|
;;
|
|
*)
|
|
- exit_with_usage 1
|
|
+ exit_with_usage
|
|
;;
|
|
esac
|
|
done
|
|
@@ -80,37 +96,37 @@ fi
|
|
|
|
for ARG in "$@"
|
|
do
|
|
- case "$ARG" in
|
|
+ case $ARG in
|
|
--prefix)
|
|
- echo "$prefix_real"
|
|
+ echo -ne "$prefix_real"
|
|
;;
|
|
--exec-prefix)
|
|
- echo "$exec_prefix_real"
|
|
+ echo -ne "$exec_prefix_real "
|
|
;;
|
|
--includes)
|
|
- echo "$INCDIR $PLATINCDIR"
|
|
+ echo -ne "$INCDIR $PLATINCDIR"
|
|
;;
|
|
--cflags)
|
|
- echo "$INCDIR $PLATINCDIR $BASECFLAGS $CFLAGS $OPT"
|
|
+ echo -ne "$INCDIR $PLATINCDIR $BASECFLAGS $CFLAGS $OPT"
|
|
;;
|
|
--libs)
|
|
- echo "$LIBS"
|
|
+ echo -ne "$LIBS"
|
|
;;
|
|
--ldflags)
|
|
LIBPLUSED=
|
|
if [ "$PY_ENABLE_SHARED" = "0" ] ; then
|
|
LIBPLUSED="-L$LIBPL"
|
|
fi
|
|
- echo "$LIBPLUSED -L$libdir $LIBS"
|
|
+ echo -ne "$LIBPLUSED -L$libdir $LIBS "
|
|
;;
|
|
--extension-suffix)
|
|
- echo "$SO"
|
|
+ echo -ne "$SO "
|
|
;;
|
|
--abiflags)
|
|
- echo "$ABIFLAGS"
|
|
+ echo -ne "$ABIFLAGS "
|
|
;;
|
|
--configdir)
|
|
- echo "$LIBPL"
|
|
+ echo -ne "$LIBPL "
|
|
;;
|
|
esac
|
|
done
|