summaryrefslogtreecommitdiffstats
path: root/configure
Commit message (Collapse)AuthorAgeFilesLines
* gh-117752: Autoconf: fix -fno-semantic-interposition check (#117789)Erlend E. Aasland2024-04-121-7/+7
| | | Force the compiler to issue an error if the flag is not supported.
* gh-117752: Autoconf: store all LLVM profile data in the build directory ↵Erlend E. Aasland2024-04-121-2/+2
| | | | | (#117790) This prevents spurious 'env changed' and llvm-profdata merge errors.
* gh-117787: Autoconf: fix bashisms/semantic breakage of iOS checks (#117788)Eli Schwartz2024-04-111-1/+1
|
* gh-116303: Don't build xxlimited and xxlimited_35 if --disable-test-modules ↵Erlend E. Aasland2024-04-051-2/+2
| | | | is given (#117554)
* gh-114099: Additions to standard library to support iOS (GH-117052)Russell Keith-Magee2024-03-281-8/+13
| | | | | Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Co-authored-by: Malcolm Smith <smith@chaquo.com> Co-authored-by: Ned Deily <nad@python.org>
* gh-71052: Add Android build script and instructions (#116426)Malcolm Smith2024-03-211-8/+21
|
* gh-114099 - Add iOS framework loading machinery. (GH-116454)Russell Keith-Magee2024-03-191-1/+0
| | | | Co-authored-by: Malcolm Smith <smith@chaquo.com> Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
* gh-108716: Cleanup remaining deepfreeze infrastructure (#116919)Guido van Rossum2024-03-181-2/+1
| | | | | Keep Tools/build/deepfreeze.py around (we may repurpose it for deepfreezing non-code objects), and keep basic "clean" targets that remove the output of former deep-freeze activities, to keep the build directories of current devs clean.
* GH-115983: skip building shared modules for testing under WASI (GH-116528)Brett Cannon2024-03-131-0/+6
|
* gh-71052: Change Android's `sys.platform` from "linux" to "android"Malcolm Smith2024-03-111-0/+1
| | | | Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-116303: Explicitly check for the _testsinglephase module in configure.ac ↵Erlend E. Aasland2024-03-071-0/+44
| | | | (#116479)
* gh-116417: Add _testlimitedcapi C extension (#116419)Victor Stinner2024-03-071-0/+45
| | | | | | | | | | | | | Add a new C extension "_testlimitedcapi" which is only built with the limited C API. Move heaptype_relative.c and vectorcall_limited.c from Modules/_testcapi/ to Modules/_testlimitedcapi/. * configure: add _testlimitedcapi test extension. * Update generate_stdlib_module_names.py. * Update make check-c-globals. Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-114099 - Add iOS testbed, plus Makefile target to invoke it. (gh-115930)Russell Keith-Magee2024-03-071-52/+98
|
* GH-116313: get WASI builds to run under wasmtime 18 w/ WASI 0.2/preview2 ↵Brett Cannon2024-03-051-1/+1
| | | | | | | | | primitives (#116327) * GH-116313: get WASI builds to run under wasmtime 18 w/ WASI 0.2/preview2 primitives * Add the configure changes * Update `wasm_build.py`
* gh-108562: Revert enabling -fstrict-overflow for libmpdec (GH-116302)Sergey B Kirpichev2024-03-041-7/+0
| | | | | gh-108562: partial reversion of pr114751 Reverts -fstrict-overflow for libmpdec
* gh-108562: Fix compiler warnings for libmpdec (#114751)Sergey B Kirpichev2024-03-031-0/+7
| | | | | | If awailable, enable -fstrict-overflow for libmpdec. Also shut off false positive warnings (-Warray-bounds). The later was backported from mpdecimal-4.0.0.
* gh-115806: Don't mangle output of configure 'ipv6 stack type' check (#116165)Erlend E. Aasland2024-03-011-2/+2
|
* gh-71052: Fix several Android build issues (#115955)Malcolm Smith2024-02-291-7/+40
| | | | | | | | | | | | | | | | | | | This change is part of the work on PEP-738: Adding Android as a supported platform. * Remove the "1.0" suffix from libpython's filename on Android, which would prevent Gradle from packaging it into an app. * Simplify the build command in the Makefile so that libpython always gets given an SONAME with the `-Wl-h` argument, even if the SONAME is identical to the actual filename. * Disable a number of functions on Android which can be compiled and linked against, but always fail at runtime. As a result, the native _multiprocessing module is no longer built for Android. * gh-115390 (bee7bb331) added some pre-determined results to the configure script for things that can't be autodetected when cross-compiling; this change adds Android to these where appropriate. * Add a couple more pre-determined results for Android, and making them cover iOS as well. This means the --enable-ipv6 configure option will no longer be required on either platform.
* gh-115765: Don't use deprecated AC_EGREP_* macros in configure.ac (#116016)Erlend E. Aasland2024-02-281-106/+254
| | | Rewrite using AX_CHECK_DEFINE and AC_CHECK_TYPES.
* gh-115773: Add tests to exercise the _Py_DebugOffsets structure (#115774)Pablo Galindo Salgado2024-02-281-0/+50
|
* gh-114099: Add configure and Makefile targets to support iOS compilation. ↵Russell Keith-Magee2024-02-261-53/+190
| | | | (GH-115390)
* gh-115806: Make configure output more readable (#115807)Erlend E. Aasland2024-02-231-9/+10
| | | | - make sure LDLIBRARY and HOSTRUNNER checks don't overlap - make the ipv6 library check less subtle
* gh-115765: Don't use deprecated AC_CHECK_TYPE macro in configure.ac (#115792)Erlend E. Aasland2024-02-221-0/+8
| | | Instead use AC_CHECK_TYPES.
* gh-111225: Link extension modules against libpython on Android (#115780)Malcolm Smith2024-02-211-5/+8
| | | | | | | | | | | | | | Part of the work on PEP 738: Adding Android as a supported platform. * Rename the LIBPYTHON variable to MODULE_LDFLAGS, to more accurately reflect its purpose. * Edit makesetup to use MODULE_LDFLAGS when linking extension modules. * Edit the Makefile so that extension modules depend on libpython on Android and Cygwin. * Restore `-fPIC` on Android. It was removed several years ago with a note that the toolchain used it automatically, but this is no longer the case. Omitting it causes all linker commands to fail with an error like `relocation R_AARCH64_ADR_PREL_PG_HI21 cannot be used against symbol '_Py_FalseStruct'; recompile with -fPIC`.
* gh-114099: Refactor configure and Makefile to accomodate non-macOS ↵Russell Keith-Magee2024-02-121-174/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | frameworks (#115120) Part of the PEP 730 work to add iOS support. This change lays the groundwork for introducing iOS/tvOS/watchOS frameworks; it includes the structural refactoring needed so that iOS branches can be added into in a subsequent PR. Summary of changes: * Updates config.sub to the 2024-01-01 release. This is the "as released" version of config.sub. * Adds a RESSRCDIR variable to allow sharing of macOS and iOS Makefile steps. * Adds an INSTALLTARGETS variable so platforms can customise which targets are actually installed. This will be used to exclude certain targets (e.g., binaries, manfiles) from iOS framework installs. * Adds a PYTHONFRAMEWORKINSTALLNAMEPREFIX variable; this is used as the install name for the library. This is needed to allow for iOS frameworks to specify an @rpath-based install name. * Evaluates MACHDEP earlier in the configure process so that ac_sys_system is available. * Modifies _PYTHON_HOST_PLATFORM evaluation for cross-platform builds so that the CPU architecture is differentiated from the host identifier. This will be used to generate a _PYTHON_HOST_PLATFORM definition that includes ABI information, not just CPU architecture. * Differentiates between SOABI_PLATFORM and PLATFORM_TRIPLET. SOABI_PLATFORM is used in binary module names, and includes the ABI, but not the OS or CPU architecture (e.g., math.cpython-313-iphonesimulator.dylib). PLATFORM_TRIPLET is used as the sys._multiarch value, and on iOS will contains the ABI and architecture (e.g., iphoneos-arm64). This differentiation hasn't historically been needed because while macOS is a multiarch platform, it uses a bare darwin as PLATFORM_TRIPLE. * Removes the use of the deprecated -Wl,-single_module flag when compiling macOS frameworks. * Some whitespace normalisation where there was a mix of spaces and tabs in a single block.
* GH-113632: update configure.ac for WebAssembly support tiers (#115192)Brett Cannon2024-02-091-4/+2
| | | Move WASI to tier 2 and drop Emscripten.
* gh-114883: Fix Makefile dependency tree for non-jit builds (GH-114884)Zachary Ware2024-02-031-0/+3
|
* gh-114875: Require getgrent for building the grp extension module (#114876)Malcolm Smith2024-02-021-1/+8
| | | Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-112606: Use pthread_cond_timedwait_relative_np() in parking_lot.c when ↵Matt Prodani2024-01-301-0/+6
| | | | | | | available (#112616) Add a configure define for HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP and replaces pthread_cond_timedwait() with pthread_cond_timedwait_relative_np() for relative time when supported in semaphore waiting logic.
* gh-85984: Add POSIX pseudo-terminal functions. (GH-102413)Soumendra Ganguly2024-01-291-0/+30
| | | | | Signed-off-by: Soumendra Ganguly <soumendraganguly@gmail.com> Co-authored-by: Gregory P. Smith <greg@krypto.org> Co-authored-by: Petr Viktorin <encukou@gmail.com>
* GH-113464: Add a JIT backend for tier 2 (GH-113465)Brandt Bucher2024-01-291-0/+31
| | | | | | | Add an option (--enable-experimental-jit for configure-based builds or --experimental-jit for PCbuild-based ones) to build an *experimental* just-in-time compiler, based on copy-and-patch (https://fredrikbk.com/publications/copy-and-patch.pdf). See Tools/jit/README.md for more information on how to install the required build-time tooling.
* gh-80532: Do not set ipv6type when cross-compiling (#17956)Zackery Spytz2024-01-051-1/+1
| | | Co-authored-by: Xavier de Gaye <xdegaye@gmail.com>
* gh-112536: Add support for thread sanitizer (TSAN) (gh-112648)Samet YASLAN2023-12-301-0/+25
|
* bpo-11102: Make configure enable major(), makedev(), and minor() on HP-UX ↵Zackery Spytz2023-12-281-0/+1
| | | | | | | (GH-19856) Always include <sys/types.h> before <sys/sysmacros.h>. Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* gh-110459: Make sure --with-openssl-rpath works on macOS (#113441)Ronald Oussoren2023-12-281-1/+6
| | | | | | | | * gh-110459: Make sure --with-openssl-rpath works on macOS On macOS the `-rpath` linker flag is spelled differently than on on platforms.
* gh-113117: Support posix_spawn in subprocess.Popen with close_fds=True (#113118)Jakub Kulík2023-12-171-0/+6
| | | | | | | | Add support for `os.POSIX_SPAWN_CLOSEFROM` and `posix_spawn_file_actions_addclosefrom_np` and have the `subprocess` module use them when available. This means `posix_spawn` can now be used in the default `close_fds=True` situation on many platforms. Co-authored-by: Gregory P. Smith [Google LLC] <greg@krypto.org>
* gh-76785: More Fixes for test.support.interpreters (gh-113012)Eric Snow2023-12-121-0/+29
| | | This brings the module (along with the associated extension modules) mostly in sync with PEP 734. There are only a few small things to wrap up.
* gh-112970: Detect and use closefrom() when available (#112969)Sam James2023-12-121-0/+6
| | | | | | | | | | | glibc-2.34 implements closefrom(3) using the same semantics as on BSD. Check for closefrom() in configure and use the check result in fileutils.c, rather than hardcoding a FreeBSD check. Some implementations of closefrom() return an int. Explicitly discard the return value by casting it to void, to avoid future compiler warnings. Signed-off-by: Sam James <sam@gentoo.org>
* gh-112532: Require mimalloc in `--disable-gil` builds (gh-112883)Sam Gross2023-12-121-0/+2
|
* gh-112779: Check 1-byte atomics in configure (gh-112819)Sam Gross2023-12-081-4/+14
|
* gh-105323: Remove `WITH_APPLE_EDITLINE` to use the same declaration for all ↵Tian Gao2023-12-051-17/+0
| | | | editline (gh-112513)
* gh-111863: Rename `Py_NOGIL` to `Py_GIL_DISABLED` (#111864)Hugo van Kemenade2023-11-201-1/+1
| | | Rename Py_NOGIL to Py_GIL_DISABLED
* gh-112088: Run autoreconf in GHA check_generated_files (#112090)Victor Stinner2023-11-151-60/+60
| | | | | | | | | | | The "Check if generated files are up to date" job of GitHub Actions now runs the "autoreconf -ivf -Werror" command instead of the "make regen-configure" command to avoid depending on the external quay.io server. Add Tools/build/regen-configure.sh script to regenerate the configure with an Ubuntu container image. The "quay.io/tiran/cpython_autoconf:271" container image (https://github.com/tiran/cpython_autoconf) is no longer used.
* gh-111460: Restore ncurses widechar support on macOS (#111878)Davide Rizzo2023-11-131-1/+1
|
* gh-90815: Add mimalloc memory allocator (#109914)Dino Viehland2023-10-301-89/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add mimalloc v2.12 Modified src/alloc.c to remove include of alloc-override.c and not compile new handler. Did not include the following files: - include/mimalloc-new-delete.h - include/mimalloc-override.h - src/alloc-override-osx.c - src/alloc-override.c - src/static.c - src/region.c mimalloc is thread safe and shares a single heap across all runtimes, therefore finalization and getting global allocated blocks across all runtimes is different. * mimalloc: minimal changes for use in Python: - remove debug spam for freeing large allocations - use same bytes (0xDD) for freed allocations in CPython and mimalloc This is important for the test_capi debug memory tests * Don't export mimalloc symbol in libpython. * Enable mimalloc as Python allocator option. * Add mimalloc MIT license. * Log mimalloc in Lib/test/pythoninfo.py. * Document new mimalloc support. * Use macro defs for exports as done in: https://github.com/python/cpython/pull/31164/ Co-authored-by: Sam Gross <colesbury@gmail.com> Co-authored-by: Christian Heimes <christian@python.org> Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-110828: AIX 32bit build needs -latomic for _testcapi module (#110962)Ayappan Perumal2023-10-221-1/+2
|
* gh-111046: for wasi-threads, export memory as well via the linker (GH-111099)YAMAMOTO Takashi2023-10-201-0/+5
|
* gh-104169: Refactor tokenizer into lexer and wrappers (#110684)Lysandros Nikolaou2023-10-111-0/+2
| | | | | | | | | | | * The lexer, which include the actual lexeme producing logic, goes into the `lexer` directory. * The wrappers, one wrapper per input mode (file, string, utf-8, and readline), go into the `tokenizer` directory and include logic for creating a lexer instance and managing the buffer for different modes. --------- Co-authored-by: Pablo Galindo <pablogsal@gmail.com> Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
* gh-78469: Declare missing sethostname for Solaris 10 (#109447)Jakub Kulík2023-10-091-0/+9
| | | Add OS version specific macro for Solaris: Py_SUNOS_VERSION.
* gh-109191: Fix build with newer editline (gh-110239)Bo Anderson2023-10-091-0/+19
|