컴파일 후 구성 스크립트에 어떤 플래그가 사용되었는지 확인

컴파일 후 구성 스크립트에 어떤 플래그가 사용되었는지 확인

일부 애플리케이션(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를 사용하여 이를 쉽게 구문 분석하고 해당 정보를 바이너리에 문자열로 포함할 수 있습니다. 다른 프로그램에서도 그렇게 하는지는 모르겠습니다. ;-)

관련 정보