diff options
author | Victor Stinner <vstinner@redhat.com> | 2019-04-17 21:02:26 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-17 21:02:26 (GMT) |
commit | 5c75f37d473140f0e0b7d9bf3a8c08343447ded1 (patch) | |
tree | 9c2ce8ff92bf17d73dfe14c7d7027a36693b590d /setup.py | |
parent | 3092d6b2630e4d2bd200fbc3231c27a7cba4d6b2 (diff) | |
download | cpython-5c75f37d473140f0e0b7d9bf3a8c08343447ded1.zip cpython-5c75f37d473140f0e0b7d9bf3a8c08343447ded1.tar.gz cpython-5c75f37d473140f0e0b7d9bf3a8c08343447ded1.tar.bz2 |
bpo-36635: Change pyport.h for Py_BUILD_CORE_MODULE define (GH-12853)
Change PyAPI_FUNC(type), PyAPI_DATA(type) and PyMODINIT_FUNC macros
of pyport.h when Py_BUILD_CORE_MODULE is defined.
The Py_BUILD_CORE_MODULE define must be now be used to build a C
extension as a dynamic library accessing Python internals: export the
PyInit_xxx() function in DLL exports on Windows.
Changes:
* Py_BUILD_CORE_BUILTIN and Py_BUILD_CORE_MODULE now imply
Py_BUILD_CORE directy in pyport.h.
* ceval.c compilation now fails with an error if Py_BUILD_CORE is not
defined, just to ensure that Python is build with the correct
defines.
* setup.py now compiles _pickle.c with Py_BUILD_CORE_MODULE define.
* setup.py compiles _json.c with Py_BUILD_CORE_MODULE define, rather
than Py_BUILD_CORE_BUILTIN define
* PCbuild/pythoncore.vcxproj: Add Py_BUILD_CORE_BUILTIN define.
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -725,13 +725,13 @@ class PyBuildExt(build_ext): # heapq self.add(Extension("_heapq", ["_heapqmodule.c"])) # C-optimized pickle replacement - self.add(Extension("_pickle", ["_pickle.c"])) + self.add(Extension("_pickle", ["_pickle.c"], + extra_compile_args=['-D Py_BUILD_CORE_MODULE'])) # atexit self.add(Extension("atexit", ["atexitmodule.c"])) # _json speedups self.add(Extension("_json", ["_json.c"], - # pycore_accu.h requires Py_BUILD_CORE_BUILTIN - extra_compile_args=['-DPy_BUILD_CORE_BUILTIN'])) + extra_compile_args=['-D Py_BUILD_CORE_MODULE'])) # profiler (_lsprof is for cProfile.py) self.add(Extension('_lsprof', ['_lsprof.c', 'rotatingtree.c'])) |