web-dev-qa-db-ja.com

Linuxカーネルをビルドするのに「bc」が必要なのはなぜですか?

Linuxカーネルの最小ビルド要件 は、カーネルv4.10をビルドするために電卓bcが必要であることを指定します。ツールの最小バージョンは1.06.95

このコンテキストでbcはどのように使用されますか?これらの操作でbcの代わりにC言語が直接使用されないのはなぜですか?

66
Ikaros

bcは、カーネルビルド中にヘッダーファイルに時定数を生成するために使用されます。 in Kbuild が呼び出され、処理されます kernel/time/timeconst.bc を生成するtimeconst.h

これはできますは、ビルド中にビルドおよび実行されるCプログラムとして実装できますが、bc(小さいそして一般的です;実際、それはPOSIXシステムで必須であるツールのセットの一部です—カーネルはGNU bcを期待しています)。

ここではbcを使用しています Perlの代わりに 。コミットメッセージは、bcが以前に使用されたことを示唆していますが、その痕跡は見つかりません。 Perlは2008年以降使用されています (多くの場合 一部の人々の悔しさ ですが、そのパッチセットはマージされていません)。

83
Stephen Kitt