summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-06-12clang: Support providing lld linker in toolchainPaul Cristian Sarbu
Add new TOOLCHAIN_CONFIG flag that enables the lld project in the built toolchain.
2025-06-12Add IWYU support to clang 20 toolchainPaul Cristian Sarbu
2025-04-02Add Clang 20.1.0Oliver Reiche
2025-04-02Add Clang 19.1.1Oliver Reiche
2024-12-19Support wrapping bootstrap CC for autotoolsKlaus Aehlig
During the initial bootstrap phase, an old autotools project (gcc 4.7.4) is built and this potentially with a new compiler. For some of the tests carried out by the autotools, the compiler is used without the CFLAGS provided. Therefore, offer to wrap the compiler with the given flags to avoid that the autotools draw incorrect conclusions if the compile attempt fails for a different reason, e.g., because implicit declarations are now considered errors by default by modern C compilers.
2024-12-17busybox: remove CBQ functionalityKlaus Aehlig
See https://bugs.busybox.net/show_bug.cgi?id=15931 for details of the fix not yet upstreamed.
2024-11-07Build iwyu as a linting tool of clang-18Maksim Denisov
Co-authored-by: Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com>
2024-11-07Simplify logic of INCLUDE_LINTER lookup in clang-18Maksim Denisov
2024-11-07Install binutils for clang-18 to a separate directoryMaksim Denisov
...to avoid potential staging conflicts.
2024-09-27clang: use provided ${CMAKE} variableKlaus Aehlig
... instead of hard-coding the name cmake.
2024-09-27clang: set CMAKE_MAKE_PROGRAM explicitly to ${MAKE}Klaus Aehlig
... instead of relying on cmake to pick it up from path.
2024-09-27cmake: set CMAKE_MAKE_PROGRAM to ${MAKE}Klaus Aehlig
... as, during bootstrap, when searching for a make utility, the environment variable ${MAKE} is not honored as default for CMAKE_MAKE_PROGRAM.
2024-09-27make: bring in directory of CC as default pathKlaus Aehlig
... so that other tools of the CC toolchain that might be called directly are available.
2024-09-27busybox: Add directory of CC to pathKlaus Aehlig
... as certain configure scripts call the compiler by basename
2024-08-23clang: Add support for building clang-tidyOliver Reiche
2024-07-03bootstrap busybox: install with depsKlaus Aehlig
2024-07-03stage-0/gcc wrapper: point to a parallel directoryKlaus Aehlig
... so that we can install-with-deps the wrapper, in case the bootstrap compiler has dependencies not present on the host machine.
2024-06-28Production stages: use ["shell", "cmds"]Klaus Aehlig
... instead of generic to support bringing in a toolchain.
2024-06-28stage-0/gcc: separate gcc.real from wrapping and use compiled wrapperKlaus Aehlig
2024-06-28stage-0/gcc: copy file to work around source modification in placeKlaus Aehlig
2024-06-28stage-0/gcc: use our own sh as interpreterKlaus Aehlig
Unfortunately, this does not entirely removes the requirement of a /bin/sh being present, as awk(1) is invoked during the build to use popen(3) in one place, a libc function that has a hard-coded reference to /bin/sh. Nevertheless, using our interpreter wherever possible greatly reduces the dependency on the host system.
2024-06-28stage-0/binutils: explicitly declare absence of C++ compilerKlaus Aehlig
... in a way that is supported by configure scripts without any guessing.
2024-06-28stage-0/binutils: use interpreterKlaus Aehlig
... instead of relying on hard-coded /bin/sh in the #!-line. Also add our interpreter in scripts that are called directly during the build.
2024-06-28stage-0/make: directly call the interpreterKlaus Aehlig
... instead of relying on the #!-line that hard-codes /bin/sh.
2024-06-28stage-0/busybox: bootstrap more utilsKlaus Aehlig
In stage 0, bootstrap a pretty complete tool collection, so that we can bring ourselves the tools needed by the configure scripts of the early stages.
2024-06-28stage-0/busybox: Also bootstrap ashOliver Reiche
2024-05-13Add gcc 14.1.0Oliver Reiche
2024-04-04Add clang 18.1.1Oliver Reiche
2024-04-04musl-gcc: Ship mimalloc.o with musl GCCsOliver Reiche
2024-01-10stage-0/binutils: Drop unneeded endian testOliver Reiche
... as it was only needed by plugin-api.h, which is not included anymore since plugins have been disabled.
2024-01-10stage-0/binutils: Bootstrap with --enable-plugins=noOliver Reiche
... to avoid linking libdl.
2024-01-10stage-0/binutils: Bootstrap via proper Justbuild targetOliver Reiche
2024-01-10stage-0/busybox: Bootstrap via proper Justbuild targetOliver Reiche
2024-01-10Introduce and honor BOOTSTRAP_CFLAGSOliver Reiche
... and drop rule-injected LDFLAGS for all bootstrap targets in stage-0, as those flags might not be supported by the unknown bootstrap compiler.
2023-12-21gcc-musl: Support building as crossed nativeOliver Reiche
2023-12-21gcc-musl: Disable fixincludesOliver Reiche
2023-12-21gcc-musl: Set fully qualified MUSL_TARGETOliver Reiche
2023-12-21gcc-musl: Unify static and non-static descriptionsOliver Reiche
2023-12-21gcc-musl-static: Do not build shared gcc libsOliver Reiche
2023-12-21gcc-musl: Add libc.so to non-static runlibsOliver Reiche
2023-12-21gcc-musl-static: Fix missing build dir substitutionOliver Reiche
2023-12-21gcc-musl-static: Support cross-compiler buildOliver Reiche
2023-12-21gcc-musl: Fix stripping of binaries and libsOliver Reiche
... by using a single strip tool (for host) that supports all target types.
2023-11-29Remove unnecessary copiesOliver Reiche
... now that we retain (non-upwards) symlinks, make use of them.
2023-11-29Update to latest rulesOliver Reiche
2023-10-20Initial commitOliver Reiche