
あるアプリケーションをコンパイルしているとします(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 を少し使用して簡単に解析し、その情報をバイナリに文字列として含めることができます。ただし、他のプログラムでそれができるかどうかはわかりません ;-)