./configure : 미친 빌드 환경이란 무엇입니까?


55

./configure 항상 확인 whether the build environment is sane...

나는 미친 건물 환경이 정확히 무엇인지 궁금해 할 수는 없습니다. 이 검사에서 어떤 오류가 발생할 수 있습니까?



config.log어떤 실제 명령이 실행되는지 또는 프로그램이 컴파일 되었는지 확인할 수 있습니다 .
myaut

답변:


51

이것은 automake , 특히 그것의 AM_SANITY_CHECK 매크로 에서 유래되는데 AM_INIT_AUTOMAKE, 보통에서 초기에 불린다 configure.ac. 이 매크로의 요점은 다음과 같습니다.

  • 소스 디렉토리의 경로에 쉘 스크립트 makefile에 제대로 포함하기 어려운 특정 "안전하지 않은"문자가 포함되어 있지 않은지 확인하십시오.
  • ls작동 하는지 확인하십시오 .
  • 빌드 디렉토리에서 작성된 새 파일이 configure파일 보다 최신인지 확인 하십시오. 그렇지 않은 경우 (일반적으로 빌드 시스템의 시계가 올바르게 설정되지 않았기 때문에) 빌드 프로세스는 일반적으로 생성 된 소스 파일보다 최신 타임 스탬프가있는 생성 된 파일에 의존하기 때문에 빌드 프로세스가 실패 할 수 있습니다.

ls구체적으로? 기본 실행 파일이 사용 가능하고 작동하는지 또는 ls자체적으로 make 프로세스에서 사용되는지 테스트하는 것입니까?
terdon

2
@terdon 일부 automake 템플릿은을 사용 ls합니다. AM_SANITY_CHECK매크로 자체는 사용 ls의 상대 시간 확인 configure(이 사용하지 않는 임시 파일을 test -nt모든 포탄을 가지고 있기 때문에).
Gilles
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.