我有一个cc_library
(tbb),它需要-mwaitpkg
某些编译器(Clang)上的编译器标志才能成功编译。同时,还有老版本的 GCC(4.9)不知道这个标志,因此通过 GCC 4.9 编译会导致错误:
gcc: error: unrecognized command line option '-mwaitpkg'
在更高级的 Bazel 设置中,我想可以使用密封工具链来解决这个问题。这样,每个工具链都可以提供自己的一组编译器标志。尽管如此,我不想强制执行任何特定的工具链,而且我不确定这是否是正确的方法(将 copts 移动到工具链?)。
引入配置也是解决此问题的一种方法。例如bazel build --config=waitpkg //...
。但这需要用户知道这个配置并且知道使用waitpkg
.
为不同的编译器处理不同的编译器标志的正确“Bazel-way”是什么?