私は基礎となるプラットフォームを検出するためにconfig_setting
を理解しようとしており、疑問がありました。それらを明確にするのを助けてくれますか?Bazelでconfig_settingに関する疑問
x64_windows
とx64_windows_(msvc|msys)
のCPUの違いは何ですか?私がconfig_settingをすべて作成すると、それらのうちの1つだけがトリガされますか?私はちょうどx64_windows
を無視すべきですか?Windowsを検出するには、どのような方法が推奨されますか?現在、私はやってる:
config_setting( name = "windows", values = {"crosstool_top": "//crosstools/windows"}, ) config_setting( name = "windows_msvc", values = { "crosstool_top": "//crosstools/windows", "cpu": "x64_windows_msvc", }, ) config_setting( name = "windows_msys", values = { "crosstool_top": "//crosstools/windows", "cpu": "x64_windows_msys", }, )
のみMSVCを一致させるために、例えば、すべて Windowsバージョンと
:windows_msvc
に一致するように、私は:windows
を使用したい、これを使用することにより。これはこれを行う最善の方法ですか?darwin
とdarwin_x86_64
cpusの違いは何ですか?私はそれらがmacOSと一致することを知っていますが、私はいつもmacOSのために何かを選択するときに両方を指定する必要がありますか?そうでない場合は、config_setting
の1つだけでMacOSを検出するより良い方法がありますか? Windowsで//crosstools
を使用するのと同じですか?どのようにLinuxを検出しますか?最初に気にするオペレーティングシステムを検出してから
//conditions:default
を使用することは知っていますが、特にLinuxを検出してデフォルトとして残すことはできません。k8
,piii
などとは何ですか? cpuの値とその意味を説明する文書がありますか?//crosstools
を使用して各プラットフォームを検出したい場合は、利用可能なすべてのクロスツールを検索できますか?
ありがとう!
非常に詳細な説明をありがとう!私はこの機能が今どのように優れているかを理解しています。 – RenatoUtsch
新しいプラットフォームの機能がリリースされるのを待って、私のビルドのマルチプラットフォーム化を考え始めると思います。問題のリンクをありがとう、私は問題のリストを検索したときに私はそれを見ていない。それは多くの助けになるでしょう。 – RenatoUtsch