blob: 3f8d14a3ed951dbe398961a2de968bb33130c51c [file] [log] [blame]
From b650a9cb9202cbb9acedc6cc043c622bf815ab1d 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 034/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..e0e048a 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" = "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
--
2.32.0