catchall编译器包装器
canker的Python项目详细描述
溃疡病
canker
是一个包罗万象的编译工具包装器。在
使用
$ pip3 install canker $ eval$(canker-env --guess-wrapped) $ exportCANKER_ACTIONS="Record" $ exportCANKER_ACTION_RECORD="output=/tmp/demo.jsonl" $ cd /your/project && make $ cat /tmp/demo.jsonl
目标
- 包装
CC
、CXX
、CPP
、LD
、和{}。在 - 为上面的每一个,执行前和执行后提供一个访问者风格的API。在
- 提供了一组不错的默认操作。在
- 尽可能做到无创。在
反目标
- 使用
LD_PRELOAD
来捕获构建系统中的每个exec
, 一个拉Bear。在 - 支持
cl.exe
。在
提供新的行动
新的溃疡行动很容易写。例如,下面的命令在每ld
之前打印一条消息
调用:
# src/canker/actions/__init__.py# bring PrintLD into canker.actions so that `CANKER_ACTIONS` can find itfromprintldimportPrintLD# noqa: F401
$ eval$(canker-env --guess-wrapped) $ exportCANKER_ACTIONS="PrintLD" $ make
查看溃疡病API documentation了解更多细节, 包括可用动作的种类。在
名字?在
我的手机自动更正了“CMake”到“canker”一次。在
Canker与cancer同源,这对构建系统和工具都是合适的 这种仪器可以构建系统(就像canker那样)。在
- 项目
标签: