| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
00112 #
Patch to support building both optimized vs debug stacks DSO ABIs, sharing
the same .py and .pyc files, using "_d.so" to signify a debug build of an
extension module.
Based on Debian's patch for the same,
http://patch-tracker.debian.org/patch/series/view/python2.6/2.6.5-2/debug-build.dpatch
(which was itself based on the upstream Windows build), but with some
changes:
* Debian's patch to dynload_shlib.c looks for module_d.so, then module.so,
but this can potentially find a module built against the wrong DSO ABI. We
instead search for just module_d.so in a debug build
* We remove this change from configure.in's build of the Makefile:
SO=$DEBUG_EXT.so
so that sysconfig.py:customize_compiler stays with shared_lib_extension='.so'
on debug builds, so that UnixCCompiler.find_library_file can find system
libraries (otherwise "make sharedlibs" fails to find system libraries,
erroneously looking e.g. for "libffi_d.so" rather than "libffi.so")
* We change Lib/distutils/command/build_ext.py:build_ext.get_ext_filename
to add the _d there, when building an extension. This way, "make sharedlibs"
can build ctypes, by finding the sysmtem libffi.so (rather than failing to
find "libffi_d.so"), and builds the module as _ctypes_d.so
* Similarly, update build_ext:get_libraries handling of Py_ENABLE_SHARED by
appending "_d" to the python library's name for the debug configuration
* We modify Modules/makesetup to add the "_d" to the generated Makefile
rules for the various Modules/*.so targets
This may introduce issues when building an extension that links directly
against another extension (e.g. users of NumPy?), but seems more robust when
searching for external libraries
* We don't change Lib/distutils/command/build.py: build.build_purelib to
embed plat_specifier, leaving it as is, as pure python builds should be
unaffected by these differences (we'll be sharing the .py and .pyc files)
* We introduce DEBUG_SUFFIX as well as DEBUG_EXT:
- DEBUG_EXT is used by ELF files (names and SONAMEs); it will be "_d" for
a debug build
- DEBUG_SUFFIX is used by filesystem paths; it will be "-debug" for a
debug build
Both will be empty in an optimized build. "_d" contains characters that
are valid ELF metadata, but this leads to various ugly filesystem paths (such
as the include path), and DEBUG_SUFFIX allows these paths to have more natural
names. Changing this requires changes elsewhere in the distutils code.
* We add DEBUG_SUFFIX to PYTHON in the Makefile, so that the two
configurations build parallel-installable binaries with different names
("python-debug" vs "python").
* Similarly, we add DEBUG_SUFFIX within python-config and
python$(VERSION)-config, so that the two configuration get different paths
for these.
See also patch 130 below
|
|
|
|
|
|
|
| |
00111 #
Patch the Makefile.pre.in so that the generated Makefile doesn't try to build
a libpythonMAJOR.MINOR.a (bug 550692):
Downstream only: not appropriate for upstream
|
|
|
|
|
|
|
|
| |
Only used when "%%{_lib}" == "lib64"
Fixup various paths throughout the build and in distutils from "lib" to "lib64",
and add the /usr/lib64/pythonMAJOR.MINOR/site-packages to sitedirs, in front of
/usr/lib/pythonMAJOR.MINOR/site-packages
Not upstream
|
|
|
|
|
|
|
|
|
| |
00055 #
Systemtap support: add statically-defined probe points
Patch based on upstream bug: http://bugs.python.org/issue4111
fixed up by mjw and wcohen for 2.6.2, then fixed up by dmalcolm for 2.6.4
then rewritten by mjw (attachment 390110 of rhbz 545179), then reformatted
for 2.7rc1 by dmalcolm:
|
|
|
|
|
|
|
| |
00004 #
Add $(CFLAGS) to the linker arguments when linking the "python" binary
since some architectures (sparc64) need this (rhbz:199373).
Not yet filed upstream
|
|
|
|
|
|
|
| |
* regrtest: Add --cleanup option to remove "test_python_*" directories
of previous failed test jobs.
* Add "make cleantest" to run "python -m test --cleanup".
(cherry picked from commit 47fbc4e45b35b3111e2d947a66490a43ac21d363)
|
|
|
|
|
| |
Avoid also "cd $(srcdir)" to not change the current directory.
(cherry picked from commit 3be3b97a9709d3cd5303175ddbffa7dcca57ac3e)
|
|
|
|
|
| |
(GH-4255). (#4342)
(cherry picked from commit 0de92859caf25e65fc968d4bb68626e9ba21b851)
|
| |
|
|
|
|
| |
Signed-off-by: Christian Heimes <christian@python.org>.
(cherry picked from commit d3b9f97e6d92bbfcf956638344fd827a40837b96)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bpo-30871: Add test.pythoninfo (#3075)
* Add Lib/test/pythoninfo.py: script collecting various informations
about Python to help debugging test failures.
* regrtest: remove sys.hash_info and sys.flags from header.
* Travis CI, Appveyor: run pythoninfo before tests
(cherry picked from commit b907abc88589f7bea52c5afe172ececc6edcda70)
* bpo-30871: pythoninfo: add expat and _decimal (#3121)
* bpo-30871: pythoninfo: add expat and _decimal
* Remove _decimal.__version__
The string is hardcoded, not really interesting.
(cherry picked from commit f6ebd838f00b4c211c72d85ee49749e910cd3afe)
* bpo-30871: Add "make pythoninfo" (#3120)
(cherry picked from commit a3a01a2fceab2188b282ab9911f79c99a4c32273)
* bpo-30871: pythoninfo: more sys, os, time data (#3130)
* bpo-30871: pythoninfo: more sys, os, time data
PythonInfo now converts types other than intger to string by default.
* fix typo
(cherry picked from commit ad7eaed54382b346784e51a6f0122ce81e8842b5)
* bpo-31231: Fix pythoninfo in Travis config (#3134)
bpo-31231, bpo-30871: Replace "./python -m test.pythoninfo" with
"make pythoninfo", since macOS uses ./python.exe.
(cherry picked from commit 92b1f90143286385c0ff5be98d3721b90580a912)
(cherry picked from commit 29d007bb670b486788f73c2d742b0ad0b679ff13)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(GH-1478) (#1522)
* 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.
(cherry picked from commit a1054c3b0037d4c2a5492e79fc193f36245366c7)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* regrtest: add --slowest alias to --slow
* make buildbottest: add --slowest option
* regrtest: add "- " prefix to --slowest output
* regrtest: Fix an outdated comment
* regrtest: replace PermissionError
Replace PermissionError with OSError and check on exc.errno.
PermissionError was added to Python 3.3.
* regrtest: add -3 -tt options to run Python scripts
* regrtest: backport --list-tests option
* regrtest: backport "Tests result: xxx" summary
* regrtest: backport total duration
* regrtest: add timestamp to the progress
* regrtest: describe previous test state
* Add the state of the test: passed, failed, etc.
* If a test took longer than 30 seconds, log its execution time
* regrtest: -jN logs running workers
* regrtest: mention if tests are run in parallel
* regrtest: parallel mode is more verbose during wait
Display running tests every 30 seconds if no test completed in the
meanwhile.
* test_regrtest: fix typo in SubprocessRun
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-opcode-targets: Python/opcode_targets.h
* Add PYTHON_FOR_REGEN variable
* 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
|
|
|
|
|
|
|
|
|
|
|
| |
Based on commit 5c4b0d063aba0a68c325073f5f312a2c9f40d178 by Ned
Deily, which is based on original patches by Brett Cannon and Steve
Dower.
Remove also the private _Py_svnversion() function and SVNVERSION
variable.
Note: Py_SubversionRevision() and Py_SubversionShortBranch() are
unchanged, they are part of the public API.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Backport enhancements from master, commits:
* 9c4bfa6669e220efdd379b9f8e7db32bb4e25e72: "make tags": remove -t
option of ctags. The option was kept for backward compatibility,
but it was completly removed recently. Patch written by Stéphane
Wirtel.
* cf0ac6a71ae51249a05521f49c1a0fabbb948488: Fix "make tags": set
locale to C to call sort
* 8a543c0bc7347d5b333f334d157bf4a7cd33c14a: `make tags` fixes (GH-717)
|
|
|
|
|
| |
The ld_so_aix script and python.exp file are created in the build directory.
Patch by Tristan Carel and Michael Haubenwallner.
|
| |
|
|
|
|
| |
Makefile). Patch by Arfrever Frehtes Taifersar Arahesis.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The dependendency on the $(PGEN) variable must only be
set when not cross-compiling. When cross-compiling,
$(PGEN) will not be used, so no need to build it.
Patch by Thomas Perl.
|
| |
|
| |
|
|
|
|
|
|
| |
take a rediculious amount of time to run, fail or provide little use
to the profile feedback. (similar to what is already done in 3.5 and
by major Linux distro builds own profiling runs)
|
|
|
|
|
|
|
| |
enable link time optimizations at build time during a make profile-opt.
Some compilers and toolchains are known to not produce stable code when
using LTO, be sure to test things thoroughly before relying on it.
It can provide a few % speed up over profile-opt alone.
|
|
|
|
| |
Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
|
|
|
|
| |
Patches by Jonas Wagner and Xavier de Gaye.
|
|
|
|
|
| |
Makefile.pre.in:
- Modules/_math.o: Build using PY_CORE_CFLAGS as every extension
|
|
|
|
|
| |
- Modules/_math.o: Build using PY_CORE_CFLAGS as every extension
- profile-opt: Fix bashism
|
| |
|
|
|
|
|
|
| |
Originally added by Christian Heimes in 85ec2b5bfcd2.
Initial patch for the backport by Alecsandru Patrascu.
|
| |
|
|
|
|
| |
directory
|
| |
|
|
|
|
| |
Initial patch by Alecsandru Patrascu of Intel.
|
|
|
|
|
|
| |
profile data.
Thanks to Alecsandru Patrascu of Intel for the initial patch.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The backport of ensurepip to 2.7.9 allows pip to optionally be installed
or upgraded using the bundled pip provided by the new ensurepip module.
The option can be specified persistently using the configure option:
./configure --with-ensurepip[=upgrade|install|no]
It can also be overridden on either the "install" or "altinstall" targets:
make [alt]install ENSUREPIP=[upgrade|install|no]
For Python 2, the default option is "no" (do not install pip).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Backports ensurepip to the 2.7 branch
* Backports some of the improved documentation to the 2.7 branch.
* Adds a private backport of the 3.x mock library as test._mock_backport
to enable saner testing of ensurepip.
Key Differences from 3.x:
* Ensurepip does not have any Makefile integration, specifically
it is not ran by default in the Makefile.
* There is no venv module in 2.7, so downstream distributors can
completely disable ensurepip, ideally with a message redirecting
to the correct way to install pip.
* To match the ``python`` command in 2.7, ensurepip will install
the unversioned ``pip`` command as well.
* No-op and hide --default-pip and add --no-default-pip to restore
the 3.x behavor on 2.7.
|
| |
|
|
|
|
|
|
|
| |
python --generate-posix-vars in pybuilddir.txt build target by ensuring
that pybuilddir.txt is always regenerated when configure is run and
that the newly built skeleton python does not inadvertently import
modules from previously installed instances.
|
|
|
|
|
| |
A contribution of Alex Gaynor and David Reid with the generous support of
Rackspace. May God have mercy on their souls.
|
|
|
|
| |
source directory.
|
| |
|
|
|
|
| |
makefile.
|