컴파일된 구성 스크립트에서 사용되는 플래그 이해

컴파일된 구성 스크립트에서 사용되는 플래그 이해

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

관련 정보