Support customization and extension of the tool chain model
- Dominant language
- No language data
- Stars
- 94
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
Hi
On Windows, there are 2 additional use cases where Gradle could provide an definition/integration/customisation/extension in the toolchain model. Below a simple graph depicting the toolchain for the Oracle Pro*Cpp precompiler (proc.exe) and the Windows Message Compiler(mc.exe), along the already provided tools from Gradle: the assembler(as.exe) and the Windows Resource Compiler(rc.exe).
The Oracle Pro*Cpp precompiler translates a .pc source code with embedded sql into a pure .cpp code which then should go to the C Preprocessor or the C++ compiler.
The Window Message Compiler takes a .mc file and translates it into a .h file, a .rc file and a .bin file. The .h should be included in the C/Cpp tool, while the .rc file should be processed by the rc tool and the .bin used as input for the linker.
```
.pc --> proc.exe --> .c(pp) --> cpp.exe --> .c --> gcc.exe --> .o --> ld.exe -->.exe/.lib/.dll/.pdb/.def/.ilk
^ ^
.mc --> mc.exe --> .h ----------| |
--> .rc --------------------------> rc.exe --> .res -----|
--> .bin ------------------------------------------------|
|
.as --> as.exe --> .o -------|
|
.rc --> rc.exe --> .res -----|
Windows Message Compiler : https://msdn.microsoft.com/en-us/library/windows/desktop/aa385638(v=vs.85).aspx
Windows Resource Compiler: https://msdn.microsoft.com/fr-fr/library/windows/desktop/aa381055(v=vs.85).aspx
Oracle Pro*C precompiler: https://docs.oracle.com/cd/B10501_01/appdev.920/a97269/pc_01int.htm#4197
```
Contributor guide
Research direction
Start by reviewing Gradle's toolchain model and its existing assembler and Windows Resource Compiler support, then compare them with the requested proc.exe and mc.exe workflows described in the issue. Done means the model has a defined, usable way to customize or extend these tool chains and represent their generated outputs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100