2016-07-07 6 views
0

autoscanは、一連の機能チェック(AC_FUNC_*およびAC_CHECK_FUNCS)とAC_CHECK_HEADERSを生成しました。今私はgnulibコードをプルする必要があります。オートスキャンが特定したすべての関数とヘッダーをインポートしようとしていますか?それらの半分はgnulib-tool --list出力には表示されません。または、一部のプラットフォームで./configureが失敗するまで待つのですか?gnulib-toolを使用してインポートする内容を決定する方法

答えて

1

私の提案はignore autoscan entirelyになり、代わりにどのプラットフォームをターゲットにしているのか把握してみてください。

特にautoscanは、1990年以降の各プラットフォームで利用可能な機能のテストを追加しようとしますが、たとえばSysV以外のOSでは検出されない可能性があります。

ターゲットプラットフォーム(C99や最新のPOSIXなど)から開始して、対象とするOSと欠落しているOSを特定します。

あなたがアクセスできないOSのベースをカバーしようとしないでください。実際にビルドに必要なものが実際には実行されていない可能性があります。

完全開示:可能な限り、私は何年にもわたりmy opinion on gnulibを変更し、これ以上使用しないことを提案していません。

0

あなたが必要な場合がありますどのgnulibモジュールのリストを決定する方法は2つあります。

  • あなたが手で(nmで)あなたのソースコードやオブジェクト・ファイルをスキャンすることができます。
  • gnulib-toolall the POSIX header file modulesをインポートしてから、-DGNULIB_POSIXCHECKをCFLAGSに追加し、パッケージをコンパイルし、結果の警告を分析することができます。

また、いくつかのgnulibオーバーライドは、古いプラットフォームのみのために存在します。 list of what each override fixesを読んで、自分の判断を適用することができます。

関連する問題