Skip to content
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

[Build] Make extensions depend on header files #89758

Closed
tiran opened this issue Oct 24, 2021 · 2 comments
Closed

[Build] Make extensions depend on header files #89758

tiran opened this issue Oct 24, 2021 · 2 comments
Assignees
Labels
3.11 only security fixes build The build process and cross-build type-feature A feature request or enhancement

Comments

@tiran
Copy link
Member

tiran commented Oct 24, 2021

BPO 45595
Nosy @brettcannon, @tiran
PRs
  • bpo-45595: Make extensions depend on header files #29198
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/tiran'
    closed_at = <Date 2021-10-25.18:38:31.275>
    created_at = <Date 2021-10-24.09:01:25.224>
    labels = ['type-feature', 'build', '3.11']
    title = '[Build] Make extensions depend on header files'
    updated_at = <Date 2021-10-25.18:38:31.275>
    user = 'https://github.com/tiran'

    bugs.python.org fields:

    activity = <Date 2021-10-25.18:38:31.275>
    actor = 'christian.heimes'
    assignee = 'christian.heimes'
    closed = True
    closed_date = <Date 2021-10-25.18:38:31.275>
    closer = 'christian.heimes'
    components = ['Build']
    creation = <Date 2021-10-24.09:01:25.224>
    creator = 'christian.heimes'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 45595
    keywords = ['patch']
    message_count = 2.0
    messages = ['404921', '404986']
    nosy_count = 2.0
    nosy_names = ['brett.cannon', 'christian.heimes']
    pr_nums = ['29198']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue45595'
    versions = ['Python 3.11']

    @tiran
    Copy link
    Member Author

    tiran commented Oct 24, 2021

    Any change to a Python header file triggers a rebuild of Python core objects. The extension modules are not automatically rebuild in several cases. This is slightly annoying for core development because it forces me to do make clean too often.

    • setup.py adds dependencies on Includes/*.h but not on header files in "internal" and "cpython" subdirectory
    • Modules/Setup and makesetup do not add a dependency on PYTHON_HEADERS
    • Modules/Setup is also missing dependencies on module-specific headers, e.g. _sre.o should depend on sre.h.

    @tiran tiran added the 3.11 only security fixes label Oct 24, 2021
    @tiran tiran self-assigned this Oct 24, 2021
    @tiran tiran added build The build process and cross-build type-feature A feature request or enhancement 3.11 only security fixes labels Oct 24, 2021
    @tiran tiran self-assigned this Oct 24, 2021
    @tiran tiran added build The build process and cross-build type-feature A feature request or enhancement labels Oct 24, 2021
    @tiran
    Copy link
    Member Author

    tiran commented Oct 25, 2021

    New changeset 81669d1 by Christian Heimes in branch 'main':
    bpo-45595: Make extensions depend on header files (GH-29198)
    81669d1

    @tiran tiran closed this as completed Oct 25, 2021
    @tiran tiran closed this as completed Oct 25, 2021
    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    tiran added a commit to tiran/cpython that referenced this issue Jul 23, 2022
    miss-islington pushed a commit to miss-islington/cpython that referenced this issue Jul 23, 2022
    (cherry picked from commit 41a5b84)
    
    Co-authored-by: Christian Heimes <christian@python.org>
    miss-islington added a commit that referenced this issue Jul 23, 2022
    (cherry picked from commit 41a5b84)
    
    Co-authored-by: Christian Heimes <christian@python.org>
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.11 only security fixes build The build process and cross-build type-feature A feature request or enhancement
    Projects
    None yet
    Development

    No branches or pull requests

    1 participant