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