コンパイル後にconfigureスクリプトで使用されたフラグを知る

コンパイル後にconfigureスクリプトで使用されたフラグを知る

あるアプリケーションをコンパイルしているとします(C言語のコードベース、デフォルトのコンパイラとしてgccを使用、githubからgitクローン...)./configure --flags1 --flags2 ...

コンパイルが完了したら、使用したフラグを知りたいです./configure(この仮定のケースでは、シェルの履歴を調べてもフラグは失われているため、確認できません)。

フラグのリストはかなり長くなる可能性があり、それらのフラグを探すのに時間を無駄にしたくありません (特に、一部は前述のアプリケーションで文書化できないため)。

コンパイルされたアプリケーションに使用されたフラグを知る方法はありますか?./configure生成されるファイルを調べることによってでしょうか?

答え1

以下の場所にいますconfig.log:

head -n8 config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.52.20190901.  Invocation command line was

  $ ./configure --enable-trace

Makefile から sed を少し使用して簡単に解析し、その情報をバイナリに文字列として含めることができます。ただし、他のプログラムでそれができるかどうかはわかりません ;-)

関連情報