summaryrefslogtreecommitdiffstats
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* [3.8] bpo-43617: Check autoconf-archive package in configure.ac (GH-25016) ↵Christian Heimes2021-03-271-4/+11
| | | | | | | | (GH-25035) Signed-off-by: Christian Heimes <christian@python.org>. (cherry picked from commit 5d6e8c1c1a5f667cdce99cb3c563ac922198678d) Co-authored-by: Christian Heimes <christian@python.org>
* bpo-42604: always set EXT_SUFFIX=${SOABI}${SHLIB_SUFFIX} when using ↵Miss Islington (bot)2020-12-201-6/+1
| | | | | | | | | | | | | configure (GH-23708) Now all platforms use a value for the "EXT_SUFFIX" build variable derived from SOABI (for instance in FreeBSD, "EXT_SUFFIX" is now ".cpython-310d.so" instead of ".so"). Previously only Linux, Mac and VxWorks were using a value for "EXT_SUFFIX" that included "SOABI". Co-authored-by: Pablo Galindo <pablogsal@gmail.com> (cherry picked from commit a44ce6c9f725d336aea51a946b42769f29fed613) Co-authored-by: Matti Picus <matti.picus@gmail.com>
* bpo-42598: Fix implicit function declarations in configure (GH-23690) (GH-23757)Miss Islington (bot)2020-12-131-6/+7
| | | | | | | | This is invalid in C99 and later and is an error with some compilers (e.g. clang in Xcode 12), and can thus cause configure checks to produce incorrect results. (cherry picked from commit 674fa0a740151e0416c9383f127b16014e805990) Co-authored-by: Joshua Root <jmr@macports.org>
* bpo-38443: Check that the specified universal architectures work (GH-22910)Miss Islington (bot)2020-11-221-0/+7
| | | | | | As [bpo-38443]() says the error message from configure when specifying --enable-universalsdk with a set of architectures that is not supported by the compiler is not very helpful. This PR explicitly checks if the compiler works and bails out if it doesn't. (cherry picked from commit 0f20bd9042c9b7fce20c3b9511cd0820b30094c3) Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
* BPO-41100: Support macOS 11 when building (GH-21113)Miss Islington (bot)2020-06-251-1/+1
| | | | | (cherry picked from commit 8ea6353f60625c96ce96588c70ff24a77f8c71f9) Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
* [3.8] bpo-39794: Add --without-decimal-contextvar (GH-18702)Stefan Krah2020-02-291-0/+15
| | | (cherry picked from commit 815280eb160af637e1347213659f9236adf78f80)
* closes bpo-39619 Fix os.chroot on HP-UX 11.31 (GH-18495)Miss Islington (bot)2020-02-141-0/+6
| | | | | | | | Setting `-D_XOPEN_SOURCE=700` on HP-UX causes system functions such as chroot to be undefined. This change stops `_XOPEN_SOURCE` begin set on HP-UX Co-authored-by: Benjamin Peterson <benjamin@python.org> (cherry picked from commit a9edf44a2de9b23a1690b36cdfeed7b41ab763bd) Co-authored-by: Ian Norton <inorton@gmail.com>
* bpo-37415: Fix stdatomic.h header check for ICC compiler (GH-16717)Miss Skeleton (bot)2019-10-221-3/+6
| | | | | | | | | | | | | | | Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type which is needed by Python. Test: * atomic_int and atomic_uintptr_t types * atomic_load_explicit() and atomic_store_explicit() * memory_order_relaxed and memory_order_seq_cst constants But don't test ATOMIC_VAR_INIT(): it's not used in Python. (cherry picked from commit 028f7349a0f6eaea0fec31becb587fcdf6e3cb28) Co-authored-by: Victor Stinner <vstinner@python.org>
* bpo-38301: In Solaris family, we must be sure to use '-D_REENTRANT' ↵Miss Islington (bot)2019-09-281-0/+3
| | | | | | | (GH-16446) (#16449) (cherry picked from commit 52d1b86bde2b772a76919c76991c326384954bf1) Co-authored-by: Jesús Cea <jcea@jcea.es>
* closes bpo-36002: Use AC_PATH_TOOL to find llvm-profdata and llvm-ar. (GH-14998)Miss Islington (bot)2019-09-131-2/+2
| | | | | (cherry picked from commit 0519d497b04b252f50dfff9101fb7f4b9e33f1c4) Co-authored-by: Doyle Rowland <doyle.rowland@reliaqual.com>
* bpo-38110: Use fdwalk for os.closerange() when available. (GH-15224)Miss Islington (bot)2019-09-121-1/+1
| | | | | | Use fdwalk() on platforms that support it to implement os.closerange(). (cherry picked from commit e20134f889a0cfcc37a46979f31a1c98b800de07) Co-authored-by: Jakub Kulík <Kulikjak@gmail.com>
* bpo-34652 again: Remove lchmod from the default AC_CHECK_FUNCS list. (GH-15758)Miss Islington (bot)2019-09-091-1/+1
| | | | | (cherry picked from commit bed04b664729e3e6fcee42daa108936360bac6ea) Co-authored-by: Benjamin Peterson <benjamin@python.org>
* Remove leftovers from the times when long long wasn't required (GH-15501)Miss Islington (bot)2019-08-261-1/+1
| | | | | | | In a38e9d139929a227e3899fbb638bc46c6cc6d8ba pyconfig.h.in was manually edited and that edit was overwritten when running autoreconf. (cherry picked from commit 52c1a6a15a471f75b775309ed1120d05f69010ca) Co-authored-by: Sergey Fedoseev <fedoseev.sergey@gmail.com>
* bpo-18049: Sync thread stack size to main thread size on macOS (GH-14748)Miss Islington (bot)2019-08-011-0/+2
| | | | | | | | | This changeset increases the default size of the stack for threads on macOS to the size of the stack of the main thread and reenables the relevant recursion test. (cherry picked from commit 1a057bab0f18d6ad843ce321d1d77a4819497ae4) Co-authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
* bpo-36044: Reduce number of unit tests run for PGO build (GH-14702)Miss Islington (bot)2019-07-221-0/+8
| | | | | | | | | | | | | | Reduce the number of unit tests run for the PGO generation task. This speeds up the task by a factor of about 15x. Running the full unit test suite is slow. This change may result in a slightly less optimized build since not as many code branches will be executed. If you are willing to wait for the much slower build, the old behavior can be restored using './configure [..] PROFILE_TASK="-m test --pgo-extended"'. We make no guarantees as to which PGO task set produces a faster build. Users who care should run their own relevant benchmarks as results can depend on the environment, workload, and compiler tool chain. (cherry picked from commit 4e16a4a3112161a5c6981c0588142d4a4673a934) Co-authored-by: Neil Schemenauer <nas-github@arctrix.com>
* bpo-34602: Avoid failures setting macOS stack resource limit (GH-14546)Miss Islington (bot)2019-07-021-0/+6
| | | | | | | | | | | | | | | | | | | | Under some conditions the earlier fix for bpo-18075, "Infinite recursion tests triggering a segfault on Mac OS X", now causes failures on macOS when attempting to change stack limit with resource.setrlimit resource.RLIMIT_STACK, like regrtest does when running the test suite. The reverted change had specified a non-default stack size when linking the python executable on macOS. As of macOS 10.14.4, the previous code causes a hard failure when running tests, although similar failures had been seen under some conditions under some earlier systems. Reverting the change to the interpreter stack size at link time helped for release builds but caused some tests to fail when built --with-pydebug. Try the opposite approach: continue to build the interpreter with an increased stack size on macOS and remove the failing setrlimit call in regrtest initialization. This will definitely avoid the resource.RLIMIT_STACK error and should have no, or fewer, side effects. (cherry picked from commit 5bbbc733e6cc0804f19b071944af8d4719e26ae6) Co-authored-by: Ned Deily <nad@python.org>
* bpo-26826: Expose copy_file_range in the os module (GH-7255)Pablo Galindo2019-05-311-1/+2
|
* bpo-26836: Add os.memfd_create() (#13567)Zackery Spytz2019-05-291-1/+15
| | | | | | | | | | | | | | | | | | | | * bpo-26836: Add os.memfd_create() * Use the glibc wrapper for memfd_create() Co-Authored-By: Christian Heimes <christian@python.org> * Fix deletions caused by autoreconf. * Use MFD_CLOEXEC as the default value for *flags*. * Add memset_s to configure.ac. * Revert memset_s changes. * Apply the requested changes. * Tweak the docs.
* bpo-33164: blake2 fix for HP-UX (GH-13633)David Carlier2019-05-291-0/+2
|
* bpo-32941: Add madvise() for mmap objects (GH-6172)Zackery Spytz2019-05-271-1/+1
| | | | Allow mmap objects to access the madvise() system call.
* bpo-21536: Fix configure.ac for LIBPYTHON on Android/Cygwin (GH-13552)E. M. Bray2019-05-241-3/+4
| | | | Add also missing AC_MSG_RESULT for AC_MSG_CHECKING(MACHDEP).
* bpo-21536: On Cygwin, C extensions must be linked with libpython (GH-13549)E. M. Bray2019-05-241-2/+2
| | | | | | | | | | It is also possible to link against a library or executable with a statically linked libpython, but not both with the same DLL. In fact building a statically linked python is currently broken on Cygwin for other (related) reasons. The same problem applies to other POSIX-like layers over Windows (MinGW, MSYS) but Python's build system does not seem to attempt to support those platforms at the moment.
* bpo-33164: update blake2 implementation (GH-6286)David Carlier2019-05-231-3/+1
|
* bpo-36721: Add --embed option to python-config (GH-13500)Victor Stinner2019-05-231-1/+1
| | | | | | | | | | | | | | | | | | | | | To embed Python into an application, a new --embed option must be passed to "python3-config --libs --embed" to get "-lpython3.8" (link the application to libpython). To support both 3.8 and older, try "python3-config --libs --embed" first and fallback to "python3-config --libs" (without --embed) if the previous command fails. Add a pkg-config "python-3.8-embed" module to embed Python into an application: "pkg-config python-3.8-embed --libs" includes "-lpython3.8". To support both 3.8 and older, try "pkg-config python-X.Y-embed --libs" first and fallback to "pkg-config python-X.Y --libs" (without --embed) if the previous command fails (replace "X.Y" with the Python version). On the other hand, "pkg-config python3.8 --libs" no longer contains "-lpython3.8". C extensions must not be linked to libpython (except on Android, case handled by the script); this change is backward incompatible on purpose. "make install" now also installs "python-3.8-embed.pc".
* bpo-31904: Add posix module support for VxWorks (GH-12118)pxinwr2019-05-211-1/+1
|
* bpo-36618: Don't add -fmax-type-align=8 flag for clang (GH-13320)Victor Stinner2019-05-141-20/+0
| | | | | Python 3.8 now respects the x86-64 ABI: memory allocations are aligned on 16 bytes. The clang flag was only used as a temporary workaround.
* bpo-34602: Avoid failures setting macOS stack resource limit (GH-13011)Ned Deily2019-04-291-6/+0
| | | | | | | | | | | | Under some conditions the earlier fix for bpo-18075, "Infinite recursion tests triggering a segfault on Mac OS X", now causes failures on macOS when attempting to change stack limit with resource.setrlimit resource.RLIMIT_STACK, like regrtest does when running the test suite. The reverted change had specified a non-default stack size when linking the python executable on macOS. As of macOS 10.14.4, the previous code causes a hard failure when running tests, although similar failures had been seen under some conditions under some earlier systems. For now, revert the original change and resume using the default stack size when linking the interpreter.
* bpo-21536: On Android, C extensions are linked to libpython (GH-12989)xdegaye2019-04-291-0/+8
|
* bpo-36722: Don't define ALT_SOABI for Py_TRACE_REFS build (GH-12973)Victor Stinner2019-04-261-1/+2
| | | | Py_TRACE_REFS ABI is incompatible with release and debug (Py_DEBUG) ABI.
* bpo-36722: Debug build loads libraries built in release mode (GH-12952)Victor Stinner2019-04-251-0/+8
| | | | In debug build, import now also looks for C extensions compiled in release mode and for C extensions compiled in the stable ABI.
* bpo-36465: Make release and debug ABI compatible (GH-12615)Victor Stinner2019-04-241-2/+15
| | | | | | | | | | | | | | Release build and debug build are now ABI compatible: the Py_DEBUG define no longer implies Py_TRACE_REFS define which introduces the only ABI incompatibility. A new "./configure --with-trace-refs" build option is now required to get Py_TRACE_REFS define which adds sys.getobjects() function and PYTHONDUMPREFS environment variable. Changes: * Add ./configure --with-trace-refs * Py_DEBUG no longer implies Py_TRACE_REFS
* bpo-36707: Remove the "m" flag (pymalloc) from SOABI (GH-12931)Victor Stinner2019-04-241-3/+3
| | | | | | "./configure --with-pymalloc" no longer adds the "m" flag to SOABI (sys.implementation.cache_tag). Enabling or disabling pymalloc has no impact on the ABI.
* bpo-36618: Don't add -fmax-type-align flag to old clang (GH-12811)Victor Stinner2019-04-121-2/+7
|
* bpo-36618: Add -fmax-type-align=8 flag for clang (GH-12809)Victor Stinner2019-04-121-13/+28
| | | | | | | | | | | | | | Add -fmax-type-align=8 to CFLAGS when clang compiler is detected. The pymalloc memory allocator aligns memory on 8 bytes. On x86-64, clang expects alignment on 16 bytes by default and so uses MOVAPS instruction which can lead to segmentation fault. Instruct clang that Python is limited to alignemnt on 8 bytes to use MOVUPS instruction instead: slower but don't trigger a SIGSEGV if the memory is not aligned on 16 bytes. Sadly, the flag must be expected to CFLAGS and not just CFLAGS_NODIST, since third party C extensions can have the same issue.
* bpo-36588: On AIX, remove major version from sys.platform (GH-12787)Michael Felt2019-04-121-0/+1
| | | | | | On AIX, sys.platform doesn't contain the major version anymore. Always return 'aix', instead of 'aix3' .. 'aix7'. Since older Python versions include the version number, it is recommended to always use sys.platform.startswith('aix').
* bpo-36605: make tags: parse Modules/_io directory (GH-12789)Victor Stinner2019-04-111-2/+2
| | | | "make tags" and "make TAGS" now also parse Modules/_io/*.c and Modules/_io/*.h.
* bpo-31904: Add cross-build support for VxWorks RTOS (GH-11968)pxinwr2019-02-271-2/+19
|
* closes bpo-13497: Fix `broken nice` configure test. (GH-12041)ngie-eign2019-02-261-0/+2
| | | | | Per POSIX, `nice(3)` requires `unistd.h` and `exit(3)` requires `stdlib.h`. Fixing the test will prevent false positives with pedantic compilers like clang.
* bpo-12822: use monotonic clock for condvar if possible (GH-11723)Inada Naoki2019-02-201-1/+2
|
* bpo-35903: Use autoconfig to probe for shm_open() and shm_unlink(). (#11765)Neil Schemenauer2019-02-081-0/+24
| | | | | | 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-35520: Fix build with dtrace support on certain systems. (#11194)Jakub Kulík2019-01-241-1/+1
|
* bpo-35674: Add os.posix_spawnp() (GH-11554)Joannah Nanjekye2019-01-161-1/+1
| | | Add a new os.posix_spawnp() function.
* bpo-28503: Use crypt_r() when available instead of crypt() (GH-11373)Gregory P. Smith2018-12-301-0/+17
| | | | | Use crypt_r() when available instead of crypt() in the crypt module. As a nice side effect: This also avoids a memory sanitizer flake as clang msan doesn't know about crypt's internal libc allocated buffer.
* bpo-35257: Avoid leaking LTO linker flags into distutils (GH-10900)stratakis2018-12-191-1/+2
| | | | | | 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-35351: Pass link time optimization flags to CFLAGS_NODIST (GH-10797)stratakis2018-12-041-1/+1
| | | | | | When using link time optimizations, the -flto flag is passed to BASECFLAGS, which makes it propagate to distutils. Those flags should be reserved for the interpreter and the stdlib extension modules only, thus moving those flags to CFLAGS_NODIST.
* bpo-35214: Initial clang MemorySanitizer support (GH-10479)Gregory P. Smith2018-11-121-1/+27
| | | | | | | | | | Adds configure flags for msan and ubsan builds to make it easier to enable. These also encode the detail that address sanitizer and memory sanitizer should disable pymalloc. Define MEMORY_SANITIZER when appropriate at build time and adds workarounds to existing code to mark things as initialized where the sanitizer is otherwise unable to determine that. This lets our build succeed under the memory sanitizer. not all tests pass without sanitizer failures yet but we're in pretty good shape after this.
* bpo-28015: Support LTO build with clang (GH-9908)serge-sans-paille2018-10-241-19/+48
| | | | | | | | | | .o generated by clang in LTO mode actually are LLVM bitcode files, which leads to a few errors during configure/build step: - add lto flags to the BASECFLAGS instead of CFLAGS, as CFLAGS are used to build autoconf test case, and some are not compatible with clang LTO (they assume binary in the .o, not bitcode) - force llvm-ar instead of ar, as ar is not aware of .o files generated by clang -flto
* closes bpo-34869: Remove LDLAST. (GH-9667)Benjamin Peterson2018-10-041-2/+0
|
* bpo-31425: Expose AF_QIPCRTR in socket module (GH-3706)Bjorn Andersson2018-09-261-0/+10
| | | | | | The AF_QIPCRTR address family was introduced in Linux v4.7. Co-authored-by: Bjorn Andersson <bjorn.andersson@linaro.org>
* closes bpo-34585: Don't do runtime test to get float byte order. (GH-9085)Ross Burton2018-09-191-63/+13
| | | | | | | Currently configure.ac uses AC_RUN_IFELSE to determine the byte order of doubles, but this silently fails under cross compilation and Python doesn't do floats properly. Instead, steal a macro from autoconf-archive which compiles code using magic doubles (which encode to ASCII) and grep for the representation in the binary. RFC because this doesn't yet handle the weird ancient ARMv4 OABI 'mixed-endian' encoding properly. This encoding is ancient and I don't believe the union of "Python 3.8 users" and "OABI users" has anything in. Should the support for this just be dropped too? Alternatively, someone will need to find an OABI toolchain to verify the encoding of the magic double.