mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-24 22:02:23 +01:00
Directories in `external/` now include versions of dependencies, so continuing to make that work would require version-locking the compile_flags.txt. We've previously seen issues with directories being forgotten; this switches to letting bazel generate everything. Setup follows instructions at https://github.com/hedronvision/bazel-compile-commands-extractor?tab=readme-ov-file#first-add-this-tool-to-your-bazel-setup Maintains `./scripts/create_compdb.py`. Per discussion, new files seem to work okay -- I'm getting #include completion that clearly detects files. Note this creates an `external` directory: ``` ╚╡ls -ld external lrwxrwxrwx 1 jperkins primarygroup 27 Dec 19 14:02 external -> bazel-out/../../../external ``` I felt sort of weird checking that in though, at least alongside `bazel-execroot` it feels like it should have a `bazel-` prefix. However, I can't rename it. So omitting it, and leaving it to the script to generate, felt like a reasonable compromise. Running takes a few minutes (about 3 for me), and should be faster on reruns. It does print a couple warnings, just tree_sitter missing parser.c and _GNUC_PREREQ errors from m4.