Skip to content

Add an edg builder for the open-source EDG front end - #146

Merged
mattgodbolt merged 1 commit into
mainfrom
molty/edg-oss
Sep 30, 2026
Merged

mattgodbolt merged 1 commit into
mainfrom
molty/edg-oss

Conversation

@mattgodbolt-molty

@mattgodbolt-molty mattgodbolt-molty commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Companion PRs: #146 (builder), compiler-explorer/infra#2393 (installables), compiler-explorer/compiler-workflows#83 (daily build), compiler-explorer/compiler-explorer#9204 (properties).

EDG's C/C++ front end is now open source at https://github.com/edgcpp/compiler. This adds an edg builder image so we can build it ourselves, instead of EDG sending us tarballs.

edg/build.sh <tag|trunk> builds the linux-gcc-release preset plus the x86-64 runtime library, then runs EDG's own edg-pack-cpfe-ce packer for both modes. The output is one tarball:

  • edg-<ver>/gcc/: GNU mode, including the experimental headers so <experimental/meta> works with --set_flag reflection
  • edg-<ver>/default/: EDG's own headers only
  • edg-<ver>/tools/: EDG's edg-scrape-compiler and make_predef_macro_table, which the installer runs against the backend gcc

A tag builds edg-<tag>.tar.xz; trunk builds main as edg-trunk-<date>.tar.xz and skips if the revision hasn't changed.

Two environment settings are needed:

Tested locally: docker build then build.sh 7.0 and build.sh trunk both produce tarballs, and a rerun of trunk with the current revision reports SKIPPED. Test-installing those tarballs, GNU mode compiles and runs a C++20 program, and a P2996 reflection test with --c++26 --set_flag reflection.

🤖 Generated with Claude Code

https://claude.ai/code/session_019UuPJbXuMH8A4DCDNoiBiv

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019UuPJbXuMH8A4DCDNoiBiv
@mattgodbolt

Copy link
Copy Markdown
Member

CC @DarkArc

@mattgodbolt
mattgodbolt requested a balanced review from Copilot September 30, 2026 17:44
@mattgodbolt

Copy link
Copy Markdown
Member

LGTM, getting robot second opinion

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The builder, packaging layout, dependencies, and CI integration are consistent and complete.

Review effort: Balanced
Findings: None

What changed in this PR

Adds an EDG builder image for producing installable open-source EDG packages.

Changes:

  • Builds tagged or trunk EDG releases with GNU/default modes and supporting tools.
  • Adds the required Ubuntu build environment.
  • Publishes the builder image through CI.
File Description
edg/​build.sh Builds and packages EDG releases.
Dockerfile.edg Defines the EDG build environment.
.github/​workflows/​build.yml Adds the EDG image to CI.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@mattgodbolt
mattgodbolt merged commit a362b50 into main Sep 30, 2026
1 check passed
@mattgodbolt
mattgodbolt deleted the molty/edg-oss branch September 30, 2026 17:47
@jhsedg

jhsedg commented Sep 30, 2026

Copy link
Copy Markdown

That is really great! Thank you so much for that!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants