Message333145
| Author |
vstinner |
| Recipients |
cstratak, dstufft, eric.araujo, hroncok, miss-islington, ned.deily, vstinner |
| Date |
2019年01月07日.11:54:36 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1546862077.12.0.146318229178.issue35257@roundup.psfhosted.org> |
| In-reply-to |
| Content |
New changeset 92f90242994652d6b7afe0a2c8a61cf2bccc8c32 by Ned Deily (Miss Islington (bot)) in branch '3.7':
bpo-35257: fix broken BLDSHARED - needs LDFLAGS too (GH-11297)
https://github.com/python/cpython/commit/92f90242994652d6b7afe0a2c8a61cf2bccc8c32
Since Ned pushed a new fix, I ran again my tests on the 3.7 branch with ./configure CC=clang --with-lto --prefix /opt/py37 --enable-shared:
(1) 4 => ok
(2) 0, False => ok
(3) 0 => ok
Good! It works (in my tests).
--
"make sharedmods" runs "LDSHARED=$BLDSHARED (...) ./python setup.py build"
"make libpython(...)" uses $(BLDSHARED) to link libpython.
Modules/makesetup uses BLDSHARED to build C extensions of the stdlib. Example from generated Makefile:
"Modules/posix$(EXT_SUFFIX): Modules/posixmodule.o; $(BLDSHARED) Modules/posixmodule.o -o Modules/posix$(EXT_SUFFIX) (...)"
distutils has a customize_compiler() function which uses LDSHARED from Makefile (can be overriden by environment variables): it doesn't use BLDSHARED.
It seems like BLDSHARED is only used to build Python itself and stdlib modules. So I agree that it's ok to add PY_LDFLAGS_NODIST flags to BLDSHARED. |
|