Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32.1k
Description
Bug report
The scriptModules/makesetup
has two issues
It uses sed
i
command with multiple escapes newlines. The feature works fine in GNU sed but does not work correctly with macOS' BSD sed.@ned-deily found aworkaround for the problem. Ther
command with an external replacement file works correctly on GNU and BSD sed.makesetup
creates wrong compile rules for object files that end up in a shared library. The variables$(CCSHARED) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS)
are missing some flags like address sanitizer. The script should create rules with$(PY_STDMODULE_CFLAGS) $(CCSHARED)
instead.the order of cflags can break builds. For example macOS ARM64 builds arebroken because
-I./Modules/_decimal/libmpdec
comes after-I/opt/homebrew/include
and the buildbot seems to come with an incompatible libmpdec header. Module-specific CFLAGs should come before Python CFLAGs. It is probably easier to move module CFLAGS beforePY_STDMODULE_CFLAGS
. The homebrew flag comes fromPY_CPPFLAGS
andCONFIGURE_CPPFLAGS
.