- Notifications
You must be signed in to change notification settings - Fork3
Open
Description
Currently, BuildCC follows an explicit Target-Toolchain method
ex.
// ToolchainsToolchain_gcc gcc;Toolchain_arm_gcc arm_gcc;Toolchain_msvc msvc;// Specialized targetsExecutableTarget_gccgccTarget(gcc);ExecutanleTarget_gccarmgccTarget(arm_gcc);ExecutableTarget_msvcmsvcTarget(msvc);// TODO, Generic targetsExecutableTarget_genericgccGeneric(gcc);ExecutableTarget_genericarmGeneric(arm_gcc);ExecutableTarget_genericmsvcGeneric(msvc);
This keeps only theToolchain definitions explicit with the low-level details hidden from regular users
- Update
Toolchainwith ID (GCC, MSVC, CLANG, etc for toolchain family-specific implementations) - Target Triple Architecture for Clang and GCC compilers
- Create
ExecutableTarget_genericwith case based overrides- Detect host OS
- Target file extension dependent on Toolchain Id, Target Type and Host OS
- BuildCC argparse module contain AddCustomToolchain specifications for complete control through the command line
- Identify other common Toolchain families and document their Executable and Library command line invocations.
- GCC
- MSVC
- Clang
- MinGW
Future Features
- C++20 Modules
Metadata
Metadata
Assignees
Labels
No labels