mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
This fetches the resource directory directly from the released toolchains, allowing us to stop prebuilding and assembling them. Moreover insertion of our resource directory is moved to the lua tracing configuration (solving a `TODO`) and enhanced. Now all options that start with the original resource directory (either explicit or implied) are redirected to our resource directory. This solves a problem where `-I <original resource dir>/some/path` was passed to the extractor and did not work. This works around the 5.9 linux compatibility problem by including the `PackageDescription` swift modules in the in-dist toolchain. Copying the toolchain and fixing the `-I` flag was not enough as for some reason compilation of `PackageDescription.swiftinterface` was causing a crash in the SIL pass. We work around that by pre-compiling those modules during the build and including `.swiftmodule` files in the resource directory. TODO (apart from testing): * the libraries included in the macOS toolchain are now fat (they were intel only before), occupying more space. We should see if we need to trim them down. * there might be other swiftinterface files causing problems on linux lurking around... * if we go with this, we can simplify and trim down the prebuilding we do leaving out the resource directory.