深入りせずに、autoconf マクロを適切に記述します (いずれにせよ望ましいことですが)、configure.ac は基本的に m4 によって前処理されたシェル スクリプトであることを忘れないでください。したがって、シェル コマンドを直接記述できます。
# 前へ configure.ac の一部
if test `uname -r |cut -d. -f1` -lt 2 その後; echo "メジャー v. エラー"; 出口1; フィ
if test `uname -r |cut -d. -f2` -lt 6 その後; echo "マイナー v. エラー"; 出口1; フィ
if test `uname -r |cut -d. -f3` -lt 26 then; echo "マイクロエラー"; 出口1; フィ
# ...
これは、autoconf 用のマクロを作成せずに実行したい場合の単なるアイデアです。この選択は良くありませんが、うまくいくはずです...
最善の方法は、すでに提案されている方法です。機能を確認する必要があります。したがって、将来、カーネル timerfd が使用できなくなったとします... またはコードが壊れて変更されました... バージョンをテストするので、それをキャッチできません。
編集
ユーザー foof がコメントで (他の言葉で) 言っているように、major.minor.micro をチェックするのは単純な方法です。たとえば、3.5.1 は 5 が lt 6 であるため失敗しますが、3.5.1 は 2.6.26 の後にあるため (おそらく) 受け入れられるはずです。xyz を、各バージョンを「自然な」順序で配置する表現に変換するために使用できる多くのトリックがあります。たとえば、x、y、または z が 999 を超えないと予想される場合、メジャー 1000000、マイナー 1000、ミクロ 1 を掛けるなどの処理を実行できます。したがって、Foof がコメントで提案したように、結果を 2006026 と比較できます。 )。