Skip to content

Need setup.py to pick up -isystem flags from CPPFLAGS #81944

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

Closed
jherland mannequin opened this issue Aug 5, 2019 · 2 comments
Closed

Need setup.py to pick up -isystem flags from CPPFLAGS #81944

jherland mannequin opened this issue Aug 5, 2019 · 2 comments
Labels
3.8 (EOL) end of life 3.9 only security fixes build The build process and cross-build type-feature A feature request or enhancement

Comments

@jherland
Copy link
Mannequin

jherland mannequin commented Aug 5, 2019

BPO 37763
Nosy @moreati, @jherland
PRs
  • bpo-37763: Teach setup.py to pick up "-isystem <dir>" from $CPPFLAGS #15136
  • 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 = None
    closed_at = None
    created_at = <Date 2019-08-05.15:10:05.216>
    labels = ['type-feature', '3.8', '3.9', 'build']
    title = 'Need setup.py to pick up -isystem flags from CPPFLAGS'
    updated_at = <Date 2019-08-05.15:15:28.475>
    user = 'https://github.com/jherland'

    bugs.python.org fields:

    activity = <Date 2019-08-05.15:15:28.475>
    actor = 'jherland'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Cross-Build']
    creation = <Date 2019-08-05.15:10:05.216>
    creator = 'jherland'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 37763
    keywords = ['patch']
    message_count = 1.0
    messages = ['349054']
    nosy_count = 2.0
    nosy_names = ['Alex.Willmer', 'jherland']
    pr_nums = ['15136']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue37763'
    versions = ['Python 3.8', 'Python 3.9']

    @jherland
    Copy link
    Mannequin Author

    jherland mannequin commented Aug 5, 2019

    First time contributor here, still learning the ropes.

    We're cross-compiling python in an environment where we set up CPPFLAGS, LDFLAGS, etc. to point directly to the locations where we have built Python's dependencies. For example, we will typically build Python in an environment that includes:

    CPPFLAGS=\
    -isystem /path/to/ncurses/build/include \
    -isystem /path/to/libffi/build/include \
    -isystem /path/to/zlib/build/include \
    -isystem /path/to/openssl/build/include \
    -isystem /path/to/readline/build/include

    LDFLAGS=\
    -L/path/to/ncurses/build/lib \
    -L/path/to/libffi/build/lib \
    -L/path/to/zlib/build/lib \
    -L/path/to/openssl/build/lib \
    -L/path/to/ciscossl-fom/build/lib \
    -L/path/to/readline/build/lib

    setup.py already picks up our -L options from LDFLAGS and propagates them into the build commands, but the -isystem options from CPPFLAGS are currently ignored.

    I will post a PR that teaches setup.py to handle -isystem options in CPPFLAGS the same way it currently handles -I options.

    @jherland jherland mannequin added 3.8 (EOL) end of life 3.9 only security fixes build The build process and cross-build type-feature A feature request or enhancement labels Aug 5, 2019
    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    @serhiy-storchaka
    Copy link
    Member

    setup.py no longer used to build CPython since 3.12 (see #94474).

    @erlend-aasland erlend-aasland added the pending The issue will be closed if no feedback is provided label Dec 27, 2023
    @hauntsaninja hauntsaninja closed this as not planned Won't fix, can't repro, duplicate, stale Jan 7, 2024
    @erlend-aasland erlend-aasland removed the pending The issue will be closed if no feedback is provided label Jan 7, 2024
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.8 (EOL) end of life 3.9 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

    3 participants