Узнайте, какие флаги использовались в скрипте конфигурации после компиляции.

Узнайте, какие флаги использовались в скрипте конфигурации после компиляции.

Допустим, я компилирую какое-то приложение (кодовая база на C, использующая gcc в качестве компилятора по умолчанию, git клонирован с github...) и делаю./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

Вы можете легко разобрать это с помощью sed из Makefile и включить эту информацию в виде строки в ваш двоичный файл. Я не знаю, делает ли это какая-либо другая программа ;-)

Связанный контент