| 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 |
| |