summaryrefslogtreecommitdiff
path: root/Makefile.pre.in
Commit message (Collapse)AuthorAgeFilesLines
* bpo-36508: python-config don't export LINKFORSHARED (GH-12661) (GH-12748)Miss Islington (bot)2019-04-161-0/+2
| | | | | | | | python-config --ldflags no longer includes flags of the LINKFORSHARED variable. The LINKFORSHARED variable must only be used to build executables. (cherry picked from commit e65f01f78d7bda3013fc5be485afa87ff56511d9) Co-authored-by: Victor Stinner <vstinner@redhat.com>
* bpo-35257: fix broken BLDSHARED - needs LDFLAGS too (GH-11297)Miss Islington (bot)2018-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 (cherry picked from commit 44a3ee07e30e18d83e2730c093d8b0e930f0a06c) Co-authored-by: Ned Deily <nad@python.org>
* bpo-35257: Avoid leaking LTO linker flags into distutils (GH-10900) (GH-11264)Victor Stinner2018-12-201-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. (cherry picked from commit cf10a750f4b50b6775719cfb17bee00bc3a9c60b)
* bpo-35499: make profile-opt don't override CFLAGS_NODIST (GH-11164) (GH-11179)Miss Islington (bot)2018-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. (cherry picked from commit 640ed520dd6a43a8bf470b79542f58b5d57af9de) Co-authored-by: Victor Stinner <vstinner@redhat.com>
* bpo-35296: make install now installs the internal API (GH-10665) (GH-10897)Victor Stinner2018-12-041-0/+10
| | | | | | | | | | | | | * bpo-35296: make install now installs the internal API (GH-10665) make install now also installs the internal API: Include/internal/*.h header files. (cherry picked from commit f653fd4d950ac092719b6152e38d77c62b443125) * Windows installer now also install Include/internal/ The Windows installer (MSI) now also install header files of the Include/internal/ subdirectory.
* closes bpo-34212: Build core extension modules with Py_BUILD_CORE_BUILTIN. ↵Miss Islington (bot)2018-11-261-0/+1
| | | | | | | (GH-8712) (cherry picked from commit da324d53d420347344236ff64cf5eb9b675d6f86) Co-authored-by: E. M. Bray <erik.m.bray@gmail.com>
* Enable the verbose build for extension modules with GNU make (GH-6659) (#6662)Miss Islington (bot)2018-05-021-1/+5
| | | | | (cherry picked from commit 10f715d71218ece737f990fa55027b8e1120cc3a) Co-authored-by: Matthias Klose <doko42@users.noreply.github.com>
* bpo-32232: by default, Setup modules are no longer built with ↵Miss Islington (bot)2018-04-201-1/+2
| | | | | | | | | | | -DPy_BUILD_CORE (GH-6489) Setup modules are no longer built with -DPy_BUILD_CORE by default, as using that flag may now require including additional internal-only header files. Instead, only the modules that specifically need it use that setting. (cherry picked from commit 063db62aab4041ac47798e7e48b27b2f2bef21c5) Co-authored-by: xdegaye <xdegaye@gmail.com>
* bpo-30638: Add clinic to `make regen-all` (GH-5671)Miss Islington (bot)2018-02-171-7/+7
| | | | | | Also, use PYTHON_FOR_REGEN for clinic and blake2s_impl.c rather than PYTHON_FOR_BUILD, and update .travis.yml to make use of the change. (cherry picked from commit d6ff8a7037903497eff95fa32bdac2b6adf71505) Co-authored-by: Zachary Ware <zachary.ware@gmail.com>
* String annotations [PEP 563] (#4390)Guido van Rossum2018-01-261-1/+2
| | | | | | | | * Document `from __future__ import annotations` * Provide plumbing and tests for `from __future__ import annotations` * Implement unparsing the AST back to string form This is required for PEP 563 and as such only implements a part of the unparsing process that covers expressions.
* bpo-32436: Implement PEP 567 (#5027)Yury Selivanov2018-01-221-0/+4
|
* bpo-32598: Use autoconf to detect usable OpenSSL (#5242)Christian Heimes2018-01-201-0/+5
| | | | | | | | | | | | | | Add https://www.gnu.org/software/autoconf-archive/ax_check_openssl.html to auto-detect compiler flags, linker flags and libraries to compile OpenSSL extensions. The M4 macro uses pkg-config and falls back to manual detection. Add autoconf magic to detect usable X509_VERIFY_PARAM_set1_host() and related functions. Refactor setup.py to use new config vars to compile _ssl and _hashlib modules. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-32549: Compile OpenSSL 1.1.0 on Travis CI (#5180)Christian Heimes2018-01-161-1/+1
| | | | | | Use an improved version of multissl test helper to compile a local copy of OpenSSL 1.1.0g. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-32248: install new test_importlib directories (#5138)Ned Deily2018-01-081-5/+20
|
* move pygetopt.h to internal (closes bpo-32264) (#4830)Benjamin Peterson2017-12-141-1/+1
|
* bpo-29469: Move constant folding to AST optimizer (GH-2858)INADA Naoki2017-12-141-0/+1
|
* Revert "bpo-32197: Try to fix a compiler error on OS X introduced in ↵Victor Stinner2017-12-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | bpo-32030. (#4681)" (#4694) * Revert "bpo-32197: Try to fix a compiler error on OS X introduced in bpo-32030. (#4681)" This reverts commit 13badcbc60cdbfae1dba1683fd2fae9d70717143. Re-apply commits: * "bpo-32030: _PyPathConfig_Init() sets home and program_name (#4673)" commit af5a895073c24637c094772b27526b94a12ec897. * "bpo-32030: Fix config_get_program_name() on macOS (#4669)" commit e23c06e2b03452c9aaf0dae52296c85e572f9bcd. * "bpo-32030: Add Python/pathconfig.c (#4668)" commit 0ea395ae964c9cd0f499e2ef0d0030c971201220. * "bpo-32030: Don't call _PyPathConfig_Fini() in Py_FinalizeEx() (#4667)" commit ebac19dad6263141d5db0a2c923efe049dba99d2. * "bpo-32030: Fix Py_GetPath(): init program_name (#4665)" commit 9ac3d8882712c9675c3d2f9f84af6b5729575cde. * Fix compilation error on macOS
* bpo-32197: Try to fix a compiler error on OS X introduced in bpo-32030. (#4681)Serhiy Storchaka2017-12-021-2/+1
| | | | | | | | | | | | | | | | | | | | | | * Revert "bpo-32030: _PyPathConfig_Init() sets home and program_name (#4673)" This reverts commit af5a895073c24637c094772b27526b94a12ec897. * Revert "bpo-32030: Fix config_get_program_name() on macOS (#4669)" This reverts commit e23c06e2b03452c9aaf0dae52296c85e572f9bcd. * Revert "bpo-32030: Add Python/pathconfig.c (#4668)" This reverts commit 0ea395ae964c9cd0f499e2ef0d0030c971201220. * Revert "bpo-32030: Don't call _PyPathConfig_Fini() in Py_FinalizeEx() (#4667)" This reverts commit ebac19dad6263141d5db0a2c923efe049dba99d2. * Revert "bpo-32030: Fix Py_GetPath(): init program_name (#4665)" This reverts commit 9ac3d8882712c9675c3d2f9f84af6b5729575cde.
* bpo-32030: Add Python/pathconfig.c (#4668)Victor Stinner2017-12-011-1/+2
| | | | | | | * Factorize code from PC/getpathp.c and Modules/getpath.c to remove duplicated code * rename pathconfig_clear() to _PyPathConfig_Clear() * Inline _PyPathConfig_Fini() in pymain_impl() and then remove it, since it's a oneliner
* make tags: index also Modules/_ctypes/ (#4648)Victor Stinner2017-11-301-4/+3
| | | Avoid also "cd $(srcdir)" to not change the current directory.
* bpo-32096: Remove obj and mem from _PyRuntime (#4532)Victor Stinner2017-11-241-1/+0
| | | | | | | | | | | | | | | | | bpo-32096, bpo-30860: Partially revert the commit 2ebc5ce42a8a9e047e790aefbf9a94811569b2b6: * Move structures back from Include/internal/mem.h to Objects/obmalloc.c * Remove _PyObject_Initialize() and _PyMem_Initialize() * Remove Include/internal/pymalloc.h * Add test_capi.test_pre_initialization_api(): Make sure that it's possible to call Py_DecodeLocale(), and then call Py_SetProgramName() with the decoded string, before Py_Initialize(). PyMem_RawMalloc() and Py_DecodeLocale() can be called again before _PyRuntimeState_Init(). Co-Authored-By: Eric Snow <ericsnowcurrently@gmail.com>
* bpo-31934: Abort when building out of a not clean source tree (GH-4255)xdegaye2017-11-081-4/+14
|
* Fix miscellaneous typos (#4275)luzpaz2017-11-051-1/+1
|
* bpo-28643: Record profile-opt build progress with stamp files (#4223)Neil Schemenauer2017-11-021-9/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * bpo-28643: Record profile-opt build progress with stamp files The profile-opt makefile target is expensive to build. Since the makefile does not contain complete dependency information for this target, much extra work can get done if the build is interrupted and re-started. Even running "make" a second time will result in a huge amount of redundant work. As a minimal fix (rather than removing recursive "make" and adding a proper dependency graph), split the profile-opt target into parts: - ensure tree is clean (profile-clean-stamp) - build with profile generation enabled (profile-gen-stamp) - run task to generate profile information (profile-run-stamp) - build optimized Python using above information (profile-opt) We use "stamp" files to record completion of the steps. Running "make clean" will not remove the profile-run-stamp file. Other minor changes: - remove the "build_all_use_profile" target. I don't expect callers of the makefile to use this target so that should be safe. - remove execution of "profile-removal" at end of "profile-opt". I don't see any reason to not to keep the profile information, given the cost to generate it. Removing the "profile-run-stamp" file will force re-generation of it.
* bpo-31810: Add smelly.py to check exported symbols (#4057)Victor Stinner2017-10-241-3/+2
| | | | | | | * Add Tools/scripts/smelly.py: script checking if all symbols exported by libpython start with "Py" or "_Py". * Modify "make smelly" to run smelly.py: the command now fails with a non-zero exit code if libpython leaks a "smelly" symbol. * Travis CI now runs "make smelly"
* explicitly list objects for the ar command (#3824)Benjamin Peterson2017-09-291-1/+1
| | | | | $^ is not portable. closes bpo-31625
* stop using ranlib (closes bpo-31625) (#3815)Benjamin Peterson2017-09-291-10/+1
| | | Instead, simply pass 's' to ar.
* bpo-31536: Avoid wholesale rebuild after `make regen-all` (#3678)Antoine Pitrou2017-09-201-9/+19
| | | | | | * bpo-31536: Avoid wholesale rebuild after `make regen-all` * Add NEWS
* bpo-30860: Add Include/internal/ in "make tags" (#3498)Victor Stinner2017-09-111-2/+2
|
* bpo-31354: Let configure --with-lto work on all buildsoctaviansoldea2017-09-081-2/+2
| | | | | | | | | | Allow configure --with-lto to apply to all builds, not just profile-opt builds. Whether this is actually useful or not must be determined by the person building CPython using their own toolchain. My own quick test on x86_64 Debian 9 (gcc 6.3, binutils 2.28) seemed to suggest that it wasn't, but I expect better toolchains can or will exist at some point. The point is to allow it at all.
* bpo-30860: Consolidate stateful runtime globals. (#3397)Eric Snow2017-09-071-0/+6
| | | | | | | * group the (stateful) runtime globals into various topical structs * consolidate the topical structs under a single top-level _PyRuntimeState struct * add a check-c-globals.py script that helps identify runtime globals Other globals are excluded (see globals.txt and check-c-globals.py).
* bpo-31370: Remove support for threads-less builds (#3385)Antoine Pitrou2017-09-071-6/+2
| | | | | | * Remove Setup.config * Always define WITH_THREAD for compatibility.
* Update multissl test helper (#3349)Christian Heimes2017-09-061-0/+7
| | | Signed-off-by: Christian Heimes <christian@python.org>
* Revert "bpo-30860: Consolidate stateful runtime globals." (#3379)Eric Snow2017-09-051-7/+0
| | | Windows buildbots started failing due to include-related errors.
* bpo-30860: Consolidate stateful runtime globals. (#2594)Eric Snow2017-09-051-0/+7
| | | | | | | | | * group the (stateful) runtime globals into various topical structs * consolidate the topical structs under a single top-level _PyRuntimeState struct * add a check-c-globals.py script that helps identify runtime globals Other globals are excluded (see globals.txt and check-c-globals.py).
* bpo-30871: Add "make pythoninfo" (#3120)Victor Stinner2017-08-181-0/+5
|
* bpo-30814, bpo-30876: Add new import test files to projects. (#2851)Serhiy Storchaka2017-07-271-0/+2
|
* buildbot: pass --fail-env-changed to regrtest (#2509)Victor Stinner2017-06-301-1/+1
| | | Make tests fail if a test altered the environment.
* bpo-30492: Allow make clinic to work out of tree. (#1836)Gregory P. Smith2017-05-271-1/+1
| | | | | | * bpo-30492: Allow make clinic to work out of tree. * Use os.curdir instead of "." as the default value.
* bpo-20210: Support the *disabled* marker in Setup files (GH-132)xdegaye2017-05-271-3/+4
| | | | | Extension modules listed after the *disabled* marker are not built at all, neither by the Makefile nor by setup.py.
* bpo-22257: Small changes for PEP 432. (#1728)Eric Snow2017-05-221-1/+1
| | | PEP 432 specifies a number of large changes to interpreter startup code, including exposing a cleaner C-API. The major changes depend on a number of smaller changes. This patch includes all those smaller changes.
* Remove .bzrignore (GH-1661)Stéphane Wirtel2017-05-221-1/+0
|
* bpo-28787: Fix out of tree --with-dtrace builds (#135)stratakis2017-05-101-0/+1
| | | | | | | | * bpo-28787: Fix out of tree --with-dtrace builds * Unsilence directory creation * Add Misc/NEWS and Misc/ACKS entries
* bpo-30289: remove Misc/python-config.sh when make distclean (#1498)Xiang Zhang2017-05-091-1/+2
|
* bpo-29243: Fix Makefile with respect to --enable-optimizations (#1478)torsava2017-05-051-7/+7
| | | | | | | | | | | | | * bpo-29243: Fix Makefile with respect to --enable-optimizations When using the Profile Guided Optimization (./configure --enable-optimizations) Python is built not only during `make` but rebuilt again during `make test`, `make install` and others. This patch fixes the issue. Note that this fix produces no change at all in the Makefile if configure is run witout --enable-optimizations. * !squash
* bpo-23404: make touch becomes make regen-all (#1405)Victor Stinner2017-05-031-81/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | Don't rebuild generated files based on file modification time anymore, the action is now explicit. Replace "make touch" with "make regen-all". Changes: * Remove "make touch", Tools/hg/hgtouch.py and .hgtouch * Add a new "make regen-all" command to rebuild all generated files * Add subcommands to only generate specific files: - regen-ast: Include/Python-ast.h and Python/Python-ast.c - regen-grammar: Include/graminit.h and Python/graminit.c - regen-importlib: Python/importlib_external.h and Python/importlib.h - regen-opcode: Include/opcode.h - regen-opcode-targets: Python/opcode_targets.h - regen-typeslots: Objects/typeslots.inc * Rename PYTHON_FOR_GEN to PYTHON_FOR_REGEN * pgen is now only built by by "make regen-grammar" * Add $(srcdir)/ prefix to paths to source files to handle correctly compilation outside the source directory Note: $(PYTHON_FOR_REGEN) is no more used nor needed by "make" default target building Python.
* bpo-30104: Only use -fno-strict-aliasing on dtoa.c (#1340)Victor Stinner2017-04-281-0/+9
| | | | On clang, only compile dtoa.c with -fno-strict-aliasing, use strict aliasing to compile all other C files.
* `make tags` fixes (GH-717)Alex Dzyoba2017-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * Fix `make tags` warnings `make tags` target tries to find C sources and headers in "Grammar" and "Mac" folders and generates these warnings: ctags: Warning: cannot open source file "Grammar/*.[ch]" : No such file or directory ctags: Warning: cannot open source file "Mac/*.[ch]" : No such file or directory This commit changes $SRCDIRS variable in configure.ac to remote these directories. This variable is used only for tags generation. Also, "configure" was regenerated with `autoreconf`. * Fix `make tags` fail on non-default tag names When ctags overrides default tags filename (e.g. `-f .tags`) `make tags` is failed because it assumes to see default `tags` filename: sort: cannot read: tags: No such file or directory This commit explicitly specifies "tags" filename for tags generation.
* bpo-27593: Get SCM build info from git instead of hg. (#446)Ned Deily2017-03-041-6/+6
| | | | | | | sys.version and the platform module python_build(), python_branch(), and python_revision() functions now use git information rather than hg when building from a repo. Based on original patches by Brett Cannon and Steve Dower.
* bpo-29524: Add Objects/call.c file (#12)Victor Stinner2017-02-121-0/+1
| | | | | | | | | * Move all functions to call objects in a new Objects/call.c file. * Rename fast_function() to _PyFunction_FastCallKeywords(). * Copy null_error() from Objects/abstract.c * Inline type_error() in call.c to not have to copy it, it was only called once. * Export _PyEval_EvalCodeWithName() since it is now called from call.c.