AC_CHECK_DECL/AC_CHECK_DECLSを使用して、指定された識別子の宣言があるかどうかを確認できますが、マクロが宣言されているかどうかだけでなく、私の基準を満たしている?具体的には、私は特定の値「2」を含む... ... numa.h
はこれにマクロ定義相当が含まれているかどうかC#defineの値をautoconfで確認する
#define LIBNUMA_API_VERSION 2
をチェックしたいと思います。
UPDATE: <numa.h>
ヘッダは、それがバージョンだ宣言するために、このような#define LIBNUMA_API_VERSION 2
などの定義が含まれています。このヘッダを使用するCコードは、典型的にそうようにそれを使用する:
#if defined(LIBNUMA_API_VERSION) && LIBNUMA_API_VERSION >= 2
....
#endif
私はautoconf
とNUMAヘッダのバージョンを決定し、簡潔NUMAバージョン2が設けられているかどうかを伝えるマクロを定義します。すなわち:
if test "$have_numa_v2" = "yes" ; then
AC_DEFINE(NUMA_VERSION_2, 1, [Determine whether NUMA v2 available)
fi
そうのように使用することができます:
#ifdef NUMA_VERSION_2
....
#endif
それは可能ですか?私は変数have_numa_v2
の値を自分のAutoconfファイルにどのように設定できるかを決定するのに問題があります。
どこからチェックしますか?メイクファイルから?シェルスクリプト? Cコード? – dbrank0
OPはnuma.hからです – Fredrik
私が理解するように、この定義はnuma.hの一部です。しかし、そうでないかもしれない。 – dbrank0