summaryrefslogtreecommitdiffstats
path: root/setup.py
Commit message (Collapse)AuthorAgeFilesLines
* bpo-36097: Use only public C-API in the_xxsubinterpreters module (adding as ↵Eric Snow2019-03-151-3/+1
| | | | necessary). (gh-12359)
* Revert: bpo-33608: Factor out a private, per-interpreter ↵Victor Stinner2019-03-041-1/+3
| | | | | | | | | | | | | | | | | | | _Py_AddPendingCall(). (GH-11617) (GH-12159) * Revert "bpo-36097: Use only public C-API in the_xxsubinterpreters module (adding as necessary). (#12003)" This reverts commit bcfa450f210074e16feb761ae5b3e966a2532fcf. * Revert "bpo-33608: Simplify ceval's DISPATCH by hoisting eval_breaker ahead of time. (gh-12062)" This reverts commit bda918bf65a88560ec453aaba0758a9c0d49b449. * Revert "bpo-33608: Use _Py_AddPendingCall() in _PyCrossInterpreterData_Release(). (gh-12024)" This reverts commit b05b711a2cef6c6c381e01069dedac372e0b9fb2. * Revert "bpo-33608: Factor out a private, per-interpreter _Py_AddPendingCall(). (GH-11617)" This reverts commit ef4ac967e2f3a9a18330cc6abe14adb4bc3d0465.
* bpo-36097: Use only public C-API in the_xxsubinterpreters module (adding as ↵Eric Snow2019-03-011-3/+1
| | | | necessary). (#12003)
* bpo-36146: Add TEST_EXTENSIONS to setup.py (GH-12129)Victor Stinner2019-03-011-81/+84
| | | | | | | | | | | | | Add TEST_EXTENSIONS constant to setup.py to allow to not build test extensions like _testcapi. Changes: * Add add_ldflags_cppflags() subfunction * Rename add_compiler_directories() to configure_compiler(). * Remove unused COMPILED_WITH_PYDEBUG constant. * Use self.add() rather than accessing directly self.extensions. * Remove module_enabled() function: check differently if curses extension is built or not.
* bpo-36146: Don't run code at setup.py top level (GH-12127)Victor Stinner2019-03-011-76/+64
| | | | | | | | | * Move set_compiler_flags() calls and concurrent.future hack from module top-level to main() * Remove unused variables 'macros' and 'libraries' from detect_multiprocessing(). * Move SUMMARY and CLASSIFIERS constants at the top, move set_compiler_flags() function below these constants. * Add some empty new lines to respect PEP 8.
* bpo-36146: Split setup.py into subfunctions (GH-12125)Victor Stinner2019-03-011-228/+249
| | | | | | * Split PyBuildExt.detect_modules() huge function into subfunctions. * Move curses, hashlib and some other code to reorganize the code. * detect_tkinter() now returns False if the extension is missing. * Add PyBuildExt.config_h_vars attribute
* bpo-36146: Refactor setup.py: Add PyBuildExt.srcdir (GH-12124)Victor Stinner2019-03-011-98/+99
| | | | | | | | | | | * Add PyBuildExt.srcdir atribute in setup.py: the source directory is now always absolute. * Add PyBuildExt.inc_dirs and PyBuildExt.lib_dirs attributes: replace 'inc_dirs' and 'lib_dirs' local variables of detect_modules(). * Replace "from distutils.errors import *" with "from distutils.errors import CCompilerError, DistutilsError" to be able to use static analyzers like pyflakes * Reorder imports.
* bpo-36146: Refactor setup.py: PyBuildExt.add() method (GH-12097)Victor Stinner2019-03-011-227/+204
| | | | | | | | | | | | * Add PyBuildExt.add() which adds the extension directly to self.extensions, rather than using a temporary 'exts' local variable in detect_modules() and then add 'exts' to self.extensions * Convert 'missing' local variable from detect_modules() into PyBuildExt.missing attribute * _detect_openssl(), _decimal_ext() and _detect_nis() now call directly self.add(), rather than returning an extension (or None if not found). * Rename _decimal_ext() to _detect_decimal() for consistency with other methods.
* bpo-36146: Fix inc_dirs in setup.py on macOS (GH-12098)Victor Stinner2019-03-011-2/+3
| | | | Fix setup.py on macOS: only add /usr/include/ffi to include directories of _ctypes, not for all extensions.
* bpo-36146: Refactor setup.py (GH-12093)Victor Stinner2019-02-281-69/+72
| | | | | | | | | | | | * Rename globals to upper case to better distinguish if a variable is global or local: * Rename cross_compiling to CROSS_COMPILING * Rename host_platform to HOST_PLATFORM * Rename disabled_module_list to DISABLED_MODULE_LIST * Add MS_WINDOWS, CYGWIN and MACOS constants. * Use booleans: replace "return 0" with "return False" and replace "return 1" with "return True"
* bpo-31904: Add cross-build support for VxWorks RTOS (GH-11968)pxinwr2019-02-271-14/+32
|
* Clean up code which checked presence of os.{stat,lstat,chmod} (#11643)Anthony Sottile2019-02-251-5/+0
|
* bpo-35903: Use autoconfig to probe for shm_open() and shm_unlink(). (#11765)Neil Schemenauer2019-02-081-3/+4
| | | | | | Use autoconfig to probe for shm_open() and shm_unlink(). Set SHM_NEEDS_LIBRT if we must link with librt to get the shm_* functions. Change setup.py to use the autoconfig defines. These changes should make it more likely that _multiprocessing/posixshmem.c gets built correctly on different platforms.
* bpo-35813: Added shared_memory submodule of multiprocessing. (#11664)Davin Potts2019-02-021-0/+11
| | | Added shared_memory submodule to multiprocessing in time for first alpha with cross-platform tests soon to follow.
* bpo-35257: Avoid leaking LTO linker flags into distutils (GH-10900)stratakis2018-12-191-5/+10
| | | | | | When compiling 3rd party C extensions, the linker flags used by the compiler for the interpreter and the stdlib modules, will get leaked into distutils. In order to avoid that, the PY_CORE_LDFLAGS and PY_LDFLAGS_NODIST are introduced to keep those flags separated.
* bpo-35081: Internal headers require Py_BUILD_CORE (GH-10363)Victor Stinner2018-11-091-1/+3
| | | | | | | | | * All internal header files now require Py_BUILD_CORE or Py_BUILD_CORE_BUILTIN to be defined. * _json.c is now compiled with Py_BUILD_CORE_BUILTIN to access pycore_accu.h header. * Add an example to Modules/Setup to show how to build _json as a built-in module; it requires non trivial compiler options.
* bpo-29442: Replace optparse with argparse in setup.py (GH-139)Chih-Hsuan Yen2018-07-111-19/+4
|
* bpo-25427: Remove pyvenv (GH-5962)Brett Cannon2018-04-201-2/+2
|
* bpo-32647: Link ctypes extension with libdl. (#5550)Christian Heimes2018-02-251-0/+4
| | | | | | The ctypes module used to depend on indirect linking for dlopen. The shared extension is now explicitly linked against libdl on platforms with dl. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-31333: Re-implement ABCMeta in C (#5273)Ivan Levkivskyi2018-02-181-0/+2
| | | | This adds C versions of methods used by ABCMeta that improve performance of various ABC operations.
* bpo-32604: Expose the subinterpreters C-API in a "private" stdlib module. ↵Eric Snow2018-01-301-0/+4
| | | | | (gh-1748) The module is primarily intended for internal use in the test suite. Building the module under Windows will come in a follow-up PR.
* bpo-31399: Let OpenSSL verify hostname and IP address (#3462)Christian Heimes2018-01-271-7/+20
| | | | | | | | | | | | | | | bpo-31399: Let OpenSSL verify hostname and IP The ssl module now uses OpenSSL's X509_VERIFY_PARAM_set1_host() and X509_VERIFY_PARAM_set1_ip() API to verify hostname and IP addresses. * Remove match_hostname calls * Check for libssl with set1_host, libssl must provide X509_VERIFY_PARAM_set1_host() * Add documentation for OpenSSL 1.0.2 requirement * Don't support OpenSSL special mode with a leading dot, e.g. ".example.org" matches "www.example.org". It's not standard conform. * Add hostname_checks_common_name Signed-off-by: Christian Heimes <christian@python.org>
* bpo-32521: nis libnsl (#5190)Christian Heimes2018-01-261-19/+51
| | | | | The nismodule is now compatible with new libnsl and headers location Signed-off-by: Christian Heimes <christian@python.org>
* bpo-32436: Implement PEP 567 (#5027)Yury Selivanov2018-01-231-0/+3
|
* bpo-32593: Drop FreeBSD 9 and older support (#5232)Victor Stinner2018-01-221-6/+0
| | | Drop support of FreeBSD 9 and older.
* bpo-32598: Use autoconf to detect usable OpenSSL (#5242)Christian Heimes2018-01-201-66/+62
| | | | | | | | | | | | | | Add https://www.gnu.org/software/autoconf-archive/ax_check_openssl.html to auto-detect compiler flags, linker flags and libraries to compile OpenSSL extensions. The M4 macro uses pkg-config and falls back to manual detection. Add autoconf magic to detect usable X509_VERIFY_PARAM_set1_host() and related functions. Refactor setup.py to use new config vars to compile _ssl and _hashlib modules. Signed-off-by: Christian Heimes <christian@python.org>
* bpo-14976: Reentrant simple queue (#3346)Antoine Pitrou2018-01-151-0/+2
| | | | Add a queue.SimpleQueue class, an unbounded FIFO queue with a reentrant C implementation of put().
* bpo-32521: nis libtirpc (#5137)Christian Heimes2018-01-121-5/+12
| | | | | | glibc has removed Sun RPC. Use replacement libtirpc headers and library in nis module Signed-off-by: Christian Heimes <christian@python.org>
* bpo-32297: Few misspellings found in Python source code comments. (#4803)Mike2017-12-141-1/+1
| | | | | | | | * Fix multiple typos in code comments * Add spacing in comments (test_logging.py, test_math.py) * Fix spaces at the beginning of comments in test_logging.py
* bpo-32233: Fix build with --with-system-libmpdec. (#4739)Stefan Krah2017-12-061-1/+2
|
* bpo-11063: Handle uuid.h being in default include path (GH-4565)Nick Coghlan2017-11-261-2/+1
| | | | | find_file() returns an empty list if it finds the requested header on the standard include path, so header existence checks need to be explicitly against "is not None".
* bpo-32059: setup.py now also searches the sysroot paths (GH-4452)xdegaye2017-11-251-7/+37
| | | | | | detect_modules() in setup.py now also searches the sysroot paths when cross-compiling.
* remove detect_math_libs (#4383)Benjamin Peterson2017-11-131-21/+10
| | | Darwin may not require libm, but it doesn't hurt to link it and simplifies configuration logic.
* Replace KB unit with KiB (#4293)Victor Stinner2017-11-081-1/+1
| | | | | | | | | | | kB (*kilo* byte) unit means 1000 bytes, whereas KiB ("kibibyte") means 1024 bytes. KB was misused: replace kB or KB with KiB when appropriate. Same change for MB and GB which become MiB and GiB. Change the output of Tools/iobench/iobench.py. Round also the size of the documentation from 5.5 MB to 5 MiB.
* fixes bpo-31834: Use optimized code for BLAKE2 only with SSSE3+ (#4066)Michał Górny2017-10-241-9/+0
| | | | | | | | | | | | | | | | Rework the code choosing BLAKE2 code paths from using the optimized variant on all x86_64 machines to using it when SSSE3 or better supported instructions sets are available. Firstly, this solves the problem of using pure SSE2 code path on x86_64 machines. As reported in the bug, this code is slower than the reference code on all tested x86_64 machines. Furthermore, on Athlon64 that lacks SSSE3, it is even 2.5 times slower than the reference code! Checking for SSSE3 therefore ensures that the optimized implementation will only be used when it has a chance of performing better. Secondly, this makes it possible to use SSSE3+ optimizations on 32-bit x86 systems. This allows for even 2 times speed gain on modern 32-bit x86 systems (tested in a 32-bit chroot).
* remove comment about long-gone SGI modules (#3850)Benjamin Peterson2017-10-021-2/+0
|
* bpo-11063, bpo-20519: avoid ctypes and improve import time for uuid (#3796)Antoine Pitrou2017-09-281-0/+14
| | | | bpo-11063, bpo-20519: avoid ctypes and improve import time for uuid.
* bpo-31370: Remove support for threads-less builds (#3385)Antoine Pitrou2017-09-071-10/+3
| | | | | | * Remove Setup.config * Always define WITH_THREAD for compatibility.
* bpo-30912: Don't check the content of ffi.h (GH-2687)Shlomi Fish2017-09-061-10/+3
| | | Various platforms have various methods of handling multiarch libffi which probably won't match the previously looked-for defines. Now we just make sure that ffi.h is available.
* bpo-29505: Add fuzz tests for float(str), int(str), unicode(str) (#2878)Devin Jeanpierre2017-09-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | Add basic fuzz tests for a few common builtin functions. This is an easy place to start, and these functions are probably safe. We'll want to add more fuzz tests later. Lets bootstrap using these. While the fuzz tests are included in CPython and compiled / tested on a very basic level inside CPython itself, the actual fuzzing happens as part of oss-fuzz (https://github.com/google/oss-fuzz). The reason to include the tests in CPython is to make sure that they're maintained as part of the CPython project, especially when (as some eventually will) they use internal implementation details in the test. (This will be necessary sometimes because e.g. the fuzz test should never enter Python's interpreter loop, whereas some APIs only expose themselves publicly as Python functions.) This particular set of changes is part of testing Python's builtins, tracked internally at Google by b/37562550. The _xxtestfuzz module that this change adds need not be shipped with binary distributions of Python.
* bpo-30923: Silence fall-through warnings in libexpat build. (#3205)Stefan Krah2017-08-251-0/+9
|
* bpo-30947: Update libexpat from 2.2.1 to 2.2.3 (#3106)Victor Stinner2017-08-181-0/+3
| | | | | | | | | | | | | | * bpo-30947: Update libexpat from 2.2.1 to 2.2.3 * Add NEWS entry * Add new loadlibrary.c * expat_external.h: restore include "pyexpatns.h" * PCbuild: add expat/loadlibrary.c * Define XML_POOR_ENTROPY to compile expat
* Issue #30923: Revert flag that is not recognized by an obsolete gcc version. ↵Stefan Krah2017-08-181-3/+0
| | | | (#3132)
* bpo-30923: Suppress fall-through warnings in libmpdec. (#2698)Stefan Krah2017-07-131-0/+3
|
* bpo-20210: Support the *disabled* marker in Setup files (GH-132)xdegaye2017-05-271-13/+34
| | | | | Extension modules listed after the *disabled* marker are not built at all, neither by the Makefile nor by setup.py.
* Check that Python is 64-bit before enabling BLAKE2_USE_SSE. (#1332)Neil Schemenauer2017-04-281-2/+5
|
* Merge 3.6.Stefan Krah2017-02-041-1/+1
|\
| * Issue29439: _decimal on Android requires linking with libm.Stefan Krah2017-02-041-1/+1
| | | | | | | | Patch by Chi Hsuan Yen.
* | Issue #20211: Merge 3.6.Xavier de Gaye2016-12-141-2/+3
|\ \ | |/
| * Issue #20211: Do not add the directory for installing C header files andXavier de Gaye2016-12-141-2/+3
| | | | | | | | | | the directory for installing object code libraries to the cross compilation search paths.