Files
compiler-explorer/docs/AddingCustomCompilersOverview.md
Rupert Tombs 83e06b0424 Update .js to .ts in documentation (#5558)
While reading the (excellent) documentation here, I noticed a few stale
references to `.js` files that are now implemented in TypeScript.

* Update `*.js` to `*.ts` in Markdown documentation.

* Update `app.js` to `out/dist/app.js` in
`docs/SystemdSocketActivation.md`.
_I managed to follow these instructions and locally run Compiler
Explorer through socket activation after that change._

* Update `*.js` to `*.ts` in the GitHub labeller config
`.github/labeler.yml`.
_Also correct some misnamed files here. I have checked the new version
with `ls $(grep -E "^ - " .github/labeler.yml | sed "s/ - //g")`. If I
were more familiar here, I would have liked to add a similar check to
the automated tests._

- Sheepishly add myself to the contributors list, despite this being a
tiny find-and-replace change.

---------

Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
2023-10-04 20:27:06 -04:00

1.9 KiB

This is an overview of what building and adding a compiler to the site looks like, using GCC as an example, but note that the process is similar for all other types of compilers.

  • Build GCC versions with the relevant magic. We build all our own GCCs using Docker from this repo
  • For non-trunk builds we manually run the docker image. For trunk dailies we have a cron job that runs a script to build them.
  • Built tarballs are uploaded to S3, and installed by our custom tool from a YAML configuration file
  • The installation puts compilers on a shared NFS drive at /opt/compiler-explorer/gcc-some-version/
  • We then configure CE to look for the compiler here.
  • If we need to customise the way we execute the compiler and/or display the results, then we can change the "driver" for the compiler. Usually we can just override a few aspects of the driver, relying on the defaults from the base driver.
  • Any UI changes are a bit more work.

More info still in Adding a Compiler, and if you can bear listening to Matt, here's a talk about some behind the scenes stuff, with slides online.