GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Make LLVM_VERSION configurable with env variable · Issue #138497 · python/cpython

Make LLVM_VERSION configurable with env variable #138497

New issue
Copy link
New issue
Copy link
Closed
Closed
Make LLVM_VERSION configurable with env variable#138497
Copy link
Labels
buildThe build process and cross-buildThe build process and cross-buildtopic-JITtype-featureA feature request or enhancementA feature request or enhancement

Description

@danigm
danigm
opened on Sep 4, 2025
Issue body actions

Right now the LLVM version used is hardcoded in _llvm.py file.

The version could be override using environment variables so downstream builders can choose a different version to build against when enabling experimental JIT.

Linked PRs

  • gh-138497: Support LLVM_VERSION configuration via env #138498

Activity

  1. sobolevn
    added
    type-featureA feature request or enhancementA feature request or enhancement
    buildThe build process and cross-buildThe build process and cross-build
    on Sep 4, 2025
  2. sobolevn commented on Sep 4, 2025

    @sobolevn
    sobolevn
    on Sep 4, 2025
    Member
    More actions

    I think that this can lead to a problem that people will supply versions of LLVM that are not supported.

  3. StanFromIreland
    added
    topic-JIT
    on Sep 4, 2025
  4. Fidget-Spinner commented on Sep 4, 2025

    @Fidget-Spinner
    Fidget-Spinner
    on Sep 4, 2025
    Member
    More actions

    Yeah we don't guarantee that we can build with a range of LLVM versions, only a specific one for the JIT.

  5. brandtbucher commented on Sep 8, 2025

    @brandtbucher
    brandtbucher
    on Sep 8, 2025
    Member
    More actions

    I'm honestly on the fence about this. I agree that we should only officially support one version at a time, but in practice a few downstream distributors seem to be patching the LLVM version (either using a newer version on an older Python or an older version on a newer Python).

    Allowing the officially supported version to be overridden with an env var is probably okay, provided it's clear that we don't support any version other than the default. Like CFLAGS_JIT, this should probably be captured at configure-time and passed to the build script rather than discovered by the build script itself.

  6. diegorusso commented on Sep 26, 2025

    @diegorusso
    diegorusso
    on Sep 26, 2025
    Contributor
    More actions

    I arrive late to the party but wouldn't it also be useful if we could specify a path to a LLVM installation? There might be different cases for that:

    • pass different installations of the same version of LLVM (useful for development). Instead of doing the trick with paths, we point to the installation directory of llvm and it will be using that.
    • pass different versions of LLVM. Case is similar to the one of this issue but instead passing a number we pass the path.

    this doesn't replace the LLVM_VERSION but could be another way to specify what llvm to use.

  7. danigm commented on Sep 29, 2025

    @danigm
    danigm
    on Sep 29, 2025
    ContributorAuthor
    More actions

    I arrive late to the party but wouldn't it also be useful if we could specify a path to a LLVM installation? There might be different cases for that:

    * pass different installations of the same version of LLVM (useful for development). Instead of doing the trick with paths, we point to the installation directory of llvm and it will be using that.
    
    * pass different versions of LLVM. Case is similar to the one of this issue but instead passing a number we pass the path.
    

    this doesn't replace the LLVM_VERSION but could be another way to specify what llvm to use.

    There's a different PR to support custom LLVM installation path: #138452

    Reacted by Diego Russo and Savannah Ostrowski
  8. savannahostrowski
    added a commit that references this issue on Oct 7, 2025

    gh-138497: Support LLVM_VERSION configuration via env (#138498)

    96c59a6
  9. savannahostrowski
    closed this as completedon Oct 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildThe build process and cross-buildThe build process and cross-buildtopic-JITtype-featureA feature request or enhancementA feature request or enhancement

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.