File Modules_Setup.patch of Package python3.41795
---
Modules/makesetup | 44 +++---
2 files changed, 416 insertions(+), 20 deletions(-)
Index: Python-3.4.10/Modules/makesetup
===================================================================
--- Python-3.4.10.orig/Modules/makesetup 2019-03-18 17:51:26.000000000 +0100
+++ Python-3.4.10/Modules/makesetup 2025-12-09 10:05:00.056095124 +0100
@@ -67,7 +67,7 @@
# (Not all systems have dirname)
case $libdir in
'') case $0 in
- */*) libdir=`echo $0 | sed 's,/[^/]*$,,'`;;
+ */*) libdir=${0%/*};;
*) libdir=.;;
esac;;
esac
@@ -84,8 +84,8 @@
# Setup to link with extra libraries when makeing shared extensions.
# Currently, only Cygwin needs this baggage.
-case `uname -s` in
-CYGWIN*) if test $libdir = .
+case $(uname -s) in
+CYGWIN*) if test "$libdir" = .
then
ExtraLibDir=.
else
@@ -95,8 +95,8 @@
esac
# Main loop
-for i in ${*-Setup}
-do
+for i in "$@"; do
+ [ "$i" = "-Setup" ] && i=Setup
case $i in
-n) echo '*noobjects*';;
*) echo '*doconfig*'; cat "$i";;
@@ -116,19 +116,23 @@
LIBS=
LOCALLIBS=
BASELIBS=
- while read line
+ while read -r line
do
# to handle backslashes for sh's that don't automatically
# continue a read when the last char is a backslash
- while echo $line | grep '\\$' > /dev/null
+ while echo "$line" | grep '\\$' > /dev/null
do
- read extraline
- line=`echo $line| sed s/.$//`$extraline
+ read -r extraline
+ line=${line%?}"$extraline"
done
# Output DEFS in reverse order so first definition overrides
case $line in
- *=*) DEFS="$line$NL$DEFS"; continue;;
+ *=*) if [ $(sed -e 's$::=\|:=\|+=\|?=$=$' -e 's$\s*=.*$$' <<< "$line" | wc -w) == 1 ]
+ then
+ DEFS="$line$NL$DEFS"; continue;
+ fi
+ ;;
'include '*) DEFS="$line$NL$DEFS"; continue;;
'*noobjects*')
case $noobjects in
@@ -169,7 +173,7 @@
*.sl) libs="$libs $arg";;
/*.o) libs="$libs $arg";;
*.def) libs="$libs $arg";;
- *.o) srcs="$srcs `basename $arg .o`.c";;
+ *.o) srcs="$srcs $(basename "$arg" .o).c";;
*.[cC]) srcs="$srcs $arg";;
*.m) srcs="$srcs $arg";; # Objective-C src
*.cc) srcs="$srcs $arg";;
@@ -199,13 +203,13 @@
for src in $srcs
do
case $src in
- *.c) obj=`basename $src .c`.o; cc='$(CC)';;
- *.cc) obj=`basename $src .cc`.o; cc='$(CXX)';;
- *.c++) obj=`basename $src .c++`.o; cc='$(CXX)';;
- *.C) obj=`basename $src .C`.o; cc='$(CXX)';;
- *.cxx) obj=`basename $src .cxx`.o; cc='$(CXX)';;
- *.cpp) obj=`basename $src .cpp`.o; cc='$(CXX)';;
- *.m) obj=`basename $src .m`.o; cc='$(CC)';; # Obj-C
+ *.c) obj=$(basename "$src" .c).o; cc='$(CC)';;
+ *.cc) obj=$(basename "$src" .cc).o; cc='$(CXX)';;
+ *.c++) obj=$(basename "$src" .c++).o; cc='$(CXX)';;
+ *.C) obj=$(basename "$src" .C).o; cc='$(CXX)';;
+ *.cxx) obj=$(basename "$src" .cxx).o; cc='$(CXX)';;
+ *.cpp) obj=$(basename "$src" .cpp).o; cc='$(CXX)';;
+ *.m) obj=$(basename "$src" .m).o; cc='$(CC)';; # Obj-C
*) continue;;
esac
obj="$srcdir/$obj"
@@ -269,7 +273,7 @@
/MARKER 2/i$NL$INITBITS
- " $config >config.c
+ " "$config" >config.c
;;
esac
@@ -283,7 +287,7 @@
echo "s%_MODOBJS_%$OBJS%" >>$sedf
echo "s%_MODLIBS_%$LIBS%" >>$sedf
echo "/Definitions added by makesetup/a$NL$NL$DEFS" >>$sedf
- sed -f $sedf $makepre >Makefile
+ sed -f $sedf "$makepre" >Makefile
cat $rulesf >>Makefile
rm -f $sedf
;;