This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

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.
History
Date User Action Args
2019-01-07 11:54:38vstinnersetrecipients: + vstinner, ned.deily, eric.araujo, dstufft, cstratak, hroncok, miss-islington
2019-01-07 11:54:37vstinnersetmessageid: <1546862077.12.0.146318229178.issue35257@roundup.psfhosted.org>
2019-01-07 11:54:37vstinnerlinkissue35257 messages
2019-01-07 11:54:36vstinnercreate