8000 bpo-43795: Generate python3dll.c and doc data from manifest (PEP 652) by encukou · Pull Request #25315 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

bpo-43795: Generate python3dll.c and doc data from manifest (PEP 652) #25315

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 15 commits into from
Apr 29, 2021
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Don't use abi_only items in the headers check
  • Loading branch information
encukou committed Apr 23, 2021
commit 89e86c9263bd18d69a2ca5f13e674a1890a8f8eb
12 changes: 10 additions & 2 deletions Tools/scripts/stable_abi.py
Original file line number Diff line number Diff line change
Expand Up @@ -304,13 +304,21 @@ def do_unixy_check(manifest, args):
manifest, LDLIBRARY, expected_symbols, dynamic=False)

# Check definitions in the header files
expected_defs = set(item.name for item in manifest.select(
{'function', 'data'}, include_abi_only=False, ifdef=feature_defines,
))
found_defs = gcc_get_limited_api_definitions(['Include/Python.h'])
missing_defs = expected_symbols - found_defs
missing_defs = expected_defs - found_defs
okay &= _report_unexpected_items(
missing_defs,
'Some expected declarations were not declared in '
+ '"Include/Python.h" with Py_LIMITED_API:')
extra_defs = found_defs - expected_symbols

# Some Limited API macros are defined in terms of private symbols.
# These are not part of Limited API (even though they're defined with
# Py_LIMITED_API). They must be part of the Stable ABI, though.
private_symbols = {n for n in expected_symbols if n.startswith('_')}
extra_defs = found_defs - expected_defs - private_symbols
okay &= _report_unexpected_items(
extra_defs,
'Some extra declarations were found in "Include/Python.h" '
Expand Down
0