mirror of
https://github.com/python/cpython.git
synced 2025-11-03 03:22:27 +00:00
gh-94404: makesetup: use correct CFLAGS and macOS workaround (GH-94405)
``makesetup`` now works around an issue with sed on macOS and uses correct CFLAGS for object files that end up in a shared extension.
This commit is contained in:
parent
79ac8c1c0d
commit
5150cbcd68
2 changed files with 13 additions and 5 deletions
|
|
@ -0,0 +1,2 @@
|
||||||
|
``makesetup`` now works around an issue with sed on macOS and uses correct
|
||||||
|
CFLAGS for object files that end up in a shared extension.
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
# Convert templates into Makefile and config.c, based on the module
|
# Convert templates into Makefile and config.c, based on the module
|
||||||
# definitions found in the file Setup.
|
# definitions found in the file Setup.
|
||||||
|
|
@ -260,7 +261,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
|
||||||
*) src='$(srcdir)/'"$srcdir/$src";;
|
*) src='$(srcdir)/'"$srcdir/$src";;
|
||||||
esac
|
esac
|
||||||
case $doconfig in
|
case $doconfig in
|
||||||
no) cc="$cc \$(CCSHARED) \$(PY_CFLAGS_NODIST) \$(PY_CPPFLAGS)";;
|
no) cc="$cc \$(PY_STDMODULE_CFLAGS) \$(CCSHARED)";;
|
||||||
*)
|
*)
|
||||||
cc="$cc \$(PY_BUILTIN_MODULE_CFLAGS)";;
|
cc="$cc \$(PY_BUILTIN_MODULE_CFLAGS)";;
|
||||||
esac
|
esac
|
||||||
|
|
@ -322,8 +323,13 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
|
||||||
|
|
||||||
case $makepre in
|
case $makepre in
|
||||||
-) ;;
|
-) ;;
|
||||||
*) sedf="@sed.in.$$"
|
*)
|
||||||
trap 'rm -f $sedf' 0 1 2 3
|
# macOS' sed has issues with 'a' command. Use 'r' command with an
|
||||||
|
# external replacement file instead.
|
||||||
|
sedf="@sed.in.$$"
|
||||||
|
sedr="@sed.replace.$$"
|
||||||
|
trap 'rm -f $sedf $sedr' 0 1 2 3
|
||||||
|
echo "$NL$NL$DEFS" | sed 's/\\$//' > $sedr
|
||||||
echo "1i\\" >$sedf
|
echo "1i\\" >$sedf
|
||||||
str="# Generated automatically from $makepre by makesetup."
|
str="# Generated automatically from $makepre by makesetup."
|
||||||
echo "$str" >>$sedf
|
echo "$str" >>$sedf
|
||||||
|
|
@ -332,10 +338,10 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
|
||||||
echo "s%_MODDISABLED_NAMES_%$DISABLED%" >>$sedf
|
echo "s%_MODDISABLED_NAMES_%$DISABLED%" >>$sedf
|
||||||
echo "s%_MODOBJS_%$OBJS%" >>$sedf
|
echo "s%_MODOBJS_%$OBJS%" >>$sedf
|
||||||
echo "s%_MODLIBS_%$LIBS%" >>$sedf
|
echo "s%_MODLIBS_%$LIBS%" >>$sedf
|
||||||
echo "/Definitions added by makesetup/a$NL$NL$DEFS" >>$sedf
|
echo "/Definitions added by makesetup/r $sedr" >>$sedf
|
||||||
sed -f $sedf $makepre >Makefile
|
sed -f $sedf $makepre >Makefile
|
||||||
cat $rulesf >>Makefile
|
cat $rulesf >>Makefile
|
||||||
rm -f $sedf
|
rm -f $sedf $sedr
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue