Commit Graph

1123 Commits

Author SHA1 Message Date
Neil Schemenauer c6bbcd2583 bpo-37725: have "make clean" remove PGO task data (#15033)
Change "clean" makefile target to also clean the program guided
optimization (PGO) data.  Previously you would have to use "make
clean" and "make profile-removal", or "make clobber".
2019-09-10 10:44:20 +01:00
T. Wouters b4612f5d54
bpo-37589: Add a few missing dependencies on .h files in the Makefile. (GH-15757)
The missing dependencies prevented incremental builds from working when you touched any
of these files. Based on GH-14758 by @vemakereporter.
2019-09-09 05:17:18 -07:00
Erlend Egeberg Aasland 387c3c5a04 bpo-37653: Fix libinstall target in Makefile (GH-14911) 2019-07-23 18:11:50 +02:00
Neil Schemenauer 4e16a4a311
bpo-36044: Reduce number of unit tests run for PGO build (GH-14702)
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.
2019-07-22 12:54:25 -07:00
Victor Stinner e8692818af
bpo-37468: make install no longer install wininst-*.exe files (GH-14511)
make install no longer installs "wininst-*.exe" files used by
distutils bdist_wininst: bdist_wininst only works on Windows.
2019-07-15 17:18:42 +02:00
Victor Stinner 47fbc4e45b
bpo-37359: Add --cleanup option to python3 -m test (GH-14332)
* regrtest: Add --cleanup option to remove "test_python_*" directories
  of previous failed test jobs.
* Add "make cleantest" to run "python3 -m test --cleanup".
2019-06-24 12:03:00 +02:00
Victor Stinner 01b63ecac6
bpo-35134: Add Include/cpython/import.h header file (GH-14213)
* Add Include/cpython/import.h and Include/internal/pycore_import.h
  header files.
* Move _PyImport_ReInitLock() to the internal C API. Don't export the
  symbol anymore.
2019-06-19 00:48:09 +02:00
Christian Heimes 8a8b59c979 bpo-37215: Fix dtrace issue introduce by bpo-36842 (GH-13940)
Signed-off-by: Christian Heimes <christian@python.org>


https://bugs.python.org/issue37215
2019-06-10 08:19:48 -07:00
Inada Naoki 91234a1636
bpo-26219: per opcode cache for LOAD_GLOBAL (GH-12884)
This patch implements per opcode cache mechanism, and use it in
only LOAD_GLOBAL opcode.

Based on Yury's opcache3.patch in bpo-26219.
2019-06-03 21:30:58 +09:00
Victor Stinner 331a6a56e9
bpo-36763: Implement the PEP 587 (GH-13592)
* 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()
2019-05-27 16:39:22 +02:00
Antoine Pitrou 91f4380ced
bpo-36785: PEP 574 implementation (GH-7076) 2019-05-26 17:10:09 +02:00
Jason R. Coombs f7fba6cfb6
bpo-34632 fix buildbots and remove artifact (GH-13566)
* bpo-34632: Also include the test data directory.

* bpo-34632: remove the framework resources artifacts, accidentally added in 1bbf7b661f (ccbccce)
2019-05-25 10:00:21 -04:00
Chih-Hsuan Yen c3738cfe63 bpo-34632: fix installation of importlib.metadata (#13563) 2019-05-25 04:09:34 -04:00
Victor Stinner bc66faccb8
bpo-36721: Fix pkg-config symbolic links on "make install" (GH-13551) 2019-05-24 18:27:13 +02:00
Victor Stinner 438a12dd9d
bpo-36710: Add tstate parameter in ceval.c (GH-13547)
* 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().
2019-05-24 17:01:38 +02:00
Steve Dower b82e17e626
bpo-36842: Implement PEP 578 (GH-12613)
Adds sys.audit, sys.addaudithook, io.open_code, and associated C APIs.
2019-05-23 08:45:22 -07:00
Victor Stinner 0a8e57248b
bpo-36721: Add --embed option to python-config (GH-13500)
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".
2019-05-23 03:30:23 +02:00
Victor Stinner fd1e0e93b1
bpo-35134: Register new traceback.h header files (GH-13431)
Add new cpython/traceback.h and pycore_traceback.h header files to
Makefile.pre.in and PCbuild/ project.
2019-05-20 02:22:32 +02:00
Antoine Pitrou 1a2dd82f56
bpo-36786: Run compileall in parallel during "make install" (GH-13078) 2019-05-15 23:45:18 +02:00
Stefan Behnel 0d5864fa07
bpo-13611: Include C14N 2.0 test data in installation (GH-13053)
* 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.
2019-05-02 10:35:02 +02:00
xdegaye 7a5a1cfe04 bpo-36747: Remove the stale scriptsinstall Makefile target (GH-13003) 2019-04-29 11:01:42 +02:00
xdegaye 254b309c80 bpo-21536: On Android, C extensions are linked to libpython (GH-12989) 2019-04-29 09:27:40 +02:00
Victor Stinner 01f073f5e4
bpo-21536: Revert Makefile change on python-config (GH-12971)
Misc/python-config.sh lives in the build directory, not in the source
directory.
2019-04-26 17:55:17 +02:00
Victor Stinner 06d04e77ca
bpo-36733: Fix PYTHONPATH for make regen-add (GH-12969)
Add PYTHONPATH=$(srcdir) to run $(PYTHON_FOR_REGEN) -m Parser.pgen,
so it's possible to build Python from a different directory.
2019-04-26 13:09:47 +02:00
Victor Stinner 8c3ecc6bac
bpo-21536: C extensions are no longer linked to libpython (GH-12946)
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.
2019-04-25 20:13:10 +02:00
Victor Stinner aba7d662ab
bpo-35134: Add cpython/pymem.h to build system (GH-12842) 2019-04-15 17:29:31 +02:00
Pablo Galindo f2cf1e3e28
bpo-36623: Clean parser headers and include files (GH-12253)
After the removal of pgen, multiple header and function prototypes that lack implementation or are unused are still lying around.
2019-04-13 17:05:14 +01:00
Victor Stinner e65f01f78d
bpo-36508: python-config don't export LINKFORSHARED (GH-12661)
python-config --ldflags no longer includes flags of the LINKFORSHARED
variable. The LINKFORSHARED variable must only be used to build
executables.
2019-04-09 18:12:44 +02:00
Pablo Galindo 91759d9801
bpo-36143: Regenerate Lib/keyword.py from the Grammar and Tokens file using 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.
2019-03-25 22:01:12 +00:00
Eric Snow c11183cdcf
bpo-36097: Use only public C-API in the_xxsubinterpreters module (adding as necessary). (gh-12359) 2019-03-15 16:35:46 -06:00
Victor Stinner 4d61e6e3b8
Revert: bpo-33608: Factor out a private, per-interpreter _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 bcfa450f21.

* Revert "bpo-33608: Simplify ceval's DISPATCH by hoisting eval_breaker ahead of time. (gh-12062)"

This reverts commit bda918bf65.

* Revert "bpo-33608: Use _Py_AddPendingCall() in _PyCrossInterpreterData_Release(). (gh-12024)"

This reverts commit b05b711a2c.

* Revert "bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). (GH-11617)"

This reverts commit ef4ac967e2.
2019-03-04 14:21:28 +01:00
Eric Snow bcfa450f21
bpo-36097: Use only public C-API in the_xxsubinterpreters module (adding as necessary). (#12003) 2019-03-01 16:50:31 -07:00
Pablo Galindo 1f24a719e7
bpo-35808: Retire pgen and use pgen2 to generate the parser (GH-11814)
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.
2019-03-01 15:34:44 -08:00
Victor Stinner 91b9ecf82c
bpo-36142: Add preconfig.c (GH-12128)
* Add _PyArgv_Decode() function
* Move _Py_ClearFileSystemEncoding() and _Py_SetFileSystemEncoding()
  to preconfig.c.
2019-03-01 17:52:56 +01:00
Victor Stinner f684d83d86
bpo-36142: Exclude coreconfig.h from Py_LIMITED_API (GH-12111)
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
2019-03-01 03:44:13 +01:00
Inada Naoki 001fee14e0
bpo-12822: use monotonic clock for condvar if possible (GH-11723) 2019-02-20 10:00:09 +09:00
Jakub Kulík 5c8f537669 bpo-35520: Fix build with dtrace support on certain systems. (#11194) 2019-01-24 18:29:48 +01:00
Ned Deily 44a3ee07e3 bpo-35257: fix broken BLDSHARED - needs LDFLAGS too (GH-11297)
`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
2018-12-23 12:32:48 -08:00
Serhiy Storchaka 8ac658114d
bpo-30455: Generate all token related code and docs from Grammar/Tokens. (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.
2018-12-22 11:18:40 +02:00
stratakis cf10a750f4 bpo-35257: Avoid leaking LTO linker flags into distutils (GH-10900)
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.
2018-12-19 18:19:01 +01:00
Victor Stinner 640ed520dd
bpo-35499: make profile-opt don't override CFLAGS_NODIST (GH-11164)
"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.
2018-12-16 18:00:42 +01:00
jdemeyer 25648d05ac bpo-34245: install Python shared library with more standard 0755 mode (GH-8492) 2018-12-09 02:46:50 -05:00
Victor Stinner 54ba556c6c
bpo-35134: Create Include/cpython/tupleobject.h (GH-10764)
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.
2018-11-28 13:01:32 +01:00
Victor Stinner 480833808e
bpo-35134: Update "make tags": add Include/cpython/ (GH-10739)
"make tags" and "make TAGS" now also parse Include/cpython/ header
files.
2018-11-27 12:42:25 +01:00
E. M. Bray da324d53d4 closes bpo-34212: Build core extension modules with Py_BUILD_CORE_BUILTIN. (GH-8712) 2018-11-26 20:21:31 -06:00
Victor Stinner ec13b9322d
bpo-35081: Add Include/internal/pycore_tupleobject.h (GH-10705)
Move _PyTuple_ITEMS() to a new header file:
Include/internal/pycore_tupleobject.h
2018-11-25 23:56:17 +01:00
Victor Stinner e421106b9e
bpo-35134: Create Include/cpython/ subdirectory (GH-10624)
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/.
2018-11-23 17:00:00 +01:00
Victor Stinner f653fd4d95
bpo-35296: make install now installs the internal API (GH-10665)
make install now also installs the internal API: Include/internal/*.h
header files.
2018-11-23 16:30:12 +01:00
Victor Stinner 984061eeb4
bpo-35081: Add new internal headers to Makefile (GH-10670)
Add pycore_fileutils.h and pycore_object.h to Makefile.pre.in and to
the pythoncore project of PCbuild/.
2018-11-23 12:30:40 +01:00
Victor Stinner 621cebe81b
bpo-35081: Rename internal headers (GH-10275)
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
2018-11-12 16:53:38 +01:00
Victor Stinner a1c249c405
bpo-35081: And pycore_lifecycle.h and pycore_pathconfig.h (GH-10273)
* 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.
2018-11-01 03:15:58 +01:00
Victor Stinner e281f7d80c
bpo-35081: Move accu.h to Include/internal/pycore_accu.h (GH-10271)
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".
2018-11-01 02:30:36 +01:00
Victor Stinner 27e2d1f219
bpo-35081: Add pycore_ prefix to internal header files (GH-10263)
* Rename Include/internal/ header files:

  * pyatomic.h -> pycore_atomic.h
  * ceval.h -> pycore_ceval.h
  * condvar.h -> pycore_condvar.h
  * context.h -> pycore_context.h
  * pygetopt.h -> pycore_getopt.h
  * gil.h -> pycore_gil.h
  * hamt.h -> pycore_hamt.h
  * hash.h -> pycore_hash.h
  * mem.h -> pycore_mem.h
  * pystate.h -> pycore_state.h
  * warnings.h -> pycore_warnings.h

* PCbuild project, Makefile.pre.in, Modules/Setup: add the
  Include/internal/ directory to the search paths of header files.
* Update includes. For example, replace #include "internal/mem.h"
  with #include "pycore_mem.h".
2018-11-01 00:52:28 +01:00
Victor Stinner 31368a4f0e
bpo-35081: Move Include/pyatomic.c to Include/internal/ (GH-10239)
Add pyatomic.h to the VS project (it wasn't referenced).
2018-10-30 15:14:25 +01:00
Victor Stinner 6279c1c500
bpo-35053: Add Include/tracemalloc.h (GH-10091)
* Modify object.h to ensure that pymem.h is included,
  to get _Py_tracemalloc_config variable.
* Move _PyTraceMalloc_XXX() functions to tracemalloc.h,
  they need PyObject type. Break circular dependency between pymem.h
  and object.h.
2018-10-25 15:54:13 +02:00
Benjamin Peterson 65ed12cb7c
closes bpo-34869: Remove LDLAST. (GH-9667) 2018-10-03 19:23:24 -07:00
Serhiy Storchaka 79d1c2e6c9
bpo-25711: Rewrite zipimport in pure Python. (GH-6809) 2018-09-18 22:22:29 +03:00
Victor Stinner 6c785c0ebd
bpo-34170: Add Python/coreconfig.c for _PyCoreConfig (GH-8607)
* Add Include/coreconfig.h
* Move config_*() and _PyCoreConfig_*() functions from Modules/main.c
  to a new Python/coreconfig.c file.
* Inline _Py_ReadHashSeed() into config_init_hash_seed()
* Move global configuration variables to coreconfig.c
2018-08-01 17:56:14 +02:00
Antoine Pitrou 961d54c5c1
bpo-32430: Rename Modules/Setup.dist to Modules/Setup (GH-8229)
bpo-32430: Rename Modules/Setup.dist to Modules/Setup

Remove the necessity to copy the former manually to the latter when updating the local source tree.
2018-07-16 19:03:03 +02:00
Matthias Klose 10f715d712
Enable the verbose build for extension modules with GNU make (#6659) 2018-04-30 20:07:55 +02:00
Brett Cannon a8c342465b
bpo-25427: Remove pyvenv (GH-5962) 2018-04-20 14:15:40 -07:00
xdegaye 063db62aab bpo-32232: by default, Setup modules are no longer built with -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.
2018-04-21 01:03:49 +10:00
Zachary Ware d6ff8a7037
bpo-30638: Add clinic to `make regen-all` (GH-5671)
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.
2018-02-17 17:58:57 -06:00
Guido van Rossum 95e4d58913 String annotations [PEP 563] (#4390)
* 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.
2018-01-26 08:20:18 -08:00
Yury Selivanov f23746a934
bpo-32436: Implement PEP 567 (#5027) 2018-01-22 19:11:18 -05:00
Christian Heimes ff5be6e810
bpo-32598: Use autoconf to detect usable OpenSSL (#5242)
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>
2018-01-20 13:19:21 +01:00
Christian Heimes ced9cb5303
bpo-32549: Compile OpenSSL 1.1.0 on Travis CI (#5180)
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>
2018-01-16 21:02:26 +01:00
Ned Deily ca0c5f2656
bpo-32248: install new test_importlib directories (#5138) 2018-01-08 21:07:59 -05:00
Benjamin Peterson e425bd7517
move pygetopt.h to internal (closes bpo-32264) (#4830) 2017-12-14 23:48:12 -08:00
INADA Naoki 7ea143ae79
bpo-29469: Move constant folding to AST optimizer (GH-2858) 2017-12-14 16:47:20 +09:00
Victor Stinner 31a8393cf6
Revert "bpo-32197: Try to fix a compiler error on OS X introduced in bpo-32030. (#4681)" (#4694)
* Revert "bpo-32197: Try to fix a compiler error on OS X introduced in bpo-32030. (#4681)"

This reverts commit 13badcbc60.

Re-apply commits:

* "bpo-32030: _PyPathConfig_Init() sets home and program_name (#4673)"
  commit af5a895073.
* "bpo-32030: Fix config_get_program_name() on macOS (#4669)"
  commit e23c06e2b0.
* "bpo-32030: Add Python/pathconfig.c (#4668)"
  commit 0ea395ae96.
* "bpo-32030: Don't call _PyPathConfig_Fini() in Py_FinalizeEx() (#4667)"
  commit ebac19dad6.
* "bpo-32030: Fix Py_GetPath(): init program_name (#4665)"
  commit 9ac3d88827.

* Fix compilation error on macOS
2017-12-04 13:39:15 +01:00
Serhiy Storchaka 13badcbc60
bpo-32197: Try to fix a compiler error on OS X introduced in bpo-32030. (#4681)
* Revert "bpo-32030: _PyPathConfig_Init() sets home and program_name (#4673)"

This reverts commit af5a895073.

* Revert "bpo-32030: Fix config_get_program_name() on macOS (#4669)"

This reverts commit e23c06e2b0.

* Revert "bpo-32030: Add Python/pathconfig.c (#4668)"

This reverts commit 0ea395ae96.

* Revert "bpo-32030: Don't call _PyPathConfig_Fini() in Py_FinalizeEx() (#4667)"

This reverts commit ebac19dad6.

* Revert "bpo-32030: Fix Py_GetPath(): init program_name (#4665)"

This reverts commit 9ac3d88827.
2017-12-02 21:36:00 +02:00
Victor Stinner 0ea395ae96
bpo-32030: Add Python/pathconfig.c (#4668)
* 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
2017-12-01 20:50:58 +01:00
Victor Stinner 3be3b97a97
make tags: index also Modules/_ctypes/ (#4648)
Avoid also "cd $(srcdir)" to not change the current directory.
2017-11-30 22:49:10 +01:00
Victor Stinner 9e87e7776f
bpo-32096: Remove obj and mem from _PyRuntime (#4532)
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>
2017-11-24 12:09:24 +01:00
xdegaye 0de92859ca
bpo-31934: Abort when building out of a not clean source tree (GH-4255) 2017-11-08 16:03:58 +01:00
luzpaz a5293b4ff2 Fix miscellaneous typos (#4275) 2017-11-05 15:37:50 +02:00
Neil Schemenauer 4e38d71a2b
bpo-28643: Record profile-opt build progress with stamp files (#4223)
* 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.
2017-11-02 10:46:02 -07:00
Victor Stinner 87d332dcdb bpo-31810: Add smelly.py to check exported symbols (#4057)
* 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"
2017-10-24 01:29:53 -07:00
Benjamin Peterson 6fb0e4a6d0 explicitly list objects for the ar command (#3824)
$^ is not portable.

closes bpo-31625
2017-09-29 09:26:48 -07:00
Benjamin Peterson d15108a478 stop using ranlib (closes bpo-31625) (#3815)
Instead, simply pass 's' to ar.
2017-09-29 08:42:41 -07:00
Antoine Pitrou b091bec824 bpo-31536: Avoid wholesale rebuild after `make regen-all` (#3678)
* bpo-31536: Avoid wholesale rebuild after `make regen-all`

* Add NEWS
2017-09-20 14:57:56 -07:00
Victor Stinner 4866957e86 bpo-30860: Add Include/internal/ in "make tags" (#3498) 2017-09-11 09:34:36 -07:00
octaviansoldea 4c81401b3a bpo-31354: Let configure --with-lto work on all builds
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.
2017-09-08 12:14:33 -07:00
Eric Snow 2ebc5ce42a bpo-30860: Consolidate stateful runtime globals. (#3397)
* 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).
2017-09-07 23:51:28 -06:00
Antoine Pitrou a6a4dc816d bpo-31370: Remove support for threads-less builds (#3385)
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Christian Heimes d3b9f97e6d Update multissl test helper (#3349)
Signed-off-by: Christian Heimes <christian@python.org>
2017-09-06 18:59:22 -07:00
Eric Snow 05351c1bd8 Revert "bpo-30860: Consolidate stateful runtime globals." (#3379)
Windows buildbots started failing due to include-related errors.
2017-09-05 21:43:08 -07:00
Eric Snow 76d5abc868 bpo-30860: Consolidate stateful runtime globals. (#2594)
* 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).
2017-09-05 18:26:16 -07:00
Victor Stinner a3a01a2fce bpo-30871: Add "make pythoninfo" (#3120) 2017-08-18 11:31:52 +02:00
Serhiy Storchaka d5ed47dea2 bpo-30814, bpo-30876: Add new import test files to projects. (#2851) 2017-07-27 12:24:36 +03:00
Victor Stinner 00561189fb buildbot: pass --fail-env-changed to regrtest (#2509)
Make tests fail if a test altered the environment.
2017-06-30 16:44:08 +02:00
Gregory P. Smith 178418ad67 bpo-30492: Allow make clinic to work out of tree. (#1836)
* bpo-30492: Allow make clinic to work out of tree.

* Use os.curdir instead of "." as the default value.
2017-05-27 16:40:45 -07:00
xdegaye c0364fc7c2 bpo-20210: Support the *disabled* marker in Setup files (GH-132)
Extension modules listed after the *disabled* marker are not built at all,
neither by the Makefile nor by setup.py.
2017-05-27 18:25:03 +02:00
Eric Snow 6b4be195cd bpo-22257: Small changes for PEP 432. (#1728)
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.
2017-05-22 21:36:03 -07:00
Stéphane Wirtel 7bac69d7f1 Remove .bzrignore (GH-1661) 2017-05-22 14:28:28 -07:00
stratakis f6eae5bf1c bpo-28787: Fix out of tree --with-dtrace builds (#135)
* bpo-28787: Fix out of tree --with-dtrace builds

* Unsilence directory creation

* Add Misc/NEWS and Misc/ACKS entries
2017-05-10 17:08:15 +02:00
Xiang Zhang fa5abac1e6 bpo-30289: remove Misc/python-config.sh when make distclean (#1498) 2017-05-09 10:32:13 +08:00
torsava a1054c3b00 bpo-29243: Fix Makefile with respect to --enable-optimizations (#1478)
* 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
2017-05-05 17:35:50 +02:00
Victor Stinner a5c62a8e9f bpo-23404: make touch becomes make regen-all (#1405)
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.
2017-05-03 18:21:48 +02:00
Victor Stinner 826f83f1d5 bpo-30104: Only use -fno-strict-aliasing on dtoa.c (#1340)
On clang, only compile dtoa.c with -fno-strict-aliasing, use strict
aliasing to compile all other C files.
2017-04-28 15:07:10 +02:00
Alex Dzyoba 8a543c0bc7 `make tags` fixes (GH-717)
* 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.
2017-03-24 17:23:43 +09:00
Ned Deily 5c4b0d063a bpo-27593: Get SCM build info from git instead of hg. (#446)
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.
2017-03-04 00:19:55 -05:00
Victor Stinner c22bfaae83 bpo-29524: Add Objects/call.c file (#12)
* 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.
2017-02-12 19:27:05 +01:00
Victor Stinner d783b01fdf Rename README to README.rst and enhance formatting (#2)
Update also the Release Schedule to Python 3.7.
2017-02-11 02:21:38 +01:00
Victor Stinner d2306cec4d Backed out changeset f23fa1f7b68f
Sorry, I didn't want to push this change before the review :-( I was pushing a
change into the 2.7 branch.
2017-02-10 14:19:36 +01:00
Victor Stinner 766af559ad Issue #29465: Add Objects/call.c file
* 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.
2017-02-10 13:32:29 +01:00
Vinay Sajip abe40bcbfe Closed #29261: merged fix from 3.6. 2017-01-13 19:17:51 +00:00
Vinay Sajip 6b642c9a71 Fixes #29261: merged fix from 3.5. 2017-01-13 19:17:03 +00:00
Vinay Sajip 5fd832ba09 Fixes #29261: added venv/scripts/common to LIBSUBDIRS. 2017-01-13 19:08:47 +00:00
Xiang Zhang 44dcd1e1d5 Issue #28930: Merge from 3.6. 2016-12-15 17:05:04 +08:00
Xiang Zhang 3d40e37883 Issue #28930: Add a Makefile rule for bytes_methods.c.
Add a dependency to stringlib to make sure that bytes_methods.c is
recompiled if stringlib is modified.
2016-12-15 16:41:12 +08:00
Martin Panter a57890e5ec Issue #10656: Merge AIX build fix from 3.6 2016-11-20 22:16:46 +00:00
Martin Panter e45df0a6da Issue #10656: Merge AIX build fix from 3.5 2016-11-20 22:06:44 +00:00
Martin Panter 395733d46b Issue #10656: Fix out-of-tree building on AIX
The ld_so_aix script and python.exp file are created in the build directory.
Patch by Tristan Carel and Michael Haubenwallner.
2016-11-20 07:56:37 +00:00
Xavier de Gaye 0eacef3ecf Issue #28444: Merge with 3.5. 2016-10-29 16:59:32 +02:00
Xavier de Gaye 84968b74c8 Issue #28444: Fix missing extensions modules when cross compiling. 2016-10-29 16:57:20 +02:00
Xavier de Gaye 0af10ac472 Issue #28444: Merge with 3.6. 2016-10-29 17:01:07 +02:00
Xavier de Gaye 800d6dc17d Issue #28046: Merge with 3.6. 2016-10-28 11:23:24 +02:00
Xavier de Gaye 1c17e7ff08 Issue #28046: Fix the removal of the sysconfigdata module
from lib-dynload on install.
2016-10-28 11:22:05 +02:00
Benjamin Peterson a2bc46da14 merge 3.6 2016-10-20 22:39:39 -07:00
Benjamin Peterson 4510e6de9d mark dtrace stubs as static inline; remove stubs
C99 inline semantics don't work everywhere. (https://bugs.python.org/issue28092)
We don't want these to have external visibility anyway.
2016-10-20 22:37:00 -07:00
Zachary Ware 3839d99b79 Issue #13756: Fix building extensions modules on Cygwin
Patch by Roumen Petrov, based on original patch by Jason Tishler.
2016-10-01 16:15:09 -05:00
Victor Stinner d920d3906f Merge 3.6 2016-09-29 22:31:28 +02:00
Victor Stinner e234fce57b Merge 3.5 2016-09-29 22:31:20 +02:00
Victor Stinner 8d50d628b8 Issue #28258: Explain the LC_ALL change in a comment 2016-09-29 22:31:06 +02:00
Serhiy Storchaka cf6d2d90c5 Issue #28258: Fixed build with Estonian locale (python-config and distclean
targets in Makefile).  Patch by Arfrever Frehtes Taifersar Arahesis.
2016-09-29 20:39:45 +03:00
Serhiy Storchaka 80bc7dc59e Issue #28258: Fixed build with Estonian locale (python-config and distclean
targets in Makefile).  Patch by Arfrever Frehtes Taifersar Arahesis.
2016-09-29 20:29:23 +03:00
Serhiy Storchaka 2e8c939e3d Issue #28258: Fixed build with Estonian locale (python-config and distclean
targets in Makefile).  Patch by Arfrever Frehtes Taifersar Arahesis.
2016-09-29 20:46:08 +03:00
Martin Panter adab00fb3e Issue #27950: Silence long makefile commands and comments
Gnu Make treats comments in a list of commands as shell comments (not
makefile comments), and reports them as shell commands. The space separating
the @ and # symbols helps syntax highlighting.
2016-09-22 09:34:43 +00:00
Christian Heimes 79f9d4ff97 lcov: ignore more 3rd party code and internal test/debug/dummy files 2016-09-21 14:55:43 +02:00
Martin Panter 134192630a Issue #15819: Remove old unconditional -IInclude option
A newer instance of this option, enabled in the configure script when
building outside the source tree, made this redundant.
2016-09-13 12:21:47 +00:00
Martin Panter b2317a4d9d Issue #15819: Merge include search from 3.5 into 3.6 2016-09-13 12:40:51 +00:00
Victor Stinner 2f462a68f9 Buildbot: give 20 minute per test file
It seems like at least 2 buildbots need more than 15 minutes per test file.
Example with "AMD64 Snow Leop 3.x":

    10 slowest tests:
    - test_tools: 14 min 40 sec
    - test_tokenize: 11 min 57 sec
    - test_datetime: 11 min 25 sec
    - ...
2016-09-12 13:04:17 +02:00
Benjamin Peterson f5781958af add dtrace inline stubs 2016-09-09 19:48:47 -07:00
Zachary Ware c4b53afce4 Issue #28046: Remove platform-specific directories from sys.path 2016-09-09 17:59:49 -07:00
Łukasz Langa a785c87d6e DTrace support: function calls, GC activity, line execution
Tested on macOS 10.11 dtrace, Ubuntu 16.04 SystemTap, and libbcc.

Largely based by an initial patch by Jesús Cea Avión, with some
influence from Dave Malcolm's SystemTap patch and Nikhil Benesch's
unification patch.

Things deliberately left out for simplicity:
- ustack helpers, I have no way of testing them at this point since
they are Solaris-specific
- PyFrameObject * in function__entry/function__return, this is
SystemTap-specific
- SPARC support
- dynamic tracing
- sys module dtrace facility introspection

All of those might be added later.
2016-09-09 17:37:37 -07:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) 255295f13e Fix make buildbottest to not re-trigger a profile-opt build. issue28035. 2016-09-09 12:22:49 -07:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) e53592091a Fix make buildbottest to not re-trigger a profile-opt build. issue28035. 2016-09-09 12:23:05 -07:00
Benjamin Peterson 7d895ac953 remove --with(out)-signal-module, since the signal module is non-optional 2016-09-09 12:01:10 -07:00
Brett Cannon 8c94f97465 Issue #26359: Add the --with-optimizations flag. 2016-09-06 17:15:21 -07:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) 653c850919 Fixes issue26307: The profile-opt build now applys PGO to the built-in
modules.
2016-09-06 23:56:54 +00:00
Benjamin Peterson 41356f926d indicate the dependence of odict and dictobject on dict-common.h 2016-09-08 13:19:14 -07:00
Zachary Ware 20737cc91e Issue #28027: Remove Lib/plat-* files 2016-09-08 11:38:46 -07:00
Eric Snow 97be87a5c8 Issue #15352: Rebuild frozen modules when marshal.c is changed. 2016-09-07 18:48:06 -07:00
Steve Dower 22d0698d3b Adds test.support.PGO and skips tests that are not useful for PGO. 2016-09-06 19:38:15 -07:00
Brett Cannon 63d98bcd4c Issue #26359: Add the --with-optimizations configure flag.
The flag will activate LTO and PGO build support when available.
Thanks to Alecsandur Patrascu of Intel for the original patch.
2016-09-06 17:12:40 -07:00
Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) c083476bde Fixes issue26307: The profile-opt build now applys PGO to the built-in modules. 2016-09-06 23:58:32 +00:00
Christian Heimes 3c397e4c39 Fix out-of-tree builds for blake2 2016-09-06 22:35:14 +02:00
Christian Heimes 121b9487d1 Issue #26798: Add BLAKE2 (blake2b and blake2s) to hashlib. 2016-09-06 22:03:25 +02:00
Zachary Ware a582af8a5c Merge with 3.5 2016-08-30 02:12:43 -05:00
Zachary Ware de354bc7fc Include test/test_warnings/data as well 2016-08-30 02:12:27 -05:00
Zachary Ware 6dd11094f2 Merge with 3.5 2016-08-30 01:41:35 -05:00
Zachary Ware 19e5064e24 Include test_tools and test_warnings in install
test_tools is pretty much useless unless somebody copies the scripts
it tests into the proper location, but we might as well install it
anyway to make sure it skips properly.  test_warnings just didn't get
included when it was turned into a package in 94966dfd3bd3.
2016-08-30 00:28:40 -05:00
Benjamin Peterson 201c328524 remove unused list of pgen srcs 2016-08-21 12:53:09 -07:00
Victor Stinner 034fb564b1 Issue #27726: Fix "make tags"
* Memove -t option of ctags. The option was kept for backward compatibility,
  but it was completly removed recently. Patch written by Stéphane Wirtel.
* Set locale to C to call sort. vim expects that the tags file is sorted using
  english collation, so it fails if the locale is french for example. Use
  LC_ALL=C to force english sorting order. .
2016-08-17 14:00:58 +02:00
Victor Stinner cf0ac6a71a Fix "make tags": set locale to C to call sort
vim expects that the tags file is sorted using english collation, so it fails
if the locale is french for example. Use LC_ALL=C to force english sorting
order. Issue #27726.
2016-08-17 13:58:12 +02:00
Victor Stinner 9c4bfa6669 "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.
2016-08-17 13:51:52 +02:00
Victor Stinner f7457001a6 Tests: add --slowest option to buildbots
Display the top 10 slowest tests.
2016-08-17 11:27:40 +02:00
Martin Panter c57e4d16ea Issue #25825: Merge AIX fix from 3.5 2016-08-12 13:26:01 +00:00
Martin Panter 5401e87b01 Issue #25825: Fix references to Modules/python.exp
These were incorrectly changed in revision 88a532a31eb3.
2016-08-12 13:21:05 +00:00
Martin Panter 0c859f362c Issue #27641: Merge cross-compiling improvement from 3.5 2016-08-04 01:53:40 +00:00
Martin Panter 43a94a7e2f Issue #27641: Comment out regeneration rules when cross compiling 2016-07-29 05:52:32 +00:00
Martin Panter 4b53359090 Issue #27490: Merge pgen cross-compile logic from 3.5 2016-07-28 01:30:06 +00:00
Martin Panter eac67be948 Issue #27490: Do not build pgen when cross-compiling
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.
2016-07-28 01:28:27 +00:00
Xavier de Gaye 8d4989687c (merge from 3.5) Issue #26662: Set PYTHON_FOR_GEN in configure
as the Python program to be used for file generation during the build.
2016-07-26 12:55:20 +02:00
Xavier de Gaye fd0d5939bd Issue #26662: Set PYTHON_FOR_GEN in configure
as the Python program to be used for file generation during the build.
2016-07-26 12:48:08 +02:00
Ned Deily b8d3e40567 Issue #23968: Fix installs of the renamed config directory for OS X
framework builds.
2016-06-18 15:58:52 -04:00
doko@ubuntu.com 5553231b91 - Issue #23968: Rename the platform directory from plat-$(MACHDEP) to
plat-$(PLATFORM_TRIPLET).
  Rename the config directory (LIBPL) from config-$(LDVERSION) to
  config-$(LDVERSION)-$(PLATFORM_TRIPLET).
  Install the platform specifc _sysconfigdata module into the platform
  directory and rename it to include the ABIFLAGS.
2016-06-14 08:55:19 +02:00
Brett Cannon 82029ac14c Issue #27186: add Include/osmodule.h to the proper build rules 2016-06-12 13:21:22 -07:00
Martin Panter cb3a581636 Issue #27229: Merge makefile fix from 3.5 2016-06-07 01:08:48 +00:00
Martin Panter 6827fd867b Issue #27229: Comment in middle of shell command fails on BSD and OS X 2016-06-07 01:07:32 +00:00
Martin Panter bb707607ea Issue #27229: Merge cross-compiling fix from 3.5 2016-06-07 00:30:49 +00:00
Martin Panter 9c2a8f97da Issue #27229: Fix in-tree cross-build rule, by Xavier de Gaye 2016-06-07 00:27:17 +00:00
Martin Panter 3e04d5b306 Issue #27076: Merge spelling from 3.5 2016-05-26 06:03:19 +00:00
Martin Panter 46f50726a0 Issue #27076: Doc, comment and tests spelling fixes
Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
2016-05-26 05:35:26 +00:00
Martin Panter da28494d0a Issue #22359: Merge cross-compilation fix from 3.5 2016-04-23 01:18:54 +00:00
Martin Panter 1046d5c653 Issue #22359: Disable running cross-compiled _freeze_importlib and pgen
Patch by Xavier de Gaye.
2016-04-23 00:58:44 +00:00
Gregory P. Smith 79a12a2aa5 Issue #25702: A --with-lto configure option has been added that will
enable link time optimizations at build time during a make profile-opt.
2016-04-15 16:58:51 -07:00
Gregory P. Smith d82da9f7f2 Issue #25702: A --with-lto configure option has been added that will
enable link time optimizations at build time during a make profile-opt.
2016-04-15 16:57:04 -07:00
Gregory P. Smith 65f315e1ef Exclude super long running tests from the PROFILE_TASK for PGO
builds.  multiprocessing and subprocess tests in particular
along with test_asyncore and test_gdb.  Running them does not
meaningfully add to the profile guidance.
2016-04-15 16:46:14 -07:00
Gregory P. Smith ad45ab876f Exclude super long running tests from the PROFILE_TASK for PGO
builds.  multiprocessing and subprocess tests in particular
along with test_asyncore and test_gdb.  Running them does not
meaningfully add to the profile guidance.
2016-04-15 16:45:43 -07:00
doko@ubuntu.com b9e0834f46 Merge 3.5 2016-03-23 12:58:00 +01:00
doko@ubuntu.com 3a56b775da Makefile.pre.in (profile-opt): Fix bashism. 2016-03-23 12:57:29 +01:00
Victor Stinner d65e0c7560 Makefile: change default value of TESTTIMEOUT from 1 hour to 15 min
The whole test suite takes 6 minutes on my laptop. It takes less than 30
minutes on most buildbots. The TESTTIMEOUT is the timeout for a single test
file.
2016-03-23 02:05:39 +01:00
Serhiy Storchaka 885bdc4946 Issue #25985: sys.version_info is now used instead of sys.version
to format short Python version.
2016-02-11 13:10:36 +02:00
Martin Panter 63d096ddab Issue #24421: Compile _math.c separately to avoid race condition 2016-02-03 05:19:44 +00:00
Martin Panter c9deece272 Issue #24421: Compile _math.c separately to avoid race condition 2016-02-03 05:19:44 +00:00
Zachary Ware 266514ae93 Issue #25827: Merge with 3.5 2015-12-21 14:17:12 -06:00
Zachary Ware 5af856404a Issue #25827: Add support for ICC to configure 2015-12-21 12:09:17 -06:00
Victor Stinner e33baf8b83 Merge 3.5 2015-12-13 21:26:34 +01:00
Victor Stinner 8de795f4d2 Issue #25696: Don't ignore errors in 'make bininstall' on creating $(LIBPC) directory 2015-12-13 21:26:17 +01:00
Victor Stinner 117051afa9 (Merge 3.5) Issue #25696: Fix installation of Python on UNIX with make -j9. 2015-12-13 21:21:36 +01:00
Victor Stinner c2021558ef Issue #25696: Fix installation of Python on UNIX with make -j9. 2015-12-13 21:20:36 +01:00
Victor Stinner dc0965551e Issue #25694: Install test.libregrtest to be able to run tests on the installed
Python
2015-11-22 15:18:40 +01:00
Brett Cannon be7c1638e2 Issue #25188: Add a -P/--pgo flag to regrtest to silence error output.
Since PGO building doesn't care about test failures, silence them when
running the test suite for performance reasons. Initial patch by
Alecsandru Patrascu of Intel.
2015-10-02 16:16:44 -07:00
Brett Cannon 7188a3efe0 Issue #24915: Add Clang support to PGO builds and use the test suite
for profile data.

Thanks to Alecsandru Patrascu of Intel for the initial patch.
2015-09-18 15:13:44 -07:00
Eric Snow 96c6af9b20 Issue #16991: Add a C implementation of collections.OrderedDict. 2015-05-29 22:21:39 -06:00
Eric Snow 32439d6eb6 Issue #23911: Move path-based bootstrap code to a separate frozen module. 2015-05-02 19:15:18 -06:00
doko@ubuntu.com dd2693fc1f - merge 3.4 2015-04-30 13:44:43 +02:00
doko@ubuntu.com ca40e4315c - remove unused EXTRAPLATDIR macro in Makefile.pre.in 2015-04-30 13:44:18 +02:00
Gregory P. Smith 8cb6569fe1 Implements issue #9951: Adds a hex() method to bytes, bytearray, & memoryview.
Also updates a few internal implementations of the same thing to use the
new built-in code.

Contributed by Arnon Yaari.
2015-04-25 23:22:26 +00:00
doko@ubuntu.com ae18f387e4 merge 3.4 2015-04-13 22:10:47 +02:00
doko@ubuntu.com 100aa18556 - Makefile.pre.in (LIBPL): Use the definition from configure.ac 2015-04-13 22:10:21 +02:00
doko@ubuntu.com 4b761bf79a - merge 3.4 2015-04-13 22:00:30 +02:00
doko@ubuntu.com 1345d20193 - Use PLATDIR for the platform directory everywhere (refactoring only) 2015-04-13 21:59:57 +02:00
Brett Cannon f299abdafa Issue #23731: Implement PEP 488.
The concept of .pyo files no longer exists. Now .pyc files have an
optional `opt-` tag which specifies if any extra optimizations beyond
the peepholer were applied.
2015-04-13 14:21:02 -04:00
Nick Coghlan 8d11ccceeb Rebuild _freeze_importlib.o when Makefile changes 2015-04-13 11:30:49 -04:00
Robert Collins c7965e0c21 Issue #23585: make patchcheck will ensure the interpreter is built. 2015-03-16 15:30:31 +13:00
Ned Deily 914db0f11c Issue #23285: Install new test directory. 2015-02-08 15:48:40 +11:00
Gregory P. Smith 28fe496598 Fixes issue23390: make profile-opt causes -fprofile-generate and related flags
to end up in distutils CFLAGS.
2015-02-04 02:16:13 -08:00
Gregory P. Smith 2f90aa6366 Fixes issue23390: make profile-opt causes -fprofile-generate and related flags
to end up in distutils CFLAGS.
2015-02-04 02:11:56 -08:00
Ned Deily 7c562f670c Issue #17636: Install new test directories. 2014-12-13 02:05:15 -08:00
Nick Coghlan d600951748 Issue #22869: Split pythonrun into two modules
- interpreter startup and shutdown code moved to a new
  pylifecycle.c module
- Py_OptimizeFlag moved into the new module with the other
  global flags
2014-11-20 21:39:37 +10:00
Georg Brandl 4f8fed28f0 merge with 3.4 2014-10-06 16:19:20 +02:00
Georg Brandl 2a3e396b24 Closes #21480: better explanation of "hg touch" in the Makefile. 2014-10-06 14:58:17 +02:00
Antoine Pitrou 895ce149c1 Issue #22359: Remove incorrect uses of recursive make. Patch by Jonas Wagner. 2014-09-21 00:21:58 +02:00
Ned Deily 87018afeae Issue #21166: fix typo in comment 2014-08-23 18:10:49 -07:00
Ned Deily ec7aaf5de4 Issue #21166: fix typo in comment 2014-08-23 18:10:16 -07:00
Ned Deily 682c04c70c Issue #21166: merge from 3.4 2014-08-22 13:36:30 -07:00
Ned Deily fcbc246e9f Issue #21166: Prevent possible segfaults and other random failures of
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.
2014-08-22 13:32:49 -07:00
Benjamin Peterson acb8c52343 add -Werror=declaration-after-statement only to stdlib extension modules (closes #21121)
Patch from Stefan Krah.
2014-08-09 20:01:49 -07:00
Benjamin Peterson b30802b7a8 merge 3.4 (#21121) 2014-08-09 20:04:19 -07:00
Nick Coghlan 973fe0ba7a Issue #18093: Factor out the programs that embed the runtime 2014-07-25 21:52:14 +10:00
Ned Deily 05278eeac9 Issue 21383: merge from 3.4 2014-05-11 21:47:21 -07:00
Ned Deily a869fd3dc0 Issue #21383: Allow "make touch" to work when building outside of the
source directory.
2014-05-11 21:45:13 -07:00
Thomas Wouters 67d8dc1f58 Fix Tools/scripts/generate_opcode_h.py from issue #17861 to work correctly
when building in a separate object tree. More people should build this way.
This may still fail if the source is unwritable, I haven't tested that yet.
2014-04-17 01:13:29 +02:00
Kushal Das 02d23a212a Closes Issue 17861: Autogenerate Include/opcode.h from opcode.py.
It includes required changes in Makefile.pre.in and configure.ac
among other files.
2014-04-15 23:50:06 +05:30
Ned Deily 490e53b853 Issue #21097: Update Makefile with changed install locations of test directories. 2014-04-08 18:54:49 -07:00
Ned Deily 2f2ecaa484 Issue #19990: Install test/imghdrdata. 2014-02-02 14:00:39 -08:00
Ned Deily 6bb21c48bc Issue #19990: Install test/imghdrdata. 2014-02-02 13:59:49 -08:00
Martin v. Löwis 24e43308b7 * Issue #16113: Remove sha3 module again.
Patch by Christian Heimes, with modifications.
2014-01-03 14:05:06 +01:00
Charles-François Natali 250a452fcf Issue #19965: Make sure that Python-ast.h is properly taken into account in the
makefile.
2013-12-15 19:12:52 +01:00
Charles-François Natali 46c686fc40 Issue #19965: Make sure that Python-ast.h is properly taken into account in the
makefile.
2013-12-15 19:09:00 +01:00
Christian Heimes 1969e01ae5 Fix make distclean for out-of-tree builds 2013-11-24 03:32:51 +01:00
Christian Heimes f8471862d6 Fix make distclean for out-of-tree builds 2013-11-24 03:32:40 +01:00
Larry Hastings dcd340eeeb Issue #19358: "make clinic" now runs the Argument Clinic preprocessor
over all CPython source files.
2013-11-23 14:58:45 -08:00
Ned Deily 322f5ba0d8 Issue #19553: PEP 453 - "make install" and "make altinstall" now install or
upgrade pip by default, using the bundled pip provided by the new ensurepip
module.  A new configure option, --with-ensurepip[=upgrade|install|no], is
available to override the default ensurepip "--upgrade" option.  The option
can also be set with "make [alt]install ENSUREPIP=[upgrade|install\no]".
2013-11-21 23:01:59 -08:00
Ned Deily b8f944f0b7 Issue #19649: On OS X, the same set of file names are now installed
in bin directories for all configurations: non-framework vs framework,
and single arch vs universal builds.  pythonx.y-32 is now always
installed for 64-bit/32-bit universal builds.  The obsolete and
undocumented pythonw* symlinks are no longer installed anywhere.
2013-11-21 22:42:25 -08:00
Christian Heimes 985ecdcfc2 ssue #19183: Implement PEP 456 'secure and interchangeable hash algorithm'.
Python now uses SipHash24 on all major platforms.
2013-11-20 11:46:18 +01:00
Nick Coghlan d0cf0635b3 Close #19406: Initial implementation of ensurepip
Patch by Donald Stufft and Nick Coghlan
2013-11-11 22:11:55 +10:00
Ned Deily db5ab780e8 Issue #15392: merge from 3.3 2013-11-03 20:09:51 -08:00
Ned Deily c3909e5af7 Issue #15392: Install idlelib/idle_test. 2013-11-03 20:08:53 -08:00
Serhiy Storchaka 8444ebbd72 Issue #18685: Extract template part of _sre.c into separated sre_lib.h file. 2013-10-26 11:18:42 +03:00
Ned Deily 65657c27fa Issue #1584: Provide options to override default search paths for Tcl and Tk
when building _tkinter.  configure has two new options; if used, both must
be specified:

  ./configure \
      --with-tcltk-includes="-I/opt/local/include" \
      --with-tcltk-libs="-L/opt/local/lib -ltcl8.5 -ltk8.5"

In addition, the options can be overridden with make:

   make \
       TCLTK_INCLUDES="-I/opt/local/include" \
       TCLTK_LIBS="-L/opt/local/lib -ltcl8.6 -ltk8.6"
2013-10-25 00:34:44 -07:00
Ned Deily 3c97e46f63 Issue #19262: Install asyncio and test_asyncio directories. 2013-10-17 18:08:00 -07:00
Serhiy Storchaka e1426b61f6 Issue #18919: Add test/audiodata to LIBSUBDIRS. 2013-10-14 21:19:24 +03:00
Serhiy Storchaka c3a9b35588 Issue #18919: Add test/audiodata to LIBSUBDIRS. 2013-10-14 21:18:50 +03:00
Martin v. Löwis 706f0f5f57 Drop buildbottouch again; the master is using "make touch" now. 2013-10-02 16:59:23 +02:00
Martin v. Löwis 73c6ee0080 Merge 3.3 2013-10-02 16:59:41 +02:00
Martin v. Löwis 2512caedd7 Merge 3.3 2013-09-30 16:22:05 +02:00
Martin v. Löwis 7ab8c872d3 Issue #19106: Add buildbottouch target. 2013-09-30 16:21:44 +02:00
Ned Deily d819b931f3 Issue #1584: Provide options to override default search paths for Tcl and Tk
when building _tkinter.  configure has two new options; if used, both must
be specified:

  ./configure \
      --with-tcltk-includes="-I/opt/local/include" \
      --with-tcltk-libs="-L/opt/local/lib -ltcl8.5 -ltk8.5"

In addition, the options can be overridden with make:

   make \
       TCLTK_INCLUDES="-I/opt/local/include" \
       TCLTK_LIBS="-L/opt/local/lib -ltcl8.6 -ltk8.6"
2013-09-06 01:07:05 -07:00
Richard Oudkerk 84ed9a68bd Issue #8713: Support alternative start methods in multiprocessing on Unix.
See http://hg.python.org/sandbox/sbt#spawn
2013-08-14 15:35:41 +01:00
Ezio Melotti 5cc06fde43 #18273: merge with 3.3. 2013-08-08 15:18:26 +03:00
Ezio Melotti 66f2ea042a #18273: move the tests in Lib/test/json_tests to Lib/test/test_json and make them discoverable by unittest. Patch by Zachary Ware. 2013-08-08 15:03:45 +03:00
doko@ubuntu.com 0df35b0a57 - Issue #18257: Fix readlink usage in python-config. Install the python
version again on Darwin.
2013-08-01 15:32:49 +02:00
Christian Heimes 49e52f9375 Issue #18481: Add C coverage reporting with gcov and lcov. A new make target
"coverage-report" creates an instrumented Python build, runs unit tests
and creates a HTML. The report can be updated with "make coverage-lcov".
2013-07-31 00:55:18 +02:00
Ned Deily 3b998d1086 Issue #15494: merge from 3.3 2013-07-30 14:32:52 -07:00
Ned Deily cdc75d967b Issue #15494: Install new test/support directory. 2013-07-30 14:30:15 -07:00
Christian Heimes 273c292dfa use $(LN) makefile variable instead of ln 2013-07-09 14:30:22 +02:00
Christian Heimes ae6275d8c8 use $(LN) makefile variable instead of ln 2013-07-09 14:30:04 +02:00
Ned Deily 78094ac53e Avoid spurious non-fatal install errors for OS X frameworks:
for a framework install, the python shared library is installed in
the frameworkinstallstructure target, not in altbininstall.
2013-07-08 14:33:03 -07:00
Eric V. Smith ee31bc09cf #18312: merge from 3.3. 2013-07-02 09:07:53 -04:00
Eric V. Smith f4c47b5a35 Closes #18312: 'make distclean' no longer deletes files in dot-directories. 2013-07-02 09:06:54 -04:00
Serhiy Storchaka e2cef885a2 Issue #16061: Speed up str.replace() for replacing 1-character strings. 2013-04-13 22:45:04 +03:00
doko@ubuntu.com 6d3d0fe0b2 - Issue #16754: Fix the incorrect shared library extension on linux. Introduce
two makefile macros SHLIB_SUFFIX and EXT_SUFFIX. SO now has the value of
  SHLIB_SUFFIX again (as in 2.x and 3.1). The SO macro is removed in 3.4.
2013-03-21 13:39:52 -07:00
doko@ubuntu.com 1621d77fc8 - Issue #16754: Fix the incorrect shared library extension on linux. Introduce
two makefile macros SHLIB_SUFFIX and EXT_SUFFIX. SO now has the value of
  SHLIB_SUFFIX again (as in 2.x and 3.1). The SO macro is removed in 3.4.
2013-03-21 13:31:41 -07:00
doko@ubuntu.com d5537d071c - Issue #16754: Fix the incorrect shared library extension on linux. Introduce
two makefile macros SHLIB_SUFFIX and EXT_SUFFIX. SO now has the value of
  SHLIB_SUFFIX again (as in 2.x and 3.1). The SO macro is removed in 3.4.
2013-03-21 13:21:49 -07:00
Serhiy Storchaka e4ad8aacd1 Issue #4591: Uid and gid values larger than 2**31 are supported now. 2013-02-12 09:24:16 +02:00
Serhiy Storchaka 008deb7f04 Clean trailing whitespaces in Makefile.pre.in. 2013-02-12 09:21:36 +02:00
Serhiy Storchaka c2d020090b Issue #4591: Uid and gid values larger than 2**31 are supported now. 2013-02-10 22:03:08 +02:00
Serhiy Storchaka 7cf5599346 Issue #4591: Uid and gid values larger than 2**31 are supported now. 2013-02-10 21:56:49 +02:00
Ned Deily 1ce9595e87 Issue #17161: merge from 3.3 2013-02-08 23:05:10 -08:00
Ned Deily aa20b000d1 Issue #17161: make install now also installs a python3 man page. 2013-02-08 23:02:09 -08:00
Ned Deily a48b61f8f2 Issue #17161: make install now also installs a python3 man page. 2013-02-08 22:53:51 -08:00
doko@python.org 874211978c - Issue #16235: Implement python-config as a shell script. 2013-01-26 11:39:31 +01:00
doko@python.org 90c8d06d68 - Issue #17031: Fix running regen in cross builds. 2013-01-25 18:45:41 +01:00
doko@python.org a10e4a9afb - Issue #17031: Fix running regen in cross builds. 2013-01-25 18:45:12 +01:00
doko@python.org 6951fea3ab - Issue #17029: Let h2py search the multiarch system include directory. 2013-01-25 13:20:46 +01:00
doko@python.org 0c77bf757f - Issue #17029: Let h2py search the multiarch system include directory. 2013-01-25 13:19:35 +01:00
doko@python.org 3e6e2ac31d - Issue #17029: Let h2py search the multiarch system include directory. 2013-01-25 13:12:29 +01:00
Serhiy Storchaka 05aba6ce39 Issue #16320: Remove redundant Makefile dependencies for strings and bytes. 2013-01-06 21:36:21 +02:00
Christian Heimes 98cd0f262d Issue #16593: Have BSD 'make -s' do the right thing, thanks to Daniel Shahaf 2012-12-02 08:23:05 +01:00
Christian Heimes 8ca1d5f762 - Issue #16593: Have BSD 'make -s' do the right thing, thanks to Daniel Shahaf 2012-12-02 08:14:50 +01:00
Christian Heimes 17ad40e46e Have BSD 'make -s' do the right thing, thanks to Daniel Shahaf 2012-12-02 07:37:35 +01:00
Matthias Klose 1348747052 - Issue #16262: fix out-of-src-tree builds, if mercurial is not installed. 2012-10-21 23:14:39 +02:00
Matthias Klose aee3c76acf - Issue #16262: fix out-of-src-tree builds, if mercurial is not installed. 2012-10-21 23:12:35 +02:00
Matthias Klose c4c4842d86 - Issue #16262: fix out-of-src-tree builds, if mercurial is not installed. 2012-10-21 23:05:35 +02:00
Antoine Pitrou 74375fc06a Followup to issue #15958: add join.h to Makefile dependencies for byte strings
(thanks Serhiy).
2012-10-18 21:31:22 +02:00
Trent Nelson 5595ab564c Issue #15819: use standard autoconf preset output variables.
Reported by: Roumen Petrov
2012-10-17 04:47:31 -04:00
Trent Nelson 739fc541b1 Issue #15819: use standard autoconf preset output variables.
Reported by: Roumen Petrov
2012-10-17 04:45:30 -04:00
Trent Nelson 4d4ec6502d Merge issue #15819: additional fixes for out-of-tree builds from read-only src.
Specifically, make sure the 'Object', 'Python' and 'Include' directories
in the build directory take precedence over the source directory if we're
an out-of-tree build.

Fix typeslots.inc so that it gets generated into the build directory.

In addition, for 3.3, make sure importlib.h gets generated into the
build directory.
2012-10-16 08:51:24 -04:00
Trent Nelson 9effe699b7 Issue #15819: additional fixes for out-of-tree builds from read-only src.
Specifically, make sure the 'Object', 'Python' and 'Include' directories
in the build directory take precedence over the source directory if we're
an out-of-tree build.

Fix typeslots.inc so that it gets generated into the build directory.
2012-10-16 08:41:32 -04:00
Trent Nelson c101bf32c4 Issue #15298: ensure _sysconfigdata is generated in build directory,
not source directory.

Patch by Richard Oudkerk (sbt).
2012-10-16 08:13:12 -04:00
Ned Deily 4725b13ab3 Issue #15822: Fix installation of lib2to3 grammar pickles to ensure
they are created in the install locations and with the proper timestamp.
(Solution suggested by MvL)
2012-09-08 19:04:47 -07:00
Ned Deily 47bcfff26b Issue #15822: Fix installation of lib2to3 grammar pickles to ensure
they are created in the install locations and with the proper timestamp.
(Solution suggested by MvL)
2012-09-08 18:50:56 -07:00
Christian Heimes 4e2514031a Fix for fcc629208842
BSD's make doesn't support some of the features.
2012-09-07 02:26:26 +02:00
Christian Heimes 5f381210c4 Fix for fcc629208842
BSD's make doesn't support some of the features.
2012-09-07 02:24:58 +02:00
Christian Heimes 74b65c8ebc Issue #15591 and Issue #11715: silence output of setup.py when make is run with -s option. 2012-09-07 00:56:56 +02:00
Christian Heimes 0897683381 Issue #15591 and Issue #11715: silence output of setup.py when make is run with -s option. 2012-09-07 00:55:33 +02:00
Trent Nelson e60ee2985c Issue #15819: Fix out-of-tree builds from a readonly source. 2012-08-30 14:52:38 +00:00
Trent Nelson a45afcada3 Issue #15819: Fix out-of-tree builds from a readonly source. 2012-08-30 14:32:02 +00:00
Matthias Klose fc35ecec29 - fix paste error (whitespace) from previous commit 2012-08-28 19:08:42 +02:00
Matthias Klose 2412c93a60 - fix paste error (whitespace) from previous commit 2012-08-28 19:07:38 +02:00
Matthias Klose 2d652bacf4 - Issue #15591: Fix parsing MAKEFLAGS in the sharedmods target. 2012-08-28 19:00:01 +02:00
Matthias Klose 25b10a28f5 - Issue #15591: Fix parsing MAKEFLAGS in the sharedmods target. 2012-08-28 18:55:07 +02:00
Ned Deily 6fc81d7eec Issue #15645: Ensure 2to3 grammar pickles are properly installed.
(Patch by Ronald Oussoren)
2012-08-22 23:34:13 -07:00
Ned Deily 01d183732e Issue #15645: Ensure 2to3 grammar pickles are properly installed.
(Patch by Ronald Oussoren)
2012-08-22 23:27:26 -07:00
Ned Deily c59cc8f5ea Issue #14197: merge 2012-07-24 03:45:39 -07:00
Ned Deily ecd4e9de5a Issue #14197: For OS X framework builds, ensure links to the shared
library are created with the proper ABI suffix.
2012-07-24 03:31:48 -07:00
Ned Deily cc409f4ecc Issue #15168: Ensure test_importlib subdirectories are installed. 2012-07-20 13:24:58 -07:00
doko@ubuntu.com 1abe1c5fe1 - Issue #14330: For cross builds, don't use host python, use host search paths
for host compiler.
2012-06-30 20:42:45 +02:00
doko@ubuntu.com 5884449539 - Issue #3754: Use readelf instead of ldd for the cross build readline check 2012-06-30 18:25:32 +02:00
Matthias Klose 39b1e5dff3 build_all_use_profile: Build using -fprofile-correction to automatically
correct inconsistent profiles for multi-threaded programs.
2012-06-27 14:13:33 +02:00
Eric V. Smith 714370fad1 Give test directory a more reasonable name. 2012-06-24 19:55:18 -04:00
Eric V. Smith e51a36922f Fixes issue 15039: namespace packages are no longer imported in preference to modules of the same name. 2012-06-24 19:13:55 -04:00
Ned Deily 99ac2f1d06 Packaging removal: remove pysetup3 install from Makefile. 2012-06-24 01:20:58 -07:00
Éric Araujo ec177c14d3 Packaging removal: also revert introduction of sysconfig.cfg.
We need a discussion to define what should be customized how; this new
config file is premature.  It was added to serve the needs of the
resources system in install_data / packaging.database, so it can be
removed alongside packaging for 3.3.
2012-06-24 03:27:43 -04:00
Éric Araujo 859aad6a36 Remove packaging from the standard library.
Distutils2 will live on on PyPI and be included in the stdlib when it
is ready.  See discussion starting at
http://mail.python.org/pipermail/python-dev/2012-June/120430.html
2012-06-24 00:07:41 -04:00
Antoine Pitrou e67f48ce5e Issue #14928: Fix importlib bootstrap issues by using a custom executable (Modules/_freeze_importlib) to build Python/importlib.h. 2012-06-19 22:29:35 +02:00
Antoine Pitrou 2d9db1dfce Try to fix issue #15086: build failure on Ubuntu shared buildbot. 2012-06-17 00:27:30 +02:00
Barry Warsaw 409da157d7 Eric Snow's implementation of PEP 421.
Issue 14673: Add sys.implementation
2012-06-03 16:18:47 -04:00
Ned Deily 7e18f43ec8 Issue #14660: Install namespace_pkgs test directories and files. 2012-05-27 22:34:33 -07:00
Vinay Sajip 7ded1f0f69 Implemented PEP 405 (Python virtual environments). 2012-05-26 03:45:29 +01:00
Martin v. Loewis cfc1cc2996 Issue #14642: Add "hg touch" extension, and "make touch" target. 2012-04-27 16:10:21 +02:00
Marc-Andre Lemburg aed97733df Issue #14605 and #14642: Issue a warning in case Python\importlib.h needs to
be rebuilt, but there's no Python interpreter around to freeze the bootstrap
script.

Forgot to include Makefile.pre.in in changeset 76549:acfdf46b8de1.
2012-04-25 19:45:11 +02:00
Antoine Pitrou a49323537b Avoid rebuilding all C files when importlib.h is updated. 2012-04-16 18:29:28 +02:00
Brett Cannon fd0741555b Issue #2377: Make importlib the implementation of __import__().
importlib._bootstrap is now frozen into Python/importlib.h and stored
as _frozen_importlib in sys.modules. Py_Initialize() loads the frozen
code along with sys and imp and then uses _frozen_importlib._install()
to set builtins.__import__() w/ _frozen_importlib.__import__().
2012-04-14 14:10:13 -04:00
Vinay Sajip eba2428002 Issue #14541: Merged addition of test/sndhdrdata to Makefile.pre.in from 3.2. 2012-04-10 18:44:41 +01:00
Vinay Sajip 935b62968e Issue #14541: Added test/sndhdrdata to Makefile.pre.in for installation. 2012-04-10 18:41:48 +01:00
Matthias Klose 597e6b4cc5 Followup for issue #14321, remove references to Parser/pgen.stamp 2012-04-04 13:20:55 +02:00
Ned Deily e8b416e754 Issue #14382: Ensure new unittest.test.testmock is installed.
(Original patch by Vinay Sajip)
2012-03-22 13:34:11 -07:00
Matthias Klose 93a0ef16c9 - Issue #14321: Do not run pgen during the build if files are up to date. 2012-03-15 18:08:34 +01:00
Matthias Klose 5ce31cc4fc merge 3.2 2012-03-14 23:17:31 +01:00
Matthias Klose d83be23689 merge 3.1 2012-03-14 23:14:35 +01:00
Matthias Klose 0f4c16e29c - rename configure.in to configure.ac
- change references from configure.in to configure.ac
2012-03-14 23:10:15 +01:00
Georg Brandl 2fb477c0f0 Merge 3.2: Issue #13703 plus some related test suite fixes. 2012-02-21 00:33:36 +01:00
Georg Brandl 8848255d8a Run tests with -R on "make test" and the buildbots. 2012-02-20 21:34:31 +01:00
Georg Brandl 09a7c72cad Merge from 3.1: Issue #13703: add a way to randomize the hash values of basic types (str, bytes, datetime)
in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated.

The environment variable PYTHONHASHSEED and the new command line flag -R control this
behavior.
2012-02-20 21:31:46 +01:00
Georg Brandl 2daf6ae249 Issue #13703: add a way to randomize the hash values of basic types (str, bytes, datetime)
in order to make algorithmic complexity attacks on (e.g.) web apps much more complicated.

The environment variable PYTHONHASHSEED and the new command line flag -R control this
behavior.
2012-02-20 19:54:16 +01:00
Nick Coghlan 4fcad3c7ab Change the python3 hardlink to a symlink, and correct some misuse of the PYTHON var in the makefile 2012-02-17 23:17:34 +10:00
Benjamin Peterson 1f918c1480 make Python-ast.c depend on Python-ast.h 2012-01-13 08:45:55 -05:00
Victor Stinner e0a669e50c Close #13596: Only recompile Lib/_sysconfigdata.py when needed 2011-12-15 21:48:39 +01:00
Stefan Krah 221ea5d931 Merge fix for issue #13547. 2011-12-08 23:31:40 +01:00
Stefan Krah 383dd58533 Issue #13547: clean Lib/_sysconfigdata.py and Modules/_testembed 2011-12-08 23:25:15 +01:00
Antoine Pitrou 0a3229de6b Issue #13417: speed up utf-8 decoding by around 2x for the non-fully-ASCII case.
This almost catches up with pre-PEP 393 performance, when decoding needed
only one pass.
2011-11-21 20:39:13 +01:00
Antoine Pitrou 3e623243d5 Issue #13217: add missing header dependencies in the Makefile for unicodeobject.o.
Patch by John O'Connor.
2011-11-13 19:37:58 +01:00
Petri Lehtinen 6ab96e41bd Remove __pycache__ directories correctly on OpenBSD
Closes #13326.
2011-11-05 21:24:45 +02:00
Petri Lehtinen bc74ee039c Remove __pycache__ directories correctly on OpenBSD
The find utility of OpenBSD doesn't support the "-exec cmd {} +"
action. Change it to use "-depth -exec cmd {} ;" instead.

Also, remove __pycache__ before *.py[co], as most bytecode files are
in __pycache__ directories. Only those generated by Python 2 under
Doc/tools are not.

Closes #13326.
2011-11-05 21:17:08 +02:00
Antoine Pitrou 1e73a2467f Issue #13150: sysconfig no longer parses the Makefile and config.h files
when imported, instead doing it at build time.  This makes importing
sysconfig faster and reduces Python startup time by 20%.
2011-10-18 17:52:24 +02:00
Antoine Pitrou dd4e2f0153 Issue #13155: Optimize finding the optimal character width of an unicode string 2011-10-13 00:02:27 +02:00
Victor Stinner 69f55cc033 Issue #13157: Fix building Python outside its source tree 2011-10-12 22:09:40 +02:00
Antoine Pitrou c61c8d7a5e Issue #12911: Fix memory consumption when calculating the repr() of huge tuples or lists.
This introduces a small private API for this common pattern.
The issue has been discovered thanks to Martin's huge-mem buildbot.
2011-10-06 19:04:12 +02:00
Antoine Pitrou eeb7eea1f9 Issue #12911: Fix memory consumption when calculating the repr() of huge tuples or lists.
This introduces a small private API for this common pattern.
The issue has been discovered thanks to Martin's huge-mem buildbot.
2011-10-06 18:57:27 +02:00
Victor Stinner dfb866d127 Enhance Py_ARRAY_LENGTH(): fail at build time if the argument is not an array
Move other various macros to pymcacro.h

Thanks Rusty Russell for having written these amazing C macros!
2011-09-29 01:12:24 +02:00
Martin v. Löwis d63a3b8beb Implement PEP 393. 2011-09-28 07:41:54 +02:00
Martin v. Löwis 91ef21f2b6 merged 2011-09-25 17:36:31 +02:00
Martin v. Löwis 6fb44728bb Depend setobject.o and dictobject.o on stringlib/eq.h. 2011-09-25 17:36:11 +02:00
Éric Araujo 65d81f4f98 Merge Makefile fix from 3.2 (thanks Georg) 2011-08-16 19:11:00 +02:00
Éric Araujo b5da6e9e48 Revert change that was not a syntax fix but actually a behavior change 2011-08-16 19:05:56 +02:00
Éric Araujo 14eba5fa41 Brench merge 2011-08-12 17:59:25 +02:00
Benjamin Peterson b684702259 make only files which use AST depend on Python-ast.h 2011-08-11 14:46:26 -05:00
Éric Araujo e9715b9001 Merge 3.2 2011-08-10 21:42:23 +02:00
Éric Araujo 1c608e3847 Fix find command in makefile “funny” target 2011-08-10 02:01:32 +02:00
Nadeem Vawda 3c01d16ed9 Issue #11651: Move options for running tests into a Python script.
This will be particularly useful to Windows users.

run_tests.py originally written by Brett Cannon.
2011-08-01 23:48:26 +02:00
Nadeem Vawda 4fbff6c631 Oops, "make buildbottest" isn't supposed to use -j0. 2011-07-31 13:58:05 +02:00
Nadeem Vawda ecd3e38ff8 Issue #11651: Improve Makefile test targets.
- Use -j0 option by default
- Remove duplicate test run in "make test" and "make testuniversal"
- Remove "make memtest" altogether
2011-07-31 01:09:04 +02:00
Ned Deily 368ff10c4d Issue #12497: Install test/data to prevent failures of the various codecmaps
tests.
2011-07-04 19:11:14 -07:00
Ned Deily e2d519035f Issue #12497: Install test/data to prevent failures of the various codecmaps
tests.
2011-07-04 19:06:20 -07:00
Ned Deily 4bd3e5d799 Issue #12496: Install test/capath directory to prevent test_connect_capath
testcase failure in test_ssl.
2011-07-04 17:51:48 -07:00
Ned Deily 8215f5df87 Issue #12496: Install test/capath directory to prevent test_connect_capath
testcase failure in test_ssl.
2011-07-04 17:48:01 -07:00
Benjamin Peterson e4a51e6543 use the Include in srcdir 2011-06-28 09:26:39 -05:00
Ned Deily 4a1ec12999 Issue #12141: Install copies of template C module file so that
test_build_ext of test_distutils and test_command_build_ext of
test_packaging are no longer silently skipped when
run outside of a build directory.
2011-06-28 00:53:54 -07:00
Ned Deily 58f27b203c Issue #12141: Install a copy of template C module file so that
test_build_ext of test_distutils is no longer silently skipped when
run outside of a build directory.
2011-06-28 00:42:50 -07:00
Benjamin Peterson 4b4b673eae remove duplicate -I 2011-06-19 17:17:30 -05:00
R David Murray 92cafb85dd #12313: update Makefile.pre.in to account for email tests moving to 'test' dir 2011-06-17 11:41:49 -04:00
Barry Warsaw 04fe64bf17 Make sure all the Lib/packaging subdirectories get installed. 2011-06-14 16:51:58 -04:00
Éric Araujo edd95dd3cb Remove *.egg-info from Makefile.pre.in (follow-up to d615eb7bce33, #12218) 2011-06-10 03:48:04 +02:00
Victor Stinner 9e586c2b35 Issue #12250: modify "make buildbottest" command line instead of TESTOPTS
Add TESTTIMEOUT variable (default: 3600 seconds). Use TESTTIMEOUT=0 to disable
the timeout.
***
fix
2011-06-06 12:04:36 +02:00
Victor Stinner 301968874b Close #12250: Disable the regrtest timeout by default
Keep a timeout of 1 hour for buildbots.
2011-06-03 12:53:26 +02:00
Ralf Schmitt 069456267e disable ASDLGEN if hg won't work, or if python is not installed.
This change makes configure check for
- the existence of a hg repository
- the hg executable itself
- the python executable

Running $(srcdir)/Parser/asdl_c.py (i.e. ASDLGEN) will fail if any of
the above prerequisites is missing, so we now disable it instead.

closes #12225
2011-05-31 17:10:03 -05:00
Ralf Schmitt 023f3a7cf6 disable ASDLGEN if hg won't work, or if python is not installed.
This change makes configure check for
- the existence of a hg repository
- the hg executable itself
- the python executable

Running $(srcdir)/Parser/asdl_c.py (i.e. ASDLGEN) will fail if any of
the above prerequisites is missing, so we now disable it instead.

closes #12225
2011-05-31 17:10:03 -05:00
Tarek Ziade 90fb9283fc promoted pysetup3 to a top-level script 2011-05-31 08:31:50 +02:00
Ned Deily d5a91961dd Issue #12205: Fix test_subprocess failure due to uninstalled test data. 2011-05-29 02:39:02 -07:00
Victor Stinner c520a1856f (Merge 3.2) Issue #12057: Add cjkencodings directory to the Makefile and
Tools/msi/msi.py
2011-05-25 01:16:49 +02:00
Victor Stinner 5b3265906f (Merge 3.1) Issue #12057: Add cjkencodings directory to the Makefile and
Tools/msi/msi.py
2011-05-25 01:15:59 +02:00
Victor Stinner 46f8264b8e Issue #12057: Add cjkencodings directory to the Makefile and Tools/msi/msi.py 2011-05-25 01:13:59 +02:00
Ned Deily 70b3ee5433 Issue #12131: Ensure that the sysconfig.cfg file, introduced by packaging,
is installed into the lib directory: prevents startup exception in site.py.
2011-05-21 16:06:58 -07:00
Martin v. Löwis 4e9da47d8f merge 11347. 2011-05-09 07:41:32 +02:00
Martin v. Löwis 48e14d3fda Use --as-needed when linking libpython3.so. Closes #11347.
Patch by Arfrever Frehtes Taifersar Arahesis.
2011-05-09 07:37:45 +02:00
Antoine Pitrou eec60603a8 Issue #10914: Add a minimal embedding test to test_capi. 2011-04-25 21:23:26 +02:00
Antoine Pitrou 8e60577693 Issue #10914: Add a minimal embedding test to test_capi. 2011-04-25 21:21:07 +02:00
Victor Stinner 7f2fee3640 Issue #10785: Store the filename as Unicode in the Python parser. 2011-04-05 00:39:01 +02:00
Ronald Oussoren 42d0f68458 Issue #1099: Fix the build on MacOSX when building a framework with pydebug using GCC 4.0. 2011-03-14 11:04:34 -04:00
Ronald Oussoren 250324952e Fixes #1099: Mac compile fails with pydebug and framework enabled
Without this patch "./configure --with-pydebug --enable-framework CC=gcc-4.0" fails on MacOSX
2011-03-14 10:11:59 -04:00
Ronald Oussoren a9d397bb05 Issue #1099: Fix the build on MacOSX when building a framework with pydebug
using GCC 4.0.
2011-03-14 11:34:21 -04:00
Thomas Wouters 63bd5f9fe3 Merge 3.2. 2011-03-06 11:52:15 -08:00
Thomas Wouters 6b1034392c Merge 3.1. 2011-03-06 11:51:24 -08:00
Thomas Wouters 81638f1351 Issue #11411: Fix typo in the Makefile that prevented 'make DESTDIR=' from
working correctly with a relative path.
2011-03-06 11:49:15 -08:00