summaryrefslogtreecommitdiffstats
path: root/Makefile.pre.in
Commit message (Collapse)AuthorAgeFilesLines
* bpo-39144 Align ctags and etags behaviours in the makefile and include ↵Miss Islington (bot)2019-12-281-0/+3
| | | | | | | Python stdlib files (GH-17721) (cherry picked from commit ef7eaafc9d2e370cf79b3674e56f643bbfe239e2) Co-authored-by: Anthony Shaw <anthony.p.shaw@gmail.com>
* bpo-28494: install ziptestdata to fix install bot (GH-15902)Miss Islington (bot)2019-09-111-0/+1
| | | | | (cherry picked from commit c37447481ec8f6d0e49d0587ec0de3f9e7d56b28) Co-authored-by: Gregory P. Smith <greg@krypto.org>
* bpo-37589: Add a few missing dependencies on .h files in the Makefile. ↵Miss Islington (bot)2019-09-091-7/+11
| | | | | | | | | (GH-15757) The missing dependencies prevented incremental builds from working when you touched any of these files. Based on GH-14758 by @vemakereporter. (cherry picked from commit b4612f5d54aced5bc37f1b85bf50b4cafa2480f0) Co-authored-by: T. Wouters <thomas@python.org>
* bpo-36044: Reduce number of unit tests run for PGO build (GH-14702)Miss Islington (bot)2019-07-221-3/+4
| | | | | | | | | | | | | | Reduce the number of unit tests run for the PGO generation task. This speeds up the task by a factor of about 15x. Running the full unit test suite is slow. This change may result in a slightly less optimized build since not as many code branches will be executed. If you are willing to wait for the much slower build, the old behavior can be restored using './configure [..] PROFILE_TASK="-m test --pgo-extended"'. We make no guarantees as to which PGO task set produces a faster build. Users who care should run their own relevant benchmarks as results can depend on the environment, workload, and compiler tool chain. (cherry picked from commit 4e16a4a3112161a5c6981c0588142d4a4673a934) Co-authored-by: Neil Schemenauer <nas-github@arctrix.com>
* bpo-37359: Add --cleanup option to python3 -m test (GH-14332) (GH-14334)Victor Stinner2019-06-241-0/+5
| | | | | | | * regrtest: Add --cleanup option to remove "test_python_*" directories of previous failed test jobs. * Add "make cleantest" to run "python3 -m test --cleanup". (cherry picked from commit 47fbc4e45b35b3111e2d947a66490a43ac21d363)
* bpo-37215: Fix dtrace issue introduce by bpo-36842 (GH-13940)Miss Islington (bot)2019-06-101-5/+5
| | | | | | | | Signed-off-by: Christian Heimes <christian@python.org> https://bugs.python.org/issue37215 (cherry picked from commit 8a8b59c9794674b50b2242698c29038034f4864c) Co-authored-by: Christian Heimes <christian@python.org>
* bpo-26219: per opcode cache for LOAD_GLOBAL (GH-12884)Inada Naoki2019-06-031-0/+1
| | | | | | This patch implements per opcode cache mechanism, and use it in only LOAD_GLOBAL opcode. Based on Yury's opcache3.patch in bpo-26219.
* bpo-36763: Implement the PEP 587 (GH-13592)Victor Stinner2019-05-271-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add a whole new documentation page: "Python Initialization Configuration" * PyWideStringList_Append() return type is now PyStatus, instead of int * PyInterpreterState_New() now calls PyConfig_Clear() if PyConfig_InitPythonConfig() fails. * Rename files: * Python/coreconfig.c => Python/initconfig.c * Include/cpython/coreconfig.h => Include/cpython/initconfig.h * Include/internal/: pycore_coreconfig.h => pycore_initconfig.h * Rename structures * _PyCoreConfig => PyConfig * _PyPreConfig => PyPreConfig * _PyInitError => PyStatus * _PyWstrList => PyWideStringList * Rename PyConfig fields: * use_module_search_paths => module_search_paths_set * module_search_path_env => pythonpath_env * Rename PyStatus field: _func => func * PyInterpreterState: rename core_config field to config * Rename macros and functions: * _PyCoreConfig_SetArgv() => PyConfig_SetBytesArgv() * _PyCoreConfig_SetWideArgv() => PyConfig_SetArgv() * _PyCoreConfig_DecodeLocale() => PyConfig_SetBytesString() * _PyInitError_Failed() => PyStatus_Exception() * _Py_INIT_ERROR_TYPE_xxx enums => _PyStatus_TYPE_xxx * _Py_UnixMain() => Py_BytesMain() * _Py_ExitInitError() => Py_ExitStatusException() * _Py_PreInitializeFromArgs() => Py_PreInitializeFromBytesArgs() * _Py_PreInitializeFromWideArgs() => Py_PreInitializeFromArgs() * _Py_PreInitialize() => Py_PreInitialize() * _Py_RunMain() => Py_RunMain() * _Py_InitializeFromConfig() => Py_InitializeFromConfig() * _Py_INIT_XXX() => _PyStatus_XXX() * _Py_INIT_FAILED() => _PyStatus_EXCEPTION() * Rename 'err' PyStatus variables to 'status' * Convert RUN_CODE() macro to config_run_code() static inline function * Remove functions: * _Py_InitializeFromArgs() * _Py_InitializeFromWideArgs() * _PyInterpreterState_GetCoreConfig()
* bpo-36785: PEP 574 implementation (GH-7076)Antoine Pitrou2019-05-261-1/+3
|
* bpo-34632 fix buildbots and remove artifact (GH-13566)Jason R. Coombs2019-05-251-0/+1
| | | | | | * bpo-34632: Also include the test data directory. * bpo-34632: remove the framework resources artifacts, accidentally added in 1bbf7b661f (ccbccce)
* bpo-34632: fix installation of importlib.metadata (#13563)Chih-Hsuan Yen2019-05-251-0/+1
|
* bpo-36721: Fix pkg-config symbolic links on "make install" (GH-13551)Victor Stinner2019-05-241-2/+2
|
* bpo-36710: Add tstate parameter in ceval.c (GH-13547)Victor Stinner2019-05-241-0/+1
| | | | | | | | | | | | | | | | * Fix a possible reference leak in _PyErr_Print() if exception is NULL. * PyErr_BadInternalCall(): replace PyErr_Format() with _PyErr_SetString(). * Add pycore_pyerrors.h header file. * New functions: * _PyErr_Clear() * _PyErr_Fetch() * _PyErr_Print() * _PyErr_Restore() * _PyErr_SetObject() * _PyErr_SetString() * Add 'tstate' parameter to _PyEval_AddPendingCall().
* bpo-36842: Implement PEP 578 (GH-12613)Steve Dower2019-05-231-0/+2
| | | Adds sys.audit, sys.addaudithook, io.open_code, and associated C APIs.
* bpo-36721: Add --embed option to python-config (GH-13500)Victor Stinner2019-05-231-1/+6
| | | | | | | | | | | | | | | | | | | | | To embed Python into an application, a new --embed option must be passed to "python3-config --libs --embed" to get "-lpython3.8" (link the application to libpython). To support both 3.8 and older, try "python3-config --libs --embed" first and fallback to "python3-config --libs" (without --embed) if the previous command fails. Add a pkg-config "python-3.8-embed" module to embed Python into an application: "pkg-config python-3.8-embed --libs" includes "-lpython3.8". To support both 3.8 and older, try "pkg-config python-X.Y-embed --libs" first and fallback to "pkg-config python-X.Y --libs" (without --embed) if the previous command fails (replace "X.Y" with the Python version). On the other hand, "pkg-config python3.8 --libs" no longer contains "-lpython3.8". C extensions must not be linked to libpython (except on Android, case handled by the script); this change is backward incompatible on purpose. "make install" now also installs "python-3.8-embed.pc".
* bpo-35134: Register new traceback.h header files (GH-13431)Victor Stinner2019-05-201-0/+2
| | | | Add new cpython/traceback.h and pycore_traceback.h header files to Makefile.pre.in and PCbuild/ project.
* bpo-36786: Run compileall in parallel during "make install" (GH-13078)Antoine Pitrou2019-05-151-6/+6
|
* bpo-13611: Include C14N 2.0 test data in installation (GH-13053)Stefan Behnel2019-05-021-1/+2
| | | | * Include C14N 2.0 test data in installation. * Add README file to the C14N test data directory to reference the original source and licensing conditions.
* bpo-36747: Remove the stale scriptsinstall Makefile target (GH-13003)xdegaye2019-04-291-8/+0
|
* bpo-21536: On Android, C extensions are linked to libpython (GH-12989)xdegaye2019-04-291-0/+1
|
* bpo-21536: Revert Makefile change on python-config (GH-12971)Victor Stinner2019-04-261-1/+3
| | | | Misc/python-config.sh lives in the build directory, not in the source directory.
* bpo-36733: Fix PYTHONPATH for make regen-add (GH-12969)Victor Stinner2019-04-261-2/+2
| | | | Add PYTHONPATH=$(srcdir) to run $(PYTHON_FOR_REGEN) -m Parser.pgen, so it's possible to build Python from a different directory.
* bpo-21536: C extensions are no longer linked to libpython (GH-12946)Victor Stinner2019-04-251-1/+1
| | | | | | | | | | | | | | On Unix, C extensions are no longer linked to libpython. It is now possible to load a C extension built using a shared library Python with a statically linked Python. When Python is embedded, libpython must not be loaded with RTLD_LOCAL, but RTLD_GLOBAL instead. Previously, using RTLD_LOCAL, it was already not possible to load C extensions which were not linked to libpython, like C extensions of the standard library built by the "*shared*" section of Modules/Setup. distutils, python-config and python-config.py have been modified.
* bpo-35134: Add cpython/pymem.h to build system (GH-12842)Victor Stinner2019-04-151-0/+1
|
* bpo-36623: Clean parser headers and include files (GH-12253)Pablo Galindo2019-04-131-1/+0
| | | After the removal of pgen, multiple header and function prototypes that lack implementation or are unused are still lying around.
* bpo-36508: python-config don't export LINKFORSHARED (GH-12661)Victor Stinner2019-04-091-0/+2
| | | | | python-config --ldflags no longer includes flags of the LINKFORSHARED variable. The LINKFORSHARED variable must only be used to build executables.
* bpo-36143: Regenerate Lib/keyword.py from the Grammar and Tokens file using ↵Pablo Galindo2019-03-251-1/+10
| | | | | | pgen (GH-12456) Now that the parser generator is written in Python (Parser/pgen) we can make use of it to regenerate the Lib/keyword file that contains the language keywords instead of parsing the autogenerated grammar files. This also allows checking in the CI that the autogenerated files are up to date.
* bpo-36097: Use only public C-API in the_xxsubinterpreters module (adding as ↵Eric Snow2019-03-151-0/+3
| | | | necessary). (gh-12359)
* Revert: bpo-33608: Factor out a private, per-interpreter ↵Victor Stinner2019-03-041-3/+0
| | | | | | | | | | | | | | | | | | | _Py_AddPendingCall(). (GH-11617) (GH-12159) * Revert "bpo-36097: Use only public C-API in the_xxsubinterpreters module (adding as necessary). (#12003)" This reverts commit bcfa450f210074e16feb761ae5b3e966a2532fcf. * Revert "bpo-33608: Simplify ceval's DISPATCH by hoisting eval_breaker ahead of time. (gh-12062)" This reverts commit bda918bf65a88560ec453aaba0758a9c0d49b449. * Revert "bpo-33608: Use _Py_AddPendingCall() in _PyCrossInterpreterData_Release(). (gh-12024)" This reverts commit b05b711a2cef6c6c381e01069dedac372e0b9fb2. * Revert "bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). (GH-11617)" This reverts commit ef4ac967e2f3a9a18330cc6abe14adb4bc3d0465.
* bpo-36097: Use only public C-API in the_xxsubinterpreters module (adding as ↵Eric Snow2019-03-011-0/+3
| | | | necessary). (#12003)
* bpo-35808: Retire pgen and use pgen2 to generate the parser (GH-11814)Pablo Galindo2019-03-011-38/+4
| | | | | Pgen is the oldest piece of technology in the CPython repository, building it requires various #if[n]def PGEN hacks in other parts of the code and it also depends more and more on CPython internals. This commit removes the old pgen C code and replaces it for a new version implemented in pure Python. This is a modified and adapted version of lib2to3/pgen2 that can generate grammar files compatibles with the current parser. This commit also eliminates all the #ifdef and code branches related to pgen, simplifying the code and making it more maintainable. The regen-grammar step now uses $(PYTHON_FOR_REGEN) that can be any version of the interpreter, so the new pgen code maintains compatibility with older versions of the interpreter (this also allows regenerating the grammar with the current CI solution that uses Python3.5). The new pgen Python module also makes use of the Grammar/Tokens file that holds the token specification, so is always kept in sync and avoids having to maintain duplicate token definitions.
* bpo-36142: Add preconfig.c (GH-12128)Victor Stinner2019-03-011-0/+1
| | | | | * Add _PyArgv_Decode() function * Move _Py_ClearFileSystemEncoding() and _Py_SetFileSystemEncoding() to preconfig.c.
* bpo-36142: Exclude coreconfig.h from Py_LIMITED_API (GH-12111)Victor Stinner2019-03-011-1/+2
| | | | | | | | | The whole coreconfig.h header is now excluded from Py_LIMITED_API. Move functions definitions into a new internal pycore_coreconfig.h header. * Move Include/coreconfig.h to Include/cpython/coreconfig.h * coreconfig.h header is now excluded from Py_LIMITED_API * Move functions to pycore_coreconfig.h
* bpo-12822: use monotonic clock for condvar if possible (GH-11723)Inada Naoki2019-02-201-2/+3
|
* bpo-35520: Fix build with dtrace support on certain systems. (#11194)Jakub Kulík2019-01-241-4/+8
|
* bpo-35257: fix broken BLDSHARED - needs LDFLAGS too (GH-11297)Ned Deily2018-12-231-1/+1
| | | | | | `BLDSHARED` needs to have both `LDFLAGS` and `LDFLAGS_NODIST`, not just `LDFLAGS_NODIST`; `PY_CORE_LDFLAGS` provides both. For example, as it stands now with just `LDFLAGS_NODIST`, macOS universal builds are broken as the necessary `-arch` flags are no longer passed to the standard library extension module link step from `setup.py` resulting in extension modules being single architecture only. https://bugs.python.org/issue35257
* bpo-30455: Generate all token related code and docs from Grammar/Tokens. ↵Serhiy Storchaka2018-12-221-2/+34
| | | | | | | | | | | | | | | | | | | (GH-10370) "Include/token.h", "Lib/token.py" (containing now some data moved from "Lib/tokenize.py") and new files "Parser/token.c" (containing the code moved from "Parser/tokenizer.c") and "Doc/library/token-list.inc" (included in "Doc/library/token.rst") are now generated from "Grammar/Tokens" by "Tools/scripts/generate_token.py". The script overwrites files only if needed and can be used on the read-only sources tree. "Lib/symbol.py" is now generated by "Tools/scripts/generate_symbol_py.py" instead of been executable itself. Added new make targets "regen-token" and "regen-symbol" which are now dependencies of "regen-all". The documentation contains now strings for operators and punctuation tokens.
* bpo-35257: Avoid leaking LTO linker flags into distutils (GH-10900)stratakis2018-12-191-9/+16
| | | | | | When compiling 3rd party C extensions, the linker flags used by the compiler for the interpreter and the stdlib modules, will get leaked into distutils. In order to avoid that, the PY_CORE_LDFLAGS and PY_LDFLAGS_NODIST are introduced to keep those flags separated.
* bpo-35499: make profile-opt don't override CFLAGS_NODIST (GH-11164)Victor Stinner2018-12-161-2/+2
| | | | | "make profile-opt" no longer replaces CFLAGS_NODIST with CFLAGS. It now adds profile-guided optimization (PGO) flags to CFLAGS_NODIST, existing CFLAGS_NODIST flags are kept.
* bpo-34245: install Python shared library with more standard 0755 mode (GH-8492)jdemeyer2018-12-091-2/+1
|
* bpo-35134: Create Include/cpython/tupleobject.h (GH-10764)Victor Stinner2018-11-281-0/+8
| | | | | | | Move tupleobject.h code surrounded by "#ifndef Py_LIMITED_API" to a new Include/cpython/tupleobject.h header file. Add cpython/ header files to Makefile.pre.in and pythoncore project of PCbuild.
* bpo-35134: Update "make tags": add Include/cpython/ (GH-10739)Victor Stinner2018-11-271-2/+2
| | | | "make tags" and "make TAGS" now also parse Include/cpython/ header files.
* closes bpo-34212: Build core extension modules with Py_BUILD_CORE_BUILTIN. ↵E. M. Bray2018-11-271-0/+1
| | | | (GH-8712)
* bpo-35081: Add Include/internal/pycore_tupleobject.h (GH-10705)Victor Stinner2018-11-251-0/+1
| | | | Move _PyTuple_ITEMS() to a new header file: Include/internal/pycore_tupleobject.h
* bpo-35134: Create Include/cpython/ subdirectory (GH-10624)Victor Stinner2018-11-231-0/+14
| | | | | | | | | | | | | | | | Include/*.h should be the "portable Python API", whereas Include/cpython/*.h should be the "CPython API": CPython implementation details. Changes: * Create Include/cpython/ subdirectory * "make install" now creates $prefix/include/cpython and copy Include/cpython/* to $prefix/include/cpython * Create Include/cpython/objimpl.h: move objimpl.h code surrounded by "#ifndef Py_LIMITED_API" to cpython/objimpl.h. * objimpl.h now includes cpython/objimpl.h * Windows installer (MSI) now also install Include/ subdirectories: Include/cpython/ and Include/internal/.
* bpo-35296: make install now installs the internal API (GH-10665)Victor Stinner2018-11-231-0/+10
| | | | make install now also installs the internal API: Include/internal/*.h header files.
* bpo-35081: Add new internal headers to Makefile (GH-10670)Victor Stinner2018-11-231-0/+2
| | | | Add pycore_fileutils.h and pycore_object.h to Makefile.pre.in and to the pythoncore project of PCbuild/.
* bpo-35081: Rename internal headers (GH-10275)Victor Stinner2018-11-121-3/+6
| | | | | | | | | | | | | | Rename Include/internal/ headers: * pycore_hash.h -> pycore_pyhash.h * pycore_lifecycle.h -> pycore_pylifecycle.h * pycore_mem.h -> pycore_pymem.h * pycore_state.h -> pycore_pystate.h Add missing headers to Makefile.pre.in and PCbuild: * pycore_condvar.h. * pycore_hamt.h * pycore_pyhash.h
* bpo-35081: And pycore_lifecycle.h and pycore_pathconfig.h (GH-10273)Victor Stinner2018-11-011-0/+2
| | | | | | | | | | * And pycore_lifecycle.h and pycore_pathconfig.h headers to Include/internal/ * Move Py_BUILD_CORE specific code from coreconfig.h and pylifecycle.h to pycore_pathconfig.h and pycore_lifecycle.h * Move _Py_wstrlist_XXX() definitions and _PyPathConfig code from pycore_state.h to pycore_pathconfig.h * Move "Init" and "Fini" function definitions from pylifecycle.c to pycore_lifecycle.h.
* bpo-35081: Move accu.h to Include/internal/pycore_accu.h (GH-10271)Victor Stinner2018-11-011-1/+1
| | | | | | | The accu.h header is no longer part of the Python C API: it has been moved to the "internal" headers which are restricted to Python itself. Replace #include "accu.h" with #include "pycore_accu.h".