summaryrefslogtreecommitdiffstats
path: root/.gitignore
Commit message (Collapse)AuthorAgeFilesLines
* gh-114099 - Add iOS framework loading machinery. (GH-116454)Russell Keith-Magee2024-03-191-1/+1
| | | | 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-1/+0
| | | | | 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-114099 - Add iOS testbed, plus Makefile target to invoke it. (gh-115930)Russell Keith-Magee2024-03-071-0/+10
|
* gh-114099: Add configure and Makefile targets to support iOS compilation. ↵Russell Keith-Magee2024-02-261-0/+1
| | | | (GH-115390)
* GH-114743: Set a low recursion limit for `test_main_recursion_error()` in ↵Brett Cannon2024-01-311-1/+1
| | | | | `test_runpy` (GH-114772) This can fail under a debug build of WASI when directly executing test.test_runpy.
* GH-113464: Add a JIT backend for tier 2 (GH-113465)Brandt Bucher2024-01-291-0/+1
| | | | | | | 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-103065, GH-106704, GH-105253: Provide a `Tools/wasm/wasi.py` script to ↵Brett Cannon2023-11-301-0/+1
| | | | simplify doing a WASI build (GH-112473)
* Add `.ruff_cache/` to `.gitignore` (#110983)Nikita Sobolev2023-10-171-0/+1
|
* gh-104780: Remove 2to3 program and lib2to3 module (#104781)Victor Stinner2023-05-231-1/+0
| | | | | | | | | * Remove the Tools/scripts/2to3 script. * Remove the Lib/test/test_lib2to3/ directory. * Doc/tools/extensions/pyspecific.py: remove the "2to3fixer" object type. * Makefile and PC/layout/main.py no longer compile lib2to3 grammar files. * Update Makefile for 2to3 removal.
* gh-101282: Apply BOLT optimizations to libpython for shared builds (#104709)Gregory Szorc2023-05-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply BOLT optimizations to libpython for shared builds. Most of the C code is in libpython so it is critical to apply BOLT there fully realize BOLT benefits. This change also reworks how BOLT instrumentation is applied. It effectively removes the readelf based logic added in gh-101525 and replaces it with a mechanism that saves a copy of the pre-bolt binary and restores that copy when necessary. This allows us to perform BOLT optimizations without having to manually delete the output binary to force a new bolt run. Also: - add a clean-bolt target for purging BOLT files and hook that up to the clean target - .gitignore BOLT related files Before and after this refactor, `make` will no-op after a previous run. Both versions should also share common make DAG deficiencies where targets fail to trigger as often as they need to or can trigger prematurely in certain scenarios. e.g. after this change you may need to `rm profile-bolt-stamp` to force a BOLT run because there aren't appropriate non-phony targets for BOLT's make target to depend on. To make it easier to iterate on custom BOLT settings, the flags to pass to instrumentation and application are now defined in configure and can be overridden by passing BOLT_INSTRUMENT_FLAGS and BOLT_APPLY_FLAGS.
* gh-92584: Remove the distutils package (#99061)Victor Stinner2022-11-031-2/+0
| | | | | | | | | | | | Remove the distutils package. It was deprecated in Python 3.10 by PEP 632 "Deprecate distutils module". For projects still using distutils and cannot be updated to something else, the setuptools project can be installed: it still provides distutils. * Remove Lib/distutils/ directory * Remove test_distutils * Remove references to distutils * Skip test_check_c_globals and test_peg_generator since they use distutils
* gh-98925: Lower marshal recursion depth for WASI (GH-98938)Brett Cannon2022-11-011-0/+1
| | | | | For wasmtime 2.0, the stack depth cost is 6% higher. This causes the default max `marshal` recursion depth to blow the stack. As the default marshal depth is 2000 and Windows is set to 1000, split the difference and choose 1500 for WASI to be safe.
* gh-97669: Create Tools/build/ directory (#97963)Victor Stinner2022-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Create Tools/build/ directory. Move the following scripts from Tools/scripts/ to Tools/build/: * check_extension_modules.py * deepfreeze.py * freeze_modules.py * generate_global_objects.py * generate_levenshtein_examples.py * generate_opcode_h.py * generate_re_casefix.py * generate_sre_constants.py * generate_stdlib_module_names.py * generate_token.py * parse_html5_entities.py * smelly.py * stable_abi.py * umarshal.py * update_file.py * verify_ensurepip_wheels.py Update references to these scripts.
* gh-95973: Add a new --with-dsymutil option to link debug information in ↵Pablo Galindo Salgado2022-08-271-0/+2
| | | | | macOS (GH-95974) Automerge-Triggered-By: GH:pablogsal
* Add ABI dump script (#94135)Pablo Galindo Salgado2022-06-231-0/+3
|
* git ignore Lib/site-packages (GH-31862)Dennis Sweeney2022-03-141-0/+2
|
* bpo-46933: Make pwd module optional (GH-31700)Christian Heimes2022-03-071-0/+1
| | | Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
* bpo-44035: Check autoconf files thoroughly (GH-29935)Christian Heimes2021-12-061-0/+2
| | | | | | | | | Check that users don't push changes with outdated or patched autoconf. The presence of runstatedir option and aclocal 1.16.3 are good markers. Use my container image to regenerate autoconf files. "Check for changes" will fail later when any file is regenerated. Use ccache in check_generated_files to speed up testing.
* bpo-45950: Introduce Bootstrap Python again (#29859)Christian Heimes2021-12-031-0/+1
| | | | | | | | | The build system now uses a :program:`_bootstrap_python` interpreter for freezing and deepfreezing again. To speed up build process the build tools :program:`_bootstrap_python` and :program:`_freeze_module` are no longer build with LTO. Cross building depends on a build Python interpreter, which must have same version and bytecode as target host Python.
* bpo-45582: Fix out-of-tree build issues with new getpath (GH-29902)Christian Heimes2021-12-031-1/+0
|
* bpo-45582: Port getpath[p].c to Python (GH-29041)Steve Dower2021-12-031-0/+1
| | | | | The getpath.py file is frozen at build time and executed as code over a namespace. It is never imported, nor is it meant to be importable or reusable. However, it should be easier to read, modify, and patch than the previous code. This commit attempts to preserve every previously tested quirk, but these may be changed in the future to better align platforms.
* bpo-45886: Fix OOT build when srcdir has frozen module headers (GH-29793)Christian Heimes2021-11-261-1/+0
| | | | | | | The presence of frozen module headers in srcdir interfers with OOT build. Make considers headers in srcdir up to date, but later builds do not use VPATH to locate files. make clean now removes the headers, too. Also remove stale ``_bootstrap_python`` from .gitignore.
* bpo-40280: clean and ignore .wasm files (GH-29794)Christian Heimes2021-11-261-0/+1
|
* bpo-45573: Add Modules/Setup.stdlib with conditional modules (GH-29615)Christian Heimes2021-11-181-0/+1
|
* bpo-45696: Deep-freeze selected modules (GH-29118)Guido van Rossum2021-11-111-0/+2
| | | | | | | This gains 10% or more in startup time for `python -c pass` on UNIX-ish systems. The Makefile.pre.in generating code builds on Eric's work for bpo-45020, but the .c file generator is new. Windows version TBD.
* Add generated artifacts in Mac/ to .gitignore; update copyright (GH-29408)Łukasz Langa2021-11-041-0/+9
|
* bpo-45629: Add a test for the "freeze" tool. (gh-29222)Eric Snow2021-10-281-0/+1
| | | | | | | The "freeze" tool has been part of the repo for a long time. However, it hasn't had any tests in the test suite to guard against regressions. We add such a test here. This is especially important as there has been a lot of change recently related to frozen modules, with more to come. Note that as part of the test we build Python out-of-tree and install it in a temp dir. https://bugs.python.org/issue45629
* bpo-45020: Drop the frozen .h files from the repo. (gh-28392)Eric Snow2021-09-161-6/+3
| | | | | The main advantage is that the files will no longer show up in diffs and PRs. That means, for a PR, the number of files / lines changed will more clearly reflect the actual change. (This is essentially an un-revert of gh-28375.) https://bugs.python.org/issue45020
* bpo-45020: Revert "Drop the frozen .h files from the repo." (gh-28380)Eric Snow2021-09-161-2/+6
| | | | | gh-28375 broke one of the buildbots. Until I figure out why, I'm rolling the change back. https://bugs.python.org/issue45020
* bpo-45020: Drop the frozen .h files from the repo. (gh-28375)Eric Snow2021-09-161-6/+4
| | | | | The main advantage is that the files will no longer show up in diffs and PRs. That means, for a PR, the number of files / lines changed will more clearly reflect the actual change. https://bugs.python.org/issue45020
* bpo-45019: Do some cleanup related to frozen modules. (gh-28319)Eric Snow2021-09-131-0/+7
| | | | | There are a few things I missed in gh-27980. This is a follow-up that will make subsequent PRs cleaner. It includes fixes to tests and tools that reference the frozen modules. https://bugs.python.org/issue45019
* bpo-45019: Add a tool to generate list of modules to include for frozen ↵Eric Snow2021-08-301-1/+1
| | | | | | | modules (gh-27980) Frozen modules must be added to several files in order to work properly. Before this change this had to be done manually. Here we add a tool to generate the relevant lines in those files instead. This helps us avoid mistakes and omissions. https://bugs.python.org/issue45019
* Add .DS_Store on ignore (GH-27711)1809092021-08-111-0/+1
| | | Co-authored-by: Łukasz Langa <lukasz@langa.pl>
* Added some makefile generated files to .gitignore (GH-22435)Marco Sulla2020-10-261-0/+2
|
* ignore Modules/python.exp on AIX (autogenerated) (GH-19607)Batuhan Taşkaya2020-04-191-0/+1
|
* Be more specific about the `.so` gitignore patterns (GH-17328)Anthony Sottile2019-11-271-1/+2
| | | | | In GH-15823 the pattern was changed from `libpython*.so*` to `*.so*` which matches a bit too greedily for some packagers. For instance this trips up `debian/README.source`. A more specific pattern fixes this issue.
* Add .pytest_cache to .gitignore (GH-16595)Brandt Bucher2019-11-151-0/+1
|
* bpo-37936: Systematically distinguish rooted vs. unrooted in .gitignore ↵Greg Price2019-09-111-48/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (GH-15823) A root cause of bpo-37936 is that it's easy to write a .gitignore rule that's intended to apply to a specific file (e.g., the `pyconfig.h` generated by `./configure`) but actually applies to all similarly-named files in the tree (e.g., `PC/pyconfig.h`.) Specifically, any rule with no non-trailing slashes is applied in an "unrooted" way, to files anywhere in the tree. This means that if we write the rules in the most obvious-looking way, then * for specific files we want to ignore that happen to be in subdirectories (like `Modules/config.c`), the rule will work as intended, staying "rooted" to the top of the tree; but * when a specific file we want to ignore happens to be at the root of the repo (like `platform`), then the obvious rule (`platform`) will apply much more broadly than intended: if someone tries to add a file or directory named `platform` somewhere else in the tree, it will unexpectedly get ignored. That's surprising behavior that can make the .gitignore file's behavior feel finicky and unpredictable. To avoid it, we can simply always give a rule "rooted" behavior when that's what's intended, by systematically using leading slashes. Further, to help make the pattern obvious when looking at the file and minimize any need for thinking about the syntax when adding new rules: separate the rules into one group for each type, with brief comments identifying them. For most of these rules it's clear whether they're meant to be rooted or unrooted, but in a handful of cases I've only guessed. In that case the safer default (the choice that won't hide information) is the narrower, rooted meaning, with a leading slash. If for some of these the unrooted meaning is desired after all, it'll be easy to move them to the unrooted section at the top.
* bpo-37936: Avoid ignoring files that we actually do track. (GH-15451)Greg Price2019-09-091-3/+4
| | | | | | | | | | | | | | | | | | | | There were about 14 files that are actually in the repo but that are covered by the rules in .gitignore. Git itself takes no notice of what .gitignore says about files that it's already tracking... but the discrepancy can be confusing to a human that adds a new file unexpectedly covered by these rules, as well as to non-Git software that looks at .gitignore but doesn't implement this wrinkle in its semantics. (E.g., `rg`.) Several of these are from rules that apply more broadly than intended: for example, `Makefile` applies to `Doc/Makefile` and `Tools/freeze/test/Makefile`, whereas `/Makefile` means only the `Makefile` at the repo's root. And the `Modules/Setup` rule simply wasn't updated after 961d54c5c. https://bugs.python.org/issue37936
* bpo-37936: Remove some .gitignore rules that were intended locally. (GH-15542)Greg Price2019-08-271-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | These appeared in commit c5ae169e1. The comment on them, as well as the presence among them of a rule for the .gitignore file itself, indicate that the author intended these lines to remain only in their own local working tree -- not to get committed even to their own repo, let alone merged upstream. They did nevertheless get committed, because it turns out that Git takes no notice of what .gitignore says about files that it's already tracking... for example, this .gitignore file itself. Give effect to these lines' original intention, by deleting them. :-) Git tip, for reference: the `.git/info/exclude` file is a handy way to do exactly what these lines were originally intended to do. A related handy file is `~/.config/git/ignore`. See gitignore(5), aka `git help ignore`, for details. https://bugs.python.org/issue37936 Automerge-Triggered-By: @zware
* bpo-37760: Avoid cluttering work tree with downloaded Unicode files. (GH-15128)Greg Price2019-08-151-0/+1
|
* bpo-36721: Add --embed option to python-config (GH-13500)Victor Stinner2019-05-231-0/+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-36941: Windows build changes for Windows ARM64 (GH-13365)Paul Monson2019-05-171-0/+1
|
* bpo-35808: Retire pgen and use pgen2 to generate the parser (GH-11814)Pablo Galindo2019-03-011-2/+0
| | | | | 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.
* bpo-35976: Enable Windows projects to build with platform ARM32 (GH-11825)Paul Monson2019-02-141-0/+1
| | | This change adds the necessary items to the build projects to avoid erroring out right at the start. It does not add _support_ for targeting Windows on ARM32, but is a necessary prerequisite for adding it.
* Add mypy cache to gitignore (GH-6614)Ekin Dursun2018-04-301-0/+1
|
* Gitignore gmon.out (GH-5796)Neeraj Badlani2018-03-261-0/+1
| | | | | | | gmon.out is generated when profiling turned on Full Configuration: ./configure --prefix=$PWD/install --enable-profiling --enable-big-digits=30 --with-pydebug --with-assertions --with-valgrind
* bpo-26439 Fix ctypes.util.find_library failure on AIX (#4507)Michael Felt2017-12-191-0/+7
| | | | | Implement find_library() support in ctypes/util for AIX. Add some AIX specific tests.
* bpo-31036: Allow sphinx and blurb to be found automatically (#3440)Ned Deily2017-09-081-0/+3
| | | | Rather than requiring the path to blurb and/or sphinx-build to be specified to the make rule, enhance the Doc/Makefile to look for each first in a virtual environment created by make venv and, if not found, look on the normal process PATH. This allows the Doc/Makefile to take advantage of an installed spinx-build or blurb and, thus, do the right thing most of the time. Also, make the directory for the venv be configurable and document the `make venv` target.
* Fix case in .gitignore (GH-2607)Segev Finer2017-07-061-1/+1
|