Skip to content

[runtime-cxxmodules] Generate std_darwin.modulemap from active SDK#18235

Merged
devajithvs merged 1 commit intoroot-project:masterfrom
devajithvs:dev.fix_modulemap
Jun 16, 2025
Merged

[runtime-cxxmodules] Generate std_darwin.modulemap from active SDK#18235
devajithvs merged 1 commit intoroot-project:masterfrom
devajithvs:dev.fix_modulemap

Conversation

@devajithvs
Copy link
Copy Markdown
Contributor

@devajithvs devajithvs commented Apr 2, 2025

This Pull request:

Dynamically extract and wrap the system modulemap from the active
SDK in a top-level 'std' module

Also remove 'std_ctype_h' module to break cyclic dependencies.

Fixes #18213 for good, in a potentially future proof way.

Changes or fixes:

Checklist:

  • tested changes locally
  • updated the docs (if necessary)

This PR fixes #

@devajithvs devajithvs self-assigned this Apr 2, 2025
@devajithvs devajithvs added the clean build Ask CI to do non-incremental build on PR label Apr 2, 2025
@devajithvs devajithvs closed this Apr 2, 2025
@devajithvs devajithvs reopened this Apr 2, 2025
@devajithvs devajithvs changed the title std_darwin.modulemap: Wrap modulemap dynamically [runtime-cxxmodules] Generate std_darwin.modulemap from active SDK Apr 2, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 2, 2025

Test Results

    18 files      18 suites   3d 5h 40m 43s ⏱️
 2 810 tests  2 810 ✅ 0 💤 0 ❌
49 143 runs  49 143 ✅ 0 💤 0 ❌

Results for commit b377095.

♻️ This comment has been updated with latest results.

@devajithvs
Copy link
Copy Markdown
Contributor Author

@vgvassilev @hahnjo I was wondering if we should still consider this approach or try to find a different solution.

@hahnjo
Copy link
Copy Markdown
Member

hahnjo commented Jun 10, 2025

I would still like to see an automatic solution because at least that gives us a chance that a changed modulemap in an SDK release will work automatically, while currently it is almost guaranteed to break (because of private headers) and we need to rush to fix it and then maintain multiple versions. This is a no-risk improvement over the current situation because if nothing changes in the SDK, the script will just generate the same modifications every time.

@devajithvs devajithvs marked this pull request as ready for review June 11, 2025 08:46
@devajithvs devajithvs requested review from hahnjo and vgvassilev June 11, 2025 13:03
Copy link
Copy Markdown
Member

@hahnjo hahnjo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes a lot of sense, some suggestions inline

Dynamically extract and wrap the system modulemap from the active
SDK in a top-level 'std' module

Also remove 'std_ctype_h' module to break cyclic dependencies.
Copy link
Copy Markdown
Member

@hahnjo hahnjo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! We can probably get rid of std_darwin.MacOSX14.2.sdk.modulemap as well as we dropped support for mac13 a while ago...

@devajithvs devajithvs merged commit dfc83fa into root-project:master Jun 16, 2025
47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clean build Ask CI to do non-incremental build on PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

macos sequoia 15.4 homebrew - Failed to Open ROOT after today's update

2 participants