GoGPT Best VPN GoSearch

온웍스 파비콘

scons - 클라우드의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 scons 실행

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 명령 scons입니다.

프로그램:

이름


scons - 소프트웨어 구성 도구

개요


스콘 [옵션...] [이름=발...] [목표...]

기술


The 스콘 유틸리티는 구성 요소 조각을 결정하여 소프트웨어(또는 기타 파일)를 빌드합니다.
재구축하고 재구축하는 데 필요한 명령을 실행해야 합니다.

기본적으로, 스콘 이름이 지정된 파일을 검색합니다. SConstruct, 구성구성하다 (그 안에
order) 현재 디렉토리에서 찾은 첫 번째 파일에서 구성을 읽습니다. NS
대체 파일 이름은 다음을 통해 지정할 수 있습니다. -f 옵션을 선택합니다.

The SConstruct 파일은 다음을 사용하여 보조 구성 파일을 지정할 수 있습니다. 징집병()
기능. 규칙에 따라 이러한 보조 파일의 이름은 징집병, 비록 어떤 이름
사용될 수있다. (이 명명 규칙 때문에 "SConscript 파일"이라는 용어는 때때로
일반적으로 모든 것을 지칭하는 데 사용 스콘 실제 파일에 관계없이 구성 파일
이름.)

구성 파일은 빌드할 대상 파일과 (선택 사항) 규칙을 지정합니다.
이러한 목표를 구축합니다. 공통 소프트웨어 구축을 위한 합리적인 기본 규칙 존재
구성 요소(실행 프로그램, 개체 파일, 라이브러리), 따라서 대부분의 소프트웨어에서
프로젝트의 경우 대상 및 입력 파일만 지정하면 됩니다.

읽기 전에 SConstruct 파일 스콘 이름이 지정된 디렉토리를 찾습니다. 사이트 scons in
다양한 시스템 디렉토리(아래 참조) 및 다음을 포함하는 디렉토리 SConstruct 파일;
존재하는 각 디렉토리에 대해 사이트 scons 파일이 sys.path 앞에 추가됩니다.
site_scons/site_init.py, 존재하는 경우 평가되고 디렉토리
site_scons/site_tools 존재하는 경우 기본 공구 경로 앞에 추가됩니다. 참조
--no-사이트-디렉터리 그리고 --사이트 디렉토리 자세한 내용은 옵션을 참조하십시오.

스콘 SConscript 파일을 Python 스크립트로 읽고 실행하므로 일반
Python 스크립팅 기능(예: 흐름 제어, 데이터 조작 및 가져오기
Python 라이브러리) 복잡한 빌드 상황을 처리합니다. 스콘그러나 읽고
모든 SConscript 파일을 실행합니다. 전에 모든 목표물을 구축하기 시작합니다. 이것을 만들기 위해
분명한, 스콘 수행 중인 작업에 대한 다음 메시지를 인쇄합니다.

$ 스콘 foo.out
scons: SConscript 파일 읽기 중...
scons: SConscript 파일 읽기를 완료했습니다.
scons: 목표물 구축 ​​...
cp foo.in foo.out
scons: 건물 목표를 완료했습니다.
$

상태 메시지("cp foo.in foo.out"을 읽는 줄을 제외한 모든 것)는 다음과 같을 수 있습니다.
를 사용하여 억제 -Q 옵션을 선택합니다.

스콘 실행에 사용된 외부 환경을 자동으로 전파하지 않습니다. 스콘
대상 파일을 빌드하는 데 사용되는 명령입니다. 그래야 빌드가 보장됩니다.
당시 설정한 환경변수에 관계없이 반복 가능 스콘 호출됩니다. 이것
또한 빌드에 사용하려는 컴파일러 또는 기타 명령이
대상 파일이 표준 시스템 위치에 없습니다. 스콘 당신이 아니면 찾지 못할 것입니다
해당 위치를 포함하도록 PATH를 명시적으로 설정하십시오. 생성할 때마다 스콘
건설 환경에서 외부에서 PATH 값을 전파할 수 있습니다.
다음과 같은 환경:

운영 체제 가져 오기
환경 = 환경(ENV = {'경로' : os.environ['경로']})

마찬가지로 명령이 $PATH, $HOME,
$JAVA_HOME, $LANG, $SHELL, $TERM 등 이러한 변수는 명시적으로 전파될 수도 있습니다.

운영 체제 가져 오기
환경 = 환경(ENV = {'경로' : os.environ['경로'],
'홈' : os.environ['홈']})

또는 호출하는 사용자의 전체 외부 환경을 명시적으로 전파할 수 있습니다.

운영 체제 가져 오기
환경 = 환경(ENV = os.environ)

이것은 빌드를 사용자 환경에 의존하게 만드는 대가를 치르게 됩니다.
올바르게 설정되지만 많은 구성에서 더 편리할 수 있습니다.

스콘 종속성 정보에 대해 알려진 입력 파일을 자동으로 스캔할 수 있습니다(예:
C 또는 C++ 파일의 #include 문) 및 종속 파일을 적절하게 다시 빌드합니다.
"포함된" 입력 파일이 변경될 때마다. 스콘 새로운 정의 기능을 지원합니다.
알 수 없는 입력 파일 형식에 대한 스캐너.

스콘 SCCS를 사용하여 SCCS 또는 RCS 하위 디렉토리에서 자동으로 파일을 가져오는 방법을 알고 있습니다.
RCS 또는 BitKeeper.

스콘 일반적으로 다음을 포함하는 최상위 디렉토리에서 실행됩니다. SConstruct 파일
선택적으로 빌드할 대상 파일을 명령줄 인수로 지정합니다.

기본적으로 명령

스콘

현재 디렉토리 또는 그 아래에 모든 대상 파일을 빌드합니다. 명시적 기본 대상
(명령줄에 대상이 지정되지 않은 경우 빌드됨)을 정의할 수 있습니다.
다음을 사용하는 SConscript 파일 기본() 기능은 아래에 설명되어 있습니다.

경우에도 기본() 대상은 SConscript 파일에 지정되며 모든 대상 파일은
또는 현재 디렉토리 아래에 현재 디렉토리를 명시적으로 지정하여 빌드할 수 있습니다.
(.) 명령줄 대상으로:

스콘 .

현재 디렉토리 외부에 있는 파일을 포함하여 모든 대상 파일을 빌드하는 것은
루트 디렉터리의 명령줄 대상을 제공하여 지정(POSIX 시스템에서):

스콘 /

또는 모든 대상이 빌드되어야 하는 볼륨의 경로 이름(Windows에서
시스템):

스콘 C:\ D:\

특정 대상만 빌드하려면 명령줄 인수로 제공합니다.

스콘 푸 바

이 경우 지정된 대상만 빌드됩니다(위의 파생 파일과 함께
그들이 의존하는).

SConscript 파일에서 "정리" 대상을 지정하는 것은 일반적으로 필요하지 않습니다. NS -c 플래그
지정된 대상을 빌드하는 데 필요한 모든 파일을 제거합니다.

스콘 -c .

모든 대상 파일을 제거하거나:

scons -c 빌드 내보내기

빌드 및 내보내기에서 대상 파일을 제거합니다. 제거할 추가 파일 또는 디렉토리
를 사용하여 지정할 수 있습니다. 깨끗한() 기능. 반대로, 일반적으로
의해 제거 -c 다음을 사용하여 호출이 제거되는 것을 방지할 수 있습니다. 노클린()
기능.

계층적 트리의 하위 집합은 최상위 디렉토리에 남아 구축될 수 있습니다.
(여기서 SConstruct 파일 수명) 및 하위 디렉터리를 대상으로 지정
세워짐:

scons src/하위 디렉토리

또는 디렉토리를 변경하고 scons를 호출하여 -u 옵션,
찾을 때까지 디렉토리 계층 SConstruct 파일을 만든 다음 상대적으로 대상을 빌드합니다.
현재 하위 디렉토리로:

cd src/하위 디렉토리
스콘 -u .

스콘 를 통해 병렬로 여러 대상 구축을 지원합니다. -j 를 취하는 옵션
인수, 생성될 수 있는 동시 작업 수:

스콘 -j 4

예를 들어 XNUMX개의 대상을 병렬로 빌드합니다.

스콘 여러 사용자 간에 공유할 수 있는 대상(파생된) 파일의 캐시를 유지할 수 있습니다.
빌드. SConscript 파일에서 캐싱이 활성화되면 스콘 결제 게이트웨이,
캐시에 복사됩니다. 캐시에서 최신 대상 파일이 발견되면
로컬에서 다시 작성하는 대신 캐시에서 검색합니다. 캐싱 동작은 다음과 같습니다.
다른 방법으로 비활성화되고 제어됩니다. --캐시-포스, --캐시 비활성화,
--캐시 읽기 전용--캐시 쇼 명령줄 옵션. NS --무작위의 옵션이 유용합니다
여러 빌드가 동시에 캐시 업데이트를 시도하는 것을 방지합니다.

SConscript 파일에 전달할 변수 값은 명령에서 지정할 수 있습니다.
행 :

scons 디버그=1 .

이러한 변수는 ARGUMENTS 사전을 통해 SConscript 파일에서 사용할 수 있으며,
SConscript 파일에서 어떤 방식으로든 빌드를 수정하는 데 사용할 수 있습니다.

ARGUMENTS.get('디버그', 0)인 경우:
환경 = 환경(CCFLAGS = '-g')
그밖에:
환경 = 환경()

명령줄 변수 인수는 다음으로 인덱싱된 ARGLIST 목록에서도 사용할 수 있습니다.
명령줄에 있는 그들의 순서. 이렇게 하면 순서대로 처리할 수 있습니다.
필요한 경우 이름. ARGLIST[0]은 (argname, argvalue)를 포함하는 튜플을 반환합니다. 파이썬
존재하지 않는 목록 구성원에 액세스하려고 하면 예외가 발생합니다.

스콘 Python 버전 2.7 이상이 필요합니다. 다른 종속성이 없어야 합니다.
실행 요구 사항 스콘.

기본적으로, 스콘 다양한 시스템에서 사용 가능한 프로그래밍 도구를 검색하는 방법을 알고 있습니다.
Windows 시스템에서는 스콘 Microsoft Visual C++ 도구인 MinGW를 위해 검색합니다.
도구 체인, Intel 컴파일러 도구 및 PharLap ETS 컴파일러. OS/2 시스템에서는 스콘
OS/2 컴파일러, GCC 도구 체인 및 Microsoft Visual C++를 순서대로 검색합니다.
도구, SGI IRIX, IBM AIX, Hewlett Packard HP-UX 및 Sun Solaris 시스템에서 스콘
기본 컴파일러 도구(MIPSpro, Visual Age, aCC 및 Forte 도구 검색)
각각) 및 GCC 도구 체인. POSIX(Linux 및
UNIX) 플랫폼, 스콘 GCC 도구 체인인 Microsoft Visual C++를 위해 검색합니다.
도구 및 인텔 컴파일러 도구. 물론 다음과 같이 이러한 기본값을 재정의할 수 있습니다.
환경 구성 변수의 적절한 구성.

옵션


일반적으로, 스콘 GNU와 동일한 명령줄 옵션을 지원합니다. 확인, 그리고 그 중 많은
~에 의해 지원되는 죄수.

-b
비 GNU 버전과의 호환성을 위해 무시됨 하다.

-c, --clean, --remove
구성 명령이 지정된 모든 대상 파일을 제거하여 정리하십시오.
또한 다음을 사용하여 구성 명령과 관련된 모든 파일 또는 디렉토리를 제거하십시오.
깨끗한() 기능. 에서 지정한 대상을 제거하지 않습니다. 노클린() 기능.

--캐시 디버그=파일
에 대한 디버그 정보 인쇄 캐시 디렉터리() 지정된 파생 파일 캐싱
파일. 면 파일 is - (하이픈), 디버그 정보는 표준에 인쇄됩니다.
산출. 인쇄된 메시지는 찾고 있는 서명 파일 이름을 설명합니다.
에서 검색하거나 작성 캐시 디렉터리() 디렉토리 트리.

--캐시 비활성화, --아니-캐시
다음으로 지정된 파생 파일 캐싱 비활성화 캐시 디렉터리(). 스콘 검색하지 않습니다
캐시에서 파일을 복사하거나 캐시로 파일을 복사하지 않습니다.

--cache-force, --cache-populate
사용시 캐시 디렉터리(), 이미 존재하는 최신 업데이트를 복사하여 캐시를 채웁니다.
이 호출에 의해 빌드된 파일 외에도 파생된 파일을 캐시에 추가합니다. 이것은
현재 파생된 모든 파일로 새 캐시를 채우거나
를 통해 캐싱을 비활성화하여 최근에 빌드된 파생 파일을 캐시합니다. --캐시 비활성화
옵션을 선택합니다.

--캐시 읽기 전용
읽기에 캐시(활성화된 경우)를 사용하지만 변경된 캐시로 업데이트하지 마십시오.
파일.

--캐시 쇼
사용시 캐시 디렉터리() 및 캐시에서 파생된 파일을 검색하려면 다음 명령을 표시하십시오.
일반적인 보고서 대신 파일을 빌드하기 위해 실행되었을 것입니다.
"캐시에서 '파일'을 검색했습니다." 이렇게 하면 빌드 로그에 대한 일관된 출력이 생성됩니다.
대상 파일이 다시 작성되었는지 또는 캐시에서 검색되었는지 여부에 관계없이

--구성=모드
이것은 어떻게 구성 호출은 다음 결과를 사용하거나 생성해야 합니다.
구성 테스트. 옵션은 다음 선택 사항 중에서 지정해야 합니다.

--config=자동
scons는 일반적인 종속성 메커니즘을 사용하여 테스트를 다시 빌드해야 하는지 아니면
아니다. 호출할 때마다 동일한 구성 테스트를 실행하지 않으므로 시간이 절약됩니다.
scons이지만 시스템 헤더 파일이나 외부 명령(예:
컴파일러) 이러한 종속성을 명시적으로 지정하지 않은 경우. 이것은 기본값입니다
행동.

--config=강제
이 옵션이 지정되면 모든 구성 테스트는 다음과 상관없이 다시 실행됩니다.
캐시된 결과가 오래된 것인지 여부. 이것은 명시적으로 강제하는 데 사용할 수 있습니다.
구성 테스트는 구성되지 않은 변경 사항에 대한 응답으로 업데이트됩니다.
시스템 헤더 파일 또는 컴파일러.

--config=캐시
이 옵션을 지정하면 구성 테스트가 다시 실행되지 않고 모든 결과가
캐시에서 가져옵니다. --config=cache인 경우 scons는 여전히 오류로 간주합니다.
가 지정되고 필요한 테스트의 결과가 아직 캐시에 없습니다.

-C 예배 규칙서, --디렉토리=예배 규칙서
지정된 것으로 변경 예배 규칙서 검색하기 전에 SConstruct, 구성
구성하다 파일을 작성하거나 다른 작업을 수행합니다. 다수의 -C 옵션은 상대적으로 해석됩니다.
이전 항목으로, 그리고 가장 오른쪽 -C 옵션이 이깁니다. (이 옵션은 거의
에 해당 -f 디렉토리/SConstruct, 검색하는 것을 제외하고 SConstruct,
구성구성하다 지정된 디렉토리에 있습니다.)

-D
와 정확히 같은 방식으로 작동합니다. -u 기본 대상이
처리. 이 옵션을 사용하고 명령줄에 대상을 지정하지 않으면
현재 디렉토리 아래에 있든 없든 모든 기본 대상이 빌드됩니다.

--디버그=유형
빌드 프로세스를 디버그합니다. 유형[,유형...] 디버깅 유형을 지정합니다. 다수의
유형을 쉼표로 구분하여 지정할 수 있습니다. 다음 유형이 유효합니다.

--디버그=카운트
SCons에서 내부적으로 사용하는 다양한 클래스에서 생성된 개체 수를 인쇄합니다.
SConscript 파일을 읽기 전과 후, 타겟을 구축하기 전과 후.
SCons가 Python으로 실행될 때는 지원되지 않습니다. -O (최적화) 옵션 또는
SCons 모듈이 최적화로 컴파일되었을 때(즉, 실행할 때
*.표 파일).

--debug=복제
소스 파일에서 변형 파일의 각 링크 해제/재링크(또는 복사)에 대한 행을 인쇄합니다.
오래된 변종 파일의 연결을 해제하고 오래된 파일을 연결 해제하기 위한 디버깅 정보를 포함합니다.
구축하기 전에 대상을 지정합니다.

--디버그=dtree
더 새로운 것에 대한 동의어 --트리=파생 옵션. 이것은 앞으로 더 이상 사용되지 않을 것입니다.
릴리스 및 궁극적으로 제거됩니다.

--debug=설명
정확한 이유에 대한 설명을 인쇄하십시오. 스콘 대상을 (재)구축하기로 결정하고 있습니다.
(참고: 이것은 다음과 같은 대상에 대해서는 아무 것도 인쇄하지 않습니다. 지원 재건.)

--debug=findlibs
라이브러리를 검색하는 스캐너에 각 라이브러리에 대한 메시지를 인쇄하도록 지시합니다.
찾고 있는 잠재적인 라이브러리 이름과 찾은 실제 라이브러리에 대한 정보입니다.

--debug=포함
각 최상위 대상이 빌드된 후 포함 트리를 인쇄합니다. 이것은 일반적으로
주어진 파생 파일의 소스에 어떤 파일이 포함되어 있는지 확인합니다.

$ scons --debug=foo.o 포함

--debug=메모이저
내부 하위 시스템인 Memoizer를 사용하여 적중 및 누락의 요약을 인쇄합니다.
SCons는 각각을 다시 계산하는 대신 메모리에 캐시된 값을 사용하는 빈도를 계산합니다.
그들이 필요한 시간.

--디버그=메모리
SConscript 파일을 읽기 전후에 SCons가 사용하는 메모리 양을 인쇄하고
목표를 세우기 전과 후.

--debug=노메모이저
이전 버전과의 호환성을 위해 보존된 더 이상 사용되지 않는 옵션입니다.

--debug=객체
SCons에서 내부적으로 사용하는 다양한 클래스의 다양한 개체 목록을 인쇄합니다.

--디버그=pdb
pdb Python 디버거의 제어하에 SCons를 다시 실행하십시오.

--debug=준비
건물 내부 또는 외부 대상이 준비될 때마다 라인을 인쇄하십시오.
스콘 대상이 최신 상태인 경우에도 고려하는 각 대상에 대해 이것을 인쇄합니다(참조
또한 --debug=설명). 이렇게 하면 대상이 아닌 대상과 관련된 문제를 디버그하는 데 도움이 될 수 있습니다.
세워짐; 여부를 보여줍니다 스콘 적어도 그들을 고려하거나하지 않습니다.

--디버그=사전서브
구성 전에 각 대상을 빌드하는 데 사용된 원시 명령줄을 인쇄합니다.
환경 변수가 대체됩니다. 또한 어떤 대상이 구축되고 있는지 보여줍니다.
이 명령. 출력은 다음과 같습니다.

$ scons --debug=presub
작업으로 myprog.o 빌드:
$SHCC $SHCFLAGS $SHCCFLAGS $CPPFLAGS $_CPPINCFLAGS -c -o $TARGET $SOURCES
...

--debug=스택 추적
설명할 수 없는 상황이 발생하면 내부 Python 스택 추적을 인쇄합니다.
오류.

--디버그=스트리
더 새로운 것에 대한 동의어 --트리=모두, 상태 옵션. 이것은 일부에서 더 이상 사용되지 않습니다.
향후 릴리스 및 궁극적으로 제거됩니다.

--디버그=시간
다양한 시간 프로파일링 정보 인쇄: 각 개인을 실행하는 데 소요된 시간
빌드 명령; 총 빌드 시간(SCons이 처음부터 끝까지 실행된 시간) 전체
SConscript 파일을 읽고 실행하는 데 소요된 시간 SCons 자체에서 보낸 총 시간
실행에 소비하십시오(즉, SConscript 파일 읽기 및 실행을 계산하지 않음). 그리고 둘 다
모든 빌드 명령을 실행하는 데 소요된 총 시간 및 경과된 벽시계 시간
이러한 빌드 명령을 실행하는 데 소비했습니다. (언제 스콘 없이 실행된다 -j 선택권,
경과된 벽시계 시간은 일반적으로 총 시간보다 약간 더 깁니다.
발생하는 SCons 처리로 인해 모든 빌드 명령을 실행하는 데 소비됨
각 명령을 실행하는 사이에. 언제 스콘 실행된다 전에, -j 옵션 및 귀하의
빌드 구성은 좋은 병렬화를 허용합니다. 경과된 벽시계 시간은 다음과 같아야 합니다.
모든 빌드 명령을 실행하는 데 소요된 총 시간보다 훨씬 작습니다.
여러 빌드 명령과 중간 SCons 처리가
평행 한.)

--디버그=트리
더 새로운 것에 대한 동의어 --트리=모두 옵션. 이것은 앞으로 더 이상 사용되지 않을 것입니다.
릴리스 및 궁극적으로 제거됩니다.

--디스크 검사=유형
SCons가 있는 디스크에 파일이 있는지 여부에 대한 특정 검사를 활성화합니다.
구성은 디렉토리를 예상하고(또는 그 반대의 경우도 마찬가지) RCS 또는 SCCS 여부
소스 및 포함 파일을 검색할 때 소스가 존재합니다. NS 유형 주장은 수 있습니다
로 설정: 모든, 모든 검사를 명시적으로 활성화합니다(기본 동작). 없음, 비활성화
그러한 모든 수표; 일치, 디스크의 파일 및 디렉토리가 SCons'와 일치하는지 확인하려면
예상 구성; RCS, 모든 RCS 소스의 존재를 확인하기 위해
누락된 소스 또는 포함 파일; SCCS, SCCS 소스의 존재를 확인하기 위해
누락된 소스 또는 포함 파일에 대해 여러 검사는 다음으로 구분하여 지정할 수 있습니다.
쉼표; 예를 들어, --diskcheck=sccs,rcs 여전히 SCCS 및 RCS 소스를 확인하고,
그러나 파일 및 디렉토리의 디스크 상의 일치에 대한 검사를 비활성화하십시오. 일부 비활성화 또는
이러한 모든 검사는 대규모 구성에 대한 성능 향상을 제공할 수 있습니다.
구성은 네트워크로 연결되거나 공유된 파일 및/또는 디렉터리를 확인합니다.
잘못된 빌드 또는 처리하지 않을 위험이 약간 증가하는 파일 시스템
정상적으로 오류가 발생합니다(포함 파일이 SCCS 또는 RCS에서 실제로 발견되어야 하는 경우,
예를 들어, 또는 SCons 구성이 예상하는 위치에 파일이 실제로 존재하는 경우
예배 규칙서).

--중복=주문
빌드 트리에서 파일을 복제하는 세 가지 방법이 있습니다: 하드 링크, 소프트(기호)
링크 및 사본. SCons의 기본 동작은 소프트 링크보다 하드 링크를 선호하는 것입니다.
복사합니다. 이 옵션을 사용하여 다른 동작을 지정할 수 있습니다. 주문 하나여야 합니다
of 하드 소프트 카피 (기본값), 소프트 하드 카피, 하드카피, 소프트 카피 or 복사. SC콘
지정된 순서로 메커니즘을 사용하여 파일 복제를 시도합니다.

-f 파일, --파일=파일, --메이크파일=파일, --sconstruct=파일
파일 초기 SConscript 파일로. 다수의 -f 옵션을 지정할 수 있습니다.
어떤 경우 스콘 지정된 모든 파일을 읽습니다.

-h, --도움말
SConscript에 정의된 경우 이 빌드에 대한 로컬 도움말 메시지를 인쇄합니다.
파일 및 다음을 설명하는 줄 -H 명령줄 옵션 도움말에 대한 옵션입니다. 아니오라면
로컬 도움말 메시지가 정의되고 명령줄에 대한 표준 도움말 메시지를 인쇄합니다.
옵션. 적절한 메시지를 표시한 후 종료합니다.

-H, --도움말 옵션
명령줄 옵션에 대한 표준 도움말 메시지를 인쇄하고 종료합니다.

-i, --오류 무시
파일을 다시 작성하기 위해 실행된 명령의 모든 오류를 무시합니다.

-I 예배 규칙서, --include-디렉토리=예배 규칙서
다음을 지정합니다. 예배 규칙서 가져온 Python 모듈을 검색합니다. 여러 개의 경우 -I 옵션은
사용하면 지정된 순서대로 디렉토리를 검색합니다.

--암시적 캐시
암시적 종속성을 캐시합니다. 이로 인해 스콘 암시적(스캔) 사용
파일에 대한 암시적 검사 대신 마지막으로 실행된 종속성
의존성. 이것은 SCons의 속도를 크게 높일 수 있지만 다음과 같이
한계 :

스콘 암시적 종속성 검색 경로(예: CPPPATH, LIBPATH)
일반적으로 동일한 이름의 파일이 다른 버전으로 사용되도록 합니다.

스콘 새로운 암시적 종속성이 있는 경우 암시적 종속성의 변경 사항을 놓치게 됩니다.
종속성은 암시적 종속성 검색 경로(예: CPPPATH,
LIBPATH) 같은 이름의 현재 암시적 종속성보다

--암시적-deps-변경됨
SCons가 캐시된 암시적 종속성을 무시하도록 합니다. 이것은 암시적
종속성을 다시 검색하고 다시 캐시해야 합니다. 이것은 의미합니다 --암시적 캐시.

--암시적-deps-변경되지 않음
암시적 종속성의 변경을 무시하도록 SCons를 강제합니다. 이로 인해 캐시
항상 사용되는 암시적 종속성. 이것은 의미합니다 --암시적 캐시.

--인터렉티브
대화형 모드에서 SCons를 시작합니다. SConscript 파일은 한 번 읽고 스콘>>>
프롬프트가 인쇄됩니다. 이제 대화형 프롬프트에서 명령을 입력하여 대상을 다시 작성할 수 있습니다.
SConscript 파일을 다시 읽고 종속성 그래프를 다시 초기화할 필요 없이
기스로부터.

SCons 대화식 모드는 다음 명령을 지원합니다.

빌드[옵션] [대상] ...
지정된 빌드 목표 (및 해당 종속성) 지정된 SCons
명령 줄 옵션. b 그리고 스콘 동의어입니다.

다음 SCons 명령줄 옵션은 영향을 줍니다. 빌드 명령:

--cache-debug=파일
--캐시 비활성화, --아니-캐시
--cache-force, --cache-populate
--캐시 읽기 전용
--캐시 쇼
--디버그=유형
-i, --오류 무시
-j N, --작업=N
-k, --계속
-n, --no-exec, --just-print, --dry-run, --recon
-Q
-s, --silent, --quiet
--taskmastertrace=파일
--트리=옵션

지정된 다른 SCons 명령줄 옵션은 오류를 일으키지 않지만
에 영향이 없다 빌드 명령(주로 SConscript 파일에 영향을 미치기 때문에
대화형 모드가 시작될 때 한 번만 발생합니다.

황어 무리[옵션] [대상] ...
지정된 청소 목표 (및 해당 종속성) 지정된 옵션을 사용합니다.
c 동의어입니다. 이 명령은 그 자체로 동의어입니다. 빌드 --깨끗한

출구
SCons 대화식 모드를 종료합니다. 입력을 종료하여 종료할 수도 있습니다.
UNIX 또는 Linux 시스템, Windows 시스템의 경우 CTRL+Z).

도움[명령]
SCons 대화식 모드에서 사용할 수 있는 명령에 대한 도움말 메시지를 제공합니다. 만약에
COMMAND 지정되고, h 그리고 ? 동의어입니다.

껍질[명령]
지정된 실행 명령줄 서브 쉘에서. 아니오라면 명령줄 지정되고,
에 지정된 대화형 명령 인터프리터를 실행합니다. SHELL 환경
변수(UNIX 및 Linux 시스템에서) 또는 컴스펙 환경 변수(on
Windows 시스템). sh 그리고 ! 동의어입니다.

버전
SCons 버전 정보를 인쇄합니다.

빈 줄은 마지막으로 입력한 명령을 반복합니다. 다음과 같은 경우 명령줄 편집을 사용할 수 있습니다.
작성한 Readline 모듈을 사용할 수 있습니다.

$ scons --대화식
scons: SConscript 파일 읽기 중...
scons: SConscript 파일 읽기를 완료했습니다.
scons>>> build -n prog
스콘 >>> 종료

-j N, --작업=N
동시에 실행할 작업(명령)의 수를 지정합니다. 이상이 있는 경우
-j 옵션, 마지막 옵션이 효과적입니다.

-k, --계속
오류 후에도 가능한 한 계속하십시오. 실패한 대상과 그 대상
그것에 의존하면 다시 만들어지지 않지만 명령줄에 지정된 다른 대상은
아직 처리 중입니다.

-m
비 GNU 버전과의 호환성을 위해 무시됨 확인.

--최대 드리프트=
파일 수정 시간의 최대 예상 드리프트를 다음으로 설정합니다. . 이
값은 캐시된 콘텐츠 전에 파일이 수정되지 않아야 하는 기간을 결정합니다.
새 콘텐츠 서명(MD5 체크섬)을 계산하는 대신 서명이 사용됩니다.
파일 내용 중. 기본값은 2일이며, 이는 파일에 다음이 있어야 함을 의미합니다.
캐시된 콘텐츠를 갖기 위해 최소 XNUMX일 전의 수정 시간
사용된 서명. 음수 값은 콘텐츠 서명을 캐시하지 않고
캐시된 값이 이미 있는 경우 무시합니다. 값이 0이면 항상
파일이 얼마나 오래된지 상관없이 캐시된 서명.

--md5-청크 크기=킬로바이트
MD5 서명을 계산하는 데 사용되는 블록 크기를 다음으로 설정합니다. 킬로바이트. 이 값은 다음을 결정합니다.
MD5 서명을 계산할 때 한 번에 읽는 청크의 크기입니다. 파일
그 이하의 크기는 서명 계산을 수행하기 전에 메모리에 완전히 저장됩니다.
더 큰 파일은 블록 단위로 읽습니다. 블록 크기가 크면 메모리가 높아집니다.
블록 크기가 매우 작으면 빌드 속도가 상당히 느려집니다.

기본값은 64킬로바이트의 청크 크기를 사용하는 것입니다.
대부분의 용도.

-n, --just-print, --dry-run, --recon
실행하지 않습니다. 오래된 대상을 빌드하기 위해 실행할 명령을 인쇄합니다.
파일이지만 명령을 실행하지 마십시오.

--no-사이트-디렉터리
표준의 자동 추가 방지 사이트 scons 디렉토리 시스템 경로. 또한
로딩을 방지 site_scons/site_init.py 모듈이 있는 경우 이를 방지하고
그들의 추가 site_scons/site_tools 도구 경로에 대한 dirs.

--프로필=파일
Python 프로파일러에서 SCons를 실행하고 지정된 파일에 결과를 저장합니다. 파일. 그만큼
결과는 Python pstats 모듈을 사용하여 분석할 수 있습니다.

-q, --질문
명령을 실행하거나 아무 것도 인쇄하지 마십시오. 다음과 같은 경우 XNUMX인 종료 상태를 반환합니다.
지정된 대상은 이미 최신 상태이며 그렇지 않으면 XNUMX이 아닙니다.

-Q
SConscript 파일 읽기, 타겟 구축 및
디렉토리를 입력합니다. 대상 파일을 다시 빌드하기 위해 실행되는 명령은 여전히
인쇄.

--무작위의
임의의 순서로 종속성을 빌드합니다. 이것은 여러 나무를 만들 때 유용합니다.
동시에 여러 빌드를 방지하기 위해 캐싱이 활성화된 상태에서
동일한 대상 파일을 빌드하거나 검색하려고 합니다.

-s, --silent, --quiet
조용한. 대상 파일을 다시 작성하기 위해 실행되는 명령을 인쇄하지 마십시오. 또한
SCons 상태 메시지를 억제합니다.

-S, --계속 진행하지 않음, --중지
GNU와의 호환성을 위해 무시됨 확인.

--사이트 디렉토리=DIR
이름이 지정된 dir을 기본값이 아닌 사이트 dir로 사용합니다. 사이트 scons 디렉토리. 이 디렉토리
에 추가됩니다 시스템 경로, 모듈 DIR/site_init.py가 로드되면
존재하고 DIR/site_tools가 기본 도구 경로에 추가됩니다.

기본 세트 사이트 scons 때 사용되는 디렉토리 --사이트 디렉토리 에 따라 지정되지 않음
시스템 플랫폼은 다음과 같습니다. 디렉토리는 순서대로 검사됩니다.
가장 일반적인 것부터 가장 구체적인 것까지 지정되었으므로 마지막으로 실행된 site_init.py 파일은 다음과 같습니다.
가장 구체적인 것(다른 모든 것을 무시할 수 있는 기회 제공),
dirs는 경로 앞에 추가되므로 마지막으로 검사한 dir이
결과 경로.

윈도우 :

%ALLUSERSPROFILE/응용 프로그램 데이터/scons/site_scons
%USERPROFILE%/로컬 설정/응용 프로그램 데이터/scons/site_scons
%APPDATA%/scons/site_scons
%HOME%/.scons/site_scons
./사이트_scons

맥 OS X :

/라이브러리/응용 프로그램 지원/SCons/site_scons
/opt/local/share/scons/site_scons(MacPorts용)
/sw/share/scons/site_scons(Fink용)
$HOME/Library/응용 프로그램 지원/SCons/site_scons
$HOME/.scons/site_scons
./사이트_scons

Solaris :

/opt/sfw/scons/site_scons
/usr/share/scons/site_scons
$HOME/.scons/site_scons
./사이트_scons

Linux, HPUX 및 기타 Posix 유사 시스템:

/usr/share/scons/site_scons
$HOME/.scons/site_scons
./사이트_scons

--스택 크기=킬로바이트
스레드를 실행하는 데 사용되는 크기 스택을 다음으로 설정합니다. 킬로바이트. 이 값은 스택을 결정합니다.
작업을 실행하는 데 사용되는 스레드의 크기입니다. 작업을 실행하는 스레드입니다.
오래된 노드에 대한 빌더. 이 옵션에는
하지 않는 한 효과 num_jobs -j 및 --jobs에 해당하는 옵션이 다음보다 큽니다.
하나. 너무 작은 스택 크기를 사용하면 스택 오버플로 오류가 발생할 수 있습니다. 이것
일반적으로 빌드 전에 scons가 중단되도록 하는 세분화 결함으로 나타납니다.
아무것. 너무 큰 스택 크기를 사용하면 scons가 더 많은 메모리를 사용하게 됩니다.
필요 이상이며 전체 빌드 프로세스가 느려질 수 있습니다.

기본값은 적절해야 하는 256KB의 스택 크기를 사용하는 것입니다.
대부분의 용도. 스택이 발생하지 않는 한 이 값을 늘릴 필요가 없습니다.
오버플로 오류.

-t, --터치
GNU와의 호환성을 위해 무시됨 확인. (파일을 터치하면 최신 상태로 표시됩니다.
사용할 때 불필요 스콘.)

--taskmastertrace=파일
지정된 위치에 추적 정보를 인쇄합니다. 파일 내부 Taskmaster가 어떻게
객체는 노드가 빌드되는 순서를 평가하고 제어합니다. 의 파일 이름 - 5월
표준 출력을 지정하는 데 사용됩니다.

-나무=옵션
각 최상위 대상이 빌드된 후 종속성 트리를 인쇄합니다. 이것은 인쇄
에 따라 다양한 형식으로 트리의 일부 또는 전체를 옵션 지정 :

--트리=모두
각 최상위 대상이 빌드된 후 전체 종속성 트리를 인쇄합니다. 이것은 출력한다
암시적 종속성과 무시를 포함한 완전한 종속성 트리
종속성.

--트리=파생
소스 파일이 아닌 파생된(대상) 파일로만 트리 출력을 제한합니다.

--트리=상태
표시된 각 노드에 대한 상태 정보를 인쇄합니다.

--나무=가지치기
이미 있는 노드에 대한 종속성 정보가 반복되지 않도록 트리를 정리합니다.
표시되었습니다. 이미 표시된 모든 노드에는 이름이 인쇄됩니다.
[정사각형 괄호], 해당 노드에 대한 종속성을 찾을 수 있음을 나타냅니다.
트리에서 더 높은 곳에 관련 출력을 검색하여.

쉼표로 구분하여 여러 옵션을 지정할 수 있습니다.

# 상태 정보와 함께 파생된 파일만 인쇄합니다.
scons --tree=파생, 상태

# 상태 정보와 함께 대상의 모든 종속성을 인쇄합니다.
# 이미 방문한 노드의 종속성 제거:
scons --tree=모두, 정리, 상태 대상

-u, --up, --search-up
까지 디렉토리 구조를 이동합니다. SConstruct , 구성 or 구성하다 파일
가 발견되고 이를 디렉토리 트리의 맨 위로 사용합니다. 대상이 지정되지 않은 경우
명령줄에서는 현재 디렉터리 이하의 대상만 빌드됩니다.

-U
와 정확히 같은 방식으로 작동합니다. -u 기본 대상이
처리. 이 옵션을 사용하고 명령줄에 대상을 지정하지 않으면
현재 디렉토리의 SConscript(s)에 정의된 모든 기본 대상은
결과 대상이 끝나는 디렉토리에 관계없이 빌드됩니다.

-v, --버전
인쇄 스콘 버전, 저작권 정보, 저자 목록 및 기타
관련 정보. 그런 다음 종료합니다.

-w, --인쇄 디렉토리
다른 처리 전후에 작업 디렉토리를 포함하는 메시지를 인쇄하십시오.

--no-print-디렉토리
암시적으로 켜져 있더라도 -w를 끕니다.

--경고=유형, --경고=아니요-유형
경고를 활성화하거나 비활성화합니다. 유형 활성화할 경고 유형을 지정하거나
비활성화 :

--warn=모두, --warn=no-all
모든 경고를 활성화하거나 비활성화합니다.

--warn=캐시 쓰기 오류, --warn=캐시 쓰기 오류 없음
빌드된 파일의 복사본을
지정 캐시 디렉터리(). 이러한 경고는 기본적으로 비활성화되어 있습니다.

--warn=손상-sconsign, --warn=no-corrupt-sconsign
에서 익숙하지 않은 서명 데이터에 대한 경고를 활성화하거나 비활성화합니다. .위탁 파일. 이것들
경고는 기본적으로 활성화되어 있습니다.

--warn=종속성, --warn=종속성 없음
종속성에 대한 경고를 활성화하거나 비활성화합니다. 이 경고는 다음에 의해 비활성화됩니다.
태만.

--warn=사용되지 않음, --warn=사용되지 않음
현재 사용되지 않는 기능 사용에 대한 모든 경고를 활성화하거나 비활성화합니다. 이것들
경고는 기본적으로 활성화되어 있습니다. 참고로 --warn=더 이상 사용되지 않음 옵션은 하지 않습니다
더 이상 사용되지 않는 모든 기능에 대한 경고를 비활성화합니다. 일부에 대한 경고
사용 중단된 여러 릴리스를 통해 이미 사용되지 않는 기능
경고는 공식적으로 더 이상 사용되지 않기 전에 릴리스에 대해 의무적일 수 있습니다.
SCons에서 지원합니다. 사용되지 않는 특정 기능에 대한 경고가 활성화되거나
개별적으로 비활성화됨; 아래를 참조하십시오.

--warn=사용되지 않는 사본, --warn=사용되지 않는 사본 없음
더 이상 사용되지 않는 사용에 대한 경고를 활성화하거나 비활성화합니다. 환경 복사() 방법.

--warn=더 이상 사용되지 않는 소스 서명, --warn=더 이상 사용되지 않는 소스 서명 없음
더 이상 사용되지 않는 사용에 대한 경고를 활성화하거나 비활성화합니다. 소스 서명()
기능 또는 env.SourceSignatures() 방법.

--warn=사용되지 않는 대상 서명, --warn=사용되지 않는 대상 서명 없음
더 이상 사용되지 않는 사용에 대한 경고를 활성화하거나 비활성화합니다. 대상 서명()
기능 또는 env.TargetSignatures() 방법.

--warn=중복 환경, --warn=중복 환경 없음
두 개의 대상 빌드를 지정하려는 시도에 대한 경고를 활성화하거나 비활성화합니다.
동일한 작업을 사용하는 다른 건설 환경. 이러한 경고는
기본적으로 활성화되어 있습니다.

--warn=포트란-cxx-mix, --warn=no-fortran-cxx-mix
Fortran 및 C++ 개체 파일 연결에 대한 특정 경고를 활성화하거나 비활성화합니다.
일부 컴파일러에서는 예측할 수 없는 동작을 생성할 수 있는 단일 실행 파일입니다.

--warn=미래에 더 이상 사용되지 않음, --warn=미래에 더 이상 사용되지 않음
앞으로 더 이상 사용되지 않을 기능에 대한 경고를 활성화하거나 비활성화합니다.
이러한 경고는 기본적으로 비활성화되어 있습니다. 이 경고를 활성화하는 것은 특히
다른 사용자를 위해 SCons 구성을 재배포하는 프로젝트에 권장
프로젝트가 더 이상 사용되지 않을 것에 대해 가능한 한 빨리 경고를 받을 수 있도록 빌드
구성 변경이 필요할 수 있는 기능.

--warn=링크, --warn=링크 없음
링크 단계에 대한 경고를 활성화하거나 비활성화합니다.

--warn=오도하는 키워드, --warn=오도하지 않는 키워드
철자가 틀린 키워드 사용에 대한 경고를 활성화하거나 비활성화합니다. 목표 그리고 소스
빌더를 호출할 때. (참고로 마지막 s 문자, 올바른 철자는 목표
그리고 원천.) 이러한 경고는 기본적으로 활성화되어 있습니다.

--warn=누락-sconscript, --warn=누락-sconscript 없음
누락된 SConscript 파일에 대한 경고를 활성화하거나 비활성화합니다. 이러한 경고는
기본적으로 활성화되어 있습니다.

--warn=no-md5-모듈, --warn=no-no-md5-모듈
MD5 체크섬이 없는 Python 버전에 대한 경고를 활성화 또는 비활성화합니다.
모듈을 사용할 수 있습니다. 이러한 경고는 기본적으로 활성화되어 있습니다.

--warn=no-metaclass-support, --warn=no-no-metaclass-support
메타클래스를 지원하지 않는 Python 버전에 대한 경고를 활성화 또는 비활성화합니다.
--debug=메모이저 옵션이 사용됩니다. 이러한 경고는 기본적으로 활성화되어 있습니다.

--warn=객체 개수 없음, --warn=객체 개수 없음
에 대한 경고를 활성화하거나 비활성화합니다. --디버그=객체 기능이 작동하지 않을 때 스콘
파이썬으로 실행됩니다 -O 옵션 또는 최적화된 Python(.pyo) 모듈에서.

--warn=no-parallel-support, --warn=no-no-parallel-support
지원할 수 없는 Python 버전에 대한 경고를 활성화 또는 비활성화합니다.
병렬 빌드는 -j 옵션이 사용됩니다. 이러한 경고는 기본적으로 활성화되어 있습니다.

--warn=python-버전, --warn=no-python-버전
더 이상 사용되지 않는 버전의 SCons 실행에 대한 경고를 활성화하거나 비활성화합니다.
파이썬. 이러한 경고는 기본적으로 활성화되어 있습니다.

--warn=예약변수, --warn=예약변수 없음
예약된 구성 변수를 설정하려는 시도에 대한 경고를 활성화하거나 비활성화합니다.
이름 CHANGED_SOURCES, CHANGED_TARGETS개, TARGET, 목표, SOURCE, SOURCES,
변경되지 않은_소스 or UNCHANGED_TARGETS. 이러한 경고는 기본적으로 비활성화되어 있습니다.

--warn=스택 크기, --warn=스택 크기 없음
스택 크기를 설정할 수 없는 요청에 대한 경고를 활성화 또는 비활성화합니다.
영광스러운. 이러한 경고는 기본적으로 활성화되어 있습니다.

--warn=target_not_build, --warn=no-target_not_build
예상 대상을 빌드하지 않는 빌드 규칙에 대한 경고를 활성화하거나 비활성화합니다.
이러한 경고는 현재 기본적으로 활성화되어 있지 않습니다.

-Y 저장소, --저장소=저장소, --srcdir=저장소
로컬에서 찾을 수 없는 입력 및 대상 파일에 대해 지정된 저장소를 검색합니다.
디렉토리 계층. 다수의 -Y 옵션을 지정할 수 있습니다. 이 경우
지정된 순서대로 리포지토리를 검색합니다.

구성 FILE 명시


건설 환경
구성 환경은 SConscript 파일이 통신하는 기본 수단입니다.
정보를 구축하다 스콘. 사용하여 새로운 건설 환경을 만듭니다.
환경 기능:

환경 = 환경()

라고 하는 변수 구조 변수, 구성 환경에서 설정할 수 있습니다.
개체를 만들 때 키워드로 지정하거나 값을 할당하여
객체가 생성된 후:

환경 = 환경(FOO = 'foo')
환경['바'] = '바'

편의상 구성 변수는 다음으로 설정하거나 수정할 수도 있습니다. 파싱_플래그
적용하는 키워드 인수 ParseFlags 메서드(아래에 설명됨)를 인수로
다른 모든 처리가 완료된 후의 값입니다. 정확한 내용이
플래그 중 알 수 없는 경우(예: 제어 파일에서 읽기) 또는 플래그가
여러 구성 변수에 분산됩니다.

환경 = 환경(parse_flags = '-Iinclude -DEBUG -lm')

이 예에서는 '포함'을 추가합니다. CPPPATH, '에버그' CPP 정의, 그리고 'm' LIBS.

기본적으로 새 구성 환경은 빌더 메소드 세트로 초기화됩니다.
현재 플랫폼에 적합한 구성 변수. 선택 사항
플랫폼 키워드 인수는 환경이 초기화되어야 함을 지정하는 데 사용할 수 있습니다.
다른 플랫폼의 경우:

환경 = 환경(플랫폼 = 'cygwin')
환경 = 환경(플랫폼 = 'os2')
환경 = 환경(플랫폼 = 'posix')
환경 = 환경(플랫폼 = 'win32')

플랫폼을 지정하면 적절한 구성 변수가 초기화됩니다.
환경에 적합한 접두사와 접미사가 있는 파일 이름을 사용하고 생성할 수 있습니다.
플랫폼입니다.

참고로 win32 플랫폼 추가 시스템드라이브 그리고 시스템루트 사용자의 변수
건설 환경의 외부 환경 ENV 사전. 이것은 어떤
소켓을 사용하여 다른 시스템과 연결하는 실행된 명령(예: 소스 가져오기
다음과 같은 외부 CVS 저장소 사양의 파일
:서버:[이메일 보호]::/cvsroot/scons) Windows 시스템에서 작동합니다.

플랫폼 인수는 함수 또는 호출 가능한 객체일 수 있으며, 이 경우 Environment()
메서드는 지정된 인수를 호출하여 새 구성 환경을 업데이트합니다.

def my_platform(env):
환경['VAR'] = 'xyzzy'

환경 = 환경(플랫폼 = my_platform)

또한 환경을 초기화하는 데 사용할 특정 도구 집합은 다음과 같습니다.
선택적 키워드 인수로 지정:

환경 = 환경(도구 = ['msvc', 'lex'])

내장되지 않은 도구는 toolpath 인수를 사용하여 지정할 수 있습니다.

env = 환경(도구 = ['기본', 'foo'], 도구 경로 = ['도구'])

이것은 tools/foo.py에서 도구 사양을 찾습니다(또한 일반 기본값을 사용하여
플랫폼용 도구). foo.py에는 두 가지 기능이 있어야 합니다. generate(env, **kw) 및
존재합니다(env). NS 생성하다() 함수는 전달된 환경을 수정하여 설정합니다.
도구를 실행할 수 있도록 변수; 그것은 사용자가
초기화를 변경하기 위해 공급(아래 참조). NS 존재 () 함수는 반환해야 합니다
도구를 사용할 수 있는 경우 true 값입니다. 도구 경로의 도구는 다음 중 하나보다 먼저 사용됩니다.
내장된 것들. 예를 들어 도구 경로에 gcc.py를 추가하면 내장된 gcc가 무시됩니다.
도구. 또한 도구 경로는 나중에 호출할 때 사용할 수 있도록 환경에 저장됩니다.
복제() 및 수단() 메서드:

기본 = 환경(도구 경로=['custom_path'])
파생 = base.Clone(도구=['custom_tool'])
파생.CustomBuilder()

도구 목록의 요소는 함수 또는 호출 가능한 개체일 수도 있습니다.
Environment() 메서드는 지정된 요소를 호출하여 새 구성을 업데이트합니다.
환경:

def my_tool(env):
환경['XYZZY'] = 'xyzzy'

환경 = 환경(도구 = [my_tool])

도구 목록의 개별 요소는 그 자체로 도구 목록의 두 요소 목록일 수도 있습니다.
형태 (도구 이름, kw_dict). SCons는 다음을 검색합니다. 도구 이름 설명된 사양 파일
위, 그리고 통과 kw_dict, 도구의 키워드 인수로 사전이어야 합니다.
생성 함수. 그만큼 생성 함수는 인수를 사용하여 도구의
다른 방식으로 환경을 설정하거나 환경을 변경함으로써 행동
초기화.

# tools/my_tool.py에서:
def 생성(환경, **kw):
# MY_TOOL을 키워드 인수 'arg1' 또는 1의 값으로 설정합니다.
환경['MY_TOOL'] = kw.get('arg1', '1')
def 존재(env):
1를 반환

# SConstruct에서:
환경 = 환경(도구 = ['기본', ('my_tool', {'arg1': 'abc'})],
도구 경로=['도구'])

도구 정의(예: my_tool())는 환경에서 PLATFORM 변수를 사용할 수 있습니다.
다양한 플랫폼에 맞게 도구를 사용자 정의하기 위해 수신합니다.

도구 목록이 지정되지 않은 경우 SCons는 다음을 사용하여 설치된 도구를 자동 감지합니다.
ENV 구성 변수의 PATH 변수와 환경이 구성될 때 플랫폼 이름
건설된다. 환경이 구성된 후 PATH 변수를 변경하면
도구가 다시 감지되도록 합니다.

SCons는 기본적으로 다음 도구 사양을 지원합니다.

386asm
Phar Lap ETS 임베디드용 386ASM 어셈블러에 대한 구성 변수를 설정합니다.
운영 체제.

세트 : $AS, $ASCOM, $ASFLAGS, $ASPPCOM, $ASPPFLAGS.

용도 : $CC, $CPPFLAGS, $_CPDEFFLAGS, $_CPPINCFLAGS.

aixc++
IMB xlc / Visual Age C++ 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CXX, $CXX버전, $SHHCXX, $SHOBJSuffix.

aixcc
IBM xlc / Visual Age C 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CC, $CCVERSION, $SHCC.

aixf77
IBM Visual Age f77 Fortran 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $F77, $SHF77.

엑스링크
IBM Visual Age 링커에 대한 구성 변수를 설정합니다.

세트 : $LINKFLAGS, $SHLIBSuffix, $SHLINKFLAGS.

애플링크
Apple 링커에 대한 구성 변수를 설정합니다(GNU 링커와 유사).

세트 : $FRAMEWORKPATHPrefix, $LDMODULECOM, $LDMODULEFLAGS, $LDMODULEPREFIX,
$LDMODULESuffix, $LINKCOM, $SHLINKCOM, $SHLINKFLAGS, $_FRAMEWORKPATH, $_FRAMEWORKS.

용도 : $Framework플래그.

ar
ar 라이브러리 아카이버에 대한 구성 변수를 설정합니다.

세트 : $AR, $ARCOM, $ARFLAGS, $LIBPREFIX, $LIBSUFFIX, $RANLIB, $RANLIBCOM,
$RANLIBFLAGS.

as
as 어셈블러에 대한 생성 변수를 설정합니다.

세트 : $AS, $ASCOM, $ASFLAGS, $ASPPCOM, $ASPPFLAGS.

용도 : $CC, $CPPFLAGS, $_CPDEFFLAGS, $_CPPINCFLAGS.

숨은 참조32
bcc32 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CC, $CCCOM, $CCFLAGS, $CFILESuffix, $CFLAGS, $CPPDEFPREFIX, $CPPDEFSUFFIX,
$INCPREFIX, $INCSUFFIX, $SHCC, $SHCCCOM, $SHCCFLAGS, $SHCFLAGS, $SHOBJSuffix.

용도 : $_CPDEFFLAGS, $_CPPINCFLAGS.

비트 키퍼
BitKeeper 소스 코드 제어 시스템에 대한 구성 변수를 설정합니다.

세트 : $비트키퍼, $비트키퍼컴, $비트키퍼겟, $비트키퍼겟플래그.

용도 : $BITKEEPERCOMSTR.

cc
일반 POSIX C 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CC, $CCCOM, $CCFLAGS, $CFILESuffix, $CFLAGS, $CPPDEFPREFIX, $CPPDEFSUFFIX,
$FRAMEWORKPATH, $프레임웍스, $INCPREFIX, $INCSUFFIX, $SHCC, $SHCCCOM, $SHCCFLAGS,
$SHCFLAGS, $SHOBJSuffix.

용도 : $ 플랫폼.

이력서
Compaq Visual Fortran 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $포트란, $FORTRANCOM, $FORTRANMODDIR, $FORTRANMODDIRPREFIX,
$FORTRANMODDIRSUFFIX, $FORTRANPPCOM, $OBJSuffix, $SHFORTRANCOM, $SHFORTRANPPCOM.

용도 : $CPPFLAGS, $FOTRAFLAGS, $SHFOTRAFLAGS, $_CPDEFFLAGS, $_FORTRANINCFLAGS,
$_FORTRANMODFLAG.

CVS
CVS 소스 코드 관리 시스템에 대한 구성 변수를 설정합니다.

세트 : $ CVS, $CVSCOFLAGS, $CVSCOM, $CVSFLAGS.

용도 : $CVSCOMSTR.

cXX
일반 POSIX C++ 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CPPDEFPREFIX, $CPPDEFSUFFIX, $CXX, $CXXCOM, $CXXFILESUFFIX, $CXXFLAGS,
$INCPREFIX, $INCSUFFIX, $OBJSuffix, $SHHCXX, $SHHCXXCOM, $SHCXXFLAGS, $SHOBJSuffix.

용도 : $CXXCOMSTR.

싸이클링크
cygwin 링커/로더에 대한 구성 변수를 설정합니다.

세트 : $IMPLIBPREFIX, $IMPLIBSUFFIX, $LDMODULEVERSIONFLAGS, $LINKFLAGS, $RPATHPREFIX,
$RPATHSUFFIX, $SHLIBPREFIX, $SHLIBSuffix, $SHLIBVERSIONFLAGS, $SHLINKCOM,
$SHLINKFLAGS, $_LDMODULEVERSIONFLAGS, $_SHLIBVERSIONFLAGS.

디폴트 값
플랫폼에 대한 도구 모듈의 기본 목록을 호출하여 변수를 설정합니다.
SCons가 실행 중입니다.

DMD
D 언어 컴파일러 DMD에 대한 구성 변수를 설정합니다.

세트 : $DC, $DCOM, $디버그, $DDEBUGPREFIX, $DDEBUGSUFFIX, $DFILESUFFIX, $DFLAGPREFIX,
$DFLAGS, $DFLAGSUFFIX, $DINCPREFIX, $DINCSUFFIX, $DLIB, $DLIBCOM, $DLIBDIRPREFIX,
$DLIBDIRSUFFIX, $DLIBFLAGPREFIX, $DLIBFLAGSUFFIX, $DLIBLINKPREFIX, $DLIBLINKSuffix,
$DLINK, $DLINKCOM, $DLINKFLAGS, $DPATH, $DVERPREFIX, $DVERSIONS, $DVERSUFFIX,
$RPATHPREFIX, $RPATHSUFFIX, $SHDC, $SHDCOM, $SHDLINK, $SHDLINKCOM, $SHDLINKFLAGS,
$_DDEBUGFLAGS, $_DFLAGS, $_DINCFLAGS, $_DLIBDIRFLAGS, $_DLIBFLAGS, $_DLIBFLAGS,
$_DVERFLAGS, $_RPATH.

문서 책
이 도구는 SCons에서 Docbook으로 작업을 좀 더 쉽게 하려고 합니다. 그것은 제공
HTML 또는 PDF와 같은 다양한 출력 형식을 만들기 위한 여러 도구 모음. 포함
패키지에는 버전 1.76.1의 Docbook XSL 스타일시트 배포판이 있습니다.
사용자 정의를 위해 고유한 스타일시트를 지정하지 않는 한 이러한 공식
버전은 기본값으로 선택됩니다...이를 통해 피할 수 없는 설정 번거로움을 줄여야 합니다.
너.

이미지 및 XInclude에 대한 암시적 종속성은 다음을 충족하는 경우 자동으로 감지됩니다.
HTML 요구 사항. Paul DuBois의 추가 스타일시트 utils/xmldepend.xsl은 다음과 같습니다.
이 목적으로 사용됩니다.

제공되는 XML 카탈로그 해석에 대한 지원이 없음을 참고하십시오! 이 도구는
지정한 스타일시트가 있는 XSLT 프로세서 및 PDF 렌더러, 그게 전부입니다. NS
휴식은 당신의 손에 달려 있으며 문제를 해결할 때 무엇을 하고 있는지 알아야 합니다.
카탈로그를 통해 이름.

"docbook" 도구를 활성화하려면 해당 이름을 환경에 추가해야 합니다.
이와 같은 생성자

환경 = 환경(도구=['docbook'])

시작 시 Docbook 도구는 필요한 xsltproc 프로세서를 찾으려고 시도하고
PDF 렌더러, 예: fop. 따라서 이것들이 시스템에 추가되었는지 확인하십시오.
환경 PATH이며 전체 경로를 지정하지 않고 직접 호출할 수 있습니다.

Docbook에서 HTML로의 가장 기본적인 처리를 위해서는 다음이 설치되어 있어야 합니다.

· libxml2에 대한 Python lxml 바인딩 또는

· libxml2/libxslt에 대한 직접 Python 바인딩 또는

· 현재 감지된 독립형 XSLT 프로세서는 xsltproc, saxon, saxon-xslt입니다.
그리고 잘란.

PDF로 렌더링하려면 fop 또는 xep 응용 프로그램 중 하나가 설치되어 있어야 합니다.

HTML 또는 PDF 문서를 만드는 것은 매우 간단하고 간단합니다. 말하다

환경 = 환경(도구=['docbook'])
env.DocbookHtml('manual.html', 'manual.xml')
env.DocbookPdf('manual.pdf', 'manual.xml')

XML 소스 manual.xml에서 두 출력을 모두 얻으려면 단축키로 다음을 줄 수 있습니다.
다음과 같이 파일 이름의 줄기만 사용하십시오.

환경 = 환경(도구=['docbook'])
env.DocbookHtml('수동')
env.DocbookPdf('수동')

그리고 같은 결과를 얻습니다. 대상 및 소스 목록도 지원됩니다.

환경 = 환경(도구=['docbook'])
env.DocbookHtml(['manual.html','reference.html'], ['manual.xml','reference.xml'])

심지어

환경 = 환경(도구=['docbook'])
env.DocbookHtml(['수동','참조'])

중대한
소스 목록을 생략할 때마다 파일 확장자를 지정할 수 없습니다!
도구는 주어진 이름을 파일 줄기로 사용하고 대상 및
소스 파일에 따라.
위에 주어진 규칙은 빌더에게 유효합니다. DocbookHTML, DocbookPDF, DocbookEpub,
DocbookSlidesPDF 그리고 DocbookX포함. 에 대한 닥북맨 당신이 할 수있는 변형
대상 이름을 지정하지만 실제 출력 이름은
XML 소스의 refname 항목.

빌더스 DocbookHtml청크, DocbookHtml도움말 그리고 DocbookSlidesHtml 에 특별하다
그 :

1. 정확한 이름과 번호가 의존하는 대규모 파일 세트를 생성합니다.
소스 파일의 내용 및

2. 주 대상은 항상 index.html로 명명됩니다. 즉, XSL의 출력 이름입니다.
변환은 스타일시트에서 선택되지 않습니다.

결과적으로 대상 HTML 이름을 지정하는 데에는 아무 소용이 없습니다. 그래서 기본적인
이러한 빌더의 구문은 항상 다음과 같습니다.

환경 = 환경(도구=['docbook'])
env.DocbookHtmlhelp('수동')

특정 XSL 파일을 사용하려면 추가 xsl 매개변수를 다음으로 설정할 수 있습니다.
다음과 같이 빌더 호출:

env.DocbookHtml('other.html', 'manual.xml', xsl='html.xsl')

사용자 정의에 대해 항상 동일한 로컬 이름을 사용하는 경우 지루해질 수 있으므로
XSL 파일(예: HTML용 html.xsl 및 PDF 출력용 pdf.xsl,
기본 XSL 이름 설정이 제공됩니다. 이것들은:

DOCBOOK_DEFAULT_XSL_HTML
DOCBOOK_DEFAULT_XSL_HTMLCHUNKED
DOCBOOK_DEFAULT_XSL_HTMLHELP
DOCBOOK_DEFAULT_XSL_PDF
DOCBOOK_DEFAULT_XSL_EPUB
DOCBOOK_DEFAULT_XSL_MAN
DOCBOOK_DEFAULT_XSL_SLIDESPDF
DOCBOOK_DEFAULT_XSL_SLIDESHTML

환경을 구성할 때 설정할 수 있습니다.

환경 = 환경(도구=['문서북'],
DOCBOOK_DEFAULT_XSL_HTML='html.xsl',
DOCBOOK_DEFAULT_XSL_PDF='pdf.xsl')
env.DocbookHtml('manual') # 이제 html.xsl을 사용합니다.

세트 : $DOCBOOK_DEFAULT_XSL_EPUB, $DOCBOOK_DEFAULT_XSL_HTML,
$DOCBOOK_DEFAULT_XSL_HTMLCHUNKED, $DOCBOOK_DEFAULT_XSL_HTMLHELP,
$DOCBOOK_DEFAULT_XSL_MAN, $DOCBOOK_DEFAULT_XSL_PDF, $DOCBOOK_DEFAULT_XSL_SLIDESHTML,
$DOCBOOK_DEFAULT_XSL_SLIDESPDF, $DOCBOOK_FOP, $DOCBOOK_FOPCOM, $DOCBOOK_FOPFLAGS,
$DOCBOOK_XMLLINT, $DOCBOOK_XMLLINTCOM, $DOCBOOK_XMLLINTFLAGS, $DOCBOOK_XSLTPROC,
$DOCBOOK_XSLTPROCCOM, $DOCBOOK_XSLTPROCFLAGS, $DOCBOOK_XSLTPROCPARAMS.

용도 : $DOCBOOK_FOPCOMSTR, $DOCBOOK_XMLLINTCOMSTR, $DOCBOOK_XSLTPROCCOMSTR.

dvi
첨부합니다 DVI 건설 환경에 대한 빌더.

dvipdf
dvipdf 유틸리티에 대한 구성 변수를 설정합니다.

세트 : $DVIPDF, $DVIPDFCOM, $DVIPDFFLAGS.

용도 : $DVIPDFCOMSTR.

dvips
dvips 유틸리티에 대한 구성 변수를 설정합니다.

세트 : $DVIPS, $DVIPSFLAGS, $PSCOM, $PSPREFIX, $PSSUFFIX.

용도 : $PSCOMSTR.

f03
일반 POSIX Fortran 03 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $F03, $F03COM, $F03플래그, $F03PPCOM, $SHF03, $SHF03COM, $SHF03FLAGS,
$SHF03PPCOM, $_F03INCFLAGS.

용도 : $F03COMSTR, $F03PPCOMSTR, $SHF03COMSTR, $SHF03PPCOMSTR.

f08
일반 POSIX Fortran 08 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $F08, $F08COM, $F08플래그, $F08PPCOM, $SHF08, $SHF08COM, $SHF08FLAGS,
$SHF08PPCOM, $_F08INCFLAGS.

용도 : $F08COMSTR, $F08PPCOMSTR, $SHF08COMSTR, $SHF08PPCOMSTR.

f77
일반 POSIX Fortran 77 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $F77, $F77COM, $F77FILE 접미사, $F77플래그, $F77PPCOM, $F77PPFILE 접미사,
$포트란, $FORTRANCOM, $FOTRAFLAGS, $SHF77, $SHF77COM, $SHF77FLAGS, $SHF77PPCOM,
$SHFOTRAN, $SHFORTRANCOM, $SHFOTRAFLAGS, $SHFORTRANPPCOM, $_F77INCFLAGS.

용도 : $F77COMSTR, $F77PPCOMSTR, $FORTRANCOMSTR, $FORTRANPPCOMSTR, $SHF77COMSTR,
$SHF77PPCOMSTR, $SHFORTRANCOMSTR, $SHFORTRANPPCOMSTR.

f90
일반 POSIX Fortran 90 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $F90, $F90COM, $F90플래그, $F90PPCOM, $SHF90, $SHF90COM, $SHF90FLAGS,
$SHF90PPCOM, $_F90INCFLAGS.

용도 : $F90COMSTR, $F90PPCOMSTR, $SHF90COMSTR, $SHF90PPCOMSTR.

f95
일반 POSIX Fortran 95 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $F95, $F95COM, $F95플래그, $F95PPCOM, $SHF95, $SHF95COM, $SHF95FLAGS,
$SHF95PPCOM, $_F95INCFLAGS.

용도 : $F95COMSTR, $F95PPCOMSTR, $SHF95COMSTR, $SHF95PPCOMSTR.

포트란
일반 POSIX Fortran 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $포트란, $FORTRANCOM, $FOTRAFLAGS, $SHFOTRAN, $SHFORTRANCOM,
$SHFOTRAFLAGS, $SHFORTRANPPCOM.

용도 : $FORTRANCOMSTR, $FORTRANPPCOMSTR, $SHFORTRANCOMSTR, $SHFORTRANPPCOMSTR.

g ++
gXX C++ 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CXX, $CXX버전, $SHCXXFLAGS, $SHOBJSuffix.

g77
g77 Fortran 컴파일러에 대한 구성 변수를 설정합니다. f77 도구 모듈을 호출하여
변수를 설정합니다.

가스
가스 어셈블러에 대한 구성 변수를 설정합니다. as 모듈을 호출합니다.

세트 : $AS.

GCC
gcc C 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CC, $CCVERSION, $SHCCFLAGS.

gdc
D 언어 컴파일러 GDC에 대한 구성 변수를 설정합니다.

세트 : $DC, $DCOM, $디버그, $DDEBUGPREFIX, $DDEBUGSUFFIX, $DFILESUFFIX, $DFLAGPREFIX,
$DFLAGS, $DFLAGSUFFIX, $DINCPREFIX, $DINCSUFFIX, $DLIB, $DLIBCOM, $DLIBFLAGPREFIX,
$DLIBFLAGSUFFIX, $DLINK, $DLINKCOM, $DLINKFLAGPREFIX, $DLINKFLAGS, $DLINKFLAGSUFFIX,
$DPATH, $DVERPREFIX, $DVERSIONS, $DVERSUFFIX, $RPATHPREFIX, $RPATHSUFFIX, $SHDC,
$SHDCOM, $SHDLINK, $SHDLINKCOM, $SHDLINKFLAGS, $_DDEBUGFLAGS, $_DFLAGS, $_DINCFLAGS,
$_DLIBFLAGS, $_DVERFLAGS, $_RPATH.

gettext를
이것은 실제로 국제화 및 현지화를 지원하는 도구 집합입니다.
SCons로 구성되는 소프트웨어. 도구 세트는 다음 도구를 로드합니다.

· xgettext - 소스 코드에서 POT 파일로 국제화된 메시지를 추출합니다.

· msginit - PO 파일을 초기화하는 데 선택적으로 사용할 수 있습니다.

· msgmerge - 번역된 메시지가 이미 포함된 PO 파일 업데이트,

· msgfmt - 텍스트 PO 파일을 바이너리 설치 가능한 MO 파일로 컴파일합니다.

gettext를 활성화하면 위에서 언급한 모든 도구를 내부적으로 로드하므로
개별 문서를 볼 것을 권장합니다.

위의 각 도구는 다음을 수행하는 데 사용할 수 있는 자체 빌더를 제공합니다.
소프트웨어 국제화와 관련된 특정 활동. 당신은 그러나
관심있는 최고 수준 건축업자 옮기다 나중에 몇 단락에 대해 설명합니다.

gettext 도구를 사용하려면 환경에 'gettext' 도구를 추가하세요.

env = 환경( 도구 = ['기본', 'gettext'] )

지포트란
GNU F95/F2003 GNU 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $F77, $F90, $F95, $포트란, $SHF77, $SHF77FLAGS, $SHF90, $SHF90FLAGS, $SHF95,
$SHF95FLAGS, $SHFOTRAN, $SHFOTRAFLAGS.

그누링크
GNU 링커/로더에 대한 구성 변수를 설정합니다.

세트 : $LDMODULEVERSIONFLAGS, $RPATHPREFIX, $RPATHSUFFIX, $SHLIBVERSIONFLAGS,
$SHLINKFLAGS, $_LDMODULESONAME, $_SHLIBSONAME.

gs
이 도구는 Ghostscript 작업에 필요한 구성 변수를 설정합니다.
명령. 또한 PDF 빌더(PDF), 그렇게
PS/EPS에서 PDF로의 변환은 TeX/LaTeX 도구 체인에 대해 자동으로 발생합니다.
마지막으로 명시적 Ghostscript Builder(Gs) 환경에.

세트 : $ GS, $GSCOM, $GSFLAGS.

용도 : $GSCOMSTR.

HPC++
HP/UX 시스템에서 컴파일러 ACC에 대한 구성 변수를 설정합니다.

HPCC
HP/UX 시스템에서 aCC에 대한 구성 변수를 설정합니다. 다음을 위해 cXX 도구를 호출합니다.
추가 변수.

세트 : $CXX, $CXX버전, $SHCXXFLAGS.

HP링크
HP/UX 시스템에서 링커에 대한 구성 변수를 설정합니다.

세트 : $LINKFLAGS, $SHLIBSuffix, $SHLINKFLAGS.

ICC
OS/2 시스템에서 icc 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CC, $CCCOM, $CFILESuffix, $CPPDEFPREFIX, $CPPDEFSUFFIX, $CXXCOM,
$CXXFILESUFFIX, $INCPREFIX, $INCSUFFIX.

용도 : $CCFLAGS, $CFLAGS, $CPPFLAGS, $_CPDEFFLAGS, $_CPPINCFLAGS.

icl
인텔 C/C++ 컴파일러에 대한 구성 변수를 설정합니다. intelc 도구 모듈을 호출합니다.
변수를 설정합니다.

만약
인텔 포트란 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $포트란, $FORTRANCOM, $FORTRANPPCOM, $SHFORTRANCOM, $SHFORTRANPPCOM.

용도 : $CPPFLAGS, $FOTRAFLAGS, $_CPDEFFLAGS, $_FORTRANINCFLAGS.

포트
최신 버전의 인텔 포트란 컴파일러에 대한 구성 변수를 설정합니다.
리눅스.

세트 : $F77, $F90, $F95, $포트란, $SHF77, $SHF77FLAGS, $SHF90, $SHF90FLAGS, $SHF95,
$SHF95FLAGS, $SHFOTRAN, $SHFOTRAFLAGS.

iLink를
OS/2 시스템에서 ilink 링커에 대한 구성 변수를 설정합니다.

세트 : $LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSuffix, $ LINK, $LINKCOM,
$LINKFLAGS.

아이링크32
Borland ilink32 링커에 대한 구성 변수를 설정합니다.

세트 : $LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSuffix, $ LINK, $LINKCOM,
$LINKFLAGS.

설치
파일 및 디렉토리 설치를 위한 구성 변수를 설정합니다.

세트 : $설치, $INSTALLSTR.

인텔크
인텔 C/C++ 컴파일러에 대한 구성 변수를 설정합니다(Linux 및 Windows, 버전 7
그리고 나중에). 설정하기 위해 gcc 또는 msvc(각각 Linux 및 Windows에서)를 호출합니다.
기본 변수.

세트 : $AR, $CC, $CXX, $INTEL_C_COMPILER_VERSION, $ LINK.

항아리
jar 유틸리티에 대한 구성 변수를 설정합니다.

세트 : $JAR, $JARCOM, $JARFLAGS, $JARSUFIX.

용도 : $JARCOMSTR.

javac
javac 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $JAVABOOTCLASSPATH, $JAVAC, $JAVACCOM, $JAVACFLAGS, $JAVACLASSPATH,
$JAVACLASSSUFFIX, $JAVASOURCEPATH, $JAVASUFFIX.

용도 : $JAVACCOMSTR.

자바
javah 도구에 대한 구성 변수를 설정합니다.

세트 : $JAVACLASSSUFFIX, $JAVAH, $JAVAHCOM, $JAVAHFLAGS.

용도 : $JAVACLASSPATH, $JAVAHCOMSTR.

유액
latex 유틸리티에 대한 구성 변수를 설정합니다.

세트 : $라텍스, $라텍스컴, $LATEXFLAGS.

용도 : $LATEXCOMSTR.

CDL
D 언어 컴파일러 LDC2에 대한 구성 변수를 설정합니다.

세트 : $DC, $DCOM, $디버그, $DDEBUGPREFIX, $DDEBUGSUFFIX, $DFILESUFFIX, $DFLAGPREFIX,
$DFLAGS, $DFLAGSUFFIX, $DINCPREFIX, $DINCSUFFIX, $DLIB, $DLIBCOM, $DLIBDIRPREFIX,
$DLIBDIRSUFFIX, $DLIBFLAGPREFIX, $DLIBFLAGSUFFIX, $DLIBLINKPREFIX, $DLIBLINKSuffix,
$DLINK, $DLINKCOM, $DLINKFLAGPREFIX, $DLINKFLAGS, $DLINKFLAGSUFFIX, $DPATH,
$DVERPREFIX, $DVERSIONS, $DVERSUFFIX, $RPATHPREFIX, $RPATHSUFFIX, $SHDC, $SHDCOM,
$SHDLINK, $SHDLINKCOM, $SHDLINKFLAGS, $_DDEBUGFLAGS, $_DFLAGS, $_DINCFLAGS,
$_DLIBDIRFLAGS, $_DLIBFLAGS, $_DLIBFLAGS, $_DVERFLAGS, $_RPATH.

법률
lex 어휘 분석기에 대한 구성 변수를 설정합니다.

세트 : $LEX, $렉스컴, $LEXFLAGS.

용도 : $LEXCOMSTR.

링크
일반 POSIX 링커에 대한 구성 변수를 설정합니다.

세트 : $LDMODULE, $LDMODULECOM, $LDMODULEFLAGS, $LDMODULENOVERSIONSYMLINKS,
$LDMODULEPREFIX, $LDMODULESuffix, $LDMODULEVERSION, $LDMODULEVERSIONFLAGS,
$LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSuffix, $ LINK, $LINKCOM,
$LINKFLAGS, $SHLIBSuffix, $SHLINK, $SHLINKCOM, $SHLINKFLAGS, $__LDMODULEVERSIONFLAGS,
$__SHLIBVERSIONFLAGS.

용도 : $LDMODULECOMSTR, $LINKCOMSTR, $SHLINKCOMSTR.

링크록
Phar Lap ETS 임베디드용 LinkLoc 링커에 대한 구성 변수를 설정합니다.
운영 체제.

세트 : $LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSuffix, $ LINK, $LINKCOM,
$LINKFLAGS, $SHLINK, $SHLINKCOM, $SHLINKFLAGS.

용도 : $LINKCOMSTR, $SHLINKCOMSTR.

m4
m4 매크로 프로세서에 대한 구성 변수를 설정합니다.

세트 : $M4, $M4COM, $M4FLAGS.

용도 : $M4COMSTR.

매스
Microsoft 어셈블러에 대한 생성 변수를 설정합니다.

세트 : $AS, $ASCOM, $ASFLAGS, $ASPPCOM, $ASPPFLAGS.

용도 : $ASCOMSTR, $ASPPCOMSTR, $CPPFLAGS, $_CPDEFFLAGS, $_CPPINCFLAGS.

중간
Microsoft IDL 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $MIDL, $MIDLCOM, $MIDLFLAGS.

용도 : $MIDLCOMSTR.

Mingw
MinGW(Windows의 경우 Minimal Gnu)에 대한 구성 변수를 설정합니다.

세트 : $AS, $CC, $CXX, $LDMODULECOM, $LIBPREFIX, $LIBSUFFIX, $OBJSuffix, $RC, $RCCOM,
$RCFLAGS, $RCINCFLAGS, $RCINCPREFIX, $RCINCSUFFIX, $SHCCFLAGS, $SHCXXFLAGS,
$SHLINKCOM, $SHLINKFLAGS, $SHOBJSuffix, $WINDOWSDEFPREFIX, $WINDOWSDEFSUFFIX.

용도 : $RCCOMSTR, $SHLINKCOMSTR.

msgfmt
이 scons 도구는 scons gettext 도구 세트의 일부입니다. scons 인터페이스를 제공합니다.
msgfmt(1) 텍스트에서 이진 메시지 카탈로그(MO)를 생성하는 명령
번역 설명(PO).

세트 : $모스픽스, $MSGFMT, $MSGFMTCOM, $MSGFMTCOMSTR, $MSGFMTFLAGS, $POSUFIX.

용도 : $LINGUAS_FILE.

msginit
이 scons 도구는 scons gettext 도구 세트의 일부입니다. scons 인터페이스를 제공합니다.
msginit(1) 새로운 PO 파일을 생성하고 메타 정보를 초기화하는 프로그램
사용자 환경(또는 옵션)의 값.

세트 : $MSGINIT, $MSGINITCOM, $MSGINITCOMSTR, $MSGINITFLAGS, $POAUTOINIT,
$POCREATE_ALIAS, $POSUFIX, $POTSUFFIX, $_MSGINITLOCALE.

용도 : $LINGUAS_FILE, $POAUTOINIT, $포토메인.

메시지 병합
이 scons 도구는 scons gettext 도구 세트의 일부입니다. scons 인터페이스를 제공합니다.
메시지 병합(1) 두 개의 Uniform 스타일 .po 파일을 병합하는 명령입니다.

세트 : $MSGMERGE, $MSGMERGECOM, $MSGMERGECOMSTR, $MSGMERGEFLAGS, $POSUFIX, $POTSUFFIX,
$POUPDATE_ALIAS.

용도 : $LINGUAS_FILE, $POAUTOINIT, $포토메인.

mslib
Microsoft mslib 라이브러리 아카이버에 대한 구성 변수를 설정합니다.

세트 : $AR, $ARCOM, $ARFLAGS, $LIBPREFIX, $LIBSUFFIX.

용도 : $ARCOMSTR.

mslink
Microsoft 링커에 대한 생성 변수를 설정합니다.

세트 : $LDMODULE, $LDMODULECOM, $LDMODULEFLAGS, $LDMODULEPREFIX, $LDMODULESuffix,
$LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSuffix, $ LINK, $LINKCOM,
$LINKFLAGS, $REGSVR, $REGSVRCOM, $REGSVRFLAGS, $SHLINK, $SHLINKCOM, $SHLINKFLAGS,
$WIN32DEFPREFIX, $WIN32DEFSUFFIX, $WIN32EXPPREFIX, $WIN32EXPSUFFIX, $WINDOWSDEFPREFIX,
$WINDOWSDEFSUFFIX, $WINDOWSEXPREFIX, $WINDOWSXPSUFFIX, $WINDOWSPROGMANIFESTPREFIX,
$WINDOWSPROGMANIFESTSuffix, $WINDOWSSHIBMANIFESTPREFIX, $WINDOWSSHLIBMANIFESTSuffix,
$WINDOWS_INSERT_DEF.

용도 : $LDMODULECOMSTR, $LINKCOMSTR, $REGSVRCOMSTR, $SHLINKCOMSTR.

mssdk
Microsoft Platform SDK 및/또는 Windows SDK에 대한 변수를 설정합니다. 대부분의 경우와 달리
다른 도구 모듈의 경우 mssdk는 구성 변수를 설정하지 않지만
환경 변수 SCons가 Microsoft를 실행하는 데 사용하는 환경에서
도구 모음: %INCLUDE%, %LIB%, %LIBPATH% 및 %PATH%.

용도 : $MSSDK_DIR, $MSSDK_VERSION, $MSVS_VERSION.

MSVC
Microsoft Visual C/C++ 컴파일러에 대한 생성 변수를 설정합니다.

세트 : $빌더, $CC, $CCCOM, $CCFLAGS, $CCPCHFLAGS, $CCPDBFLAGS, $CFILESuffix,
$CFLAGS, $CPPDEFPREFIX, $CPPDEFSUFFIX, $CXX, $CXXCOM, $CXXFILESUFFIX, $CXXFLAGS,
$INCPREFIX, $INCSUFFIX, $OBJPrefix, $OBJSuffix, $PCHCOM, $PCHPDBFLAGS, $RC, $RCCOM,
$RCFLAGS, $SHCC, $SHCCCOM, $SHCCFLAGS, $SHCFLAGS, $SHHCXX, $SHHCXXCOM, $SHCXXFLAGS,
$SHOBJPrefix, $SHOBJSuffix.

용도 : $CCCOMSTR, $CXXCOMSTR, $PCH, $PCHSTOP, $PDB, $SHCCCOMSTR, $SHHCXXCOMSTR.

MSV
Microsoft Visual Studio용 구성 변수를 설정합니다.

세트 : $MSVSBUILDCOM, $MSVSCLEANCOM, $MSV센코딩, $MSVSPROJECTCOM, $MSVSREBUILDCOM,
$MSVSSCONS, $MSVSSCONSCOM, $MSVSSCONSCRIPT, $MSVSSCONSFLAGS, $MSVSOLUTIONCOM.

MWCC
Metrowerks CodeWarrior 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CC, $CCCOM, $CFILESuffix, $CPPDEFPREFIX, $CPPDEFSUFFIX, $CXX, $CXXCOM,
$CXXFILESUFFIX, $INCPREFIX, $INCSUFFIX, $MWCW_VERSION, $MWCW_VERSIONS, $SHCC,
$SHCCCOM, $SHCCFLAGS, $SHCFLAGS, $SHHCXX, $SHHCXXCOM, $SHCXXFLAGS.

용도 : $CCCOMSTR, $CXXCOMSTR, $SHCCCOMSTR, $SHHCXXCOMSTR.

mwld
Metrowerks CodeWarrior 링커에 대한 구성 변수를 설정합니다.

세트 : $AR, $ARCOM, $LIBDIRPREFIX, $LIBDIRSUFFIX, $LIBLINKPREFIX, $LIBLINKSuffix,
$ LINK, $LINKCOM, $SHLINK, $SHLINKCOM, $SHLINKFLAGS.

나즘
nasm Netwide Assembler에 대한 구성 변수를 설정합니다.

세트 : $AS, $ASCOM, $ASFLAGS, $ASPPCOM, $ASPPFLAGS.

용도 : $ASCOMSTR, $ASPPCOMSTR.

포장
에 대한 구성 변수를 설정합니다. 묶음 빌더.

포장
바이너리 및 소스 패키지를 빌드하기 위한 프레임워크입니다.

PDF
Portable Document Format 빌더에 대한 구성 변수를 설정합니다.

세트 : $PDFPREFIX, $PDFSUFFIX.

pdflatex
pdflatex 유틸리티에 대한 구성 변수를 설정합니다.

세트 : $LATEXRETRIES, $PDFLATEX, $PDFLATEXCOM, $PDFLATEXFLAGS.

용도 : $PDFLATEXCOMSTR.

PDF텍스
pdftex 유틸리티에 대한 구성 변수를 설정합니다.

세트 : $LATEXRETRIES, $PDFLATEX, $PDFLATEXCOM, $PDFLATEXFLAGS, $PDFTEX, $PDFTEXCOM,
$PDFTEXFLAGS.

용도 : $PDFLATEXCOMSTR, $PDFTEXCOMSTR.

퍼 포스
Perforce 소스 코드 관리와 상호 작용하기 위한 구성 변수 설정
시스템.

세트 : $4, $P4COM, $P4FLAGS.

용도 : $P4COMSTR.

qt
Qt 애플리케이션 구축을 위한 구성 변수를 설정합니다.

세트 : $QTDIR, $QT_AUTOSCAN, $QT_BINPATH, $QT_CPPPATH, $QT_LIB, $QT_LIBPATH, $QT_MOC,
$QT_MOCCXXPREFIX, $QT_MOCCXXSUFFIX, $QT_MOCFROMCXXCOM, $QT_MOCFROMCXXFLAGS,
$QT_MOCFROMHCOM, $QT_MOCFROMHFLAGS, $QT_MOCHPREFIX, $QT_MOCHSUFFIX, $QT_UIC,
$QT_UICCOM, $QT_UICDECLFLAGS, $QT_UICDECLPREFIX, $QT_UICDECLSUFFIX, $QT_UICIMPLFLAGS,
$QT_UICIMPLPREFIX, $QT_UICIMPLSUFFIX, $QT_UISUFFIX.

RCS
개정 제어 시스템과의 상호 작용을 위한 구성 변수를 설정합니다.

세트 : $RCS, $RCS_CO, $RCS_COCOM, $RCS_COFLAGS.

용도 : $RCS_COCOMSTR.

RMIC
rmic 유틸리티에 대한 구성 변수를 설정합니다.

세트 : $JAVACLASSSUFFIX, $RMIC, $RMICCOM, $RMICFLAGS.

용도 : $RMICCOMSTR.

rpcgen
RPCGEN으로 빌드하기 위한 구성 변수를 설정합니다.

세트 : $RPCGEN, $RPCGENCLIENT플래그, $RPCGENFLAGS, $RPC젠헤더플래그,
$RPCGENSERVICEFLAGS, $RPCGENXDRFLAGS.

SCCS
소스 코드 제어 시스템과 상호 작용하기 위한 구성 변수를 설정합니다.

세트 : $SCCS, $SCCSCOM, $SCCSFLAG, $SCCSGETFLAGS.

용도 : $SCCSCOMSTR.

시거
SGI 라이브러리 아카이버에 대한 구성 변수를 설정합니다.

세트 : $AR, $ARCOMSTR, $ARFLAGS, $LIBPREFIX, $LIBSUFFIX, $SHLINK, $SHLINKFLAGS.

용도 : $ARCOMSTR, $SHLINKCOMSTR.

과학++
SGI C++ 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CXX, $CXXFLAGS, $SHHCXX, $SHOBJSuffix.

sgicc
SGI C 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CXX, $SHOBJSuffix.

스길링크
SGI 링커에 대한 구성 변수를 설정합니다.

세트 : $ LINK, $RPATHPREFIX, $RPATHSUFFIX, $SHLINKFLAGS.

선물
Sun 라이브러리 아카이버에 대한 구성 변수를 설정합니다.

세트 : $AR, $ARCOM, $ARFLAGS, $LIBPREFIX, $LIBSUFFIX.

용도 : $ARCOMSTR.

썬크++
Sun C++ 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CXX, $CXX버전, $SHHCXX, $SHCXXFLAGS, $SHOBJPrefix, $SHOBJSuffix.

썬씨
Sun C 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $CXX, $SHCCFLAGS, $SHOBJPrefix, $SHOBJSuffix.

sunf77
Sun f77 Fortran 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $F77, $포트란, $SHF77, $SHF77FLAGS, $SHFOTRAN, $SHFOTRAFLAGS.

sunf90
Sun f90 Fortran 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $F90, $포트란, $SHF90, $SHF90FLAGS, $SHFOTRAN, $SHFOTRAFLAGS.

sunf95
Sun f95 Fortran 컴파일러에 대한 구성 변수를 설정합니다.

세트 : $F95, $포트란, $SHF95, $SHF95FLAGS, $SHFOTRAN, $SHFOTRAFLAGS.

썬링크
Sun 링커에 대한 구성 변수를 설정합니다.

세트 : $RPATHPREFIX, $RPATHSUFFIX, $SHLINKFLAGS.

통음
SWIG 인터페이스 생성기에 대한 구성 변수를 설정합니다.

세트 : $SwIG, $SWIGCFILESUFFIX, $Swigcom, $SWIGCXXFILESUFFIX, $SWIGDIRECTORSUFFIX,
$Swigflags, $SwIGINCPREFIX, $SWIGINCSUFFIX, $SwIGPATH, $ SWIGVERSION, $_SWIGINCFLAGS.

용도 : $SwIGCOMSTR.

타르
tar 아카이버에 대한 구성 변수를 설정합니다.

세트 : $타르, $타르콤, $타르플래그, $타르서픽스.

용도 : $TARCOMSTR.

텍스
TeX 포맷터 및 조판기의 구성 변수를 설정합니다.

세트 : $BIBTEX, $BIBTEXCOM, $BIBTEXFLAGS, $라텍스, $라텍스컴, $LATEXFLAGS, $MAKEINDEX,
$MAKEINDEXCOM, $MAKEINDEXFLAGS, $TEX, $TEXCOM, $TEXFLAGS.

용도 : $BIBTEXCOMSTR, $LATEXCOMSTR, $MAKEINDEXCOMSTR, $TEXCOMSTR.

텍스트 파일
에 대한 구성 변수 설정 텍스트 파일 그리고 하위 파일 건축업자.

세트 : $LINESEPARATOR, $SUBSTFILEPREFIX, $SUBSTFILESuffix, $TEXTFILEPREFIX,
$TEXTFILESuffix.

용도 : $SUBST_DICT.

티립
Borlan tib 라이브러리 아카이버에 대한 구성 변수를 설정합니다.

세트 : $AR, $ARCOM, $ARFLAGS, $LIBPREFIX, $LIBSUFFIX.

용도 : $ARCOMSTR.

xgettext
이 scons 도구는 scons gettext 도구 세트의 일부입니다. scons 인터페이스를 제공합니다.
xgettext(1) 소스 코드에서 국제화된 메시지를 추출하는 프로그램입니다. 그만큼
도구 제공 POT업데이트 PO를 만드는 빌더 주형 파일.

세트 : $POTSUFFIX, $POTUPDATE_ALIAS, $XGETTEXTCOM, $XGETTEXTCOMSTR, $XGETTEXTFLAGS,
$XGETTEXFROM, $XGETTEXFROMPREFIX, $XGETTEXFROMSUFFIX, $XGETTEXTPATH,
$XGETTEXTPATHPREFIX, $XGETTEXTPATHSUFFIX, $_XGETTEXTDOMAIN, $_XGETTEXFROMFLAGS,
$_XGETTEXTPATHFLAGS.

용도 : $포토메인.

야크
yacc 구문 분석 생성기에 대한 구성 변수를 설정합니다.

세트 : $YACC, $YACCCOM, $YACCFLAGS, $YACCHFILESuffix, $YACCHXXFILESUFFIX,
$YACCVCGFILESUFFIX.

용도 : $YACCCOMSTR.

지퍼
zip 아카이버에 대한 구성 변수를 설정합니다.

세트 : $ZIP, $ZIPCOM, $ZIP압축, $ZIPFLAGS, $ZIPSFIX.

용도 : $ZIPCOMSTR.

또한 "도구"라는 이름이 있습니다. 디폴트 값 환경을 구성하는
현재 플랫폼에 대한 기본 도구 세트입니다.

posix 및 cygwin 플랫폼에서 Windows의 SCons는 GNU 도구(예: gcc)를 선호합니다.
Microsoft 도구(예: msvc)와 MinGW는 SCons에서 선호하며 OS/2에서는
SCons는 IBM 도구(예: icc)를 선호합니다.

건축업자 행동 양식
빌드 규칙은 건설 환경의 빌더 메소드를 호출하여 지정됩니다. 그만큼
빌더 메소드에 대한 인수는 목표 (빌드할 대상 목록, 일반적으로 파일
이름) 및 (빌드할 소스 목록, 일반적으로 파일 이름).

파일 이름의 긴 목록은 많은 인용으로 이어질 수 있으므로, 스콘 공급 스플릿()
전역 함수 및 단일 문자열을 분할하는 동일한 이름의 환경 메서드
공백 문자 문자열로 구분된 목록입니다. (이것은 split()과 유사합니다.
파이썬 문자열의 멤버 함수이지만 입력이 문자열이 아닌 경우에도 작동합니다.)

모든 Python 인수와 마찬가지로 빌더 메서드에 대한 대상 및 소스 인수는 다음과 같습니다.
"target" 및 "source" 키워드가 있거나 없이 지정됩니다. 키워드가
생략하면 대상이 첫 번째이고 소스가 그 다음에 옵니다. 다음은 동등합니다
프로그램 빌더 메소드 호출의 예:

env.Program('bar', ['bar.c', 'foo.c'])
env.Program('bar', Split('bar.c foo.c'))
env.Program('bar', env.Split('bar.c foo.c'))
env.Program(소스 = ['bar.c', 'foo.c'], 대상 = '바')
env.Program(대상 = 'bar', Split('bar.c foo.c'))
env.Program(대상 = 'bar', env.Split('bar.c foo.c'))
env.Program('바', 소스 = 'bar.c foo.c'.split())

절대 경로 이름이 아닌 대상 및 소스 파일 이름(즉,
/ POSIX 시스템 또는 \정말로 on Windows 시스템, or 없이 an optional 드라이브 편지)
are 해석 된 상대적인 전에, 예배 규칙서 포함 전에, 징집병 파일을 읽고 있습니다. 안
처음에는 # 경로 이름의 (해시 표시)는 파일 이름의 나머지 부분이 해석됨을 의미합니다.
최상위 수준을 포함하는 디렉토리에 상대적 SConstruct 파일, 경우에도 # is
뒤에 디렉토리 구분 문자(슬래시 또는 백슬래시)가 옵니다.

예 :

# 빌드될 타겟을 설명하는 주석
# 이러한 호출이 SConscript 파일에 있다고 가정합니다.
# "subdir"이라는 이름의 하위 디렉토리.

# "subdir/foo.c"에서 "subdir/foo" 프로그램을 빌드합니다.
env.Program('foo', 'foo.c')

# "subdir/bar.c"에서 "/tmp/bar" 프로그램을 빌드합니다.
env.Program('/tmp/bar', 'bar.c')

# 초기 '#' 또는 '#/'는 동일합니다. 다음과 같은
# 호출은 "foo" 및 "bar" 프로그램을 빌드합니다(
# 최상위 SConstruct 디렉토리) "subdir/foo.c" 및
# "subdir/bar.c", 각각:
env.Program('#foo', 'foo.c')
env.Program('#/bar', 'bar.c')

# "other/foo" 프로그램을 빌드합니다(최상위 레벨에 상대적).
# SConstruct 디렉토리) "subdir/foo.c"에서:
env.Program('#other/foo', 'foo.c')

대상이 소스와 동일한 기본 이름을 공유하고 접미사만 다른 경우
빌더 메서드에는 대상 파일 유형에 대해 정의된 접미사가 있고 대상 인수가 있습니다.
완전히 생략될 수 있으며, 스콘 소스 파일에서 대상 파일 이름을 추론합니다.
이름. 다음 예제는 모두 실행 가능한 프로그램을 빌드합니다. (POSIX 시스템에서) 또는
바.exe (Windows 시스템에서) bar.c 소스 파일에서:

env.Program(대상 = '바', 소스 = '바.c')
env.Program('바', 소스 = '바.c')
env.Program(소스 = 'bar.c')
env.Program('bar.c')

편의상, srcdir 빌더를 호출할 때 키워드 인수를 지정할 수 있습니다. 언제
지정하면 절대 경로가 아닌 모든 소스 파일 문자열이 해석됩니다.
지정된 기준 srcdir. 다음 예제는 빌드/프로그 (또는
빌드/프로그.exe Windows) 파일에서 프로그램 src/f1.c 그리고 src/f2.c:

env.Program('빌드/프로그', ['f1.c', 'f2.c'], srcdir='src')

빌더 메서드를 호출할 때 생성 변수를 재정의하거나 추가할 수 있습니다.
추가 키워드 인수를 전달합니다. 이러한 재정의되거나 추가된 변수는
대상을 빌드할 때 효과가 있으므로 빌드의 다른 부분에는 영향을 주지 않습니다. 을위한
예를 들어, 하나의 프로그램에 대해 추가 라이브러리를 추가하려는 경우:

env.Program('hello', 'hello.c', LIBS=['gl', 'glut'])

또는 비표준 접미사로 공유 라이브러리를 생성합니다.

env.SharedLibrary('단어', '단어.cpp',
SHLIBSUFFIX='.ocx',
LIBSUFFIXES=['.ocx'])

(SCons를 사용하려면 $SHLIBSUFFIX 및 $LIBSUFFIXES 변수를 모두 설정해야 합니다.
비표준 라이브러리 이름에 대한 종속성을 자동으로 검색합니다. 보다
자세한 내용은 아래에서 이러한 변수에 대한 설명을 참조하십시오.)

사용하는 것도 가능합니다 파싱_플래그 재정의의 키워드 인수:

env = 프로그램('hello', 'hello.c', parse_flags = '-Iinclude -DEBUG -lm')

이 예에서는 '포함'을 추가합니다. CPPPATH, '에버그' CPP 정의, 그리고 'm' LIBS.

빌더 메소드는 다음과 같이 정의되지만 스콘 사실, 건설의 방법입니다
환경 객체는 명시적인 환경 없이 호출될 수도 있습니다.

프로그램('hello', 'hello.c')
SharedLibrary('단어', '단어.cpp')

이 경우 메서드는 기본 구성 환경을 사용하여 내부적으로 호출됩니다.
도구와 가치로 구성된 스콘 에 적합하다고 결정했습니다.
로컬 시스템.

명시적 환경 없이 호출할 수 있는 빌더 메서드는 다음에서 호출할 수 있습니다.
다음을 추가하여 SConscript 파일로 가져오는 사용자 정의 Python 모듈
파이썬 모듈:

SCons.Script에서 가져오기 *

모든 빌더 메소드는 대상을 나타내는 노드를 포함하는 목록과 유사한 객체를 반환합니다.
또는 구축될 대상. ㅏ 노드 빌드를 나타내는 내부 SCons 개체입니다.
대상 또는 출처.

반환된 노드 목록 개체는 다른 빌더 메서드에 소스 또는
파일 이름이 일반적으로 허용되는 모든 SCons 함수 또는 메서드에 전달됩니다. 을위한
예를 들어 특정 항목을 추가해야 하는 경우 -D 하나의 특정 객체를 컴파일할 때 플래그
파일 :

bar_obj_list = env.StaticObject('bar.c', CPPDEFINES='-DBAR')
env.Program(소스 = ['foo.c', bar_obj_list, 'main.c'])

이러한 방식으로 노드를 사용하면
Program() 빌더 메서드를 호출할 때 플랫폼별 개체 접미사.

Builder 호출은 소스 및 대상 파일 목록을 자동으로 "평평화"하므로
중간에 StaticObject() 호출에 의해 bar_obj 목록이 반환되도록 하는 것이 좋습니다.
소스 파일 목록. 빌더에서 반환된 목록 목록을 조작해야 하는 경우
직접 Python을 사용하여 목록을 직접 작성할 수 있습니다.

foo = 객체('foo.c')
bar = Object('bar.c')
개체 = ['begin.o'] + foo + ['middle.o'] + bar + ['end.o']
개체의 개체:
출력 str(객체)

또는 당신은 사용할 수 있습니다 반음 낮추다() 함수는 다음을 포함하는 목록을 만들기 위해 scons에서 제공합니다.
더 편리할 수 있는 노드:

foo = 객체('foo.c')
bar = Object('bar.c')
객체 = Flatten(['begin.o', foo, 'middle.o', bar, 'end.o'])
개체의 개체:
출력 str(객체)

또한 Builder 호출은 실제 Python 목록이 아닌 목록과 유사한 객체를 반환하기 때문에,
너는해야한다. 지원 파이썬을 사용하다 += 연산자를 사용하여 Builder 결과를 Python 목록에 추가합니다.
목록과 객체가 다른 유형이기 때문에 Python은 원본을 업데이트하지 않습니다.
목록이 제자리에 있지만 대신 연결을 포함하는 새 노드 목록 개체가 생성됩니다.
목록 요소 및 빌더 결과. 이것은 다른 모든 문제를 일으킬 것입니다
여전히 참조를 유지하는 SCons 구성의 Python 변수
원본 목록. 대신 Python을 사용하십시오. .연장하다() 목록이 업데이트되었는지 확인하는 방법
제자리에. 예시:

object_files = []

# 다음과 같이 +=를 사용하지 마십시오.
#
# object_files += Object('bar.c')
#
# object_files 목록을 제자리에서 업데이트하지 않습니다.
#
# 대신 .extend() 메서드를 사용하세요.
object_files.extend(Object('bar.c'))

노드 파일의 경로 이름은 노드를 Python 내장 함수에 전달하여 사용할 수 있습니다.
str() 기능:

bar_obj_list = env.StaticObject('bar.c', CPPDEFINES='-DBAR')
print "bar_obj의 경로는 다음과 같습니다:", str(bar_obj_list[0])

Builder 호출이 목록을 반환하기 때문에 첫 번째
목록의 요소 (bar_obj_list[0]) 실제로 나타내는 노드에 도달하려면
개체 파일.

빌더 호출은 다음을 지원합니다. chdir 빌더의 작업을 지정하는 키워드 인수
디렉토리 변경 후 실행해야 합니다. 만약 chdir 인수는 문자열 또는
디렉토리 노드, scons는 지정된 디렉토리로 변경됩니다. 만약 chdir 문자열이 아닙니다
또는 Node이고 XNUMX이 아닌 경우 scons는 대상 파일의 디렉토리로 변경됩니다.

# scons는 "sub" 하위 디렉토리로 변경됩니다.
# "cp" 명령을 실행하기 전에.
env.Command('sub/dir/foo.out', 'sub/dir/foo.in',
"cp 디렉토리/foo.in 디렉토리/foo.out",
chdir='하위')

# chdir은 문자열이 아니기 때문에 scons는
# 대상의 디렉토리("sub/dir")를 실행하기 전에
# "cp" 명령.
env.Command('sub/dir/foo.out', 'sub/dir/foo.in',
"cp foo.in foo.out",
chdir=1)

scons는 지원 다음과 같은 구성 변수의 확장을 자동으로 수정합니다.
$TARGET 그리고 $소스 chdir 키워드 인수를 사용할 때 -- 즉, 확장된 파일
이름은 여전히 ​​최상위 SConstruct 디렉토리에 상대적이므로 결과적으로
chdir 디렉토리에 상대적으로 올바르지 않습니다. chdir 키워드 인수를 사용하면
일반적으로 다음과 같은 확장을 사용하여 다른 명령줄을 제공해야 합니다. ${TARGET.file} 그리고
${소스.파일} 대상 및 소스의 파일 이름 부분만 사용합니다.

스콘 다음과 같은 빌더 메서드를 제공합니다.

C파일(), env.C파일()
lex(.l) 또는 yacc(.y) 입력 파일이 제공된 C 소스 파일을 빌드합니다. 지정된 접미사
$CFILESuffix 구성 변수(기본값은 .c)가 자동으로 추가됩니다.
대상이 이미 존재하지 않는 경우. 예시:

# foo.c 빌드
env.CFile(대상 = 'foo.c', 소스 = 'foo.l')
# bar.c 빌드
env.CFile(대상 = '막대', 소스 = '막대.y')

명령(), 환경 명령()
The Command "Builder"는 실제로 Builder처럼 보이는 기능으로 구현되며,
그러나 실제로 빌더가 수행해야 하는 작업의 추가 인수를 취합니다.
만들어지다. 참조 Command 호출 구문 및 세부 정보에 대한 함수 설명.

CXX파일(), 환경.CXX파일()
lex(.ll) 또는 yacc(.yy) 입력 파일이 제공된 C++ 소스 파일을 빌드합니다. 접미사
에 의해 지정된 $CXXFILESUFFIX 구성 변수(기본값은 .cc)는
대상이 아직 없는 경우 대상에 자동으로 추가됩니다. 예시:

# foo.cc 빌드
env.CXXFile(대상 = 'foo.cc', 소스 = 'foo.ll')
# bar.cc 빌드
env.CXXFile(대상 = '막대', 소스 = '막대.yy')

DocbookEpub(), env.DocbookEpub()
EPUB 출력을 위한 Docbook 도구 모음을 제공하는 의사 빌더입니다.

환경 = 환경(도구=['docbook'])
env.DocbookEpub('manual.epub', 'manual.xml')

또는 단순히

환경 = 환경(도구=['docbook'])
env.DocbookEpub('수동')

DocbookHTML(), env.DocbookHtml()
HTML 출력을 위한 Docbook 도구 모음을 제공하는 의사 빌더입니다.

환경 = 환경(도구=['docbook'])
env.DocbookHtml('manual.html', 'manual.xml')

또는 단순히

환경 = 환경(도구=['docbook'])
env.DocbookHtml('수동')

DocbookHtmlChunked(), env.DocbookHtmlChunked()
청크 HTML 출력을 위한 Docbook 툴체인을 제공하는 의사 빌더. 그것은 지원
base.dir 매개변수. chunkfast.xsl 파일("EXSLT" 필요)은
기본 스타일시트. 기본 구문:

환경 = 환경(도구=['docbook'])
env.DocbookHtmlChunked('수동')

여기서 manual.xml은 입력 파일입니다.

자신의 스타일시트에서 root.filename 매개변수를 사용하는 경우
새 대상 이름. 이것은 특히 종속성이 올바른지 확인합니다.
"scons -c"를 통한 정리:

환경 = 환경(도구=['docbook'])
env.DocbookHtmlChunked('mymanual.html', '수동', xsl='htmlchunk.xsl')

base.dir에 대한 몇 가지 기본 지원이 제공됩니다. base_dir 키워드를 추가할 수 있습니다.
빌더 호출 및 지정된 접두사가 생성된 모든 파일 이름 앞에 추가됩니다.

환경 = 환경(도구=['docbook'])
env.DocbookHtmlChunked('수동', xsl='htmlchunk.xsl', base_dir='출력/')

기본 폴더의 후행 슬래시를 잊지 않았는지 확인하십시오.
파일 이름만 변경됩니다!

DocbookHtmlhelp(), env.DocbookHtmlhelp()
HTMLHELP 출력을 위한 Docbook 도구 모음을 제공하는 의사 빌더입니다. 기본 구문
입니다

환경 = 환경(도구=['docbook'])
env.DocbookHtmlhelp('수동')

여기서 manual.xml은 입력 파일입니다.

자신의 스타일시트에서 root.filename 매개변수를 사용하는 경우
새 대상 이름. 이것은 특히 종속성이 올바른지 확인합니다.
"scons -c"를 통한 정리:

환경 = 환경(도구=['docbook'])
env.DocbookHtmlhelp('mymanual.html', '수동', xsl='htmlhelp.xsl')

base.dir 매개변수에 대한 몇 가지 기본 지원이 제공됩니다. base_dir을 추가할 수 있습니다.
키워드를 빌더 호출에 추가하고 주어진 접두사가 생성된 모든
파일 이름:

환경 = 환경(도구=['docbook'])
env.DocbookHtmlhelp('수동', xsl='htmlhelp.xsl', base_dir='출력/')

기본 폴더의 후행 슬래시를 잊지 않았는지 확인하십시오.
파일 이름만 변경됩니다!

독북맨(), env.DocbookMan()
Man 페이지 출력을 위한 Docbook 도구 모음을 제공하는 의사 빌더입니다. 기본 구문
입니다

환경 = 환경(도구=['docbook'])
env.DocbookMan('수동')

여기서 manual.xml은 입력 파일입니다. 대상 이름을 지정할 수 있지만
실제 출력 이름은 XML 소스의 refname 항목에서 자동으로 설정됩니다.

DocbookPDF(), env.DocbookPdf()
PDF 출력을 위한 Docbook 도구 모음을 제공하는 의사 빌더입니다.

환경 = 환경(도구=['docbook'])
env.DocbookPdf('manual.pdf', 'manual.xml')

또는 단순히

환경 = 환경(도구=['docbook'])
env.DocbookPdf('수동')

DocbookSlidesHtml(), env.DocbookSlidesHtml()
HTML 슬라이드 출력을 위한 Docbook 도구 모음을 제공하는 의사 빌더입니다.

환경 = 환경(도구=['docbook'])
env.DocbookSlidesHtml('수동')

자신의 스타일시트에서 titlefoil.html 매개변수를 사용하는 경우
새 대상 이름. 이것은 특히 종속성이 올바른지 확인합니다.
"scons -c"를 통한 정리:

환경 = 환경(도구=['docbook'])
env.DocbookSlidesHtml('mymanual.html','수동', xsl='slideshtml.xsl')

base.dir 매개변수에 대한 몇 가지 기본 지원이 제공됩니다. base_dir을 추가할 수 있습니다.
키워드를 빌더 호출에 추가하고 주어진 접두사가 생성된 모든
파일 이름:

환경 = 환경(도구=['docbook'])
env.DocbookSlidesHtml('수동', xsl='slideshtml.xsl', base_dir='출력/')

기본 폴더의 후행 슬래시를 잊지 않았는지 확인하십시오.
파일 이름만 변경됩니다!

DocbookSlidesPDF(), env.DocbookSlidesPdf()
PDF 슬라이드 출력을 위한 Docbook 도구 모음을 제공하는 의사 빌더입니다.

환경 = 환경(도구=['docbook'])
env.DocbookSlidesPdf('manual.pdf', 'manual.xml')

또는 단순히

환경 = 환경(도구=['docbook'])
env.DocbookSlidesPdf('수동')

DocbookXInclude(), env.DocbookXInclude()
별도의 처리 단계에서 XInclude를 해결하기 위한 의사 빌더입니다.

환경 = 환경(도구=['docbook'])
env.DocbookXInclude('manual_xincluded.xml', 'manual.xml')

DocbookXslt(), env.DocbookXslt()
입력 파일에 주어진 XSL 변환을 적용하는 의사 빌더.

환경 = 환경(도구=['docbook'])
env.DocbookXslt('manual_transformed.xml', 'manual.xml', xsl='transform.xslt')

이 빌더를 사용하려면 xsl 매개변수를 설정해야 합니다.

DVI(), 환경 DVI()
.tex, .ltx 또는 .latex 입력 파일에서 .dvi 파일을 만듭니다. 소스 파일 접미사
.tex이면 scons는 파일의 내용을 검사합니다. 문자열 \documentclass 또는
\documentstyle이 발견되면 파일은 LaTeX 파일로 간주되며 대상은 다음과 같습니다.
를 호출하여 구축 $라텍스컴 명령줄; 그렇지 않으면 $TEXCOM 명령줄은
사용 된. 파일이 LaTeX 파일인 경우 DVI 빌더 메소드는 또한
.aux 파일의 내용 및 호출 $BIBTEX 문자열 bibdata가 다음과 같은 경우 명령줄
발견, 시작 $MAKEINDEX .ind 파일이 발견되고 검사할 경우 색인을 생성하기 위해
내용 .log 파일을 다시 실행하십시오. $라텍스컴 로그 파일에 다음과 같이 표시되면 명령
필요한.

접미사 .dvi(TeX 자체에 하드 코딩됨)는 다음과 같은 경우 대상에 자동으로 추가됩니다.
그것은 이미 존재하지 않습니다. 예:

# aaa.tex에서 빌드
env.DVI(대상 = 'aaa.dvi', 소스 = 'aaa.tex')
# bbb.dvi 빌드
env.DVI(대상 = 'bbb', 소스 = 'bbb.ltx')
# ccc.latex에서 빌드
env.DVI(대상 = 'ccc.dvi', 소스 = 'ccc.latex')

GS(), 환경 Gs()
gs 실행 파일을 명시적으로 호출하기 위한 빌더입니다. 기본 OS에 따라,
다른 이름 gs, gsos2 및 gswin32c가 시도됩니다.

환경 = 환경(도구=['gs'])
env.Gs('cover.jpg','scons-scons.pdf',
GFLAGS='-dNOPAUSE -dBATCH -sDEVICE=jpeg -dFirstPage=1 -dLastPage=1 -q')
)

설치(), 환경 설치()
지정된 대상에 하나 이상의 소스 파일 또는 디렉터리를 설치합니다.
디렉토리가 됩니다. 지정된 소스 파일 또는 디렉토리의 이름은 동일하게 유지됩니다.
대상 디렉토리 내. 소스는 문자열 또는 노드로 제공될 수 있습니다.
빌더가 반환합니다.

env.Install('/ usr / local / bin', 소스 = ['푸', '바'])

설치로(), 환경.InstallAs()
하나 이상의 소스 파일 또는 디렉토리를 특정 이름에 설치하여 변경할 수 있습니다.
설치의 일부로 파일 또는 디렉토리 이름. 대상과
소스 인수는 다른 수의 파일 또는 디렉토리를 나열합니다.

env.InstallAs(대상 = '/usr/local/bin/foo',
소스 = 'foo_debug')
env.InstallAs(대상 = ['../lib/libfoo.a', '../lib/libbar.a'],
소스 = ['libFOO.a', 'libBAR.a'])

InstallVersionedLib(), env.InstallVersionedLib()
버전이 지정된 공유 라이브러리를 설치합니다. 아키텍처에 적합한 심볼릭 링크는
소스 라이브러리의 심볼릭 링크를 기반으로 생성됩니다.

env.InstallVersionedLib(대상 = '/usr/local/bin/foo',
소스 = 'libxyz.1.5.2.so')

항아리(), 환경.Jar()
지정된 소스 목록에서 Java 아카이브(.jar) 파일을 빌드합니다. 모든 디렉토리
소스 목록에서 .class 파일을 검색합니다). 소스의 모든 .java 파일
목록은 다음을 호출하여 .class 파일로 컴파일됩니다. 자바 빌더.

경우 $JARCHDIR 값이 설정되면 jar 명령이 지정된 디렉토리로 변경됩니다.
를 사용하여 -C 옵션. 만약에 $JARCHDIR 명시적으로 설정되지 않은 경우 SCons는 모든
Java .class가 빌드된 하위 디렉토리 트리 자바 빌더.

소스 파일의 내용이 Manifest-Version 문자열로 시작하는 경우
파일은 매니페스트라고 가정하고 다음과 함께 jar 명령에 전달됩니다. m option
설정할 수 있습니다.

env.Jar(대상 = 'foo.jar', 소스 = '클래스')

env.Jar(대상 = 'bar.jar',
소스 = ['bar1.java', 'bar2.java'])

자바(), 환경 자바()
하나 이상의 Java 클래스 파일을 빌드합니다. 소스는 명시적
.java 파일 또는 .java 파일을 검색할 디렉토리 트리.

SCons는 각 소스 .java 파일을 구문 분석하여 클래스(내부 클래스 포함)를 찾습니다.
해당 파일 내에서 정의되고 그로부터 대상 .class 파일을 파악합니다.
생성됩니다. 클래스 파일은 지정된 대상 디렉토리 아래에 배치됩니다.

SCons는 또한 각 Java 파일에서 Java 패키지 이름을 검색합니다.
첫 번째 열의 패키지 문자열로 시작하는 줄에서 찾을 수 있습니다. 그만큼
결과 .class 파일은 지정된 패키지를 반영하는 디렉토리에 배치됩니다.
이름. 예를 들어 Foo.java 파일은 단일 공개 Foo 클래스를 정의하고 다음을 포함합니다.
sub.dir의 패키지 이름은 해당하는 sub/dir/Foo.class 클래스 파일을 생성합니다.

예 :

env.Java(대상 = '클래스', 소스 = 'src')
env.Java(대상 = '클래스', 소스 = ['src1', 'src2'])
env.Java(대상 = '클래스', 소스 = ['File1.java', 'File2.java'])

Java 소스 파일은 기본 OS에 대한 기본 인코딩을 사용할 수 있습니다. SCons 이후
기본적으로 단순 ASCII 모드로 컴파일하면 컴파일러에서 다음과 같은 경고를 생성합니다.
매핑할 수 없는 문자로 인해 파일이 추가로 처리될 때 오류가 발생할 수 있습니다. 에
이 경우 사용자는 LANG 환경 변수를 지정하여 컴파일러에게 알려야 합니다.
어떤 인코딩이 사용되는지. 이식성을 위해 인코딩이 하드 코딩되어 있는 것이 가장 좋습니다.
인코딩이 다른 시스템에서 수행되는 경우 컴파일이 작동합니다.

환경 = 환경()
환경['ENV']['LANG'] = 'en_GB.UTF-8'

자바H(), 환경 자바H()
Java 기본 메소드를 구현하기 위한 C 헤더 및 소스 파일을 빌드합니다. 대상 수
헤더 파일이 기록될 디렉토리 또는 헤더 파일 이름
여기에는 모든 정의가 포함됩니다. 소스는 .class의 이름일 수 있습니다.
파일, 호출하여 .class 파일로 컴파일할 .java 파일의 이름 자바
빌더 메서드 또는 자바 빌더 메소드.

건설 변수의 경우 $JAVACLASSDIR 환경 또는
에 전화 자바H 빌더 메서드 자체를 사용하는 경우 변수 값은
.class 파일 이름의 시작 부분에서 제거됩니다.

예 :

# java_native.h 빌드
클래스 = env.Java(대상 = 'classdir', 소스 = 'src')
env.JavaH(대상 = 'java_native.h', 소스 = 클래스)

# include/package_foo.h 및 include/package_bar.h 빌드
env.JavaH(대상 = '포함',
소스 = ['패키지/foo.class', '패키지/bar.class'])

# export/foo.h 및 export/bar.h 빌드
env.JavaH(대상 = '내보내기',
소스 = ['classes/foo.class', 'classes/bar.class'],
JAVACLASSDIR = '클래스')

도서관(), 환경 라이브러리()
동의어 정적 라이브러리 빌더 메소드.

로드 가능한 모듈(), env.LoadableModule()
대부분의 시스템에서 이것은 다음과 같습니다. 공유 라이브러리. Mac OS X(Darwin) 플랫폼에서는
이것은 로드 가능한 모듈 번들을 생성합니다.

M4(), 환경 M4()
M4 입력 파일에서 출력 파일을 빌드합니다. 이것은 기본값을 사용합니다 $M4FLAGS 의 가치 -E,
모든 경고를 치명적으로 간주하고 사용할 때 첫 번째 경고에서 중지합니다.
m4의 GNU 버전. 예시:

env.M4(대상 = 'foo.c', 소스 = 'foo.c.m4')

모의(), 환경 Moc()
moc 입력 파일에서 출력 파일을 빌드합니다. Moc 입력 파일은 헤더 파일 중 하나입니다.
또는 cxx 파일. 이 빌더는 'qt' 도구를 사용한 후에만 사용할 수 있습니다. 참조 $QTDIR
자세한 내용은 변수를 참조하십시오. 예시:

env.Moc('foo.h') # moc_foo.cc 생성
env.Moc('foo.cpp') # foo.moc 생성

MO파일(), env.MO파일()
이 빌더는 msgfmt 도구에 속합니다. 빌더는 PO 파일을 MO 파일로 컴파일합니다.

예시 1. pl.po 및 en.po를 컴파일하여 pl.mo 및 en.mo를 만듭니다.

# ...
env.MOFiles(['pl', 'en'])

예시 2. LINGUAS 파일에 정의된 언어에 대한 파일 컴파일:

# ...
env.MOFiles(LINGUAS_FILE = 1)

예시 3. pl.po 및 en.po plus 파일을 컴파일하여 pl.mo 및 en.mo 생성
LINGUAS 파일에 정의된 언어:

# ...
env.MOFiles(['pl', 'en'], LINGUAS_FILE = 1)

예시 4. LINGUAS 파일(다른 버전)에 정의된 언어에 대한 파일 컴파일:

# ...
환경['LINGUAS_FILE'] = 1
env.MO파일()

MSVS프로젝트(), 환경 MSVS프로젝트()
Microsoft Visual Studio 프로젝트 파일을 빌드하고 기본적으로 솔루션 파일을 빌드합니다.
뿐만 아니라.

이렇게 하면 Visual Studio 버전을 기반으로 Visual Studio 프로젝트 파일이 빌드됩니다.
구성됨(최신 설치된 버전 또는 에서 지정한 버전
$MSVS_VERSION 환경 생성자에서). Visual Studio 6의 경우
.dsp 파일. Visual Studio 7(.NET) 이상 버전의 경우 .vcproj
파일.

기본적으로 지정된 프로젝트에 대한 솔루션 파일인 .dsw 파일도 생성합니다.
Visual Studio 6용 또는 Visual Studio 7(.NET)용 .sln 파일. 이 행동은
호출할 때 auto_build_solution=0을 지정하여 비활성화됨 MSVS프로젝트이 경우
아마도 다음을 호출하여 솔루션 파일을 빌드하려고 할 것입니다. MSVSS솔루션 건축업자
(아래 참조).

The MSVS프로젝트 빌더는 프로젝트에 배치할 여러 파일 이름 목록을 사용합니다.
파일. 이들은 현재 srcs, incs, localincs, 리소스 및 기타로 제한됩니다. 이것들
꽤 자명하지만 이러한 목록은
$소스 SCons 파일 노드가 아닌 문자열로 생성 변수. 이 때문입니다
사용된 소스 파일이 아니라 프로젝트 파일에 추가할 파일 이름을 나타냅니다.
프로젝트 파일을 빌드합니다.

위의 파일 이름 목록은 모두 선택 사항이지만,
결과 프로젝트 파일은 비어 있지 않습니다.

위의 값 목록 외에도 다음 값을 지정할 수 있습니다.

목표
대상 .dsp 또는 .vcproj 파일의 이름입니다. 의 버전에 대한 올바른 접미사
Visual Studio를 사용해야 하지만 $MSVSPROJECTSUFFIX 구성 변수는
올바른 값으로 정의해야 합니다(아래 예 참조).

다른
이 특정 변형의 이름입니다. Visual Studio 7 프로젝트의 경우 이 작업도 수행할 수 있습니다.
변형 이름의 목록이어야 합니다. 일반적으로 "디버그" 또는 "릴리스"와 같은 항목입니다.
하지만 정말로 원하는 것은 무엇이든 될 수 있습니다. Visual Studio 7 프로젝트의 경우
|로 변형 이름과 구분된 대상 플랫폼을 지정합니다. (수직 파이프)
캐릭터: 디버그|Xbox. 기본 대상 플랫폼은 Win32입니다. 여러 번 호출
MSVS프로젝트 다른 변형이 허용됩니다. 모든 변형이
적절한 빌드 대상 및 소스가 있는 프로젝트 파일.

cmdargs
다양한 변형에 대한 추가 명령줄 인수. 개수
cmdargs 항목은 변형 항목의 수와 일치하거나 비어 있어야 합니다(
지정). 하나만 주면 자동으로 모든 사람에게 전달됩니다.
변종.

빌드 타겟
선택적 문자열, 노드 또는 문자열 또는 노드 목록(빌드 변형당 하나)
어떤 빌드 변형에서 사용할 출력 대상을 Visual Studio 디버거에 알려줍니다.
buildtarget 항목의 수는 변형 항목의 수와 일치해야 합니다.

실행 파일
Visual Studio 7 이상에서 실행 및 디버그할 파일의 이름입니다. 이
결과 Visual Studio 프로젝트에서 출력 필드의 값으로 나타납니다.
파일. 지정하지 않으면 기본값은 지정된 것과 동일합니다.
빌드 타겟 값.

SCons는 항상 다음이 있는 디렉토리에서 빌드 명령을 실행하기 때문에
다른 위치에서 프로젝트 파일을 생성하는 경우 SConstruct 파일이 있습니다.
SConstruct 디렉토리보다 디렉토리, 사용자는 더블 클릭할 수 없습니다
Visual Studio 콘솔 출력에 표시되는 컴파일 오류 메시지의 파일 이름
창문. Visual C/C++ /FC 컴파일러 옵션을 추가하여 이 문제를 해결할 수 있습니다.
$CCFLAGS 컴파일러가 모든 파일의 전체 경로 이름을 인쇄하도록 변수
컴파일 오류가 발생합니다.

사용 예 :

barrcs = ['bar.cpp'],
바린스 = ['bar.h'],
barlocalincs = ['StdAfx.h']
barresources = ['bar.rc','resource.h']
barmisc = ['bar_readme.txt']

dll = env.SharedLibrary(대상 = 'bar.dll',
출처 = barrcs)

env.MSVSProject(대상 = '바' + env['MSVSPROJECTSUFFIX'],
srcs = barrcs,
incs = 바린스,
localincs = barlocalincs,
자원 = 막대 자원,
기타 = 바르미스크,
빌드 대상 = dll,
변형 = '출시')

SCons 버전 2.4부터는 선택적 인수를 지정할 수도 있습니다.
디버그 설정, Visual Studio에서 디버깅을 위한 파일을 생성합니다.

디버그 설정
.vcproj.user 또는
.vcxproj.user 파일, 설치된 버전에 따라 다릅니다. cmdargs에 대해 수행되는 것처럼
(위 참조), 다음을 지정할 수 있습니다 디버그 설정 변종별 사전. 당신이주는 경우
하나만 있으면 모든 변형에 전파됩니다.

현재 Visual Studio v9.0 및 Visual Studio 버전 v11만 구현되어 있습니다.
다른 버전에서는 파일이 생성되지 않습니다. 사용자 파일을 생성하려면 다음을 추가하기만 하면 됩니다.
디버그 설정 MSVS에 적합한 매개변수를 사용하여 환경에 사전
버전. 사전이 비어 있거나 적절한 값이 없으면 파일이
생성됩니다.

다음은 변형에 대한 프로젝트 설정과 관련된 보다 인위적인 예입니다.
및 디버그 설정:

# 기본값을 파일에 저장한다고 가정합니다.
vars = 변수('variables.py')
msvcver = vars.args.get('vc', '9')

# 하나의 Microsoft Visual Studio 버전을 강제 실행하려면 명령 인수를 확인하십시오.
msvcver == '9' 또는 msvcver == '11'인 경우:
환경 = 환경(MSVC_VERSION=msvcver+'.0', MSVC_BATCH=거짓)
그밖에:
환경 = 환경()

AddOption('--userfile', action='store_true', dest='userfile', 기본값=False,
help="Visual Studio 프로젝트 사용자 파일 만들기")

#
# 1. 목록에서 원하는 옵션으로 디버그 설정 사전 구성
허용되는 옵션의 수(예: 시작할 사용자 파일을 생성하려는 경우)
# Microsoft Visual Studio 2008(v9)로 dll을 테스트하기 위한 특정 응용 프로그램:
#
V9디버그 설정 = {
'명령':'c:\\myapp\\using\\thisdll.exe',
'작업 디렉터리': 'c:\\myapp\\using\\',
'CommandArguments': '-p 암호',
# '첨부': '거짓',
# '디버거 유형':'3',
# '원격':'1',
# 'RemoteMachine': 없음,
# '리모컨': 없음,
# 'HttpUrl': 없음,
# 'PDBPath': 없음,
# 'SQL디버깅': 없음,
# '환경': '',
# 'EnvironmentMerge':'true',
# '디버거 플레이버': 없음,
# 'MPIRunCommand': 없음,
# 'MPIRunArguments': 없음,
# 'MPIRunWorkingDirectory': 없음,
# '응용 명령': 없음,
# 'ApplicationArguments': 없음,
# 'ShimCommand': 없음,
# 'MPIAcceptMode': 없음,
# 'MPIAcceptFilter': 없음,
}

#
# 2. 마이크로소프트에 따라 다양한 선택지가 있기 때문에
# Visual Studio 버전, 둘 이상의 버전을 사용하는 경우
# 사용자를 생성하려는 경우와 같이 버전별로 사전을 정의합니다.
# Microsoft에서 dll을 테스트하기 위한 특정 응용 프로그램을 시작하는 파일
# 비주얼 스튜디오 2012(v11):
#
V10디버그 설정 = {
'LocalDebuggerCommand': 'c:\\myapp\\using\\thisdll.exe',
'LocalDebuggerWorkingDirectory': 'c:\\myapp\\using\\',
'LocalDebuggerCommandArguments': '-p 암호',
# 'LocalDebuggerEnvironment': 없음,
# 'DebuggerFlavor': 'WindowsLocalDebugger',
# 'LocalDebuggerAttach': 없음,
# 'LocalDebuggerDebuggerType': 없음,
# 'LocalDebuggerMergeEnvironment': 없음,
# 'LocalDebuggerSQLDebugging': 없음,
# 'RemoteDebuggerCommand': 없음,
# 'RemoteDebuggerCommandArguments': 없음,
# 'RemoteDebuggerWorkingDirectory': 없음,
# 'RemoteDebuggerServerName': 없음,
# 'RemoteDebuggerConnection': 없음,
# 'RemoteDebuggerDebuggerType': 없음,
# 'RemoteDebuggerAttach': 없음,
# 'RemoteDebuggerSQLDebugging': 없음,
# '배포 디렉토리': 없음,
# '추가 파일': 없음,
# 'RemoteDebuggerDeployDebugCppRuntime': 없음,
# 'WebBrowserDebuggerHttpUrl': 없음,
# 'WebBrowserDebuggerDebuggerType': 없음,
# 'WebServiceDebuggerHttpUrl': 없음,
# 'WebServiceDebuggerDebuggerType': 없음,
# 'WebServiceDebuggerSQL디버깅': 없음,
}

#
# 3. Visual Studio 버전에 따라 원하는 사전 선택
# 생성하려는 파일.
#
env.GetOption('userfile')이 아닌 경우:
dbgSettings = 없음
elif env.get('MSVC_VERSION', 없음) == '9.0':
dbgSettings = V9DebugSettings
elif env.get('MSVC_VERSION', 없음) == '11.0':
dbgSettings = V10DebugSettings
그밖에:
dbgSettings = 없음

#
# 4. DebugSettings 키워드에 사전을 추가합니다.
#
barrcs = ['bar.cpp', 'dllmain.cpp', 'stdafx.cpp']
barincs = ['targetver.h']
barlocalincs = ['StdAfx.h']
barresources = ['bar.rc','resource.h']
barmisc = ['ReadMe.txt']

dll = env.SharedLibrary(대상 = 'bar.dll',
출처 = barrcs)

env.MSVSProject(대상 = '바' + env['MSVSPROJECTSUFFIX'],
srcs = barrcs,
incs = 바린스,
localincs = barlocalincs,
자원 = 막대 자원,
기타 = 바르미스크,
빌드 대상 = [dll[0]] * 2,
변형 = ('디버그|Win32', '릴리스|Win32'),
cmdargs = 'vc=%s' % msvcver,
디버그 설정 = (dbgSettings, {}))

MSVSS솔루션(), env.MSVSSolution()
Microsoft Visual Studio 솔루션 파일을 빌드합니다.

이렇게 하면 Visual Studio 버전을 기반으로 Visual Studio 솔루션 파일이 빌드됩니다.
구성됨(최신 설치된 버전 또는 에서 지정한 버전
$MSVS_VERSION 건설 환경에서). Visual Studio 6의 경우 생성됩니다.
.dsw 파일. Visual Studio 7(.NET)의 경우 .sln 파일을 생성합니다.

다음 값을 지정해야 합니다.

목표
대상 .dsw 또는 .sln 파일의 이름입니다. 의 버전에 대한 올바른 접미사
Visual Studio를 사용해야 하지만 값은 $MSVSOLUTIONSUFIX 로 정의됩니다
올바른 값(아래 예 참조).

다른
이 특정 변형의 이름 또는 변형 이름 목록(후자는
MSVS 7 솔루션에만 지원됨). 일반적으로 "디버그" 또는
"릴리스"하지만 실제로 원하는 것은 무엇이든 될 수 있습니다. MSVS 7의 경우 다음을 지정할 수도 있습니다.
이 "디버그|Xbox"와 같은 대상 플랫폼. 기본 플랫폼은 Win32입니다.

프로젝트
프로젝트 파일 이름 목록 또는
MSVS프로젝트 빌더는 솔루션 파일에 배치됩니다. 다음 사항에 유의해야 합니다.
이러한 파일 이름은 $SOURCES 환경 변수에 다음 형식으로 추가되지 않습니다.
파일이 아니라 문자열입니다. 이것은 파일 이름을 나타내기 때문입니다.
솔루션 파일을 빌드하는 데 사용되는 소스 파일이 아니라 솔루션 파일에 추가됩니다.

사용 예 :

env.MSVSSolution(대상 = '바' + env['MSVSSOLUTIONSUFFIX'], 프로젝트 = ['막대'
+ env['MSVSPROJECTSUFFIX']], 변형 = '출시')

물체(), 환경 개체()
동의어 정적 개체 빌더 메소드.

패키지(), 환경 패키지()
주어진 소스 파일의 바이너리 패키지를 빌드합니다.

env.Package(소스 = FindInstalledFiles())

소프트웨어 배포 패키지를 빌드합니다. 패키지는 설치할 파일과
포장 정보. 전자는 다음과 같이 지정할 수 있습니다. 매개변수 및 수
제외됩니다. 이 경우 설치된 파일 찾기 함수는 다음과 같은 모든 파일을 수집합니다.
에게이 설치 or 다음으로 설치 빌더 첨부. 만약 목표 지정되지 않습니다
이 빌더에 제공된 추가 정보에서 추론됩니다.

포장 정보는 구성 변수의 도움으로 지정됩니다.
아래에 문서화되어 있습니다. 이 정보를 태그라고 하며 그 중 일부가
파일에 첨부할 수도 있습니다. 꼬리표 함수. 필수 항목은 다음과 같은 경우 불평할 것입니다.
그들은 지정되지 않았습니다. 선택한 대상 포장기에 따라 다릅니다.

대상 패키지 도구는 "PACKAGETYPE" 명령줄 옵션이나 다음을 사용하여 선택할 수 있습니다.
전에, $패키지 유형 건설 변수. 현재 다음 패키지 도구를 사용할 수 있습니다.

* msi - Microsoft 설치 프로그램 * rpm - Redhat 패키지 관리자 * ipkg - Itsy 패키지
관리 시스템 * tarbz2 - 압축된 tar * targz - 압축된 tar * zip - zip 파일
* src_tarbz2 - 압축된 tar 소스 * src_targz - 압축된 tar 소스 * src_zip -
zip 파일 소스

업데이트된 목록은 실행할 때 "package_type" 옵션에서 항상 사용할 수 있습니다.
패키징이 활성화된 프로젝트에서 "scons --help".

env = 환경(도구=['기본', '패키징'])
env.Install('/ 빈 /', 'my_program')
env.Package( 이름 = 'foo',
버전 = '1.2.3',
패키지 버전 = 0,
패키지 유형 = 'rpm',
라이센스 = 'gpl',
요약 = '발랄랄랄',
설명 = '이것은 정말 정말 길어야 합니다',
X_RPM_GROUP = '애플리케이션/fu',
SOURCE_URL = 'http://foo.org/foo-1.2.3.tar.gz'
)

PCH(), 환경.PCH()
Microsoft Visual C++ 미리 컴파일된 헤더를 빌드합니다. 이 빌더 메서드를 호출하면 다음이 반환됩니다.
두 개의 대상 목록: 첫 번째 요소인 PCH와 두 번째 요소인 목적 파일
요소. 일반적으로 목적 파일은 무시됩니다. 이 빌더 메소드는
Microsoft Visual C++가 컴파일러로 사용되는 경우. PCH 빌더 방법은
일반적으로 PCH 구성 변수와 함께 사용하여 개체 파일을 강제 실행합니다.
미리 컴파일된 헤더를 사용하려면:

환경['PCH'] = 환경.PCH('StdAfx.cpp')[0]

PDF(), 환경.PDF()
.dvi 입력 파일(또는 확장자로 .tex, .ltx 또는 .latex)에서 .pdf 파일을 만듭니다.
입력 파일). 에 의해 지정된 접미사 $PDFSUFFIX 구성 변수(.pdf by
default)는 대상이 아직 없는 경우 대상에 자동으로 추가됩니다. 예시:

# aaa.tex에서 빌드
env.PDF(대상 = 'aaa.pdf', 소스 = 'aaa.tex')
# bbb.dvi에서 bbb.pdf를 빌드합니다.
env.PDF(대상 = 'bbb', 소스 = 'bbb.dvi')

POInit(), 환경.POInit()
이 빌더는 msginit 도구에 속합니다. 빌더는 다음과 같은 경우 누락된 PO 파일을 초기화합니다.
$POAUTOINIT 설정됩니다. 만약에 $POAUTOINIT 설정되지 않음(기본값) 포이니트 에 대한 지침을 인쇄합니다.
사용자(번역자여야 함), PO 파일이 어떻게 되어야 하는지 알려줍니다.
초기화. 일반 프로젝트에서 의견을 듣고 싶습니다. 영상을 지원 사용 포이니트 그리고 사용 PO업데이트 를 받아야 하는 미국 여행자.
PO업데이트 지능적으로 선택 메시지 병합(1) 그리고 msginit(1). 포이니트 항상 사용
msginit(1) 특수 목적 또는 임시 사용을 위한 건축업자로 간주되어야 합니다.
(예: PO 파일 묶음의 빠른 XNUMX회 초기화) 또는 테스트용.

를 통해 정의된 대상 노드 포이니트 기본적으로 빌드되지 않습니다('.'
node) 그러나 특수 별칭(기본적으로 'po-create')에 추가됩니다. 별칭 이름은 다음과 같습니다.
통해 변경 $POCREATE_ALIAS 건설 변수. 정의된 모든 PO 파일
을 통하여 포이니트 에 의해 쉽게 초기화될 수 있습니다. 스콘 생성 후.

예시 1. message.pot에서 en.po 및 pl.po 초기화:

# ...
env.POInit(['en', 'pl']) # messages.pot --> [en.po, pl.po]

예시 2. foo.pot에서 en.po 및 pl.po를 초기화합니다.

# ...
env.POInit(['en', 'pl'], ['foo']) # foo.pot --> [en.po, pl.po]

예시 3. foo.pot에서 en.po 및 pl.po를 초기화하지만 다음을 사용합니다. $포토메인 구조
변하기 쉬운:

# ...
env.POInit(['en', 'pl'], POTDOMAIN='foo') # foo.pot --> [en.po, pl.po]

예시 4. LINGUAS 파일에 정의된 언어에 대한 PO 파일을 초기화합니다. 파일은
템플릿 messages.pot에서 초기화됩니다.

# ...
env.POInit(LINGUAS_FILE = 1) # 'LINGUAS' 파일이 필요합니다.

예시 5. en.po 및 pl.pl PO 파일과 다음에 정의된 언어에 대한 파일을 초기화합니다.
LINGUAS 파일. 파일은 템플릿 messages.pot에서 초기화됩니다.

# ...
env.POInit(['en', 'pl'], LINGUAS_FILE = 1)

예시 6. 먼저 환경을 미리 구성한 다음 PO 파일을 초기화할 수 있습니다.

# ...
환경['POAUTOINIT'] = 1
환경['LINGUAS_FILE'] = 1
환경['POTDOMAIN'] = '후'
환경.POInit()

다음과 같은 효과가 있습니다.

# ...
env.POInit(POAUTOINIT = 1, LINGUAS_FILE = 1, POTDOMAIN = 'foo')

추신(), 환경 포스트스크립트()
.dvi 입력 파일(또는 확장자에 따라 .tex, .ltx 또는 .latex)에서 .ps 파일을 빌드합니다.
입력 파일). 에 의해 지정된 접미사 $PSSUFFIX 구성 변수(.ps by
default)는 대상이 아직 없는 경우 대상에 자동으로 추가됩니다. 예시:

# aaa.tex에서 빌드
env.PostScript(대상 = 'aaa.ps', 소스 = 'aaa.tex')
# bbb.dvi에서 bbb.ps를 빌드합니다.
env.PostScript(대상 = 'bbb', 소스 = 'bbb.dvi')

팟업데이트(), env.POTUpdate()
빌더는 xgettext 도구에 속합니다. 빌더는 대상 POT 파일이 있는 경우 업데이트하거나
없으면 생성합니다. 노드는 기본적으로 빌드되지 않습니다(즉, 다음에서 무시됩니다.
'.'), 그러나 요청 시에만(즉, 주어진 POT 파일이 필요하거나 특수 별칭이 필요한 경우)
호출됨). 이 빌더는 대상 노드(예:messages.pot)를 특수 별칭에 추가합니다.
(기본적으로 pot-update, 참조 $POTUPDATE_ALIAS) 쉽게 업데이트/생성할 수 있습니다.
스콘 냄비 업데이트. 실제 변경 사항이 없을 때까지 파일이 기록되지 않습니다.
국제화된 메시지(또는 POT 파일에 들어가는 주석).

주의 사항
당신은 볼 수 있습니다 xgettext(1) 없는 경우에도 xgettext 도구에 의해 호출됩니다.
국제화된 메시지의 실제 변경(POT 파일이 업데이트되지 않음).
이것은 소스 파일이 변경될 때마다 발생합니다. 그러한 경우 우리는
xgettext(1) 그 출력을 POT 파일의 내용과 비교하여
파일을 업데이트해야 하는지 여부.

예시 1. po/ 디렉토리를 만들고 거기에 다음 SConstruct 스크립트를 배치합시다.

# 'po/' 하위 디렉토리의 SConstruct
환경 = 환경( 도구 = ['기본', 'xgettext'] )
env.POTUpdate(['foo'], ['../a.cpp', '../b.cpp'])
env.POTUpdate(['바'], ['../c.cpp', '../d.cpp'])

그런 다음 scons를 몇 번 호출합니다.

user@host:$ scons # foo.pot이나 bar.pot을 생성하지 않습니다.
user@host:$ scons foo.pot # foo.pot을 업데이트하거나 생성
user@host:$ scons pot-update # foo.pot 및 bar.pot을 업데이트하거나 생성합니다.
user@host:$ scons -c # foo.pot이나 bar.pot을 청소하지 않습니다.

결과는 위의 의견이 말한 대로입니다.

예시 2. The POT업데이트 빌더는 지정된 대상 없이 사용할 수 있습니다. 이 경우
기본 대상 messages.pot이 사용됩니다. 기본 대상은 다음으로 재정의될 수도 있습니다.
설정 $포토메인 구성 변수 또는 재정의로 제공 POT업데이트
빌더 :

# SConstruct 스크립트
환경 = 환경( 도구 = ['기본', 'xgettext'] )
env['POTDOMAIN'] = "후"
env.POTUpdate(source = ["a.cpp", "b.cpp"]) # foo.pot 생성 ...
env.POTUpdate(POTDOMAIN = "bar", 소스 = ["c.cpp", "d.cpp"]) # 및 bar.pot

예시 3. 소스는 예를 들어 별도의 파일에 지정할 수 있습니다.
POTFILES.in:

# 'po/' 하위 디렉토리의 POTFILES.in
../a.cpp
../b.cpp
# 파일의 끝

소스 목록을 포함하는 파일 이름(POTFILES.in)은 다음을 통해 제공됩니다.
$XGETTEXFROM:

# 'po/' 하위 디렉토리의 SConstruct 파일
환경 = 환경( 도구 = ['기본', 'xgettext'] )
env.POTUpdate(XGETTEXTFROM = 'POTFILES.in')

예시 4. 사용할 수 있습니다. $XGETTEXTPATH 소스 검색 경로를 정의합니다. 다음을 위해
예를 들어, a.cpp, b.cpp, po/SConstruct, po/POTFILES.in 파일이 있습니다. 그럼 당신의
POT 관련 파일은 다음과 같습니다.

# 'po/' 하위 디렉토리의 POTFILES.in
a.cpp
b.cpp
# 파일의 끝

# 'po/' 하위 디렉토리의 SConstruct 파일
환경 = 환경( 도구 = ['기본', 'xgettext'] )
env.POTUpdate(XGETTEXTFROM = 'POTFILES.in', XGETTEXTPATH='../')

예시 5. 목록 내에서 여러 검색 디렉토리를 정의할 수 있습니다.
XGETTEXTPATH ​​= ['dir1', 'dir2', ...]. 목록의 순서가 검색을 결정합니다.
소스 파일의 순서 발견된 첫 번째 파일의 경로가 사용됩니다.

0/1/po/SConstruct 스크립트를 생성해 보겠습니다.

# '0/1/po/' 하위 디렉토리의 SConstruct 파일
환경 = 환경( 도구 = ['기본', 'xgettext'] )
env.POTUpdate(XGETTEXTFROM = 'POTFILES.in', XGETTEXTPATH=['../', '../../'])

및 0/1/po/POTFILES.in:

# '0/1/po/' 하위 디렉토리의 POTFILES.in
a.cpp
# 파일의 끝

두 개의 *.cpp 파일을 작성합니다. 첫 번째 파일은 0/a.cpp입니다.

/* 0/a.cpp */
gettext("안녕하세요 ../../a.cpp님")

두 번째는 0/1/a.cpp입니다.

/* 0/1/a.cpp */
gettext("안녕하세요 ../a.cpp")

그런 다음 scons를 실행하십시오. "Hello from
../a.cpp". 순서를 반대로 하면 $XGETTEXFOM, 즉 SConscript를 다음과 같이 작성할 때

# '0/1/po/' 하위 디렉토리의 SConstruct 파일
환경 = 환경( 도구 = ['기본', 'xgettext'] )
env.POTUpdate(XGETTEXTFROM = 'POTFILES.in', XGETTEXTPATH=['../../', '../'])

그러면 messages.pot은 msgid가 아닌 "Hello from ../../a.cpp" 행을 포함할 것입니다.
"안녕하세요 ../a.cpp".

PO업데이트(), env.PO업데이트()
빌더는 msgmerge 도구에 속합니다. 빌더는 다음으로 PO 파일을 업데이트합니다. 메시지 병합(1),
또는 msginit 도구 설명서에 설명된 대로 누락된 PO 파일을 초기화하고
포이니트 빌더(참조 $POAUTOINIT). 참고로 PO업데이트 하지 지원 더하다 그것의 목표
생성 후 별명 as 포이니트 않습니다.

를 통해 정의된 대상 노드 PO업데이트 기본적으로 빌드되지 않습니다(다음에서 무시됩니다.
'.' 마디). 대신 특수 별칭에 자동으로 추가됩니다('po-update'
기본). 별칭 이름은 다음을 통해 변경할 수 있습니다. $POUPDATE_ALIAS 구조
변하기 쉬운. 다음을 통해 프로젝트의 PO 파일을 쉽게 업데이트할 수 있습니다. 스콘 업데이트.

예시 1. message.pot 템플릿에서 en.po 및 pl.po를 업데이트합니다(또한 참조 $포토메인),
최신 버전이 존재하거나 빌드하는 규칙이 있다고 가정합니다(참조 POT업데이트):

# ...
env.POUpdate(['en','pl']) # messages.pot --> [en.po, pl.po]

예시 2. foo.pot 템플릿에서 en.po 및 pl.po 업데이트:

# ...
env.POUpdate(['en', 'pl'], ['foo']) # foo.pot --> [en.po, pl.pl]

예시 3. foo.pot(다른 버전)에서 en.po 및 pl.po 업데이트:

# ...
env.POUpdate(['en', 'pl'], POTDOMAIN='foo') # foo.pot -- > [en.po, pl.pl]

예시 4. LINGUAS 파일에 정의된 언어에 대한 파일을 업데이트합니다. 파일이 업데이트됩니다.
messages.pot 템플릿에서:

# ...
env.POUpdate(LINGUAS_FILE = 1) # 'LINGUAS' 파일 필요

예시 5. 위와 같지만 foo.pot 템플릿에서 업데이트:

# ...
env.POUpdate(LINGUAS_FILE = 1, 소스 = ['foo'])

예시 6. LINGUAS 파일에 정의된 언어에 대한 en.po 및 pl.po plus 파일을 업데이트합니다.
파일은 messages.pot 템플릿에서 업데이트됩니다.

# 'en.po', 'pl.po' + 'LINGUAS'에 정의된 파일 생성:
env.POUpdate(['en', 'pl' ], LINGUAS_FILE = 1)

예시 7. $POAUTOINIT PO 파일이 존재하지 않는 경우 자동으로 초기화하려면:

# ...
env.POUpdate(LINGUAS_FILE = 1, POAUTOINIT = 1)

예시 8. LINGUAS 파일에 정의된 언어에 대한 PO 파일을 업데이트합니다. 파일은
foo.pot 템플릿에서 업데이트되었습니다. 필요한 모든 설정은 다음을 통해 사전 구성됩니다.
환경을 제공합니다.

# ...
환경['POAUTOINIT'] = 1
환경['LINGUAS_FILE'] = 1
환경['POTDOMAIN'] = '후'
env.PO업데이트()

프로그램(), 환경 프로그램()
하나 이상의 개체 파일 또는 C, C++, D 또는 Fortran 소스가 제공된 실행 파일을 빌드합니다.
파일. C, C++, D 또는 Fortran 소스 파일이 지정되면
다음을 사용하여 자동으로 개체 파일로 컴파일됩니다. 목적 빌더 메소드; 저것 좀 봐
법적 소스 파일 접미사 목록 및 해당 방법에 대한 빌더 메서드 설명
해석. 대상 실행 파일 접두사( $PROGPREFIX
건설 변수; 기본적으로 없음) 및 접미사( $PROGSUFFIX
건설 변수; 기본적으로 Windows 시스템에서는 .exe, POSIX 시스템에서는 없음)
아직 없는 경우 대상에 자동으로 추가됩니다. 예시:

env.Program(대상 = 'foo', 소스 = ['foo.o', 'bar.c', 'baz.f'])

응답(), 환경 RES()
Microsoft Visual C++ 리소스 파일을 빌드합니다. 이 빌더 메소드는 다음과 같은 경우에만 제공됩니다.
Microsoft Visual C++ 또는 MinGW가 컴파일러로 사용되고 있습니다. .res(또는 .o
MinGW) 접미사가 다른 접미사가 제공되지 않으면 대상 이름에 추가됩니다. 소스 파일
C 파일인 것처럼 암시적 종속성을 검사합니다. 예시:

env.RES('리소스.rc')

RMIC(), 환경 RMIC()
Java .class 파일에서 원격 개체에 대한 스텁 및 스켈레톤 클래스 파일을 빌드합니다. 그만큼
target은 스텁 및 스켈레톤 클래스 파일이 위치할 상대 디렉토리입니다.
쓴. 소스는 .class 파일의 이름이거나 객체가 .class 파일에서 반환할 수 있습니다.
자바 빌더 메소드.

건설 변수의 경우 $JAVACLASSDIR 환경 또는
에 전화 RMIC 빌더 메서드 자체를 사용하는 경우 변수 값은
.class 파일 이름의 시작 부분에서 제거됩니다.

클래스 = env.Java(대상 = 'classdir', 소스 = 'src')
env.RMIC(대상 = 'outdir1', 소스 = 클래스)

env.RMIC(대상 = 'outdir2',
소스 = ['패키지/foo.class', '패키지/bar.class'])

env.RMIC(대상 = 'outdir3',
소스 = ['classes/foo.class', 'classes/bar.class'],
JAVACLASSDIR = '클래스')

RPCGen 클라이언트(), env.RPCGenClient()
지정된 RPC(.x) 소스 파일에서 RPC 클라이언트 스텁(_clnt.c) 파일을 생성합니다.
rpcgen은 로컬 디렉토리에만 출력 파일을 빌드하기 때문에 명령은 다음과 같습니다.
기본적으로 소스 파일의 디렉토리에서 실행됩니다.

# src/rpcif_clnt.c 빌드
env.RPCGenClient('rc/rpcif.x')

RPCGen헤더(), env.RPCGenHeader()
지정된 RPC(.x) 소스 파일에서 RPC 헤더(.h) 파일을 생성합니다. 때문에
rpcgen은 로컬 디렉토리에 출력 파일만 빌드하고 명령이 실행됩니다.
기본적으로 소스 파일의 디렉토리에 있습니다.

# src/rpcif.h 빌드
env.RPCGenHeader('rc/rpcif.x')

RPCGen 서비스(), 환경.RPCGenService()
지정된 RPC(.x) 소스 파일에서 RPC 서버 골격(_svc.c) 파일을 생성합니다.
rpcgen은 로컬 디렉토리에만 출력 파일을 빌드하기 때문에 명령은 다음과 같습니다.
기본적으로 소스 파일의 디렉토리에서 실행됩니다.

# src/rpcif_svc.c 빌드
env.RPCGenClient('rc/rpcif.x')

RPCGenXDR(), env.RPCGenXDR()
지정된 RPC(.x) 소스 파일에서 RPC XDR 루틴(_xdr.c) 파일을 생성합니다.
rpcgen은 로컬 디렉토리에만 출력 파일을 빌드하기 때문에 명령은 다음과 같습니다.
기본적으로 소스 파일의 디렉토리에서 실행됩니다.

# src/rpcif_xdr.c 빌드
env.RPCGenClient('rc/rpcif.x')

공유 라이브러리(), 환경 공유 라이브러리()
하나 이상의 공유 라이브러리(POSIX 시스템에서는 .so, Windows에서는 .dll)를 빌드합니다.
개체 파일 또는 C, C++, D 또는 Fortran 소스 파일. 소스 파일이 제공되면
자동으로 개체 파일로 컴파일됩니다. 정적 라이브러리 접두어 및
접미사(있는 경우)가 대상에 자동으로 추가됩니다. 대상 라이브러리 파일 접두사
(에 의해 지정 $SHLIBPREFIX 건설 변수; 기본적으로 POSIX의 lib
시스템, Windows 시스템에는 없음) 및 접미사( $SHLIBSuffix
건설 변수; 기본적으로 Windows 시스템의 .dll, POSIX 시스템의 .so)는
아직 존재하지 않는 경우 대상에 자동으로 추가됩니다. 예시:

env.SharedLibrary(대상 = '바', 소스 = ['bar.c', 'foo.o'])

Windows 시스템에서는 공유 라이브러리 빌더 메소드는 항상 가져오기를 빌드합니다.
공유(.dll) 라이브러리 외에 (.lib) 라이브러리, 다음을 사용하여 .lib 라이브러리 추가
명시적으로 나열된 .lib 파일이 아직 없는 경우 동일한 기본 이름
목표.

Cygwin 시스템에서는 공유 라이브러리 빌더 메소드는 항상 가져오기를 빌드합니다.
공유(.dll) 라이브러리 외에 (.dll.a) 라이브러리, .dll.a 라이브러리 추가
이미 명시적으로 나열된 .dll.a 파일이 없는 경우 동일한 기본 이름으로
목표.

소스에 나열된 모든 개체 파일은 공유 라이브러리용으로 빌드되어야 합니다(
를 사용하여 공유 객체 빌더 방법). scons는 오류가 있으면 오류를 발생시킵니다.
불일치.

일부 플랫폼에서는 공유 라이브러리(로드된
외부 참조를 해결하기 위해 시스템에서 자동으로) 및 로드 가능한 모듈
(사용자 작업에 의해 명시적으로 로드됨). 휴대성을 극대화하려면 다음을 사용하십시오. 로드 가능한 모듈
후자를 위한 빌더.

$SHLIBVERSION 구성 변수는 버전이 지정된 공유 라이브러리가 정의되어 있습니다.
만들어진. 이것은 다음을 수정합니다 $SHLINKFLAGS 필요에 따라 버전 번호를
라이브러리 이름을 만들고 필요한 심볼릭 링크를 만듭니다.

env.SharedLibrary(대상 = '바', 소스 = ['bar.c', 'foo.o'], SHLIBVERSION='1.5.2')

POSIX 시스템에서 단일 토큰이 있는 버전은 정확히 하나의 심볼릭 링크를 생성합니다.
libbar.so.6에는 libbar.so만 심볼릭 링크가 있습니다. POSIX 시스템에서 두 가지 버전
이상의 토큰은 정확히 두 개의 심볼릭 링크를 생성합니다. libbar.so.2.3.1에는 심볼릭 링크가 있습니다.
libbar.so 및 libbar.so.2; Darwin(OSX) 시스템에서 라이브러리는 다음과 같습니다.
libbar.2.3.1.dylib 및 링크는 libbar.dylib입니다.

Windows 시스템에서 Register=1을 지정하면 이후에 .dll이 등록됩니다.
REGSVR32를 사용하여 구축되었습니다. 실행되는 명령(기본적으로 "regsvr32")은 다음과 같습니다.
에 의해 결정 $REGSVR 구성 변수와 전달된 플래그는 다음에 의해 결정됩니다.
$REGSVRFLAGS. 기본적으로, $REGSVRFLAGS 포함 /s 옵션을 사용하여 대화상자가 표시되지 않도록 합니다.
실행 시 팝업이 표시되어 사용자의 주의가 필요합니다. 당신이 변경하는 경우 $REGSVRFLAGS,또는
반드시 포함하세요 /s 선택권. 예를 들면

env.SharedLibrary(대상 = '바',
소스 = ['bar.cxx', 'foo.obj'],
레지스터=1)

연결이 완료되면 bar.dll을 COM 개체로 등록합니다.

공유객체(), env.SharedObject()
공유 라이브러리에 포함할 개체 파일을 빌드합니다. 소스 파일에는 다음 중 하나가 있어야 합니다.
위에 지정된 것과 동일한 확장 세트 정적 개체 빌더 방식. ~에
공유 객체를 구축하는 일부 플랫폼에는 추가 컴파일러 옵션이 필요합니다(예:
-fPIC gcc의 경우) 일반(정적) 개체를 만드는 데 필요한 것 외에
일부 플랫폼에서는 공유 객체와 일반(정적) 객체 사이에 차이가 없습니다.
하나. 차이점이 있는 경우 SCons는 공유 개체 연결만 허용합니다.
공유 라이브러리에 추가되며 공유 객체에 대해 다른 접미사를 사용합니다. ~에
차이가 없는 플랫폼에서는 SCons는 일반(정적) 및
공유 라이브러리에 링크될 공유 객체는 동일한 접미사를 사용합니다.
공유 및 일반(정적) 개체. 대상 개체 파일 접두사(다음으로 지정됨)
$SHOBJPrefix 구성변수; 기본적으로 다음과 같습니다. $OBJPrefix) 및 접미사
(에 의해 지정 $SHOBJSuffix 구성 변수)가 자동으로
아직 존재하지 않는 경우 대상을 지정합니다. 예:

env.SharedObject(대상 = 'ddd', 소스 = 'ddd.c')
env.SharedObject(대상 = 'eee.o', 소스 = 'eee.cpp')
env.SharedObject(대상 = 'fff.obj', 소스 = 'fff.for')

소스 파일은 다음의 접미사 매핑에 따라 검색됩니다.
SourceFileScanner 객체. 자세한 내용은 아래 "스캐너 개체" 섹션을 참조하세요.
정보.

정적라이브러리(), env.정적라이브러리()
하나 이상의 개체 파일이나 C, C++, D 또는 Fortran 소스가 제공되는 정적 라이브러리를 구축합니다.
파일. 소스 파일이 제공되면 자동으로 다음과 같이 컴파일됩니다.
개체 파일. 정적 라이브러리 접두사 및 접미사(있는 경우)가 자동으로 추가됩니다.
목표. 대상 라이브러리 파일 접두사(다음으로 지정됨) $LIBPREFIX 구조
변하기 쉬운; 기본적으로 POSIX 시스템에서는 lib, Windows 시스템에서는 아무것도 없음) 및 접미사
(에 의해 지정 $LIBSUFFIX 구성변수; 기본적으로 Windows의 경우 .lib
시스템, POSIX 시스템의 .a)는 아직 대상에 추가되지 않은 경우 자동으로 추가됩니다.
선물. 예시:

env.StaticLibrary(대상 = 'bar', 소스 = ['bar.c', 'foo.o'])

소스에 나열된 모든 개체 파일은 정적 라이브러리용으로 빌드되어야 합니다(
를 사용하여 정적 개체 빌더 방법). scons는 오류가 있으면 오류를 발생시킵니다.
불일치.

정적객체(), env.StaticObject()
하나 이상의 C, C++, D 또는 Fortran 소스 파일에서 정적 개체 파일을 빌드합니다.
소스 파일에는 다음 확장자 중 하나가 있어야 합니다.

.asm 어셈블리 언어 파일
.ASM 어셈블리 언어 파일
.c C 파일
.C 윈도우: C 파일
POSIX: C++ 파일
.cc C++ 파일
.cpp C++ 파일
.cxx C++ 파일
.cxx C++ 파일
.c++ C++ 파일
.C++ C++ 파일
.d D 파일
.f 포트란 파일
.F Windows: 포트란 파일
POSIX: Fortran 파일 + C 전처리기
.for 포트란 파일
.FOR 포트란 파일
.fpp 포트란 파일 + C 전처리기
.FPP 포트란 파일 + C 전처리기
.m 개체 C 파일
.mm 개체 C++ 파일
.s 어셈블리 언어 파일
.S Windows: 어셈블리 언어 파일
ARM: CodeSourcery 소스리 라이트
.sx 어셈블리 언어 파일 + C 전처리기
POSIX: 어셈블리 언어 파일 + C 전처리기
.spp 어셈블리 언어 파일 + C 전처리기
.SPP 어셈블리 언어 파일 + C 전처리기

대상 개체 파일 접두사(다음으로 지정됨) $OBJPrefix 구성변수;
기본적으로 아무것도 없음) 및 접미사( $OBJSuffix 구성변수;
Windows 시스템의 경우 .obj, POSIX 시스템의 경우 .o)는 다음과 같은 경우 대상에 자동으로 추가됩니다.
아직 존재하지 않습니다. 예:

env.StaticObject(대상 = 'aaa', 소스 = 'aaa.c')
env.StaticObject(대상 = 'bbb.o', 소스 = 'bbb.c++')
env.StaticObject(대상 = 'ccc.obj', 소스 = 'ccc.f')

소스 파일은 다음의 접미사 매핑에 따라 검색됩니다.
SourceFileScanner 객체. 자세한 내용은 아래 "스캐너 개체" 섹션을 참조하세요.
정보.

하위파일(), 환경.하위 파일()
The 하위 파일 빌더는 다음을 통해 다른 파일이나 파일 세트에서 단일 텍스트 파일을 생성합니다.
그들을 연결 $LINESEPARATOR 그리고 다음을 사용하여 텍스트를 교체합니다. $SUBST_DICT
건설 변수. 소스 파일의 중첩 목록이 평면화됩니다. 또한보십시오 텍스트 파일.

.in 접미사가 붙은 단일 소스 파일이 있는 경우 접미사는 제거되고
나머지는 기본 대상 이름으로 사용됩니다.

에서 지정한 접두사와 접미사 $SUBSTFILEPREFIX 그리고 $SUBSTFILESuffix
구성 변수(두 경우 모두 기본적으로 null 문자열)는 자동으로
아직 존재하지 않는 경우 대상에 추가됩니다.

이름이 지정된 구성 변수인 경우 $SUBST_DICT 존재하는 경우 Python일 수 있습니다.
사전 또는 (키, 값) 튜플의 시퀀스입니다. 사전인 경우 변환됩니다.
임의의 순서로 튜플 목록으로 변환하므로 한 키가 다른 키의 접두사인 경우
또는 하나의 대체가 다른 대체에 의해 추가로 확장될 수 있는 경우
확장이 이뤄질지는 예측할 수 없다.

소스에서 키가 발생하면 해당 값으로 대체됩니다.
Python 호출 가능 함수 또는 문자열일 수 있습니다. 값이 호출 가능인 경우
문자열을 얻기 위해 인수 없이 호출됩니다. 문자열은 명사-확장 및 결과
키를 대체합니다.

env = 환경(도구 = ['default', 'textfile'])

env['접두사'] = '/ usr / bin'
script_dict = {'@prefix@': '/큰 상자', @exec_prefix@: '$prefix'}
env.Substfile('script.in', SUBST_DICT = script_dict)

conf_dict = {'%VERSION%': '1.2.3', '%BASE%': 'MyProg'}
env.Substfile('config.h.in', conf_dict, SUBST_DICT = conf_dict)

# 예측 불가능 - 한 키가 다른 키의 접두사입니다.
bad_foo = {'$foo': '$foo', '$foobar': '$foobar'}
env.Substfile('foo.in', SUBST_DICT = bad_foo)

# PREDICTABLE - 키가 가장 긴 키부터 적용됩니다.
good_foo = [('$foobar', '$foobar'), ('$foo', '$foo')]
env.Substfile('foo.in', SUBST_DICT = good_foo)

# 예측 불가능 - 하나의 대체 항목이 더 확장될 수 있습니다.
bad_bar = {'@bar@': '@soap@', '@soap@': '잿물'}
env.Substfile('bar.in', SUBST_DICT = bad_bar)

# PREDICTABLE - 대체 항목이 순서대로 확장됩니다.
good_bar = (('@bar@', '@soap@'), ('@soap@', 'lye'))
env.Substfile('bar.in', SUBST_DICT = good_bar)

# SUBST_DICT는 공통일 수 있습니다(재정의는 아님)
대체 = {}
subst = 환경(도구 = ['textfile'], SUBST_DICT = 대체 항목)
대체['@foo@'] = 'foo'
subst['SUBST_DICT']['@bar@'] = '바'
subst.Substfile('pgm1.c', [Value('#include "@[이메일 보호]"'),
값('#include "@[이메일 보호]"'),
"커먼인",
"pgm1.in"
])
subst.Substfile('pgm2.c', [Value('#include "@[이메일 보호]"'),
값('#include "@[이메일 보호]"'),
"커먼인",
"pgm2.in"
])

타르(), 환경.타르()
지정된 파일 및/또는 디렉토리의 tar 아카이브를 구축합니다. 대부분의 건축업자와는 달리
방법, 타르 빌더 메소드는 특정 대상에 대해 여러 번 호출될 수 있습니다. 각
추가 호출은 아카이브에 구축될 항목 목록에 추가됩니다. 어느
소스 디렉토리는 디스크에 있는 모든 파일의 변경 사항을 검색합니다.
scons가 다른 Builder 또는 함수 호출을 통해 이에 대해 알고 있는지 여부.

env.Tar('src.tar', 'src')

# stuff.tar 파일을 생성합니다.
env.Tar('stuff', ['subdir1', 'subdir2'])
# 또한 stuff.tar 파일에 "another"를 추가합니다.
env.Tar('물건', '다른')

# TARFLAGS를 설정하여 gzip으로 필터링된 아카이브를 생성합니다.
env = 환경(TARFLAGS = '-c -z')
env.Tar('foo.tar.gz', 'foo')

# 또한 접미사를 .tgz로 설정합니다.
env = 환경(TARFLAGS = '-c -z',
TARSUFFIX = '.tgz')
env.Tar('foo')

텍스트파일(), env.텍스트파일()
The 텍스트 파일 빌더는 단일 텍스트 파일을 생성합니다. 소스 문자열은
윤곽; 중첩된 소스 목록은 평면화됩니다. $LINESEPARATOR 를 분리하는 데 사용됩니다.
문자열.

존재하는 경우, $SUBST_DICT 생성 변수는 이전에 문자열을 수정하는 데 사용됩니다.
기록되어 있습니다. 참조 하위 파일 자세한 내용은 설명.

에서 지정한 접두사와 접미사 $TEXTFILEPREFIX 그리고 $TEXTFILESuffix
구성 변수(각각 기본적으로 null 문자열과 .txt)는 다음과 같습니다.
아직 존재하지 않는 경우 대상에 자동으로 추가됩니다. 예:

# foo.txt를 빌드/작성합니다.
env.Textfile(target = 'foo.txt', source = ['Goethe', 42, 'Schiller'])

# bar.txt를 빌드/쓰기
env.Textfile(대상 = '바',
소스 = ['lalala', 'tanteratei'],
LINESEPARATOR='|*')

# 중첩된 목록은 자동으로 평면화됩니다.
env.Textfile(대상 = 'blob',
출처 = ['lalala', ['Goethe', 42 'Schiller'], 'tanteratei'])

# 파일은 File()로 래핑하여 입력으로 사용할 수 있습니다.
env.Textfile(target = 'concat', # 사이에 마커가 있는 파일을 연결합니다.
소스 = [파일('concat1'), 파일('concat2')],
LINESEPARATOR = '=====================\n')

결과는 다음과 같습니다.
foo.txt
....8<----
괴테
42
쉴러
....8<---- (끝 부분에 줄 바꿈 없음)

바.txt:
....8<----
lalala|*탄타테이
....8<---- (끝 부분에 줄 바꿈 없음)

blob.txt
....8<----
랄랄라
괴테
42
쉴러
탄테테이
....8<---- (끝 부분에 줄 바꿈 없음)

번역하다(), env.번역()
이 의사 빌더는 gettext 도구 세트에 속합니다. 빌더는 국제화를 추출합니다.
소스 파일의 메시지, POT 템플릿 업데이트(필요한 경우) 및 PO 업데이트
번역(필요한 경우). 만약에 $POAUTOINIT 설정되어 있으면 누락된 PO 파일이
자동으로 생성됩니다(즉, 번역가의 개입 없이). 변수
$LINGUAS_FILE 그리고 $포토메인 도 고려됩니다. 기타 모든 공사
에서 사용하는 변수 POT업데이트PO업데이트 여기서도 일해요.

예시 1. 가장 간단한 방법은 입력 파일과 출력 언어를 인라인으로 지정하는 것입니다.
호출 시 SCons 스크립트 옮기다

# 'po/' 디렉토리에 있는 SConscript
env = 환경( tools = ["default", "gettext"] )
환경['POAUTOINIT'] = 1
env.Translate(['en','pl'], ['../a.cpp','../b.cpp'])

예시 2. 원한다면 autotools에서 알려진 기존 스타일을 고수할 수도 있습니다.
즉, POTFILES.in 및 LINGUAS 파일을 사용합니다.

# 링구아스
엔 PL
#끝

# POTFILES.in
a.cpp
b.cpp
# 끝

# 징집병
env = 환경( tools = ["default", "gettext"] )
환경['POAUTOINIT'] = 1
env['XGETTEXTPATH'] = ['../']
env.Translate(LINGUAS_FILE = 1, XGETTEXTFROM = 'POTFILES.in')

마지막 접근 방식이 아마도 권장되는 접근 방식일 것입니다. 쉽게 분할할 수 있습니다.
별도의 SCons 스크립트로 국제화/현지화합니다.
소스 트리는 번역(소스에서 PO 파일로)과 스크립트를 담당합니다.
변형 디렉토리 아래에는 PO를 MO 파일로 컴파일하는 작업을 담당합니다.
MO 파일 설치. 이 두 스크립트를 동기화하는 "접착 요소"는 다음과 같습니다.
LINGUAS 파일의 내용. 업데이트된 POT 및 PO 파일은 일반적으로
저장소에 다시 커밋하려면 소스 내에서 업데이트해야 합니다.
디렉터리(변종 디렉터리가 아님). 또한 po/의 파일 목록은
디렉토리에는 LINGUAS 파일이 포함되어 있으므로 소스 트리는 번역가에게 친숙해 보입니다.
그들은 일반적인 방식으로 프로젝트 작업을 수행할 수 있습니다.

예시 3. 아래와 같이 개발 트리를 준비해보자

계획/
+ S구성
+ 빌드/
+ 소스/
+ 포/
+ 징집병
+ SConscript.i18n
+ POTFILES.in
+ 언어

빌드는 변형 디렉터리입니다. 다음과 같이 최상위 SConstruct 스크립트를 작성합니다.

# S구성
env = 환경( tools = ["default", "gettext"] )
VariantDir('build', 'src', 중복 = 0)
환경['POAUTOINIT'] = 1
SConscript('src/po/SConscript.i18n', 내보내기 = 'env')
SConscript('build/po/SConscript', 내보내기 = 'env')

src/po/SConscript.i18n은 다음과 같습니다.

# src/po/SConscript.i18n
가져오기('환경')
env.Translate(LINGUAS_FILE=1, XGETTEXTFROM='POTFILES.in', XGETTEXTPATH=['../'])

그리고 src/po/SConscript

# src/po/SConscript
가져오기('환경')
env.MOFiles(LINGUAS_FILE = 1)

이러한 설정은 src/po/의 소스 트리 아래에 POT 및 PO 파일과 바이너리 MO 파일을 생성합니다.
build/po/의 변형 트리 아래에 있습니다. 이렇게 하면 POT와 PO 파일이 분리됩니다.
소스 저장소에 다시 커밋하면 안 되는 기타 출력 파일(예: MO
파일).

주의 사항
위의 예에서 PO 파일은 업데이트되지 않으며 자동으로 생성되지도 않습니다.
발행물 스콘 '.' 명령. 파일은 다음을 통해 직접 업데이트(생성)되어야 합니다. 스콘
업데이트 그런 다음 다음을 실행하여 MO 파일을 컴파일할 수 있습니다. 스콘 '.'.

유형라이브러리(), env.TypeLibrary()
입력 IDL 파일(.idl)에서 Windows 유형 라이브러리(.tlb) 파일을 빌드합니다. 게다가,
연관된 인터페이스 스텁 및 프록시 소스 파일을 빌드하고 이름을 지정합니다.
.idl 파일의 기본 이름에 따라. 예를 들어,

env.TypeLibrary(source="foo.idl")

foo.tlb, foo.h, foo_i.c, foo_p.c 및 foo_data.c 파일을 생성합니다.

UIC(), 환경.Uic()
ui 파일에서 헤더 파일, 구현 파일 및 moc 파일을 빌드합니다. 그리고
위의 순서대로 해당 노드를 반환합니다. 이 빌더만 사용할 수 있습니다.
'qt' 도구를 사용한 후. 참고: .ui 파일을 소스 파일로 직접 지정할 수 있습니다.
전에, 프로그램, 도서관 그리고 공유 라이브러리 이 빌더를 사용하지 않는 빌더. 이것을 사용하여
빌더를 사용하면 표준 명명 규칙을 무시할 수 있습니다(주의: 접두사는
항상 빌드된 파일 이름 앞에 붙습니다. 접두사를 원하지 않으면 설정할 수 있습니다.
``)에. 참조 $QTDIR 자세한 내용은 변수를 참조하십시오. 예시:

env.Uic('foo.ui') # -> ['foo.h', 'uic_foo.cc', 'moc_foo.cc']
env.Uic(대상 = 분할('include/foo.h gen/uicfoo.cc gen/mocfoo.cc'),
소스 = 'foo.ui') # -> ['include/foo.h', 'gen/uicfoo.cc', 'gen/mocfoo.cc']

지퍼(), 환경.Zip()
지정된 파일 및/또는 디렉터리의 zip 아카이브를 구축합니다. 대부분의 건축업자와는 달리
방법, 지퍼 빌더 메소드는 특정 대상에 대해 여러 번 호출될 수 있습니다. 각
추가 호출은 아카이브에 구축될 항목 목록에 추가됩니다. 어느
소스 디렉토리는 디스크에 있는 모든 파일의 변경 사항을 검색합니다.
scons가 다른 Builder 또는 함수 호출을 통해 이에 대해 알고 있는지 여부.

env.Zip('src.zip', 'src')

# stuff.zip 파일을 생성합니다.
env.Zip('stuff', ['subdir1', 'subdir2'])
# 또한 stuff.tar 파일에 "another"를 추가합니다.
env.Zip('물건', '다른')

빌더 메소드의 모든 대상은 자동으로 해당 소스에 따라 달라집니다. 명시적인
종속성은 다음을 사용하여 지정할 수 있습니다. 따라 다름 건설 환경 방법(참조:
아래).

또한, 스콘 다양한 프로그래밍 언어에 대한 소스 파일을 자동으로 검색하므로
종속성을 명시적으로 지정할 필요는 없습니다. 기본적으로 SCons는 C 소스를 사용할 수 있습니다.
파일, C++ 소스 파일, Fortran 소스 파일 .F (POSIX 시스템에만 해당), .fpp, or .FPP
파일 확장자 및 어셈블리 언어 파일 .S (POSIX 시스템에만 해당), .spp, or .SPP
C 전처리기 종속성에 대한 파일 확장자입니다. SCons는 또한 다음을 기본적으로 지원합니다.
D 소스 파일을 스캔하고, 자체 스캐너를 작성하여 지원을 추가할 수도 있습니다.
추가 소스 파일 형식. 이는 다음에서 사용하는 기본 Scanner 객체에 추가될 수 있습니다.
목적(), 정적 개체(), 그리고 공유 객체() 빌더를
소스파일스캐너 물체. 자세한 내용은 아래 "스캐너 개체" 섹션을 참조하세요.
자신만의 Scanner 객체를 정의하고 사용하는 방법에 대해 소스파일스캐너 목적.

행동 양식 그리고 기능 Do 것들
Builder 메소드 외에도 스콘 그 외 다양한 구축 환경을 제공합니다.
빌드 구성을 조작하는 메서드 및 전역 함수입니다.

일반적으로 구축 환경 메소드와 전역 함수는 모두 동일한 이름을 가집니다.
특정 기능이 필요한지 여부를 기억할 필요가 없도록 존재합니다.
구성 환경 유무에 관계없이 호출됩니다. 다음 목록에서 전화를 걸면
전역 함수로서 다음과 같습니다.

기능(인수)

구성 환경을 통해 무언가를 호출하면 다음과 같습니다.

env.함수(인수)

두 가지 방법으로 기능을 호출할 수 있는 경우 두 가지 양식이 모두 나열됩니다.

전역 함수는 사용자 정의 Python 모듈에서 호출될 수 있습니다.
Python 모듈에 다음을 추가하여 SConscript 파일을 만듭니다.

SCons.Script에서 가져오기 *

달리 명시하지 않는 한, 동일한 이름의 건설 환경 방법 및 글로벌
기능은 완전히 동일한 기능을 제공합니다. 유일한 차이점은 다음과 같습니다.
적절하다면 구성 환경을 통해 기능을 호출하는 것이 대체됩니다.
생성 변수를 제공된 문자열로 변환합니다. 예를 들어:

환경 = 환경(FOO = 'foo')
기본값('$FOO')
env.Default('$FOO')

위의 예에서 전역에 대한 첫 번째 호출은 기본() 함수는 실제로
명명된 대상 $FOO 기본 대상 목록에 대한 두 번째 호출은
환경.기본() 건설 환경 메소드는 값을 확장하고 이름이 지정된 대상을 추가합니다.
기본 대상 목록으로 이동합니다. 구성 변수 확장에 대한 자세한 내용은 다음을 참조하세요.
구성 변수에 대한 다음 섹션.

구축 환경 방식 및 글로벌 기능 지원 스콘 과 같습니다 :

Action(action, [cmd/str/fun, [var, ...]] [option=value, ...]), env.Action(action,
[cmd/str/fun, [var, ...]] [옵션=값, ...])
지정된 Action 객체를 생성합니다. 동작. "작업 개체" 섹션을 참조하세요.
인수와 동작에 대한 완전한 설명은 아래를 참조하세요.

참고로 env.액션() 호출 형식은 구성 변수를 확장합니다.
다음을 포함한 모든 인수 문자열에서 동작 인수, 당시에는 다음을 사용하여 호출됩니다.
구성 변수 환경 이를 통해 건설 환경
env.액션()를 불렀습니다. 그만큼 동작() 형식은 모든 변수 확장을 지연시킵니다.
Action 객체가 실제로 사용됩니다.

AddMethod(객체, 함수, [이름]), env.AddMethod(함수, [이름])
로 호출될 때 Add메소드() 양식에 지정된 내용을 추가합니다. 기능 지정된에
대상 지정된 방법으로 name. 다음과 같이 호출할 때 env.Add메소드() 형식, 추가
지정된 기능 건축환경까지 환경 지정된 방법으로
name. 두 경우 모두, 만약 name 생략되거나 None, 지정된 이름 기능
자체가 메소드 이름으로 사용됩니다.

예 :

# 함수의 첫 번째 인수는
# 메소드로 첨부되어야 하는 것은 객체를 통해서여야 합니다.
# 메소드가 호출될 위치; 파이썬
# 관례는 그것을 'self'라고 부르는 것입니다.
def my_method(self, arg):
"my_method() got" 인쇄, arg

# 메서드를 추가하려면 전역 AddMethod() 함수를 사용하세요.
# 환경 클래스에. 이것
AddMethod(환경, my_method)
환경 = 환경()
env.my_method('arg')

# 함수를 사용하여 함수를 메서드로 추가합니다.
# 메소드 호출의 이름입니다.
환경 = 환경()
env.AddMethod(my_method, 'other_method_name')
env.other_method_name('다른 인수')

AddOption(인수)
이 함수는 인식할 새로운 명령줄 옵션을 추가합니다. 지정된 인수
표준 Python에서 지원하는 것과 동일합니다. optparse.add_option() 메소드(
아래에 언급된 몇 가지 추가 기능) optparse에 대한 문서를 참조하십시오.
옵션 처리 능력에 대해 철저히 논의합니다.

에서 지원하는 인수 및 값 외에도 optparse.add_option() 방법,
SCons 옵션 추가 함수를 사용하면 nargs 키워드 값을 '?'로 설정할 수 있습니다. (ㅏ
물음표만 있는 문자열)은 지정된 긴 옵션이 있음을 나타냅니다.
가져가다 optional 논쟁. nargs = '?'일 때 에 전달됩니다 옵션 추가 기능,
const 키워드 인수는 "기본" 값을 제공하는 데 사용될 수 있습니다.
명시적인 인수 없이 명령줄에 옵션을 지정한 경우에 사용됩니다.

호출 시 default= 키워드 인수가 제공되지 않은 경우 옵션 추가, 옵션은
기본값은 없음입니다.

새로운 명령줄 옵션이 추가되면 옵션 추가, 옵션 값은
다음을 사용하여 액세스 GetOption or env.GetOption(). 다음을 사용하여 값을 설정할 수도 있습니다.
옵션 설정 or env.SetOption(), SConscript의 조건에서 재정의가 필요한 경우
기본값. 그러나 명령줄에 지정된 값은 항상
SConscript 파일에서 설정된 값을 재정의합니다.

새 옵션에 대해 지정된 help= 문자열은 다음과 같이 표시됩니다. -H or -h
옵션(후자는 SConscript 파일에 다른 도움말 텍스트가 지정되지 않은 경우에만 해당)
다음으로 지정된 로컬 옵션에 대한 도움말 텍스트 옵션 추가 SCons 아래에 나타납니다
옵션 자체는 별도의 로컬 옵션 제목 아래에 있습니다. 옵션이 다음에 나타납니다.
도움말 텍스트가 표시된 순서대로 옵션 추가 통화가 발생합니다.

예:

AddOption('--접두사',
dest='접두사',
nargs=1, 유형='문자열',
액션='저장',
메타바르='DIR',
help='설치 접두사')
env = 환경(PREFIX = GetOption('접두사'))

AddPostAction(대상, 작업), env.AddPostAction(대상, 작업)
지정된 것을 준비합니다. 동작 지정된 후에 수행됩니다. 목표 있다
세워짐. 지정된 작업은 Action 개체이거나 다음과 같은 개체일 수 있습니다.
Action 객체로 변환됩니다(아래 참조).

여러 대상이 제공되면 작업이 여러 번 호출될 수 있습니다.
목록에서 하나 이상의 대상을 생성하는 각 작업 뒤에.

AddPreAction(대상, 작업), env.AddPreAction(대상, 작업)
지정된 것을 준비합니다. 동작 지정된 시간 이전에 수행되어야 함 목표 is
세워짐. 지정된 작업은 Action 개체이거나 다음과 같은 개체일 수 있습니다.
Action 객체로 변환됩니다(아래 참조).

여러 대상이 지정되면 작업이 여러 번 호출될 수 있습니다.
목록에서 하나 이상의 대상을 생성하는 각 작업 앞에.

대상 중 하나가 여러 단계로 빌드된 경우 작업은 다음과 같습니다.
지정된 것을 구체적으로 생성하는 "최종" 작업 직전에 호출됩니다.
목표. 예를 들어, 지정된 소스 .c에서 실행 가능한 프로그램을 빌드하는 경우
중간 개체 파일을 통한 파일:

foo = 프로그램('foo.c')
AddPreAction(foo, 'pre_action')

지정된 pre_action은 scons가 link 명령을 호출하기 전에 실행됩니다.
foo.c를 컴파일하기 전이 아니라 실제로 실행 프로그램 바이너리 foo를 생성합니다.
파일을 객체 파일로 변환합니다.

Alias(별칭, [대상, [작업]]), env.Alias(별칭, [대상, [작업]])
하나 이상의 다른 대상으로 확장되는 하나 이상의 가짜 대상을 만듭니다. 안
optional 동작 (명령) 또는 실행될 작업 목록을 지정할 수 있습니다.
별칭 대상이 최신이 아닐 때마다. 노드 객체를 반환합니다.
파일 시스템 외부에 존재하는 별칭을 나타냅니다. 이 노드 객체 또는
별칭 이름은 다른 대상을 포함하여 다른 대상의 종속성으로 사용될 수 있습니다.
별명. 별명 추가 추가를 위해 동일한 별칭에 대해 여러 번 호출할 수 있습니다.
별칭을 대상으로 하거나 이 별칭 목록에 추가 작업을 수행할 수 있습니다.

예 :

별칭('설치')
별칭('설치', '/ usr / bin')
Alias(['install', 'install-lib'], '/ usr / local / lib')

env.Alias('설치', ['/ usr / local / bin','/ usr / local / lib'])
env.Alias('설치', ['/ usr / 지역 / 사람'])

env.Alias('업데이트', ['file1', 'file2'], "update_database $SOURCES")

AllowSubstExceptions([예외, ...])
구성 변수를 확장할 때 허용되는 예외를 지정합니다.
기본적으로 NameError 또는
IndexError 예외는 ''(널 문자열)로 확장되며 scons 실패를 유발하지 않습니다.
지정된 목록에 없는 모든 예외는 오류 메시지를 생성하고 종료됩니다.
처리.

If AllowSubstExceptions 여러 번 호출되면 호출할 때마다 해당 항목을 완전히 덮어씁니다.
허용된 예외의 이전 목록.

예:

# 모든 구성 변수 이름이 존재해야 합니다.
# (엄격하게 시행하고 싶다면 이렇게 할 수도 있습니다.
# 모든 구성 변수는 사용하기 전에 정의되어야 합니다.)
AllowSubstExceptions()

# XNUMX분할 확장을 포함하는 문자열도 허용합니다.
# ''로 평가하려면 '${1 / 0}'과 같습니다.
AllowSubstExceptions(IndexError, NameError, ZeroDivisionError)

AlwaysBuild(대상, ...), env.AlwaysBuild(대상, ...)
각각 주어진 마크 목표 그래서 항상 오래된 것으로 간주됩니다.
필요한 경우 항상 재구축하세요. 그러나 참고하세요 항상빌드 그것을 추가하지 않습니다
대상을 기본 대상 목록에 추가하므로 대상은 다음과 같은 경우에만 빌드됩니다.
명령줄에 지정되었거나 명령에 지정된 대상에 종속됩니다.
라인-하지만 그들은 그럴 것이다 항상 지정된 경우 빌드됩니다. 여러 대상을 전달할 수 있습니다.
단일 호출에 항상빌드.

env.Append(key=val, [...])
지정된 키워드 인수를 구성 변수의 끝에 추가합니다.
환경. 환경에 지정된 구성 변수가 없으면
단순히 환경에 추가됩니다. 구성 변수의 값과
키워드 인수가 동일한 유형인 경우 두 값은 단순히 함께 추가됩니다.
그렇지 않으면 구성 변수와 키워드 인수의 값이 모두
목록으로 강제 변환되고 목록이 함께 추가됩니다. (Prepend 메서드도 참조하세요.
이하.)

예:

env.Append(CCFLAGS = ' -g', FOO = ['foo.yyy'])

env.AppendENVPath(name, newpath, [envname, sep, delete_existing])
지정된 외부 환경의 지정된 경로에 새 경로 요소를 추가합니다.
(기본적으로 ENV). 이렇게 하면 특정 경로가 한 번만 추가됩니다(마지막 경로는 그대로 둡니다).
경로 순서를 유지하기 위해), 이를 보장하기 위해
모든 경로를 정규화합니다(사용하여 os.path.normpath 그리고 os.path.normcase). 이것은 또한
주어진 이전 경로 변수가 문자열 대신 목록인 경우를 처리합니다.
이 경우 문자열 대신 목록이 반환됩니다.

If 삭제_기존 0인 경우 이미 존재하는 경로를 추가해도 경로가 다음으로 이동되지 않습니다.
끝; 목록에 있는 위치에 그대로 유지됩니다.

예:

'이전:',env['ENV']['INCLUDE']를 인쇄합니다.
include_path = '/foo/bar:/foo'
env.AppendENVPath('INCLUDE', include_path)
'after:',env['ENV']['INCLUDE']를 인쇄합니다.

수율 :
이전: /foo:/biz
이후: /biz:/foo/bar:/foo

env.AppendUnique(key=val, [...], delete_existing=0)
지정된 키워드 인수를 구성 변수의 끝에 추가합니다.
환경. 환경에 지정된 구성 변수가 없으면
단순히 환경에 추가됩니다. 추가되는 구성 변수가 다음과 같은 경우
목록이면 구성 변수에 이미 존재하는 모든 값은 지원 be
목록에 다시 추가되었습니다. 그러나 delete_existing이 1인 경우 기존 일치 값은
먼저 제거되므로 인수 목록의 기존 값이 목록의 끝으로 이동됩니다.

예:

env.AppendUnique(CCFLAGS = '-g', FOO = ['foo.yyy'])

env.비트키퍼()
소스 파일을 가져오는 데 사용할 Builder 객체를 반환하는 팩토리 함수
비트키퍼를 사용합니다. 반환된 빌더는 소스 코드
기능.

이 기능은 더 이상 사용되지 않습니다. 자세한 내용은 해당 항목을 참조하세요. 소스 코드 기능.

예:

env.SourceCode('.', env.BitKeeper())

BuildDir(build_dir, src_dir, [중복]), env.BuildDir(build_dir, src_dir, [중복])
더 이상 사용되지 않는 동의어 변형 디렉토리 그리고 env.VariantDir(). NS 빌드_디렉터리 논의
된다 변형_디렉터리 인수 변형 디렉토리 or env.VariantDir().

Builder(작업, [인수]), env.Builder(작업, [인수])
지정된에 대한 Builder 객체를 생성합니다. 동작. "빌더 개체" 섹션을 참조하세요.
인수와 동작에 대한 완전한 설명은 아래를 참조하세요.

참고로 env.Builder() 호출 형식은 구성 변수를 확장합니다.
다음을 포함한 모든 인수 문자열에서 동작 인수, 당시에는 호출되었습니다.
구성 변수를 사용하여 환경 이를 통해 건설 환경
env.Builder()를 불렀습니다. 그만큼 건축업자 양식은 이후까지 모든 변수 확장을 지연합니다.
Builder 개체가 실제로 호출됩니다.

CacheDir(cache_dir), env.CacheDir(cache_dir)
scons가 파생된 파일의 캐시를 유지하도록 지정합니다. 캐시 디렉토리. 파생된
캐시에 있는 파일은 동일한 빌드를 사용하는 모든 빌드에서 공유됩니다. 캐시 디렉터리 요구.
지정 캐시 디렉토리 of None은 파생된 파일 캐싱을 비활성화합니다.

호출 env.CacheDir()는 지정된 방법을 통해 구축된 대상에만 영향을 미칩니다.
건설 환경. 부름 캐시 디렉터리 다음에 의해 사용될 전역 기본값을 설정합니다.
다음과 같은 건설 환경을 통해 구축된 모든 타겟 지원 에게이 env.CacheDir()
지정되었습니다.

캐시 디렉터리()가 사용되고 있으며 scons는 필요한 파생 파일을 찾습니다.
재구축되면 먼저 캐시를 조사하여 파생 파일이 이미 있는지 확인합니다.
동일한 입력 파일과 동일한 빌드 작업으로 빌드됨(
MD5 빌드 서명). 그렇다면 scons는 캐시에서 파일을 검색합니다. 만약
파생된 파일이 캐시에 없으면 scons가 해당 파일을 다시 빌드한 다음 복사본을 배치합니다.
MD5 빌드 서명으로 식별되는 캐시에 빌드된 파일을 저장합니다.
동일한 파생 파일을 빌드해야 하는 다른 빌드에서 검색할 수 있습니다.
입력.

지정된 사용 캐시 디렉터리 다음을 사용하여 모든 호출에 대해 비활성화할 수 있습니다.
--캐시 비활성화 옵션을 선택합니다.

경우 --캐시-포스 옵션이 사용되면 scons는 모든 파생된 파일
캐시가 이미 존재하고 이 호출로 빌드되지 않은 경우에도 마찬가지입니다. 이것은
처음으로 캐시를 채우는 데 유용합니다. 캐시 디렉터리 빌드에 추가되거나 사용 후
전에, --캐시 비활성화 옵션을 선택합니다.

사용시 캐시 디렉터리, scons는 "캐시에서 '파일'을 검색했습니다."라고 보고합니다.
--캐시 쇼 옵션이 사용되고 있습니다. 때 --캐시 쇼 옵션이 사용되면 scons는
해당 작업을 인쇄합니다. 겠지 아무 표시 없이 파일을 빌드하는 데 사용되었습니다.
파일이 실제로 캐시에서 검색되었음을 나타냅니다. 이는 빌드를 생성하는 데 유용합니다.
주어진 파생 파일이 빌드되었는지 여부에 관계없이 동일한 로그
현재 위치에서 또는 캐시에서 검색됩니다.

The 캐시 없음 메서드를 사용하여 특정 파일의 캐싱을 비활성화할 수 있습니다. 이것은 될 수있다
일부 도구의 입력 및/또는 출력을 예측할 수 없거나 예측할 수 없는 경우 유용합니다.
엄청나게 크다.

Clean(대상, files_or_dirs), env.Clean(대상, files_or_dirs)
이는 다음 작업이 수행될 때마다 제거되어야 하는 파일 또는 디렉터리 목록을 지정합니다.
대상은 다음과 같이 지정됩니다. -c 명령줄 옵션. 지정된 대상은 다음과 같을 수 있습니다.
목록 또는 개별 대상. 여러 번 호출 깨끗한 합법적이고 새로운 것을 만듭니다
대상을 지정하거나 지정된 대상에 대한 정리 목록에 파일 및 디렉터리를 추가합니다.

여러 파일이나 디렉터리는 별도의 인수로 지정되어야 합니다.
깨끗한 방법 또는 목록으로. 깨끗한 또한 다음 중 하나의 반환 값을 허용합니다.
건설 환경 빌더 방법. 예:

관련 노클린 함수가 호출을 재정의함 깨끗한 동일한 대상에 대해
두 함수에 전달된 대상은 지원 에 의해 제거되다 -c 옵션을 선택합니다.

예 :

Clean('foo', ['bar', 'baz'])
Clean('dist', env.Program('hello', 'hello.c'))
Clean(['foo', 'bar'], 'something_else_to_clean')

이 예에서 프로젝트를 설치하면 문서용 하위 디렉터리가 생성됩니다.
이 문을 사용하면 프로젝트가 제거되면 하위 디렉터리가 제거됩니다.

Clean(docdir, os.path.join(docdir, 프로젝트 이름))

env.Clone([key=val, ...])
구성 환경의 별도 복사본을 반환합니다. 키워드가 있다면
지정된 인수는 반환된 복사본에 추가되어 기존 항목을 덮어씁니다.
키워드의 값입니다.

예:

env2 = env.Clone()
env3 = env.Clone(CCFLAGS = '-g')

또한 환경에서와 같이 도구 목록과 도구 경로를 지정할 수 있습니다.
건설자:

def MyTool(env): env['FOO'] = 'bar'
env4 = env.Clone(tools = ['msvc', MyTool])

The 파싱_플래그 키워드 인자도 인식됩니다:

# wxWidgets를 사용하는 프로그램을 컴파일하기 위한 환경을 만듭니다.
wx_env = env.Clone(parse_flags = '!wx-config --cflags --cxxflags')

Command(대상, 소스, 작업, [key=val, ...]), env.Command(대상, 소스, 작업,
[키=발, ...])
특정 작업(또는 작업 목록)을 실행하여 대상 파일을 빌드합니다. 이것
단일 특수 사례에 대해 별도의 Builder 객체를 정의하는 것보다 더 편리합니다.
짓다.

특별한 경우로서, 소스_스캐너 키워드 인수를 사용하여 지정할 수 있습니다.
소스를 스캔하는 데 사용될 스캐너 개체입니다. (전역 DirScanner 개체
소스 중 하나라도 디스크에서 검색해야 하는 디렉터리인 경우 사용할 수 있습니다.
다른 함수 호출 빌더에서 아직 지정되지 않은 파일로 변경됩니다.)

지정된 다른 키워드 인수는 동일한 이름의 기존 구성을 재정의합니다.
변수.

작업은 문자열로 지정된 외부 명령이거나 호출 가능한 Python일 수 있습니다.
물체; 자세한 내용은 아래 "작업 개체"를 참조하세요. 또한
외부 명령을 지정하는 문자열 앞에는 @(at-부호)가 올 수 있습니다.
문제의 명령을 인쇄하거나 -(하이픈)을 사용하여 종료 상태를 무시합니다.
외부 명령.

예 :

env.Command('foo.out', 'foo.in',
"$FOO_BUILD < $SOURCES > $TARGET")

env.Command('bar.out', 'bar.in',
["rm -f $TARGET",
"$BAR_BUILD < $SOURCES > $TARGET"],
ENV = {'경로' : '/ usr / local / bin /'})

def 이름 바꾸기(환경, 대상, 소스):
운영 체제 가져 오기
os.rename('.tmp', str(target[0]))

env.Command('baz.out', 'baz.in',
["$BAZ_BUILD < $SOURCES > .tmp",
이름 바꾸기])

참고로 Command 함수는 일반적으로 기본적으로 지정된
구성의 다른 부분에서 식별할 수 없는 경우 대상 및/또는 소스는 파일입니다.
어떤 종류의 항목인지. 필요한 경우 해당 대상을 명시적으로 지정할 수 있습니다.
소스 노드는 다음을 사용하여 디렉터리로 처리되어야 합니다. 디렉토리 or 환경.디렉터리()
기능.

예 :

env.Command('ddd.list', Dir('ddd'), 'ls -l $SOURCE > $TARGET')

env['DISTDIR'] = '대상/디렉토리'
env.Command(env.Dir('$DISTDIR')), 없음, make_distdir)

(또한 SCons는 일반적으로 다음 작업에 필요한 디렉터리를 자동으로 생성합니다.
대상 파일을 보관하므로 일반적으로 직접 디렉터리를 만들 필요가 없습니다.)

구성(env, [custom_tests, conf_dir, log_file, config_h]), env.Configure([custom_tests,
conf_dir, log_file, config_h])
GNU autoconf와 유사한 통합 기능을 위한 구성 개체를 만듭니다. 보다
인수에 대한 전체 설명은 아래의 "컨텍스트 구성" 섹션을 참조하세요.
그리고 행동.

env.Copy([key=val, ...])
현재는 더 이상 사용되지 않는 동의어 env.Clone().

env.CVS(저장소, 모듈)
소스 파일을 가져오는 데 사용할 Builder 객체를 반환하는 팩토리 함수
지정된 CVS 저장소. 반환된 빌더는
소스 코드 기능.

이 기능은 더 이상 사용되지 않습니다. 자세한 내용은 해당 항목을 참조하세요. 소스 코드 기능.

지정된 선택 사항 모듈 모든 저장소 경로의 시작 부분에 추가됩니다
이름; 이는 본질적으로 파일에서 초기 디렉토리 이름을 제거하는 데 사용될 수 있습니다.
저장소 경로 이름(저장소의 일부만 복제하면 됨)
로컬 빌드 디렉터리의 디렉터리 계층 구조입니다.

예 :

# foo/bar/src.c를 가져올 것입니다.
# /usr/local/CVSROOT/foo/bar/src.c에서.
env.SourceCode('.', env.CVS('/usr/local/CVSROOT'))

# bar/src.c를 가져올 것입니다.
# /usr/local/CVSROOT/foo/bar/src.c에서.
env.SourceCode('.', env.CVS('/usr/local/CVSROOT', 'foo'))

# src.c를 가져옵니다
# /usr/local/CVSROOT/foo/bar/src.c에서.
env.SourceCode('.', env.CVS('/usr/local/CVSROOT', 'foo/bar'))

Decider(함수), env.Decider(함수)
이 구성을 통해 구축된 대상에 대한 모든 최신 결정을 지정합니다.
환경은 지정된에 의해 처리됩니다 기능. 그만큼 기능 다음 중 하나일 수 있습니다.
수행할 결정 기능의 유형을 지정하는 다음 문자열:

타임스탬프-최신
다음과 같은 경우 대상이 오래된 것으로 간주되어 재구축되도록 지정합니다.
종속성의 타임스탬프가 대상 파일의 타임스탬프보다 최신입니다. 이것이
고전적인 Make 유틸리티의 동작이며 make는 다음과 동의어로 사용될 수 있습니다.
타임스탬프-최신.

타임스탬프 일치
다음과 같은 경우 대상이 오래된 것으로 간주되어 재구축되도록 지정합니다.
종속성의 타임스탬프가 마지막으로 기록된 타임스탬프와 다릅니다.
목표가 세워졌습니다. 이는 기존 Make 유틸리티와 매우 유사한 동작을 제공합니다.
(특히 파일 내용을 체크섬할 수 있도록 열지 않습니다.)
단, 종속성 파일이 복원된 경우 대상도 다시 빌드됩니다.
버전으로 이전 파일을 복원할 때 발생할 수 있는 타임스탬프
백업 아카이브에서.

MD5
다음과 같은 경우 대상이 오래된 것으로 간주되어 재구축되도록 지정합니다.
종속성의 내용은 대상이 마지막으로 빌드되었을 때 변경되었습니다.
종속성 내용에 대해 MD5 체크섬을 수행하기로 결정했으며
이를 타겟이 마지막으로 구축되었을 때 기록된 체크섬과 비교합니다. 콘텐츠
MD5의 동의어로 사용될 수 있습니다.

MD5 타임스탬프
다음과 같은 경우 대상이 오래된 것으로 간주되어 재구축되도록 지정합니다.
종속성의 내용은 타겟이 마지막으로 빌드되었을 때 사인이 변경되었습니다. 단, 다음은 제외됩니다.
대상이 마지막으로 실행된 시간과 일치하는 타임스탬프와의 종속성
재구축된 것은 최신 상태로 간주되며 지원 재건. 이는 동작을 제공합니다.
항상 파일 내용을 체크섬하는 MD5 동작과 매우 유사합니다.
타임스탬프가 없는 파일의 내용을 확인하지 않는 최적화
변경되었습니다. 단점은 SCons가 지원 파일의 내용이 있는지 감지
변경되었지만 타임스탬프는 동일합니다. 자동화된 스크립트에서 발생할 수 있는 것과 같습니다.
단일 내에서 빌드를 실행하고, 파일을 업데이트하고, 빌드를 다시 실행합니다.
둘째.

예 :

# 기본적으로 정확한 타임스탬프 일치를 사용합니다.
Decider('타임스탬프 일치')

# 빌드된 모든 대상에 대해 MD5 콘텐츠 서명을 사용합니다.
# 첨부된 구축 환경과 함께.
env.Decider('콘텐츠')

위에서 이미 사용 가능한 기능 외에도 기능 인수는
다음 세 가지 인수를 취하는 실제 Python 함수:

의존
다음을 발생시켜야 하는 노드(파일) 목표 "변경"된 경우 재구축
저번부터 목표 지어졌다.

목표
빌드 중인 노드(파일)입니다. 일반적인 경우에는 이를 다시 빌드해야 합니다.
경우 의존 "변경"되었습니다.

prev_ni
상태에 대한 저장된 정보 의존 지난번에는 목표 였다
세워짐. 이는 다음과 같은 다양한 파일 특성에 맞게 상담될 수 있습니다.
타임스탬프, 크기 또는 콘텐츠 서명.

The 기능 다음과 같은 경우 True(XNUMX이 아닌) 값을 반환해야 합니다. 의존 "변했다"
지난번 이후로 목표 구축되었습니다(대상이 영상을 be
재구축됨), 그렇지 않으면 False(XNUMX)입니다(대상이 재구축되어야 함을 나타냄). 지원 be
재건). 적절한 기준을 사용하여 결정을 내릴 수 있습니다.
함수 인수 중 일부 또는 전부를 무시하는 것은 완전히 정상입니다.

예:

def my_decider(종속성, 대상, prev_ni):
os.path.exists(str(target))가 아닌 반환

환경 결정자(내_결정자)

기본값(대상), env.Default(대상)
이는 명시적이지 않은 경우 scons에 의해 구축될 기본 대상 목록을 지정합니다.
대상은 명령줄에 제공됩니다. 여러 번 호출 태만 합법적이며 다음에 추가하십시오.
기본 대상 목록입니다.

여러 대상은 별도의 인수로 지정되어야 합니다. 태만 방법, 또는
목록으로. 태만 또한 구성에 의해 반환된 노드를 수락합니다.
환경의 빌더 메소드.

예 :

기본값('foo', 'bar', 'baz')
env.Default(['a', 'b', 'c'])
안녕하세요 = env.Program('hello', 'hello.c')
env.Default(안녕하세요)

에 대한 주장 태만 없음은 모든 기본 대상을 지웁니다. 나중에 전화 태만
평소와 같이 (현재 비어 있는) 기본 대상 목록에 추가됩니다.

현재 추가된 대상 목록은 태만 함수나 메서드를 사용할 수 있는 경우
DEFAULT_TARGETS 목록; 아래를 참조하세요.

기본환경([args])
기본 구성 환경 객체를 생성하고 반환합니다. 이 공사
환경은 많은 글로벌 작업을 실행하기 위해 SCons에서 내부적으로 사용됩니다.
이 목록의 함수를 사용하고 소스 코드에서 투명하게 소스 파일을 가져옵니다.
관리 시스템.

종속(대상, 종속성), env.Depends(대상, 종속성)
명시적 종속성을 지정합니다. 그만큼 목표 언제든지 재건될 것입니다. 의존
변경되었습니다. 둘 다 지정된 목표 그리고 의존 문자열일 수 있습니다(일반적으로
파일이나 디렉터리의 경로 이름), Node 개체, 문자열 목록 또는 Node
객체(예: Builder 호출에 의해 반환됨) 이는 경우에만 필요합니다.
파일에 대한 스캐너가 종속성을 포착하지 못하는 경우.

예:

env.Depends('foo', 'other-input-file-for-foo')

mylib = env.Library('mylib.c')
install_lib = env.Install('lib', mylib)
bar = env.Program('bar.c')

# 설치에 복사할 라이브러리를 준비합니다.
# "bar" 프로그램을 빌드하기 전에 디렉토리.
# (이것은 단지 예일 뿐이라는 점에 유의하십시오. "실제" 라이브러리
# 종속성은 일반적으로 $LIBS를 통해 구성됩니다.
# 및 $LIBPATH 변수, env.Depends() 호출을 사용하지 않음)

env.Depends(bar,installed_lib)

env.Dictionary([vars])
모든 구성 변수의 복사본을 포함하는 사전 객체를 반환합니다.
환경. 지정된 변수 이름이 있는 경우 지정된 변수 이름만
구성 변수는 사전에 반환됩니다.

예:

dict = env.Dictionary()
cc_dict = env.Dictionary('CC', 'CCFLAGS', 'CCCOM')

Dir(이름, [디렉터리]), env.Dir(이름, [디렉터리])
이는 지정된 디렉토리를 나타내는 객체인 디렉토리 노드를 반환합니다. name.
name 상대 경로 또는 절대 경로일 수 있습니다. 예배 규칙서 선택적인 디렉토리입니다.
상위 디렉토리로 사용됩니다. 그렇지 않은 경우 예배 규칙서 지정되면 현재 스크립트의
디렉토리는 상위로 사용됩니다.

If name SCons는 Dir 노드 목록을 반환합니다. 구성 변수는 다음과 같습니다.
확장됨 name.

디렉토리 노드는 문자열을 디렉토리 이름으로 제공하는 모든 곳에서 사용할 수 있습니다.
빌더 메소드 또는 함수. 디렉토리 노드에는 다음과 같은 속성과 메소드가 있습니다.
많은 상황에서 유용합니다. 아래의 "파일 및 디렉터리 노드"를 참조하세요.

env.Dump([키])
환경에 대한 인쇄 가능한 표현을 반환합니다. , 없음이 아닌 경우,
관심 있는 변수의 이름이 포함된 문자열이어야 합니다.

이 SConstruct:

env=환경()
env.Dump('CCCOM') 인쇄

인쇄됩니다 :

'$CC -c -o $TARGET $CCFLAGS $CPPFLAGS $_CPPPDEFFLAGS $_CPPINCFLAGS $SOURCES'

이 SConstruct 동안:

env=환경()
env.Dump()를 인쇄합니다.

인쇄됩니다 :

{ 'AR': 'AR',
'ARCOM': '$AR $ARFLAGS $TARGET $SOURCES\n$RANLIB $RANLIBFLAGS $TARGET',
'ARFLAGS': ['r'],
'AS': '로',
'ASCOM': '$AS $ASFLAGS -o $TARGET $SOURCES',
'ASFLAGS': [],
...

EnsurePythonVersion(주, 부), env.EnsurePythonVersion(주, 부)
Python 버전이 최소한인지 확인하십시오. 주요한.미성년자. 이 기능은 인쇄됩니다
실제 Python 버전인 경우 오류 메시지가 표시되고 XNUMX이 아닌 종료 코드로 SCons가 종료됩니다.
아직 늦지 않았습니다.

예:

EnachePythonVersion(2,2)

EnsureSConsVersion(주, 부, [개정]), env.EnsureSConsVersion(주, 부,
[개정])
SCons 버전이 최소한인지 확인하십시오. 메이저.마이너메이저.마이너.리비전. 만약
개정 지정됩니다. 이 함수는 오류 메시지를 인쇄하고 SCons를 종료합니다.
실제 SCons 버전이 충분히 늦지 않은 경우 XNUMX이 아닌 종료 코드를 사용합니다.

예 :

EnacheSConsVersion(0,14)

EnacheSConsVersion(0,96,90)

환경([키=값, ...]), env.Environment([키=값, ...])
지정된 값으로 초기화된 새 구성 환경을 반환합니다. =가치 한 쌍.

Execute(action, [strfunction, varlist]), env.Execute(action, [strfunction, varlist])
Action 객체를 실행합니다. 지정된 동작 Action 객체일 수 있습니다.
인수에 대한 전체 설명은 아래 "작업 개체" 섹션을 참조하세요.
동작) 또는 명령줄 문자열, 명령 목록 또는 실행 가능한 Python일 수 있습니다.
함수는 각각 Action 객체로 변환된 후 실행됩니다. 그만큼
명령의 종료 값 또는 Python 함수의 반환 값이 반환됩니다.

scons가 실행되면 오류 메시지가 인쇄됩니다. 동작 실패합니다. 즉,
XNUMX이 아닌 값으로 종료되거나 반환됩니다. 스콘은 그럴 것이다 지원그러나 자동으로
지정된 경우 빌드를 종료합니다. 동작 실패합니다. 빌드를 중지하려는 경우
실패에 대한 응답 실행하다 호출할 때 XNUMX이 아닌 반환이 있는지 명시적으로 확인해야 합니다.
값 :

실행(복사('file.out', 'file.in'))

if Execute("mkdir 하위/디렉터리/ectory"):
# mkdir이 실패했습니다. 빌드를 시도하지 마세요.
출구(1)

Exit([값]), env.Exit([값])
이는 scons에게 지정된 내용을 사용하여 즉시 종료하도록 지시합니다. 가치. 기본 종료 값은 다음과 같습니다.
값이 지정되지 않으면 0(영)이 사용됩니다.

내보내기(vars), env.Export(vars)
이는 scons에게 현재 SConscript 파일의 변수 목록을 모든 파일로 내보내도록 지시합니다.
다른 SConscript 파일. 내보낸 변수는 전역 컬렉션에 보관되므로
후속 호출 수출 이름이 같은 이전 내보내기를 덮어씁니다.
여러 변수 이름을 전달할 수 있습니다. 수출 별도의 인수 또는 목록으로.
키워드 인수를 사용하여 이름과 해당 값을 제공할 수 있습니다. 사전은 다음과 같습니다.
내보낼 때 변수를 다른 이름으로 매핑하는 데 사용됩니다. 지역변수와
전역 변수를 내보낼 수 있습니다.

예 :

환경 = 환경()
# Import()에 대한 모든 SConscript 파일에 env를 사용할 수 있도록 만듭니다.
내보내기("환경")

패키지 = 'my_name'
# 모든 SConscript 파일에 대해 env 및 패키지를 사용할 수 있도록 만듭니다.
내보내기("환경", "패키지")

# 모든 SConscript 파일에 대해 env 및 패키지를 사용할 수 있도록 만듭니다.
내보내기(["env", "패키지"])

# debug라는 이름을 사용하여 env를 사용 가능하게 만듭니다:
내보내기(디버그 = 환경)

# debug라는 이름을 사용하여 env를 사용 가능하게 만듭니다:
내보내기({"디버그":env})

참고로 징집병 기능 지원 수출 더 쉽게 만드는 주장
변수 또는 변수 세트를 단일 SConscript 파일로 내보냅니다. 참조
설명 징집병 기능, 아래.

File(이름, [디렉터리]), env.File(이름, [디렉터리])
이는 지정된 파일을 나타내는 객체인 파일 노드를 반환합니다. name. name
상대 경로 또는 절대 경로여야 합니다. 예배 규칙서 사용될 선택적 디렉토리입니다.
상위 디렉토리로.

If name 는 목록이고 SCons는 파일 노드 목록을 반환합니다. 구성 변수는 다음과 같습니다.
확장됨 name.

파일 노드는 빌더에 파일 이름으로 문자열을 제공하는 모든 곳에서 사용할 수 있습니다.
방법이나 기능. 파일 노드에는 많은 경우에 유용한 속성과 메서드가 있습니다.
상황; 아래의 "파일 및 디렉터리 노드"를 참조하세요.

FindFile(파일, 디렉토리), env.FindFile(파일, 디렉토리)
에 대한 검색 파일 지정된 경로에서 dirs. dirs 디렉토리 이름 목록일 수 있습니다.
또는 단일 디렉터리 이름. 존재하는 파일을 검색하는 것 외에도
파일 시스템에서 이 기능은 아직 검색되지 않은 파생 파일도 검색합니다.
세워짐.

예:

foo = env.FindFile('foo', ['dir1', 'dir2'])

FindInstalledFiles(), env.FindInstalledFiles()
에서 설정한 대상 목록을 반환합니다. 설치 or 다음으로 설치 건축업자.

이 기능은 바이너리의 내용을 선택하는 편리한 방법으로 사용됩니다.
패키지.

예:

설치하다( '/큰 상자', [ '실행 가능_a', '실행 가능_b' ] )

# 파일 노드 목록을 반환합니다
# [ '/bin/executable_a', '/bin/executable_b' ]
설치된파일찾기()

설치하다( '/ lib', [ '어떤_라이브러리' ] )

# 파일 노드 목록을 반환합니다
# [ '/bin/executable_a', '/bin/executable_b', '/lib/some_library' ]
설치된파일찾기()

FindPathDirs(변수)
다음으로 사용되도록 의도된 함수(실제로는 호출 가능한 Python 객체)를 반환합니다.
경로_기능 Scanner 객체의 반환된 개체는 지정된 항목을 조회합니다.
변수 건설 환경에서 건설 변수의 값을 다음과 같이 처리합니다.
검색해야 하는 디렉터리 경로 목록(예: $CPPPATH, $LIBPATH등).

의 사용에 유의하십시오. 경로찾기 일반적으로 직접 작성하는 것보다 낫습니다.
경로_기능 1) 반환된 목록에는 모든 항목이 포함됩니다.
소스 트리에서 적절한 디렉토리를 찾았습니다( 변형 디렉토리 사용됨) 또는 코드에서
리포지토리(언제 저장소 또는 -Y 옵션이 사용됩니다). 2) 스콘은 식별합니다
확장 변수 실제로는 동일한 디렉터리 목록으로 평가됩니다.
목록을 동일하게 유지하고 가능하면 디렉터리에서 파일을 다시 검색하지 마세요.

예:

def my_scan(노드, 환경, 경로, 인수):
# 파일 내용을 스캔하는 코드가 여기에 들어갑니다...
include_files 반환

scanner = 스캐너(이름 = 'myscanner',
함수 = my_scan,
path_function = FindPathDirs('MYPATH'))

FindSourceFiles(노드='"."'), env.FindSourceFiles(노드='"."')
빌드된 파일의 소스 역할을 하는 노드 목록을 반환합니다. 그렇게 함으로써
선택적 인수에서 시작하는 종속성 트리 검사 노드 기본값
'"."'-노드에. 그런 다음 다음의 모든 잎을 반환합니다. 노드. 이들은 모두 아이들이다
더 이상 자녀가 없습니다.

이 기능은 소스 패키지의 콘텐츠를 선택하는 편리한 방법입니다.

예:

프로그램( 'src/main_a.c' )
프로그램( 'src/main_b.c' )
프로그램( 'main_c.c' )

# ['main_c.c', 'src/main_a.c', 'SConstruct', 'src/main_b.c']를 반환합니다.
소스파일찾기()

# ['src/main_b.c', 'src/main_a.c' ]를 반환합니다.
소스파일찾기('src')

보시다시피 빌드 지원 파일(위 예에서는 SConstruct)도
이 함수에 의해 반환됩니다.

Flatten(시퀀스), env.Flatten(시퀀스)
중첩된 시퀀스를 포함할 수 있는 시퀀스(즉, Python 목록 또는 튜플)를 사용합니다.
모든 개별 요소를 포함하는 평면화된 목록을 반환합니다.
순서. 이는 빌더 호출로 반환된 목록을 수집하는 데 도움이 될 수 있습니다.
다른 빌더는 입력으로 지정된 목록을 자동으로 평면화하지만 직접 Python을 사용합니다.
이 목록을 조작하는 것은 아닙니다.

예 :

foo = 객체('foo.c')
bar = Object('bar.c')

# `foo'와 `bar'는 Object() Builder가 반환한 목록이기 때문에,
# `objects'는 중첩된 목록을 포함하는 목록이 됩니다:
객체 = ['f1.o', foo, 'f2.o', bar, 'f3.o']

# 이러한 목록을 다른 Builder에 전달하는 것은 괜찮습니다.
# 빌더는 자동으로 목록을 평면화합니다.
프로그램(출처=오브젝트)

# Python을 사용하여 목록을 직접 조작해야 하는 경우 다음을 수행해야 합니다.
# Flatten()을 직접 호출하거나 중첩된 목록을 처리합니다.
Flatten(객체)의 객체에 대해:
출력 str(객체)

GetBuild실패()
빌드를 시도하는 동안 실패한 작업에 대한 예외 목록을 반환합니다.
목표. 반환된 목록의 각 요소는 다음을 포함하는 BuildError 개체입니다.
빌드 실패의 다양한 측면을 기록하는 속성:

.node 빌드 실패가 발생했을 때 빌드 중이던 노드입니다.

.status 실패한 명령 또는 Python 함수에 의해 반환된 숫자 종료 상태입니다.
지정된 Node를 빌드하려고 할 때

.errstr 빌드 실패를 설명하는 SCons 오류 문자열입니다. (이것은 종종 일반적인 것입니다.
실행된 명령이 다음 상태로 종료되었음을 나타내는 "Error 2"와 같은 메시지
2.)

.filename 실제로 오류를 발생시킨 파일 또는 디렉터리의 이름입니다. 이건 아마
.node 속성과 달라야 합니다. 예를 들어 타겟을 빌드하려고 하면
sub/dir/target이라는 이름이 실패합니다. sub/dir 디렉터리를 생성할 수 없기 때문입니다.
.node 속성은 sub/dir/target이지만 .filename 속성은
하위/디렉터리.

.executor 구축 중인 대상 노드에 대한 SCons Executor 개체입니다. 이것은 사용될 수 있습니다
실패한 작업에 사용된 구성 환경을 검색합니다.

.action 실패한 실제 SCons 작업 개체입니다. 이것은 하나의 구체적인 행동이 될 것입니다
대상을 빌드하기 위해 실행되었을 수 있는 가능한 작업 목록에서 제외됩니다.

.command 확장 후 실행되고 실패한 실제 확장 명령입니다.
$TARGET, $소스및 기타 구성 변수.

참고로 GetBuildFailures 함수는 항상 빈 목록을 반환합니다.
빌드 실패가 발생했습니다. 이는 다음을 의미합니다. GetBuildFailures 항상
SConscript 파일을 읽는 동안 빈 목록입니다. 주요 용도는 다음과 같습니다.
SCons가 종료되기 전에 표준에 전달하여 실행될 함수
Python atexit.등록() 기능. 예:

수입 atexit

def print_build_failures():
SCons.Script에서 GetBuildFailures 가져오기
GetBuildFailures()의 bf에 대해:
"%s 실패: %s" %(bf.node, bf.errstr) 인쇄

atexit.register(print_build_failures)

GetBuildPath(파일, [...]), env.GetBuildPath(파일, [...])
지정된 스콘 ​​경로 이름(또는 이름들)을 반환합니다. 파일 (또는 파일). 그만큼
지정 파일 또는 파일은 경로 이름을 나타내는 scons 노드 또는 문자열일 수 있습니다.

GetLaunchDir(), env.GetLaunchDir()
처음에 scons가 있던 디렉토리의 절대 경로 이름을 반환합니다.
호출되었습니다. 이는 다음을 사용할 때 유용할 수 있습니다. -u, -U or -D 옵션은 내부적으로
SConstruct 파일이 있는 디렉터리로 변경합니다.

GetOption(이름), env.GetOption(이름)
이 함수는 scons 명령에 설정된 SCons 옵션 값을 쿼리하는 방법을 제공합니다.
라인(또는 옵션 설정 기능). 지원되는 옵션은 다음과 같습니다.

캐시_디버그
--cache-debug에 해당합니다.

캐시 비활성화
--cache-disable에 해당합니다.

캐시_포스
--cache-force에 해당합니다.

캐시쇼
--cache-show에 해당합니다.

황어 무리
이는 -c, --clean 및 --remove에 해당합니다.

설정
이는 --config에 해당합니다.

예배 규칙서
이는 -C 및 --directory에 해당합니다.

디스크 검사
--diskcheck에 해당

복제
이는 --duplicate에 해당합니다.

파일
이는 -f, --file, --makefile 및 --sconstruct에 해당합니다.

도움
이는 -h 및 --help에 해당합니다.

무시_오류
--ignore-errors에 해당합니다.

암시적_캐시
--implicit-cache에 해당합니다.

implicit_deps_changed
이는 --implicit-deps-changed에 해당합니다.

implicit_deps_unchanged
이는 --implicit-deps-unchanged에 해당합니다.

대화형
--interact 및 --interactive에 해당합니다.

계속_가다
이는 -k 및 --keep-going에 해당합니다.

최대 드리프트
--max-drift에 해당합니다.

no_exec
이는 -n, --no-exec, --just-print, --dry-run 및 --recon에 해당합니다.

no_site_dir
--no-site-dir에 해당합니다.

num_jobs
이는 -j 및 --jobs에 해당합니다.

프로필_파일
이는 --profile에 해당합니다.

문제
이는 -q 및 --question에 해당합니다.

닥치는대로의
이는 --random에 해당합니다.

저장소
이는 -Y, --repository 및 --srcdir에 해당합니다.

조용한
이는 -s, --silent 및 --quiet에 해당합니다.

site_dir
--site-dir에 해당합니다.

스택 크기
--stack-size에 해당합니다.

taskmastertrace_file
이는 --taskmastertrace에 해당합니다. 그리고

경고
이는 --warn 및 --warning에 해당합니다.

자세한 내용은 해당 명령줄 개체에 대한 설명서를 참조하세요.
각 특정 옵션.

Glob(패턴, [ondisk, 소스, 문자열, 제외]), env.Glob(패턴, [ondisk, 소스,
문자열, 제외])
지정된 것과 일치하는 노드(또는 문자열)를 반환합니다. 무늬, 디렉토리 기준
현재 SConscript 파일의 그만큼 env.Glob() 형식은 문자열 대체를 수행합니다.
무늬 결과 확장 패턴과 일치하는 항목을 반환합니다.

지정된 무늬 일치를 위해 Unix 쉘 스타일 메타 문자를 사용합니다.

* 모든 것과 일치
? 모든 단일 문자와 일치
[seq]는 seq의 모든 문자와 일치합니다.
[!seq]는 seq에 없는 모든 문자와 일치합니다.

파일 이름의 첫 번째 문자가 점인 경우 명시적으로 일치해야 합니다.
문자 일치는 지원 스팬 디렉터리 구분 기호.

The 글롭 저장소에 대해 알고 있습니다(참조: 저장소 함수) 및 소스 디렉터리
(참조 변형 디렉토리 함수)를 실행하고 노드(또는 그렇게 구성된 경우 문자열)를 반환합니다.
일치하는 노드가 해당 위치의 어느 곳에서든 발견된 경우 로컬(SConscript) 디렉터리
저장소 또는 소스 디렉터리.

The 디스크에 인수를 False(또는 true가 아닌 다른 값)로 설정하여 비활성화할 수 있습니다.
디스크에서 일치하는 항목을 검색하여 이미 구성된 항목 중에서 일치하는 항목만 반환합니다.
파일 또는 디렉터리 노드. 기본 동작은 모든 노드에 대해 해당 노드를 반환하는 것입니다.
디스크에서 일치하는 항목을 찾았습니다.

The 인수를 True(또는 동등한 값)로 설정하여 다음을 지정할 수 있습니다.
로컬 디렉토리는 변형 디렉토리, 반환된 노드는
로컬 디렉터리가 아닌 해당 소스 디렉터리입니다.

The 문자열 인수를 True(또는 이에 상응하는 값)로 설정하여 다음을 가질 수 있습니다. 글롭
함수는 일치하는 파일이나 디렉터리를 나타내는 노드가 아닌 문자열을 반환합니다.
반환된 문자열은 로컬(SConscript) 디렉터리를 기준으로 합니다. (참고하세요
이렇게 하면 파일 이름을 임의로 조작하는 것이 더 쉬워질 수 있지만,
반환된 문자열은 다른 SConscript 파일로 전달되며 모든 노드 번역은
원래 SConscript 디렉터리가 아닌 다른 SConscript 디렉터리에 상대적이어야 합니다.)

The 제외 인수는 패턴이나 패턴 목록으로 설정될 수 있습니다(동일한 설명에 따름).
반환된 요소에서 필터링되어야 하는 Unix 쉘 의미 체계입니다. 강요
이 목록의 패턴 중 하나 이상과 일치하는 항목은 제외됩니다.

예 :

프로그램('foo', Glob('*.c'))
Zip('/tmp/모든 것', Glob('.??*') + Glob('*'))
소스 = Glob('*.cpp', 제외=['os_*_특정_*.cpp']) + Glob('os_%s_특정_*.cpp'%currentOS)

도움말(텍스트, 추가=False), env.Help(텍스트, 추가=False)
다음과 같은 경우 인쇄할 도움말 텍스트를 지정합니다. -h 논쟁은 스콘에게 주어진다. 만약에 도움말 센터
여러 번 호출되면 텍스트가 다음 순서대로 함께 추가됩니다. 도움말 센터 is
라고 불리는. 추가를 False로 설정하면 모든 도움말 센터 다음으로 생성된 텍스트 옵션 추가 막혔습니다.
추가가 True이면 AddOption 도움말이 도움말 문자열 앞에 추가되어 보존됩니다.
전에, -h 메시지.

Ignore(대상, 종속성), env.Ignore(대상, 종속성)
대상 파일이 유효한지 결정할 때 지정된 종속성 파일은 무시됩니다.
재건축이 필요합니다.

VOUS pouvez의 aussi 사용 무시 기본 빌드에서 대상을 제거합니다. 이를 위해서는
대상이 대상으로 빌드될 디렉토리를 지정해야 하며, 파일은
종속성으로 빌드를 건너뛰고 싶습니다.

이렇게 하면 빌드된 파일에서 나열된 종속성만 제거됩니다.
기본. 다른 개체가 해당 종속성을 필요로 하는 경우에도 계속 빌드됩니다.
세워짐. 아래의 세 번째 및 네 번째 예를 참조하세요.

예 :

env.Ignore('foo', 'foo.c')
env.Ignore('bar', ['bar1.h', 'bar2.h'])
env.Ignore('.','foobar.obj')
env.Ignore('bar','bar/foobar.obj')

Import(vars), env.Import(vars)
이는 변수 목록을 현재 SConscript 파일로 가져오도록 scons에 지시합니다. 이것
다음으로 내보낸 변수를 가져옵니다. 수출 또는에서 수출 인수
징집병. 내보낸 변수 징집병 우선권을 갖습니다. 여러 변수 이름
전달할 수 있습니다 수입 별도의 인수 또는 목록으로. 변수 "*"는 다음과 같습니다.
모든 변수를 가져오는 데 사용됩니다.

예 :

가져오기("환경")
Import("환경", "변수")
Import(["env", "변수"])
수입("*")

리터럴(문자열), env.Literal(문자열)
지정된 있는 그대로 유지되며 구성 변수가 없습니다.
퍼지는.

로컬(대상), env.Local(대상)
지정된 목표 이미 생성된 경우에도 로컬 트리에 복사본이 생성됩니다.
최신 복사본이 저장소에 있습니다. 대상 노드의 목록을 반환합니다.

env.MergeFlags(arg, [고유])
지정된 것을 병합합니다. 아르헨티나 건축환경의 건설에 대한 가치
변수. 만약 아르헨티나 인수는 사전이 아니며 다음을 호출하여 사전으로 변환됩니다.
env.ParseFlags 값이 병합되기 전의 인수에 대해. 참고하세요 아르헨티나 ~이어야합니다.
단일 값이므로 여러 문자열을 별도가 아닌 목록으로 전달해야 합니다.
주장 env.MergeFlags.

기본적으로 중복된 값은 제거됩니다. 그러나 다음을 수행하려면 Unique=0을 지정할 수 있습니다.
중복된 값을 추가할 수 있습니다. 중복된 값을 제거할 때
PATH 문자열로 끝나는 구성 변수는 가장 왼쪽의 고유 값을 유지합니다.
다른 모든 구성 변수는 가장 오른쪽의 고유 값을 유지합니다.

예 :

# $CCFLAGS에 최적화 플래그를 추가합니다.
env.MergeFlags('-O3')

# pkg-config 실행에서 반환된 플래그를 최적화와 결합합니다.
# 플래그를 지정하고 결과를 구성 변수에 병합합니다.
env.MergeFlags(['!pkg-config gtk+-2.0 --cflags', '-O3'])

# 최적화 플래그를 pkg-config 실행에서 반환된 플래그와 결합합니다.
# 두 번 실행하고 결과를 구성 변수에 병합합니다.
env.MergeFlags(['-O3',
'!pkg-config gtk+-2.0 --cflags --libs',
'!pkg-config libpng12 --cflags --libs'])

NoCache(대상, ...), env.NoCache(대상, ...)
다음과 같은 파일 목록을 지정합니다. 지원 캐시될 때마다 캐시 디렉터리 방법은
활성화되었습니다. 지정된 대상은 목록일 수도 있고 개별 대상일 수도 있습니다.

여러 파일을 별도의 인수로 지정해야 합니다. 캐시 없음 방법,
또는 목록으로. 캐시 없음 또한 모든 건설의 반환 가치를 받아들입니다.
환경 빌더 방법.

호출 캐시 없음 디렉터리 및 기타 파일 노드가 아닌 유형에서는 효과가 없습니다.
파일 노드만 캐시됩니다.

예 :

캐시 없음('foo.elf')
NoCache(env.Program('hello', 'hello.c'))

NoClean(대상, ...), env.NoClean(대상, ...)
다음과 같은 파일 또는 디렉터리 목록을 지정합니다. 지원 언제든지 제거됩니다.
대상(또는 해당 종속성)은 다음과 같이 지정됩니다. -c 명령줄 옵션. 그만큼
지정된 대상은 목록일 수도 있고 개별 대상일 수도 있습니다. 여러 번 호출 노클린 are
적법하며 지정된 각 대상이 호출에 의해 제거되는 것을 방지합니다. -c 옵션을 선택합니다.

여러 파일이나 디렉터리는 별도의 인수로 지정되어야 합니다.
노클린 방법 또는 목록으로. 노클린 또한 다음 중 하나의 반환 값을 허용합니다.
건설 환경 빌더 방법.

호출 노클린 대상이 호출을 재정의하는 경우 깨끗한 동일한 대상에 대해
두 함수에 전달된 대상은 지원 에 의해 제거되다 -c 옵션을 선택합니다.

예 :

NoClean('foo.elf')
NoClean(env.Program('hello', 'hello.c'))

env.ParseConfig(명령어, [함수, 고유])
지정된 호출 기능 출력에 지정된 대로 환경을 수정하려면
명령. 기본값 기능 is env.MergeFlags, 이는 일반적인 출력을 기대합니다.
*-config 명령(예: gtk-config)을 실행하고 해당 옵션에 옵션을 추가합니다.
건설 변수. 기본적으로 중복 값은 어떤 구성에도 추가되지 않습니다.
변수; 중복 값을 추가할 수 있도록 Unique=0을 지정할 수 있습니다.

해석된 옵션과 영향을 받는 구성 변수는 다음과 같습니다.
전에, env.ParseFlags 메서드(이 메서드가 호출하는). 해당 메소드 설명을 참조하세요.
옵션 및 구성 변수 표는 아래를 참조하세요.

ParseDepends(파일 이름, [must_exist, only_one]), env.ParseDepends(파일 이름, [must_exist,
only_one])
지정된 내용을 구문 분석합니다. 파일 이름 스타일의 종속성 목록으로
Make 또는 mkdep의 목록을 작성하고 나열된 모든 종속성을 명시적으로 설정합니다.

기본적으로 지정된 경우 오류가 아닙니다. 파일 이름 존재하지 않는다. 선택 사항
필수_존재 scons가 예외를 발생시키도록 인수를 XNUMX이 아닌 값으로 설정할 수 있습니다.
파일이 존재하지 않거나 액세스할 수 없는 경우 오류가 발생합니다.

선택적 only_one 스콘이 발생하도록 인수를 XNUMX이 아닌 값으로 설정할 수 있습니다.
파일에 더 많은 종속성 정보가 포함되어 있으면 예외가 발생하고 오류가 발생합니다.
하나의 목표보다 이는 의도된 파일에 대한 작은 온전성 검사를 제공할 수 있습니다.
예를 들어 gcc -M 플래그에 의해 생성되며 일반적으로 다음과 같이 작성해야 합니다.
하나의 출력 파일에 대한 종속성 정보를 해당 .d 파일로 변환합니다.

The 파일 이름 그 안에 나열된 모든 파일은
호출하는 SConscript 파일의 디렉토리 구문 분석에 따라 다름 기능.

env.ParseFlags(플래그, ...)
GCC 도구 체인에 대한 일반적인 명령줄 플래그가 포함된 하나 이상의 문자열을 구문 분석합니다.
적절한 SCons로 구분된 플래그 값이 포함된 사전을 반환합니다.
건설 변수. 이는 env.MergeFlags 방법,
그러나 필요한 경우 반환된 사전의 값을 수정할 수 있습니다.
이를 건설 환경에 병합하기 전에. (참고하세요 env.MergeFlags 결제 게이트웨이,
인수가 사전이 아니므로 일반적으로 필요하지 않은 경우 이 메서드를 호출하세요.
전화 env.ParseFlags 값을 조작하려는 경우가 아니면 직접 사용하십시오.)

문자열의 첫 번째 문자가 느낌표(!)인 경우 나머지 문자는
문자열은 명령으로 실행되고 명령의 출력은 GCC 도구로 구문 분석됩니다.
명령줄 플래그를 연결하고 결과 사전에 추가합니다.

플래그 값은 발견된 접두사에 따라 변환되어 다음 항목에 추가됩니다.
구성 변수:

-아치 CCFLAGS, LINKFLAGS
-D CPDEFINES
-프레임워크 프레임워크
-frameworkdir= FRAMEWORKPATH
-CCFLAGS 포함
-isysroot CCFLAGS, LINKFLAGS
-I CPPPATH
-l 라이브러리
-L LIBPATH
-mno-cygwin CCFLAGS, LINKFLAGS
-mwindows LINKFLAGS
-pthread CCFLAGS, LINKFLAGS
-std= CFLAGS
-와, ASFLAGS, CCFLAGS
-Wl,-rpath= RPATH
-Wl,-R, RPATH
-Wl,-R RPATH
-Wl, LINKFLAGS
-Wp, CPPFLAGS
-CCFLAGS
+ CCFLAGS, LINKFLAGS

옵션과 연관되지 않은 다른 문자열은 라이브러리 이름으로 간주됩니다.
그리고 에 추가 $LIBS 건설 변수.

예(모두 동일한 결과를 생성함):

dict = env.ParseFlags('-O2 -Dfoo -Dbar=1')
dict = env.ParseFlags('-O2', '-Dfoo', '-Dbar=1')
dict = env.ParseFlags(['-O2', '-Dfoo -Dbar=1'])
dict = env.ParseFlags('-O2', '!echo -Dfoo -Dbar=1')

env.Perforce()
소스 파일을 가져오는 데 사용할 Builder 객체를 반환하는 팩토리 함수
Perforce 소스 코드 관리 시스템. 반환된 빌더는 다음과 같습니다.
에 전달 소스 코드 기능.

이 기능은 더 이상 사용되지 않습니다. 자세한 내용은 해당 항목을 참조하세요. 소스 코드 기능.

예:

env.SourceCode('.', env.Perforce())

Perforce는 작업을 위해 다양한 외부 환경 변수를 사용합니다.
결과적으로 이 함수는 사용자의 외부 변수에서 다음 변수를 추가합니다.
환경을 구성 환경의 ENV 사전으로 변경: P4CHARSET, P4CLIENT,
P4LANGUAGE, P4PASSWD, P4PORT, P4USER, SystemRoot, USER 및 USERNAME.

플랫폼(문자열)
The 플랫폼 form은 초기화에 사용할 수 있는 호출 가능한 객체를 반환합니다.
플랫폼 키워드를 활용한 구축 환경 환경 기능.

예:

env = 환경(플랫폼 = 플랫폼('win32'))

The 환경플랫폼 양식은 지정된 플랫폼에 대해 호출 가능 객체를 적용합니다.
메소드가 호출된 환경.

env.Platform('posix')

win32 플랫폼은 다음에서 SystemDrive 및 SystemRoot 변수를 추가합니다.
사용자의 외부 환경부터 건축 환경까지 $ENV 사전. 이것은
소켓을 사용하여 다른 시스템(예:
다음과 같은 외부 CVS 저장소 사양에서 소스 파일 가져오기
:서버:[이메일 보호]:/cvsroot/scons)는 Windows 시스템에서 작동합니다.

Precious(대상, ...), env.Precious(대상, ...)
각각 주어진 마크 목표 귀중한 것이므로 다시 작성하기 전에 삭제되지 않습니다.
일반적으로 scons는 대상을 빌드하기 전에 대상을 삭제합니다. 여러 대상을 전달할 수 있습니다.
단일 호출에 귀한.

env.Prepend(key=val, [...])
지정된 키워드 인수를 구성 변수의 시작 부분에 추가합니다.
환경. 환경에 지정된 구성 변수가 없는 경우
단순히 환경에 추가됩니다. 구성 변수의 값과
키워드 인수가 동일한 유형이면 두 값이 단순히 추가됩니다.
함께. 그렇지 않으면 구성 변수와 키워드 인수의 값
둘 다 목록으로 강제되고 목록이 함께 추가됩니다. (추가 참조
위의 방법)

예:

env.Prepend(CCFLAGS = '-g ', FOO = ['foo.yyy'])

env.PrependENVPath(name, newpath, [envname, sep, delete_existing])
지정된 외부 환경의 지정된 경로에 새 경로 요소를 추가합니다.
($ENV 기본적으로). 이렇게 하면 특정 경로가 한 번만 추가됩니다(첫 번째 경로는 그대로 두고).
경로 순서를 유지하기 위해 나머지를 만나고 무시합니다.) 이를 보장하기 위해
모든 경로를 정규화합니다(os.path.normpath 및 os.path.normcase 사용). 이것은 또한
주어진 이전 경로 변수가 문자열 대신 목록인 경우를 처리합니다.
이 경우 문자열 대신 목록이 반환됩니다.

If 삭제_기존 0인 경우 이미 존재하는 경로를 추가해도 경로가 다음으로 이동되지 않습니다.
시작; 목록에 있는 위치에 그대로 유지됩니다.

예:

'이전:',env['ENV']['INCLUDE']를 인쇄합니다.
include_path = '/foo/bar:/foo'
env.PrependENVPath('INCLUDE', include_path)
'after:',env['ENV']['INCLUDE']를 인쇄합니다.

위의 예는 다음과 같이 인쇄됩니다.

이전: /biz:/foo
이후: /foo/bar:/foo:/biz

env.PrependUnique(key=val, delete_existing=0, [...])
지정된 키워드 인수를 구성 변수의 시작 부분에 추가합니다.
환경. 환경에 지정된 구성 변수가 없는 경우
단순히 환경에 추가됩니다. 구성 변수가 추가되는 경우
목록인 경우 구성 변수에 이미 존재하는 모든 값은 지원
목록에 다시 추가됩니다. 그러나 delete_existing이 1인 경우 기존 일치 값은
먼저 제거되므로 인수 목록의 기존 값이 목록 앞으로 이동합니다.

예:

env.PrependUnique(CCFLAGS = '-g', FOO = ['foo.yyy'])

Progress(호출 가능, [간격]), Progress(문자열, [간격, 파일, 덮어쓰기]),
진행률(list_of_strings, [간격, 파일, 덮어쓰기])
SCons가 문자열을 표시하거나 호출하여 빌드 중 진행 상황을 표시할 수 있습니다.
노드(예: 파일)를 평가하는 동안의 기능입니다.

첫 번째 지정된 인수가 Python 호출 가능(함수 또는 다음을 갖는 객체)인 경우
a __전화__() 메소드), 함수는 매회 한 번씩 호출됩니다. 간격 노드는 다음과 같습니다.
평가되었습니다. 콜러블은 평가된 노드를 유일한 인수로 전달합니다. (을 위한
향후 호환성을 위해 *args 및 **kw도 인수로 추가하는 것이 좋습니다.
기능이나 방법. 이렇게 하면 SCons가 변경하더라도 코드가 손상되는 것을 방지할 수 있습니다.
나중에 추가 인수를 사용하여 함수를 호출하는 인터페이스입니다.)

다음을 포함하는 문자열을 인쇄하는 간단한 사용자 정의 진행 함수의 예
10개 노드마다 노드 이름:

def my_progress_function(노드, *args, **kw):
'%s 노드를 평가하는 중입니다!'를 인쇄합니다. % 노드
진행률(my_progress_function, 간격=10)

문자열을 인쇄하는 사용자 정의 진행률 표시 객체의 더 복잡한 예
평가된 노드 100개마다 개수를 포함합니다. \r(캐리지 리턴) 사용에 유의하세요.
문자열이 디스플레이에서 자체적으로 덮어쓰도록 하려면 다음을 수행합니다.

import sys
클래스 ProgressCounter(객체):
카운트 = 0
def __call__(self, node, *args, **kw):
self.count += 100
sys.stderr.write('평가된 %s 노드\r' % self.count)
진행률(ProgressCounter(), 간격=100)

첫 번째 주장이라면 진행 문자열이면 문자열은 다음과 같이 표시됩니다.
간격 평가된 노드. 기본값은 표준 출력에 문자열을 인쇄하는 것입니다. 안
대체 출력 스트림은 file= 인수로 지정할 수 있습니다. 다음은
오류 출력에 일련의 점을 인쇄합니다(평가된 노드 100개당 점 XNUMX개).

import sys
진행률('.', 간격=100, 파일=sys.stderr)

문자열에 축어적 하위 문자열이 포함된 경우 $TARGET, 다음으로 대체됩니다.
마디. 성능상의 이유로 이는 다음과 같습니다. 지원 일반 SCons 변수
대체하므로 다른 변수를 사용하거나 중괄호를 사용할 수 없습니다. 다음과 같은
예제는 \r(캐리지 리턴)을 사용하여 평가된 모든 노드의 이름을 인쇄합니다.
각 줄을 다음 줄로 덮어쓰고 overwrite= 키워드 인수를 사용합니다.
이전에 인쇄한 파일 이름을 공백으로 덮어쓰는지 확인하려면 다음을 수행하세요.

import sys
진행률('$TARGET\r', 덮어쓰기=True)

첫 번째 인수인 경우 진행 문자열 목록이고 목록의 각 문자열입니다.
마다 회전 방식으로 표시됩니다. 간격 평가된 노드. 이것은 사용될 수 있습니다
다음과 같이 사용자 화면에 "스피너"를 구현합니다.

진행률(['-\r', '\\\r', '|\r', '/\r'], 간격=5)

의사(대상, ...), env.Pseudo(대상, ...)
이는 각각 주어진 것을 나타냅니다. 목표 빌드 규칙에 따라 생성되어서는 안 되며,
대상이 생성되면 오류가 생성됩니다. 이는 gnu make와 유사합니다.
.PHONY 대상. 그러나 대부분의 경우, 별명 더 적절합니다.
단일 호출에 여러 대상을 전달할 수 있습니다. 별명.

환경.RCS()
소스 파일을 가져오는 데 사용할 Builder 객체를 반환하는 팩토리 함수
RCS. 반환된 빌더는 소스 코드 기능:

이 기능은 더 이상 사용되지 않습니다. 자세한 내용은 해당 항목을 참조하세요. 소스 코드 기능.

예 :

env.SourceCode('.', env.RCS())

scons는 RCS 하위 디렉터리에서 자동으로 소스 파일을 가져옵니다.
위 예에서 설명한 대로 RCS를 구성하는 것은 다음과 같은 경우에만 필요합니다.
소스 파일과 동일한 디렉터리에 있는 RCS,v 파일에서 가져오는 중이거나
특정 하위 디렉터리에 대해 RCS를 명시적으로 지정해야 합니다.

env.Replace(key=val, [...])
환경의 구성 변수를 지정된 키워드로 바꿉니다.
인수.

예:

env.Replace(CCFLAGS = '-g', FOO = 'foo.xxx')

Repository(디렉터리), env.Repository(디렉토리)
다음을 지정합니다. 예배 규칙서 파일을 검색할 저장소입니다. 여러 번 호출
저장소 합법적이며 각각은 다음 저장소 목록에 추가됩니다.
검색했습니다.

스콘의 경우 저장소는 다음의 최상위 디렉터리에 있는 소스 트리의 복사본입니다.
아래에는 소스 파일과 빌드에 사용할 수 있는 파생 파일이 모두 포함될 수 있습니다.
로컬 소스 트리의 대상. 정식 예는 공식 소스가 될 것입니다
통합자가 유지 관리하는 트리입니다. 저장소에 파생된 파일이 포함된 경우
파생된 파일은 scons를 사용하여 빌드되어야 하므로 저장소에 다음이 포함됩니다.
스콘이 언제 적절한지 알아낼 수 있도록 필요한 서명 정보
로컬로 빌드하는 대신 파생 파일의 저장소 복사본을 사용합니다.

최신 파생 파일이 이미 저장소에 있는 경우 scons는 지원
로컬 디렉토리 트리에 복사본을 만듭니다. 로컬 복사본이
만들어지다, 사용하다 지방의 방법.

Requires(대상, 전제 조건), env.Requires(대상, 전제 조건)
지정된 대상 파일과 사이의 순서 전용 관계를 지정합니다.
지정된 필수 구성 요소 파일. 다음과 같은 경우 전제 조건 파일이 (재)빌드됩니다.
필요한, 전에 대상 파일이지만 대상 파일은 실제로 의존하지 않습니다.
필수 구성 요소이며 단순히 필수 구성 요소 파일이 있다는 이유로 다시 빌드되지 않습니다.
변경합니다.

예:

env.Requires('foo', 'foo 전에 빌드해야 하는 파일')

Return([vars..., stop=])
기본적으로 현재 SConscript 파일 처리를 중지하고 다음으로 돌아갑니다.
SConscript 파일을 호출하여 바르
인수. 변수 이름을 포함하는 여러 문자열이 전달될 수 있습니다. 반품. 어떤
공백을 포함하는 문자열

처리를 계속하려면 선택적 stop= 키워드 인수를 false 값으로 설정할 수 있습니다.
SConscript 파일의 나머지 부분 반품 부르다. 이것이 기본 동작이었습니다.
SCons 0.98 이전. 그러나 반환된 값은 여전히
명명된 변수 바르 그 시점에 반품 호출됩니다.

예 :

# 값을 반환하지 않고 반환합니다.
반품()

# 'foo' Python 변수의 값을 반환합니다.
반환("foo")

# Python 변수 'foo'와 'bar'의 값을 반환합니다.
Return("foo", "바")

# Python 변수 'val1' 및 'val2'의 값을 반환합니다.
반환('발1 발2')

스캐너(함수, [인수, 키, path_function, node_class, node_factory, scan_check,
재귀]), env.Scanner(함수, [인수, 키, 경로_함수, 노드_클래스,
node_factory, scan_check, 재귀])
지정된 스캐너 개체를 만듭니다. 기능. "스캐너"섹션을 참조하십시오.
인수와 동작에 대한 자세한 설명은 아래의 개체'를 참조하세요.

환경.SCCS()
소스 파일을 가져오는 데 사용할 Builder 객체를 반환하는 팩토리 함수
SCCS. 반환된 빌더는 소스 코드 기능.

예:

env.SourceCode('.', env.SCCS())

scons는 SCCS 하위 디렉터리에서 소스 파일을 자동으로 가져옵니다.
위 예에서 설명한 대로 SCCS를 구성하는 것은 다음과 같은 경우에만 필요합니다.
소스 파일과 동일한 디렉터리에 있는 s.SCCS 파일에서 가져오는 중이거나
특정 하위 디렉터리에 대해 SCCS를 명시적으로 지정해야 합니다.

SConscript(스크립트, [내보내기, 변형_디렉터리, 중복]), env.SConscript(스크립트, [내보내기,
변형_디렉터리, 중복]), SConscript(dirs=하위 디렉터리, [이름=스크립트, 내보내기, 변형_디렉터리,
중복]), env.SConscript(dirs=subdirs, [name=script, 내보내기, 변형_디렉터리, 중복])
이는 scons에게 하나 이상의 보조 SConscript(구성) 파일을 실행하도록 지시합니다.
다음을 사용하여 호출된 스크립트에서 반환된 모든 변수 반품 에 대한 호출로 반환됩니다.
징집병. 전화를 거는 방법은 두 가지가 있습니다. 징집병 기능.

전화할 수 있는 첫 번째 방법 징집병 하나 이상을 명시적으로 지정하는 것입니다. 스크립트 as
첫 번째 주장. 단일 스크립트를 문자열로 지정할 수 있습니다. 여러 스크립트
목록으로 지정해야 합니다(명시적으로 또는 다음과 같은 함수에 의해 생성됨).
스플릿). 예:

SConscript('SConscript') # 현재 디렉터리에서 SConscript를 실행합니다.
SConscript('src/SConscript') # src 디렉토리에서 SConscript를 실행합니다.
SConscript(['src/SConscript', 'doc/SConscript'])
config = SConscript('MyConfig.py')

전화할 수 있는 두 번째 방법 징집병 (하위)디렉토리 이름 목록을 다음과 같이 지정하는 것입니다.
디렉토리=하위 디렉토리 키워드 인수. 이 경우 scons는 기본적으로 다음을 실행합니다.
지정된 각 디렉터리에 SConscript라는 보조 구성 파일이 있습니다.
선택적 name=을 제공하여 SConscript 이외의 이름을 지정할 수 있습니다.스크립트
키워드 인수. 아래 처음 세 가지 예는 첫 번째 예와 동일한 효과를 갖습니다.
위의 세 가지 예:

SConscript(dirs='.') # 현재 디렉터리에서 SConscript를 실행합니다.
SConscript(dirs='src') # src 디렉토리에서 SConscript를 실행합니다.
SConscript(dirs=['src', 'doc'])
SConscript(dirs=['sub1', 'sub2'], 이름='MySConscript')

선택적 수출 인수는 변수 이름 목록이나 사전을 제공합니다.
내보낼 명명된 값 스크립트. 이러한 변수는 로컬로만 내보내집니다.
지정된 스크립트이며, 에서 사용하는 변수의 전역 풀에는 영향을 주지 않습니다.
수출 기능. 자회사 스크립트 사용해야합니다 수입 가져오는 기능
변수. 예:

foo = SConscript('sub/SConscript', 내보내기='env')
SConscript('dir/SConscript', 내보내기=['env', '변수'])
SConscript(dirs='subdir', imports='env 변수')
SConscript(dirs=['XNUMX', 'XNUMX', 'XNUMX'], 내보내기='shared_info')

선택사항인 경우 변형_디렉터리 인수가 존재하면 다음과 같은 효과가 발생합니다.
변형 디렉토리 아래에 설명된 방법. (만약에 변형_디렉터리 존재하지 않는다,

복제 인수는 무시됩니다.) 변형_디렉터리 인수는 상대적으로 해석됩니다.
호출하는 SConscript 파일의 디렉터리입니다. 설명을 참조하세요. 변형 디렉토리
자세한 내용 및 제한 사항은 아래 기능을 참조하세요.

If 변형_디렉터리 존재하는 경우 소스 디렉터리는
SConscript 파일은 상주하며 SConscript 파일은 마치
변형_디렉터리 예배 규칙서:

SConscript('src/SConscript', Variant_dir = '빌드')

에 해당하는

VariantDir('빌드', 'src')
SConscript('빌드/SConscript')

이 최신 패러다임은 소스가 소스와 동일한 디렉토리에 있을 때 자주 사용됩니다.
S구성:

SConscript('SConscript', Variant_dir = '빌드')

에 해당하는

VariantDir('빌드', '.')
SConscript('빌드/SConscript')

다음은 몇 가지 복합 예입니다.

# 구성 정보를 수집하고 이를 사용하여 src 및 doc를 빌드합니다.
shared_info = SConscript('MyConfig.py')
SConscript('src/SConscript', 내보내기='shared_info')
SConscript('doc/SConscript', 내보내기='shared_info')

# 디버깅 및 프로덕션 버전을 빌드합니다. 징집병
# 변형을 결정하기 위해 Dir('.').path를 사용할 수 있습니다.
SConscript('SConscript',variant_dir='디버그',duplicate=0)
SConscript('SConscript',variant_dir='prod',duplicate=0)

# 디버깅 및 프로덕션 버전을 빌드합니다. 징집병
# 사용할 플래그가 전달됩니다.
opts = { 'CPPDEFINES' : ['DEBUG'], 'CCFLAGS' : '-pgdb' }
SConscript('SConscript', 변형_디렉터리='디버그', 중복=0, 내보내기=opts)
opts = { 'CPPDEFINES' : ['NODEBUG'], 'CCFLAGS' : '-O' }
SConscript('SConscript', 변형_디렉터리='prod', 중복=0, 내보내기=opts)

# 공통 문서를 작성하고 다양한 아키텍처에 맞게 컴파일합니다.
SConscript('doc/SConscript',variant_dir='build/doc',duplicate=0)
SConscript('src/SConscript',variant_dir='build/x86',duplicate=0)
SConscript('src/SConscript', 변형_디렉터리='빌드/ppc', 중복=0)

SConscriptChdir(값), env.SConscriptChdir(값)
기본적으로 scons는 작업 디렉토리를 각 작업이 수행되는 디렉토리로 변경합니다.
자회사 SConscript 파일이 살아있습니다. 이 동작은 다음 중 하나를 지정하여 비활성화할 수 있습니다.

SConscriptChdir(0)
env.SConscriptChdir(0)

이 경우 scons는 모든 SConscript를 읽는 동안 최상위 디렉토리에 유지됩니다.
파일. (이것은 리포지토리에서 빌드할 때 필요할 수 있습니다.
SConscript 파일을 찾을 수 있는 디렉터리가 반드시 로컬에 존재할 필요는 없습니다.)
SConscriptChdir()을 여러 번 호출하여 이 기능을 활성화 및 비활성화할 수 있습니다.

예:

환경 = 환경()
SConscriptChdir(0)
SConscript('foo/SConscript') # foo에 chdir을 지정하지 않습니다.
env.SConscriptChdir(1)
SConscript('bar/SConscript') # chdir을 bar로 보냅니다.

SConsignFile([파일, dbm_module]), env.SConsignFile([파일, dbm_module])
이것은 scons에게 지정된 데이터베이스에 모든 파일 서명을 저장하도록 지시합니다. 파일. 경우
파일 이름은 생략되며 기본적으로 .sconsign이 사용됩니다. (실제 파일 이름은 다음에 저장되어 있습니다.
디스크에는 다음에 의해 추가된 적절한 접미사가 있을 수 있습니다.
DBM_모듈.) 만약에 파일 절대 경로 이름이 아닌 경우 파일은 동일한 위치에 배치됩니다.
디렉터리를 최상위 SConstruct 파일로 사용합니다.

If 파일 None이면 scons는 별도의 .sconsign 파일에 파일 서명을 저장합니다.
하나의 전역 데이터베이스 파일이 아닌 각 디렉토리. (이것은 이전의 기본 동작이었습니다.
SCons 0.96.91 및 0.97에 적용됩니다.)

선택적 DBM_모듈 인수를 사용하여 Python 데이터베이스 모듈을 지정할 수 있습니다.
기본값은 피클된 Python 데이터를 사용하는 사용자 정의 SCons.dblite 모듈을 사용하는 것입니다.
구조이며 모든 Python 버전에서 작동합니다.

예 :

# ".sconsign.dblite"에 서명을 명시적으로 저장합니다.
# 최상위 SConstruct 디렉토리(
# 기본 동작).
S위탁파일()

# "etc/scons-signatures" 파일에 서명을 저장합니다.
# 최상위 SConstruct 디렉토리에 상대적입니다.
SConsignFile("etc/scons-signatures")

# 지정된 절대 파일 이름에 서명을 저장합니다.
SCConsignFile("/home/me/SCons/서명")

# 별도의 .sconsign 파일에 서명을 저장합니다.
# 각 디렉토리에.
S수탁파일(없음)

env.SetDefault(key=val, [...])
다음과 같은 경우 키워드 인수로 지정된 기본값으로 구성 변수를 설정합니다.
(그리고 경우에만) 변수가 아직 설정되지 않았습니다. 다음 진술은
동등한:

env.SetDefault(FOO = 'foo')

env에 'FOO'가 없는 경우: env['FOO'] = 'foo'

SetOption(이름, 값), env.SetOption(이름, 값)
이 기능은 scons 명령줄 옵션의 선택 하위 집합을 설정하는 방법을 제공합니다.
SConscript 파일에서. 지원되는 옵션은 다음과 같습니다.

황어 무리
이는 -c, --clean 및 --remove에 해당합니다.

복제
이는 --duplicate에 해당합니다.

도움
이는 -h 및 --help에 해당합니다.

암시적_캐시
--implicit-cache에 해당합니다.

최대 드리프트
--max-drift에 해당합니다.

no_exec
이는 -n, --no-exec, --just-print, --dry-run 및 --recon에 해당합니다.

num_jobs
이는 -j 및 --jobs에 해당합니다.

닥치는대로의
이는 --random에 해당합니다. 그리고

스택 크기
--stack-size에 해당합니다.

자세한 내용은 해당 명령줄 개체에 대한 설명서를 참조하세요.
각 특정 옵션.

예:

SetOption('max_drift', 1)

SideEffect(사이드_효과, 대상), env.SideEffect(사이드_효과, 대상)
선언 부작용 건물의 부작용으로 목표. 두 부작용 그리고 목표
목록, 파일 이름 또는 노드일 수 있습니다. 부작용은 생성된 대상 파일입니다.
또는 다른 대상을 구축하는 부작용으로 업데이트됩니다. 예를 들어 Windows PDB 파일
정적 라이브러리용 .obj 파일을 빌드하는 부작용으로 생성됩니다.
다양한 TeX 명령의 부작용으로 다양한 로그 파일이 업데이트되어 생성됩니다. 만약
target은 여러 빌드 명령의 부작용입니다. scons는 단 하나만 보장합니다.
일련의 명령이 한 번에 실행됩니다. 따라서 이 방법만 사용하면 됩니다.
여러 빌드 명령의 결과로 빌드된 부작용 대상의 경우.

여러 빌드 명령이 동일한 부작용 파일을 업데이트할 수 있으므로 기본적으로
부작용 목표는 지원 다음과 같은 경우 자동으로 제거됩니다. 목표 에 의해 제거됩니다. -c
옵션. (단, 부작용 청소의 일부로 제거될 수 있습니다.
있는 디렉터리입니다.) 부작용 청소된다
특정한 일이 있을 때마다 목표 정리된 경우 이를 명시적으로 지정해야 합니다. 깨끗한
or 환경 청소 기능.

SourceCode(항목, 빌더), env.SourceCode(항목, 빌더)
이 기능과 관련 팩토리 기능은 더 이상 사용되지 않습니다. 없다
대사. 의도된 용도는 로컬 트리를 아카이브와 동기화 상태로 유지하는 것이었지만
실제로 이 함수는 첫 번째 실행 시에만 아카이브를 가져옵니다.
아카이브와의 동기화는 SCons 외부에서 수행하는 것이 가장 좋습니다.

존재하지 않는 소스 파일을 소스 코드 관리에서 가져오도록 준비
지정된 것을 사용하는 시스템 건축업자. 지정된 항목 노드, 문자열 또는
둘 다의 목록이며 개별 소스 파일이나 디렉터리를 나타낼 수 있습니다.
소스 파일을 찾을 수 있습니다.

존재하지 않는 소스 파일의 경우 scons는 디렉토리 트리를 검색하고
먼저 소스 코드 빌더를 찾습니다. 지정된 건축업자 None일 수 있으며, 이 경우
scons는 빌더를 사용하여 지정된 소스 파일을 가져오지 않습니다. 항목, 심지어
a 소스 코드 빌더는 트리 상위 디렉토리에 지정되었습니다.

scons는 기본적으로 명시적인 설명 없이 SCCS 또는 RCS 하위 디렉터리에서 파일을 가져옵니다.
구성. 필요한 항목을 검색하는 데 추가 처리 시간이 걸립니다.
소스 코드 관리 파일을 디스크에 저장합니다. 이러한 추가 검색을 방지하고 속도를 높일 수 있습니다.
다음과 같이 이러한 검색을 비활성화하여 빌드를 조금 수행하십시오.

env.SourceCode('.', 없음)

지정된 경우 건축업자 직접 만든 것이므로
소스 파일을 가져올 때 사용할 관련 구성 환경입니다.

scons는 다음에 대한 적절한 빌더를 반환하는 미리 준비된 팩토리 함수 세트를 제공합니다.
다양한 인기 소스 코드 관리 시스템. 호출의 정식 예
과 같습니다 :

env.SourceCode('.', env.BitKeeper('/usr/local/BKsources'))
env.SourceCode('src', env.CVS('/usr/local/CVSROOT'))
env.SourceCode('/', env.RCS())
env.SourceCode(['f1.c', 'f2.c'], env.SCCS())
env.SourceCode('no_source.c', 없음)

SourceSignatures(유형), env.SourceSignatures(유형)
참고: 아직 공식적으로 더 이상 사용되지 않지만 이 기능을 사용하는 방법은 다음과 같습니다.
낙담. 참조 결정자 보다 유연하고 간단한 방법을 위한 기능입니다.
SCons의 의사결정을 구성합니다.

The 소스서명 함수는 소스 파일(해당되는 파일)을 결정하는 방법을 scons에게 알려줍니다.
다른 파일에서 빌드되지 않음)이 마지막으로 사용된 이후 변경되었습니다.
특정 대상 파일을 빌드합니다. 유효한 값은 MD5 또는 타임스탬프입니다.

환경 방법을 사용하는 경우 지정된 유형의 소스 서명만 사용됩니다.
해당 환경으로 구축된 대상이 최신인지 또는 최신 상태여야 하는지 결정할 때
재건. 전역 함수를 사용하는 경우 지정된 유형의 소스 서명
대상이 최신인지 여부에 대한 모든 결정에 사용되는 기본값이 됩니다.

MD5는 소스 파일의 MD5 체크섬이 변경된 경우 scons가 소스 파일이 변경되었음을 결정함을 의미합니다.
특정 대상을 재구축하는 데 마지막으로 사용된 이후 내용이 변경되었습니다.
파일.

타임스탬프는 스콘이 타임스탬프가 있는 경우 소스 파일이 변경되었음을 결정함을 의미합니다.
(수정 시간)이 마지막으로 재구축된 이후 변경되었습니다.
특정 대상 파일. (이것은 Make의 동작과 유사하지만,
기본적으로 종속성이 다음과 같은 경우에도 다시 빌드됩니다. 이전 지난번보다
대상 파일을 다시 작성하는 데 사용됩니다.)

Python의 두 동작에는 차이가 없습니다. 가치관 노드 개체.

MD5 서명은 계산하는 데 시간이 더 걸리지만 타임스탬프보다 더 정확합니다.
서명. 기본값은 MD5입니다.

기본값은 대상 서명 설정(아래 참조)은 이것을 사용하는 것입니다
소스서명 다른 타겟을 빌드하는 데 사용되는 타겟 파일에 대한 설정
파일. 결과적으로 값을 변경하면 소스서명 기본적으로 영향을 미칩니다
빌드의 모든 파일(또는 특정 버전으로 빌드된 모든 파일)에 대한 최신 결정
건설 환경 env.Source서명 사용).

분할(arg), env.Split(arg)
파일 이름이나 기타 객체의 목록을 반환합니다. arg가 문자열이면 분할됩니다.
문자열 내에 공백 문자가 포함되어 있어 긴 내용을 더 쉽게 작성할 수 있습니다.
파일 이름 목록. arg가 이미 목록인 경우 목록은 그대로 반환됩니다. 만약에
arg가 다른 유형의 객체인 경우, 다음 항목만 포함하는 목록으로 반환됩니다.
목적.

예:

파일 = 분할("f1.c f2.c f3.c")
파일 = env.Split("f4.c f5.c f6.c")
파일 = 분할("""
f7.c
f8.c
f9.c
""")

env.subst(입력, [원시, 대상, 소스, 변환])
지정된 문자열 또는 시퀀스에 대해 구성 변수 보간을 수행합니다.
논의 입력.

기본적으로 선행 또는 후행 공백은 결과에서 제거됩니다. 그리고 다
일련의 공백은 단일 공백 ​​문자로 압축됩니다. 추가적으로,
모든 $( 및 $) 문자 시퀀스는 반환된 문자열에서 제거됩니다.
optional 살갗이 벗어 진 공백과 $(-$)를 보존하려면 인수를 1로 설정할 수 있습니다.
시퀀스. NS 살갗이 벗어 진 모든 문자를 제거하려면 인수를 2로 설정할 수 있습니다.
$( 및 $) 쌍 사이(서명 계산과 동일)

입력이 시퀀스(리스트 또는 튜플)인 경우 시퀀스의 개별 요소
확장되고 결과가 목록으로 반환됩니다.

선택적 목표 그리고 키워드 인수는 대상 및
원하는 경우 각각 소스 노드 $TARGET, $TARGETS, $소스 그리고 $소스
확장이 가능해야 합니다. 이는 일반적으로 전화를 걸 때 필요합니다. env.subst
SCons 작업으로 사용되는 Python 함수 내에서.

반환된 문자열 값 또는 시퀀스 요소는 해당 문자열로 변환됩니다.
기본적으로 표현. 선택 사항 전환 인수는 변환을 지정할 수 있습니다
기본값 대신 사용될 함수입니다. 예를 들어 Python을 원하는 경우
객체(SCons 노드 포함)를 Python 객체로 반환하려면 다음을 사용할 수 있습니다.
변환되지 않은 함수를 단순히 반환하는 이름 없는 함수를 전달하는 Python Λ 관용구
논의.

예:

print env.subst("C 컴파일러는: $CC")

def 컴파일(대상, 소스, 환경):
sourceDir = env.subst("${SOURCE.srcdir}",
타겟=타겟,
출처=출처)

source_nodes = env.subst('$EXPAND_TO_NODELIST',
전환=람다 x: x)

태그(노드, 태그)
파일 또는 디렉터리 노드에 주석을 달고 방법에 대한 정보를 표시합니다. 묶음 건축업자
해당 파일이나 디렉터리를 패키지해야 합니다. 모든 태그는 선택사항입니다.

예 :

# 빌드된 라이브러리가 0644 파일과 함께 설치되는지 확인합니다.
# 접근 모드
태그( 라이브러리( 'lib.c' ), UNIX_ATTR="0644" )

# file2.txt를 문서 파일로 표시합니다.
태그( 'file2.txt', DOC )

TargetSignatures(유형), env.TargetSignatures(유형)
참고: 아직 공식적으로 더 이상 사용되지 않지만 이 기능을 사용하는 방법은 다음과 같습니다.
낙담. 참조 결정자 보다 유연하고 간단한 방법을 위한 기능입니다.
SCons의 의사결정을 구성합니다.

The 대상 서명 함수는 scons에게 대상 파일(해당되는 파일)이 있는지 결정하는 방법을 알려줍니다.
is 다른 파일에서 빌드됨)이 빌드에 마지막으로 사용된 이후 변경되었습니다.
다른 대상 파일. 유효한 값은 "build"입니다. "콘텐츠"(또는 동의어 "MD5");
"타임스탬프"; 또는 "출처".

환경 메소드를 사용하는 경우 지정된 유형의 대상 시그니처만 사용됩니다.
해당 환경으로 구축된 대상의 경우. 전역 함수를 사용하는 경우 지정된
서명 유형은 서명이 없는 모든 대상 파일에 사용되는 기본값이 됩니다.
해당 환경에 대해 지정된 명시적 대상 서명 유형입니다.

"content"(또는 동의어 "MD5")는 다음과 같은 경우 대상 파일이 변경되었다고 scons가 결정함을 의미합니다.
해당 내용의 MD5 체크섬이 마지막으로 사용된 이후 변경되었습니다.
다른 대상 파일을 다시 빌드하십시오. 이는 scons가 MD5의 내용을 합산하여 열 것임을 의미합니다.
타겟 파일을 빌드한 후 다시 빌드할 필요가 없다고 결정할 수도 있습니다.
"다운스트림" 대상 파일과 정확히 동일한 내용으로 파일이 재구축된 경우
마지막으로.

"타임스탬프"는 스콘이 타임스탬프가 있는 경우 대상 파일이 변경되었다고 결정함을 의미합니다.
(수정 시간)이 마지막으로 다른 것을 재구축하는 데 사용된 이후 변경되었습니다.
대상 파일. (이것은 Make의 동작과 유사하지만 기본적으로
종속성이 다음과 같은 경우에도 다시 빌드됩니다. 이전 지난번에 익숙해졌을 때보다
대상 파일을 다시 작성하십시오.)

"소스"는 scons가 대상 파일이 지정된 대로 변경되었음을 결정함을 의미합니다.
일치하는 소스서명 설정("MD5" 또는 "타임스탬프"). 이것은 스콘을 의미합니다.
대상에 대한 모든 입력 파일을 동일한 방식으로 처리합니다.
소스 파일이거나 다른 파일에서 빌드되었습니다.

"빌드"는 스콘이 대상 파일이 재빌드된 경우 변경되었다고 결정한다는 것을 의미합니다.
이 호출 또는 해당 내용이나 타임스탬프가 다음에 의해 지정된 대로 변경된 경우
일치하는 소스서명 환경. 이는 재구축된 파일의 상태를 "전파"합니다.
내용이 변경되더라도 다른 "다운스트림" 대상 파일은 항상 다시 작성됩니다.
또는 타임스탬프가 변경되지 않았습니다.

"콘텐츠"(또는 "MD5") 서명은 빌드하는 데 시간이 더 오래 걸리기 때문에 "빌드" 서명이 가장 빠릅니다.
계산하지만 "타임스탬프" 서명보다 더 정확하며
대상 파일이 정확히 동일하게 재구축될 때 불필요한 "다운스트림" 재구축
이전 빌드와 같은 내용입니다. "소스" 설정은 가장 일관된 결과를 제공합니다.
소스 및 대상 입력 모두에서 다른 대상 파일을 다시 빌드할 수 있는 경우의 동작
파일. 기본값은 "소스"입니다.

기본 설정은 "소스"이므로 소스서명 일반적으로
선호하는 대상 서명, 최신 결정이 일관되게 유지되도록
모든 파일(또는 특정 구성 환경으로 빌드된 모든 파일). 사용
대상 서명 빌드된 대상 파일이 대상 파일에 미치는 영향에 대한 구체적인 제어를 제공합니다.
"다운스트림" 종속성.

도구(문자열, [도구 경로, **kw]), env.Tool(문자열, [도구 경로, **kw])
The 수단 함수의 형태는 초기화에 사용할 수 있는 호출 가능한 객체를 반환합니다.
Environment() 메소드의 tools 키워드를 사용하는 구축 환경. 그만큼
객체는 구성 환경을 인수로 사용하여 호출될 수 있습니다.
객체는 구성 환경과 이름에 필요한 변수를 추가합니다.
도구 중 하나가 $ 도구 건설 변수.

추가 키워드 인수가 도구의 생성() 방법.

예 :

env = 환경(도구 = [ 도구('msvc') ])

환경 = 환경()
t = 도구('msvc')
t(env) # TOOLS 변수에 'msvc'를 추가합니다.
u = 도구('opengl', 도구 경로 = ['tools'])
u(env) # TOOLS 변수에 'opengl'을 추가합니다.

The env.도구 함수 형식은 지정된 도구에 대한 호출 가능 개체를 적용합니다.
메소드가 호출된 환경에.

추가 키워드 인수가 도구의 생성() 방법.

env.Tool('gcc')
env.Tool('opengl', 도구 경로 = ['build/tools'])

Value(값, [내장_값]), env.Value(값, [내장_값])
지정된 Python 값을 나타내는 Node 객체를 반환합니다. 가치 노드를 사용할 수 있습니다.
대상의 종속성으로. 호출 결과라면 하위 버전(가치) SCons 간 변경
실행, 다음에 따른 모든 목표 가치관(가치) 재건축 예정입니다. (이것은 다음과 같은 경우에도 마찬가지입니다.
타임스탬프를 사용하여 파일이 최신인지 확인합니다.) 타임스탬프 소스를 사용하는 경우
서명, 가치 노드의 타임스탬프는 노드가
만들었습니다.

반환된 값 노드 개체에는 쓰다() 메서드를 "빌드"하는 데 사용할 수 있습니다.
새로운 값을 설정하여 값 노드. 선택 사항 내장_값 인수를 지정할 수 있습니다
노드가 이미 고려되어야 함을 나타내기 위해 가치 노드가 생성될 때
"세워짐." 해당하는 것이 있습니다 읽기() 빌드된 값을 반환하는 메서드
노드.

예 :

환경 = 환경()

def 생성(대상, 소스, 환경):
# 'prefix=$SOURCE'를 작성하는 함수
# 문자열을 다음과 같이 지정된 파일 이름에 넣습니다.
# $TARGET.
f = 열기(str(대상[0]), 'wb')
f.write('접두사=' + 소스[0].get_contents())

# 명령에서 prefix= 인수를 가져옵니다(있는 경우).
# 라인 및 사용 / usr / local 기본값으로.
접두사 = ARGUMENTS.get('접두사', '/ usr / local')

# 위 함수 작업에 대해 .Config() 빌더를 연결합니다.
# 건설 환경에.
env['BUILDERS']['Config'] = 빌더(작업 = 생성)
env.Config(대상 = 'package-config', 소스 = 값(접두사))

def build_value(대상, 소스, 환경):
# 업데이트를 통해 Python 값을 "구축"하는 함수
# 파일 내용이 포함된 Python 값
# Builder 호출의 소스로 지정됩니다($SOURCE).
타겟[0].write(소스[0].get_contents())

출력 = env.Value('이전')
입력 = env.Value('이후')

# 위 함수에 대해 .UpdateValue() 빌더를 첨부합니다.
# 건설 환경에 대한 조치.
env['BUILDERS']['UpdateValue'] = 빌더(action = build_value)
env.UpdateValue(대상 = 값(출력), 소스 = 값(입력))

VariantDir(variant_dir, src_dir, [중복]), env.VariantDir(variant_dir, src_dir,
[복제하다])
사용 변형 디렉토리 다른 위치에 소스의 복사본을 생성하는 기능:
아래 이름 변형_디렉터리 찾을 수 없지만 아래에 존재합니다. src_dir, 파일 또는 디렉터리는 다음과 같습니다.
복사 변형_디렉터리. 대상 파일은 다른 디렉터리에 빌드될 수 있습니다.
변형 내의 소스(및 타겟)를 간단히 참조하여 원본 소스
나무.

변형 디렉토리 동일한 내용으로 여러 번 호출할 수 있습니다. src_dir 여러 개 설정하기
다양한 옵션으로 빌드(변종). src_dir 위치는 다음이어야 합니다.
SConstruct 파일 디렉토리 아래에 변형_디렉터리 밑에는 없을 수도 있지
src_dir.

기본 동작은 scons가 소스 파일을 물리적으로 복제하는 것입니다.
변형 트리. 따라서 변형 트리에서 수행되는 빌드는 다음과 같이 보장됩니다.
중간 소스 파일이 있더라도 소스 트리에서 수행된 빌드와 동일합니다.
빌드 중에 생성되거나 전처리기 또는 기타 스캐너가 포함된 항목을 검색합니다.
소스 파일과 관련된 파일, 개별 컴파일러 또는 기타 호출된 도구는
파생 파일을 소스 파일과 동일한 디렉터리에 넣도록 하드 코딩되었습니다.

플랫폼에서는 가능하다면 링크 방식이 아닌 링크 방식으로 복제를 수행합니다.
사자; 또한 참조하십시오 --복제하다 명령줄 옵션. 게다가 꼭 필요한 파일만
빌드를 위해 복제되었습니다. 사용되지 않는 파일과 디렉토리는 존재하지 않습니다
in 변형_디렉터리.

중복 인수를 0으로 설정하면 소스 트리 복제가 비활성화될 수 있습니다.
(영). 그러면 스콘이 소스 파일의 경로 이름을 사용하여 빌더를 호출하게 됩니다.
in src_dir 그리고 그 안에 있는 파생 파일의 경로 이름 변형_디렉터리. 항상 이게 더 많아
Duplicate=1보다 효율적이며 일반적으로 대부분의 빌드에서 안전합니다(그러나 자세한 내용은 위 참조).
문제가 발생할 수 있는 경우)

참고 변형 디렉토리 보조 SConscript 파일과 가장 자연스럽게 작동합니다. 하지만,
그런 다음 소스 디렉터리가 아닌 보조 SConscript 파일을 호출합니다.
전에, 변형_디렉터리, 중복 값에 관계없이. 스콘들에게 이렇게 말해요
빌드할 소스 트리의 변형:

# 두 개의 변형 디렉터리에서 src/SConscript를 실행합니다.
VariantDir('빌드/변형1', 'src')
SConscript('빌드/변형1/SConscript')
VariantDir('빌드/변형2', 'src')
SConscript('빌드/변형2/SConscript')

참조 항목 징집병 위에서 설명한 함수를 사용하여
보조 SConscript 파일 호출과 관련된 변형 디렉터리입니다.

예 :

# 소스 디렉터리가 아닌 빌드 디렉터리의 이름을 사용합니다.
VariantDir('빌드', 'src', 중복=0)
프로그램('build/prog', 'build/source.c')

# 이는 별도의 하위 트리에 소스와 문서를 모두 구축합니다.
VariantDir('빌드', '.', 중복=0)
SConscript(dirs=['build/src','build/doc'])

# 이전 예제와 동일하지만 SConscript만 사용합니다.
SConscript(dirs='src', 변형_dir='빌드/src', Duplicate=0)
SConscript(dirs='doc',variant_dir='build/doc',duplicate=0)

WhereIs(프로그램, [경로, 경로 확장, 거부]), env.WhereIs(프로그램, [경로, 경로 확장, 거부])
지정된 실행 파일을 검색합니다. 프로그램, 전체 경로 이름을
발견되면 프로그램을 실행하고, 없으면 None을 반환합니다. 지정된 검색 통로Walk Through California 프로그램,
호출 환경의 PATH(env['ENV']['PATH']) 값 또는 사용자의 현재 값
기본적으로 외부 PATH(os.environ['PATH'])입니다. Windows 시스템에서는 다음을 검색합니다.
지정된 파일 확장자 중 하나를 가진 실행 프로그램 경로 확장,
호출 환경의 PATHEXT (env['ENV']['PATHEXT']) 또는 사용자의 현재
기본적으로 PATHEXT(os.environ['PATHEXT'])입니다. 경로 이름이나 이름을 선택하지 않습니다.
지정된 거부 있다면 목록을 작성하세요.

징집병 변수
전역 함수 및 메서드 외에도 스콘 다양한 Python 지원
원하는 빌드 방식에 영향을 주기 위해 SConscript 파일에서 사용할 수 있는 변수
수행. 이러한 변수는 가져오는 사용자 정의 Python 모듈에서 액세스할 수 있습니다.
Python 모듈에 다음을 추가하여 SConscript 파일을 만듭니다.

SCons.Script에서 가져오기 *

아그리스트
목록 키워드는=가치 명령줄에 지정된 인수입니다. 목록의 각 요소
(를 포함하는 튜플입니다.키워드는,가치)의 주장이다. 별도의 키워드는 그리고
가치 튜플의 요소는 요소에 대한 첨자를 사용하여 액세스할 수 있습니다. [0] 그리고 [1] of
튜플은 각각.

예:

"첫 번째 키워드, 값 =", ARGLIST[0][0], ARGLIST[0][1] 인쇄
"두 번째 키워드, 값 =", ARGLIST[1][0], ARGLIST[1][1] 인쇄
third_tuple = ARGLIST[2]
"세 번째 키워드, 값 =", third_tuple[0], third_tuple[1] 인쇄
키의 경우 ARGLIST의 값:
# 프로세스 키와 값

인수
모든 것의 사전 키워드는=가치 명령줄에 지정된 인수입니다. 그만큼
사전의 순서가 잘못되었으며 특정 키워드에 둘 이상의 값이 할당된 경우
명령줄에서 이를 실행하는 경우 마지막(가장 오른쪽) 값은 인수
사전.

예:

ARGUMENTS.get('디버그', 0)인 경우:
환경 = 환경(CCFLAGS = '-g')
그밖에:
환경 = 환경()

BUILD_TARGETS
대상 목록 스콘 여부에 관계없이 실제로 빌드를 시도합니다.
명령줄이나 다음을 통해 지정되었습니다. 태만() 기능 또는 방법. 그만큼
이 목록의 요소는 문자열일 수 있습니다. or 노드를 통해 목록을 실행해야 합니다.
Python 하위 버전 노드 경로 이름이 문자열로 변환되는지 확인하는 함수입니다.

이 목록은 다음을 사용하여 지정된 대상 목록에서 가져올 수 있으므로 태만()
함수나 메소드를 호출할 때마다 목록의 내용이 변경될 수 있습니다.
태만(). 참조 DEFAULT_TARGETS 자세한 내용은 아래 목록을 참조하세요.

예:

BUILD_TARGETS에 'foo'가 있는 경우:
print "`foo' 프로그램을 테스트하는 것을 잊지 마세요!"
BUILD_TARGETS의 '특별/프로그램'인 경우:
SConscript('특수')

참고로 BUILD_TARGETS 목록에는 명령줄에 나열된 예상 대상만 포함됩니다.
또는 전화를 통해 태만() 기능 또는 방법. 그렇습니다 지원 모든 종속 항목 포함
명시적으로 지정된 대상을 확인한 결과로 구축될 대상
최신 버전입니다.

COMMAND_LINE_TARGETS
명령줄에 명시적으로 지정된 대상 목록입니다. 없는 경우
명령줄에 대상을 지정하면 목록이 비어 있습니다. 이것은 다음과 같은 용도로 사용될 수 있습니다.
예를 들어, 특정 대상이 명시적으로 지정된 경우에만 특정 작업을 수행하려면
지어지고있는 중.

예:

COMMAND_LINE_TARGETS에 'foo'가 있는 경우:
print "`foo' 프로그램을 테스트하는 것을 잊지 마세요!"
COMMAND_LINE_TARGETS에 '특별/프로그램'이 있는 경우:
SConscript('특수')

DEFAULT_TARGETS
대상 목록 노드 다음을 사용하여 지정된 태만() 함수 또는
방법. 목록의 요소는 노드이므로 Python을 통해 실행해야 합니다.
하위 버전 각 노드의 경로 이름을 가져오는 함수입니다.

예:

문자열(DEFAULT_TARGETS[0])을 인쇄합니다.
map(str, DEFAULT_TARGETS)에 'foo'가 있는 경우:
print "`foo' 프로그램을 테스트하는 것을 잊지 마세요!"

내용 DEFAULT_TARGETS 각 연속 호출에 대해 목록 변경이 적용됩니다.
태만() 기능:

인쇄 맵(str, DEFAULT_TARGETS) # 원래 []
기본값('foo')
print map(str, DEFAULT_TARGETS) # 이제 노드 ['foo']
기본값('바')
print map(str, DEFAULT_TARGETS) # 이제 노드 ['foo', 'bar']
기본값(없음)
인쇄 맵(str, DEFAULT_TARGETS) # []로 돌아갑니다.

따라서 반드시 사용하십시오. DEFAULT_TARGETS 당신이 모든 것을 마친 후에야 태만()
호출하거나 SConscript 파일에서 이러한 명령문의 순서에 주의하세요.
실제로 추가되기 전에 특정 기본 대상을 찾지 않도록
그 목록.

건설 변수
구성 환경에는 다음과 같은 관련 사전이 있습니다. 구조 변수 그 아르
내장 또는 사용자 제공 빌드 규칙에서 사용됩니다. 구성 변수는 동일해야 합니다.
Python 식별자 규칙: 첫 번째 문자는 밑줄이나 문자여야 합니다.
그 뒤에는 밑줄, 문자 또는 숫자가 옵니다.

다수의 유용한 구성 변수가 각각에 대해 scons에 의해 자동으로 정의됩니다.
지원되는 플랫폼과 추가 구성 변수는 사용자가 정의할 수 있습니다. 그만큼
다음은 자동으로 정의된 구성 변수 목록입니다.

__LDMODULEVERSIONFLAGS
이 구성 변수는 자동으로 $_LDMODULEVERSIONFLAGS if
$LDMODULEVERSION 설정됩니다. 그렇지 않으면 빈 문자열로 평가됩니다.

__SHLIBVERSIONFLAGS
이 구성 변수는 자동으로 $_SHLIBVERSIONFLAGS if
$SHLIBVERSION 설정됩니다. 그렇지 않으면 빈 문자열로 평가됩니다.

AR
정적 라이브러리 아카이버.

건축
패키지가 빌드되는 시스템 아키텍처를 지정합니다. 기본값은
SCons가 실행 중인 시스템의 시스템 아키텍처. 이는 채우기 위해 사용됩니다.
Ipkg 제어 파일의 Architecture: 필드와
RPM 파일이 생성되었습니다.

ARCOM
개체 파일에서 정적 라이브러리를 생성하는 데 사용되는 명령줄입니다.

ARCOMSTR
어셈블리 언어 소스에서 객체 파일이 생성될 때 표시되는 문자열
파일. 이것이 설정되어 있지 않으면 $ARCOM (명령줄)이 표시됩니다.

env = 환경(ARCOMSTR = "$TARGET 보관 중")

아르플래그
정적 라이브러리 아카이버에 전달되는 일반 옵션입니다.

AS
어셈블러.

아스콤
어셈블리 언어 소스에서 개체 파일을 생성하는 데 사용되는 명령줄
파일.

ASCOMSTR
어셈블리 언어 소스에서 객체 파일이 생성될 때 표시되는 문자열
파일. 이것이 설정되어 있지 않으면 $ASCOM (명령줄)이 표시됩니다.

env = 환경(ASCOMSTR = "$TARGET 조립 중")

ASFLAG
일반 옵션이 어셈블러에 전달됩니다.

ASPPCOM
어셈블리 언어 소스 파일을 개체 파일로 어셈블하는 데 사용되는 명령줄
먼저 C 전처리기를 통해 파일을 실행한 후. 에 지정된 모든 옵션
$ASFLAGS 그리고 $CPPFLAGS 이 명령줄에는 구성 변수가 포함되어 있습니다.

ASPPCOMSTR
어셈블리 언어 소스에서 객체 파일이 생성될 때 표시되는 문자열
C 전처리기를 통해 파일을 처음 실행한 후 파일을 삭제합니다. 이것이 설정되어 있지 않으면
$ASPPCOM (명령줄)이 표시됩니다.

env = 환경(ASPPCOMSTR = "$TARGET 조립 중")

ASP플래그
어셈블리 언어 소스 파일을 객체로 어셈블할 때의 일반 옵션
C 전처리기를 통해 파일을 처음 실행한 후 파일을 삭제합니다. 기본값은 다음을 사용하는 것입니다.
의 값 $ASFLAGS.

빕텍스
TeX 포맷터, 조판기 및 LaTeX용 참고문헌 생성기
구조적 포맷터 및 조판기.

BIBTEXCOM
TeX 포맷터용 참고문헌 생성기를 호출하는 데 사용되는 명령줄
조판기와 LaTeX 구조적 포맷터 및 조판기.

BIBTEXCOMSTR
TeX 또는 LaTeX용 참고문헌을 생성할 때 표시되는 문자열입니다. 그렇지 않은 경우
설정 한 다음 $BIBTEXCOM (명령줄)이 표시됩니다.

env = 환경(BIBTEXCOMSTR = "참고문헌 $TARGET 생성 중")

BIBTEXFLAGS
TeX 포맷터용 참고문헌 생성기에 전달된 일반 옵션 및
조판기와 LaTeX 구조적 포맷터 및 조판기.

비트키퍼
BitKeeper 실행 파일.

비트키퍼컴
BitKeeper를 사용하여 소스 파일을 가져오기 위한 명령줄.

BITKEEPERCOMSTR
BitKeeper를 사용하여 소스 파일을 가져올 때 표시되는 문자열입니다. 이것이 설정되지 않은 경우,
그때 $비트키퍼컴 (명령줄)이 표시됩니다.

비트키퍼겟
명령($비트키퍼) 및 BitKeeper를 사용하여 소스 파일을 가져오는 하위 명령입니다.

BITKEEPERGETFLAGS
BitKeeper에 전달되는 옵션 얻을 하위 명령.

건축 자
이 환경을 통해 사용 가능한 빌더의 이름을 매핑하는 사전입니다.
기본 Builder 개체. Alias, CFile, CXXFile, DVI, Library라는 빌더
기본적으로 개체, PDF, PostScript 및 프로그램을 사용할 수 있습니다. 이것을 초기화하면
환경이 생성될 때의 변수:

env = 환경(BUILDERS = {'NewBuilder' : foo})

기본 빌더는 더 이상 사용할 수 없습니다. 새 Builder 객체를 사용하려면
기본 Builders 외에 다음과 같이 새 Builder 개체를 추가합니다.

환경 = 환경()
env.Append(BUILDERS = {'NewBuilder' : foo})

아니면 이거:

환경 = 환경()
env['BUILDERS]['NewBuilder'] = foo

CC
C 컴파일러.

CCCOM
C 소스 파일을 (정적) 개체 파일로 컴파일하는 데 사용되는 명령줄입니다. 어느
에 지정된 옵션 $CFLAGS, $CCFLAGS 그리고 $CPPFLAGS 건설 변수는
이 명령줄에 포함됩니다.

CCCOMSTR
C 소스 파일이 (정적) 개체 파일로 컴파일될 때 표시되는 문자열입니다. 만약에
설정되어 있지 않다면 $CCCOM (명령줄)이 표시됩니다.

env = 환경(CCCOMSTR = "정적 개체 $TARGET 컴파일 중")

CCFLAG
C 및 C++ 컴파일러에 전달되는 일반 옵션입니다.

CCPCHFLAGS
미리 컴파일된 빌드를 지원하기 위해 컴파일러 명령줄에 옵션이 추가되었습니다.
헤더. 기본값은 적절한 Microsoft Visual C++로 확장됩니다.
명령줄 옵션 $PCH 건설 변수가 설정되었습니다.

CCPDBFLAGS
디버깅 정보 저장을 지원하기 위해 컴파일러 명령줄에 옵션이 추가되었습니다.
Microsoft Visual C++ PDB 파일. 기본값은 적절하게 확장됩니다.
Microsoft Visual C++ 명령줄 옵션 $PDB 건설 변수가 설정되었습니다.

SCons가 PDB 정보를 생성하기 위해 기본적으로 사용하는 Visual C++ 컴파일러 옵션
is /Z7. 이는 병렬(-j) 디버그가 포함되어 있기 때문에 빌드됩니다.
단일 PDB 파일을 공유하는 것과 달리 중간 개체 파일의 정보
여러 개체 파일 사이. 이는 디버그 정보를 얻는 유일한 방법이기도 합니다.
정적 라이브러리에 포함됩니다. 사용하여 /지 대신 링크 시간이 향상될 수 있습니다.
하지만 병렬 빌드는 더 이상 작동하지 않습니다.

다음을 사용하여 PDB 파일을 생성할 수 있습니다. /지 기본값을 재정의하여 전환 $CCPDBFLAGS
다음과 같이 변수 :

env['CCPDBFLAGS'] = ['${(PDB 및 "/Zi /Fd%s" % 파일(PDB)) 또는 ""}']

대안은 /지 디버깅 정보를 별도의 폴더에 넣으려면
.pdb 파일을 재정의하여 각 개체 파일에 대해 $CCPDBFLAGS 다음과 같이 변수 :

env['CCPDBFLAGS'] = '/Zi /Fd${TARGET}.pdb'

CC버전
C 컴파일러의 버전 번호입니다. 이는 설정에 따라 설정될 수도 있고 설정되지 않을 수도 있습니다.
특정 C 컴파일러가 사용됩니다.

CFILESUFFIX
C 소스 파일의 접미사입니다. 이는 내부 CFile 빌더에서 다음과 같은 경우에 사용됩니다.
Lex(.l) 또는 YACC(.y) 입력 파일에서 C 파일을 생성합니다. 기본 접미사
물론 .c(소문자)입니다. 대소문자를 구분하지 않는 시스템(예: Windows)에서는 SCons도
.C(대문자) 파일을 C 파일로 처리합니다.

깃발
C 컴파일러에 전달되는 일반 옵션입니다(C에만 해당, C++는 아님).

CHANGE_SPECFILE
패키징 빌드를 제어하는 ​​파일(RPM의 경우 .spec,
MSI의 경우 .wxs인 Ipkg의 컨트롤입니다. 설정되면 함수는 다음 이후에 호출됩니다.
파일의 SCons 템플릿이 작성되었습니다. 트리플 엑스

CHANGED_SOURCES
구성 환경에서 설정하거나 사용할 수 없는 예약된 변수 이름입니다.
(아래의 '변수 대체'를 참조하세요.)

CHANGED_TARGETS개
구성 환경에서 설정하거나 사용할 수 없는 예약된 변수 이름입니다.
(아래의 '변수 대체'를 참조하세요.)

변경 로그
패키지에 포함될 변경 로그 텍스트가 포함된 파일의 이름입니다. 이것
RPM .spec 파일의 %changelog 섹션으로 포함됩니다.

_concat
다음과 같은 변수를 생성하는 데 사용되는 함수 $_CPPINCFLAGS. 4~5개가 소요됩니다
인수: 각 요소에 연결할 접두사, 요소 목록, 접미사
각 요소에 연결하고, 변수 보간을 위한 환경을 만들고,
연결하기 전에 목록을 변환하기 위해 호출되는 선택적 함수입니다.

env['_CPPINCFLAGS'] = '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX, __env__, RDirs)} $)',

구성DIR
구성 컨텍스트 테스트 파일이 기록되는 디렉터리의 이름입니다. 그만큼
기본값은 SConstruct 파일이 포함된 최상위 디렉터리의 .sconf_temp입니다.

구성로그
구성 컨텍스트 로그 파일의 이름입니다. 기본값은 최상위 수준의 config.log입니다.
SConstruct 파일이 포함된 디렉터리입니다.

_CPDEFFLAGS
C 전처리기를 포함하는 자동 생성된 구성 변수
값을 정의하는 명령줄 옵션입니다. 의 가치 $_CPDEFFLAGS 에 의해 만들어 짐
첨부 $CPPDEFPREFIX 그리고 $CPPDEFSUFFIX 각 정의의 시작과 끝
in $CPPDEFINES.

CPP 정의
C 전처리기 정의의 플랫폼 독립적 사양입니다. 정의
자동 생성을 통해 명령줄에 추가됩니다. $_CPDEFFLAGS
값 유형에 따라 생성되는 생성 변수(위 참조)
of $CPPDEFINES:

If $CPPDEFINES 문자열이며, $CPPDEFPREFIX 그리고 $CPPDEFSUFFIX
생성 변수는 시작과 끝 부분에 추가됩니다.

# POSIX 컴파일러 명령줄에 -Dxyz를 추가합니다.
# 및 /Dxyz를 Microsoft Visual C++ 명령줄로 전환합니다.
env = 환경(CPPDEFINES='xyz')

If $CPPDEFINES 목록이며, $CPPDEFPREFIX 그리고 $CPPDEFSUFFIX
구성 변수는 각 요소의 시작과 끝에 추가됩니다.
목록. 요소가 목록이나 튜플인 경우 첫 번째 항목은 이름입니다.
정의되었으며 두 번째 항목은 해당 값입니다.

# POSIX 컴파일러 명령줄에 -DB=2 -DA를 추가합니다.
# 및 /DB=2 /DA를 Microsoft Visual C++ 명령줄에 적용합니다.
env = 환경(CPPDEFINES=[('B', 2), 'A'])

If $CPPDEFINES 는 사전이며, $CPPDEFPREFIX 그리고 $CPPDEFSUFFIX
구성 변수는 각 항목의 시작과 끝 부분에 추가됩니다.
사전. 각 사전 항목의 키는 사전에 정의되는 이름입니다.
항목의 해당 값; 값이 None이면 이름은
명시적인 값. 결과 플래그는 키워드별로 정렬되어
명령줄의 옵션 순서는 scons가 실행될 때마다 일관됩니다.

# POSIX 컴파일러 명령줄에 -DA -DB=2를 추가합니다.
# 및 /DA /DB=2를 Microsoft Visual C++ 명령줄에 적용합니다.
env = 환경(CPPDEFINES={'B':2, 'A':없음})

CPPDEFPREFIX
C 컴파일러 명령줄에서 전처리기 정의를 지정하는 데 사용되는 접두사입니다.
이는 각 정의의 시작 부분에 추가됩니다. $CPPDEFINES
구성 변수 $_CPDEFFLAGS 변수가 자동으로 생성됩니다.

CPPDEFSUFFIX
C 컴파일러 명령줄에서 전처리기 정의를 지정하는 데 사용되는 접미사입니다.
이는 각 정의의 끝에 추가됩니다. $CPPDEFINES 구조
변수 $_CPDEFFLAGS 변수가 자동으로 생성됩니다.

CPPFLAGS
사용자 지정 C 전처리기 옵션. 이는 다음을 사용하는 모든 명령에 포함됩니다.
C 전처리기를 통해 C 및 C++ 소스 파일을 컴파일하는 것뿐만 아니라
$CCCOM, $SHCCCOM, $CXXCOM 그리고 $SHHCXXCOM 명령줄뿐 아니라 $FORTRANPPCOM,
$SHFORTRANPPCOM, $F77PPCOM 그리고 $SHF77PPCOM Fortran을 컴파일하는 데 사용되는 명령줄
소스 파일과 $ASPPCOM 어셈블리 언어를 어셈블하는 데 사용되는 명령줄
C 전처리기를 통해 각 파일을 먼저 실행한 후 소스 파일. 참고하세요
변수는 지원 포함하는 -I (또는 유사) 검색 경로 옵션을 포함합니다.
다음에서 자동으로 생성됩니다. $CPPPATH. 참조 $_CPPINCFLAGS, 아래에서 해당 변수에 대해
해당 옵션으로 확장됩니다.

_CPPINCFLAGS
C 전처리기를 포함하는 자동 생성된 구성 변수
포함 파일을 검색할 디렉터리를 지정하기 위한 명령줄 옵션입니다. 그만큼
의 가치 $_CPPINCFLAGS 추가하여 생성됩니다. $INCPREFIX 그리고 $INCSUFFIX 부터
각 디렉토리의 시작과 끝 $CPPPATH.

CPPPATH
C 전처리기가 검색할 디렉터리 목록은 포함 디렉터리입니다.
C/C++ 암시적 종속성 스캐너는 이러한 디렉터리에서 포함 파일을 검색합니다.
CCFLAGS 또는 CXXFLAGS에 포함 디렉터리 인수를 명시적으로 넣지 마세요.
결과는 이식 불가능하며 종속성에 의해 디렉터리가 검색되지 않습니다.
스캐너. 참고: CPPPATH의 디렉토리 이름은 SConscript를 기준으로 조회됩니다.
명령에 사용될 때 디렉터리입니다. 스콘이 디렉토리를 조회하도록 강제하려면
소스 트리의 루트를 기준으로 #:을 사용합니다.

env = 환경(CPPPATH='#/include')

디렉토리 조회는 다음을 사용하여 강제로 수행할 수도 있습니다. 디렉토리() 기능:

include = Dir('포함')
env = 환경(CPPPATH=포함)

디렉토리 목록은 자동 생성된 명령줄에 추가됩니다.
$_CPPINCFLAGS 값을 추가하여 구성되는 구성 변수
전에, $INCPREFIX 그리고 $INCSUFFIX 각각의 시작과 끝 부분에 구성 변수
~에있는 디렉토리 $CPPPATH. CPPPATH 디렉터리가 필요한 정의한 모든 명령줄
목록에는 다음이 포함되어야 합니다. $_CPPINCFLAGS:

env = 환경(CCCOM="my_compiler $_CPPINCFLAGS -c -o $TARGET $SOURCE")

CPP접미사
C 전처리기 암시적으로 검사할 파일의 접미사 목록
종속성(#include 라인). 기본 목록은 다음과 같습니다.

[".c", ".C", ".cxx", ".cpp", ".c++", ".cc",
".h", ".H", ".hxx", ".hpp", ".hh",
".F", ".fpp", ".FPP",
".m", ".mm",
".S", ".spp", ".SPP"]

CVS
CVS 실행 파일입니다.

CVSCOFLAGS
CVS checkout 하위 명령에 전달되는 옵션입니다.

CVSCOM
CVS 저장소에서 소스 파일을 가져오는 데 사용되는 명령줄입니다.

CVSCOMSTR
CVS 저장소에서 소스 파일을 가져올 때 표시되는 문자열입니다. 그렇지 않은 경우
설정 한 다음 $CVSCOM (명령줄)이 표시됩니다.

CVS플래그
CVS에 전달되는 일반 옵션입니다. 기본적으로 이는 -d $CVSREPOSITORY로 설정됩니다.
파일을 가져와야 하는 위치를 지정합니다.

CVS저장소
CVS 저장소의 경로입니다. 이는 기본값에서 참조됩니다. $CVSFLAGS 값.

씨엑스
C++ 컴파일러.

CXXCOM
C++ 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄입니다. 모든 옵션
에 지정된 $CXXFLAGS 그리고 $CPPFLAGS 여기에는 구성 변수가 포함됩니다.
명령 행.

CXXCOMSTR
C++ 소스 파일이 (정적) 개체 파일로 컴파일될 때 표시되는 문자열입니다. 만약에
설정되어 있지 않다면 $CXXCOM (명령줄)이 표시됩니다.

env = Environment(CXXCOMSTR = "정적 개체 $TARGET 컴파일 중")

CXXFILESuffix
C++ 소스 파일의 접미사입니다. 이는 내부 CXXFile 빌더에서 사용됩니다.
Lex(.ll) 또는 YACC(.yy) 입력 파일에서 C++ 파일 생성. 기본 접미사는 다음과 같습니다.
.cc. SCons는 또한 접미사 .cpp, .cxx, .c++ 및 .C++가 있는 파일을 C++로 처리합니다.
파일 및 접미사가 .mm인 파일은 Objective C++ 파일로 간주됩니다. 대소문자를 구분하는 시스템의 경우
(Linux, UNIX 및 기타 POSIX 유사) SCons는 .C(대문자) 파일도 C++로 처리합니다.
파일.

CXX플래그
C++ 컴파일러에 전달되는 일반 옵션입니다. 기본적으로 여기에는 다음이 포함됩니다.
의 가치 $CCFLAGS, 그래서 그 설정은 $CCFLAGS C 및 C++ 컴파일 모두에 영향을 미칩니다. 만약 너라면
C++ 관련 플래그를 추가하려면 다음 값을 설정하거나 재정의해야 합니다. $CXXFLAGS.

CXX버전
C++ 컴파일러의 버전 번호입니다. 이는 설정에 따라 설정될 수도 있고 설정되지 않을 수도 있습니다.
특정 C++ 컴파일러가 사용됩니다.

DC
DC.

DCOM
DCOM.

디버그
디버그.

_DDEBUGFLAGS
_DDEBUGFLAGS.

디버그프리픽스
DDEBUGPREFIX.

DDEBURGUSFIX
DDEBUUGSUFFIX.

기술
패키징되는 프로젝트에 대한 긴 설명입니다. 이는 관련 항목에 포함됩니다.
패키징 빌드를 제어하는 ​​파일의 섹션입니다.

DESCRIPTION_lang
지정된 항목에 대한 언어별 긴 설명입니다. . 이는 채우기 위해 사용됩니다.
RPM .spec 파일의 %description -l 섹션.

DFILESUFFIX
DFILESUFFIX.

DFLAGPREFIX
DFLAGPREFIX.

_DFLAGS
_DFLAGS.

DFLAGS
DFLAGS.

DFLAGSUFFIX
DFLAGSUFFIX.

_DINCFLAGS
_DINCFLAGS.

DINCPREFIX
DINCPREFIX.

DINCSuffix
DINCSuffix.

디렉토리
문자열을 대상과 관련된 Dir 인스턴스로 변환하는 함수
세워짐.

문자열을 대상과 관련된 Dir 인스턴스로 변환하는 함수
세워짐.

디렉토리
문자열 목록을 Dir 인스턴스 목록으로 변환하는 함수입니다.
건설중인 목표.

DLIB
DLIB.

DLIBCOM
DLIBCOM.

_DLIBDIRFLAGS
_DLIBDIRFLAGS.

DLIBDIRPREFIX
DLIBDIRPREFIX.

DLIBDIRSUFFIX
DLIBDIRSUFFIX.

DLIBFLAGPREFIX
DLIBFLAGPREFIX.

_DLIBFLAGS
_DLIBFLAGS.

DLIBFLAGSUFFIX
DLIBFLAGSUFFIX.

DLIBLINK프리픽스
DLIBLINKPREFIX.

DLIBLINK서픽스
DLIBLINKSUFFIX.

드링크
DLINK.

디링크컴
DLINKCOM.

DLINK플래그프리픽스
DLINKFLAGPREFIX.

DLINKFLAGS
DLINKFLAGS.

DLINKFLAGSUFFIX
DLINKFLAGSUFFIX.

DOCBOOK_DEFAULT_XSL_EPUB
기본 XSLT 파일은 DocbookEpub 현재 환경 내의 빌더인 경우
다른 XSLT는 키워드를 통해 지정되지 않습니다.

DOCBOOK_DEFAULT_XSL_HTML
기본 XSLT 파일은 DocbookHTML 현재 환경 내의 빌더인 경우
다른 XSLT는 키워드를 통해 지정되지 않습니다.

DOCBOOK_DEFAULT_XSL_HTMLCHUNKED
기본 XSLT 파일은 DocbookHtml청크 현재 내의 빌더
환경, 키워드를 통해 다른 XSLT가 지정되지 않은 경우.

DOCBOOK_DEFAULT_XSL_HTMLHELP
기본 XSLT 파일은 DocbookHtml도움말 현재 환경 내의 빌더,
키워드를 통해 다른 XSLT가 지정되지 않은 경우.

DOCBOOK_DEFAULT_XSL_MAN
기본 XSLT 파일은 닥북맨 현재 환경 내의 빌더(없는 경우)
다른 XSLT는 키워드를 통해 지정됩니다.

DOCBOOK_DEFAULT_XSL_PDF
기본 XSLT 파일은 DocbookPDF 현재 환경 내의 빌더(없는 경우)
다른 XSLT는 키워드를 통해 지정됩니다.

DOCBOOK_DEFAULT_XSL_SLIDESHTML
기본 XSLT 파일은 DocbookSlidesHtml 현재 내의 빌더
환경, 키워드를 통해 다른 XSLT가 지정되지 않은 경우.

DOCBOOK_DEFAULT_XSL_SLIDESPDF
기본 XSLT 파일은 DocbookSlidesPDF 현재 환경 내의 빌더,
키워드를 통해 다른 XSLT가 지정되지 않은 경우.

DOCBOOK_FOP
PDF 렌더러 fop 또는 xep 중 하나가 설치된 경우 경로(fop가 확인됨)
먼저).

DOCBOOK_FOPCOM
PDF 렌더러 fop 또는 xep에 대한 전체 명령줄입니다.

DOCBOOK_FOPCOMSTR
fop 또는 xep과 같은 렌더러를 사용하여 PDF 출력을 생성할 때 표시되는 문자열입니다.
XML 파일.

DOCBOOK_FOPFLAGS
PDF 렌더러 fop 또는 xep에 대한 추가 명령줄 플래그입니다.

DOCBOOK_XMLLINT
설치된 경우 외부 실행 파일 xmllint의 경로입니다. 참고로 이건
libxml2 또는 lxml이 없는 경우 XInclude를 해결하기 위한 마지막 대체 수단으로만 사용됩니다. Python
현재 시스템에서 바인딩을 가져올 수 있습니다.

DOCBOOK_XMLLINTCOM
외부 실행 파일 xmllint에 대한 전체 명령줄입니다.

DOCBOOK_XMLLINTCOMSTR
지정된 XML 파일에 대한 XIncludes를 확인하기 위해 xmllint를 사용할 때 표시되는 문자열입니다.

DOCBOOK_XMLLINTFLAGS
외부 실행 파일 xmllint에 대한 추가 명령줄 플래그입니다.

DOCBOOK_XSLTPROC
외부 실행 파일 xsltproc(또는 saxon, xalan)에 대한 경로(둘 중 하나가 다음인 경우)
설치되었습니다. 이는 XSL 변환에 대한 마지막 대체 수단으로만 사용된다는 점에 유의하세요.
현재 시스템에서는 libxml2 또는 lxml Python 바인딩을 가져올 수 없습니다.

DOCBOOK_XSLTPROCCOM
외부 실행 파일 xsltproc(또는 saxon, xalan)에 대한 전체 명령줄입니다.

DOCBOOK_XSLTPROCCOMSTR
xsltproc가 지정된 XSLT를 통해 XML 파일을 변환하는 데 사용될 때 표시되는 문자열
스타일 시트.

DOCBOOK_XSLTPROCFLAGS
외부 실행 파일 xsltproc(또는 saxon, xalan)에 대한 추가 명령줄 플래그입니다.

DOCBOOK_XSLTPROCPARAMS
XSLT 프로세서 실행 파일용이 아닌 추가 매개변수
XSL 처리 자체. 기본적으로 명령줄 끝에 추가됩니다.
각각 Saxon 및 saxon-xslt에 대해.

DPATH
DPATH.

D접미사
가져온 D 패키지 파일을 검색할 파일의 접미사 목록입니다. 그만큼
기본 목록은 다음과 같습니다

['.디']

_DVERFLAGS
_DVERFLAGS.

DVERPREFIX
DVERPREFIX.

전환
전환.

DVERSUFFIX
DVERSUFFIX.

DVIPDF
TeX DVI 파일을 PDF 파일로 변환기.

DVIPDFCOM
TeX DVI 파일을 PDF 파일로 변환하는 데 사용되는 명령줄입니다.

DVIPDFCOMSTR
TeX DVI 파일이 PDF 파일로 변환될 때 표시되는 문자열입니다. 그렇지 않은 경우
설정 한 다음 $DVIPDFCOM (명령줄)이 표시됩니다.

DVIPDFFLAGS
TeX DVI 파일을 PDF 파일 변환기로 전달하는 일반 옵션입니다.

DVIPS
TeX DVI 파일을 PostScript로 변환하는 변환기입니다.

DVIPSFLAGS
TeX DVI 파일에 PostScript 변환기로 전달되는 일반 옵션입니다.

ENV
명령을 호출할 때 사용할 환경 변수 사전입니다. 언제 $ENV 사용
명령에서 모든 목록 값은 경로 구분 기호 및 기타 항목을 사용하여 결합됩니다.
문자열이 아닌 값은 단순히 문자열로 강제 변환됩니다. 기본적으로 scons는
하지 지원 scons를 명령에 실행할 때 적용되는 환경을 전파합니다.
대상 파일을 빌드하는 데 사용됩니다. 이는 빌드의 반복성을 보장하기 위한 것입니다.
scons가 호출될 때 설정된 환경 변수에 관계없이.

빌드를 위해 실행되는 명령에 환경 변수를 전파하려는 경우
대상 파일의 경우 명시적으로 수행해야 합니다.

운영 체제 가져 오기
환경 = 환경(ENV = os.environ)

특정 환경 변수만 전파하도록 선택할 수 있습니다. 공통
예를 들면 시스템이다 PATH scons가 동일한 유틸리티를 사용하도록 환경 변수
호출하는 셸(또는 다른 프로세스)로:

운영 체제 가져 오기
환경 = 환경(ENV = {'경로' : os.environ['경로']})

ESCAPE
명령줄에서 셸 특수 문자를 이스케이프하기 위해 호출되는 함수입니다.
함수는 하나의 인수를 취해야 합니다: 이스케이프할 명령줄 문자열; 그리고 해야 한다
이스케이프된 명령줄을 반환합니다.

F03
Fortran 03 컴파일러. 일반적으로 다음을 설정해야 합니다. $포트란 변수,
모든 Fortran 버전에 대한 기본 Fortran 컴파일러를 지정합니다. 설정만 하면 됩니다
$F03 Fortran 03 파일에 대해 특정 컴파일러 또는 컴파일러 버전을 사용해야 하는 경우.

F03COM
Fortran 03 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄입니다. 당신 만
설정할 필요가 $F03COM Fortran 03 파일에 특정 명령줄을 사용해야 하는 경우.
일반적으로 다음을 설정해야 합니다. $FORTRANCOM 기본 명령을 지정하는 변수
모든 Fortran 버전에 대한 라인입니다.

F03COMSTR
Fortran 03 소스 파일이 개체 파일로 컴파일될 때 표시되는 문자열입니다. 만약에
설정되어 있지 않다면 $F03COM or $FORTRANCOM (명령줄)이 표시됩니다.

F03파일접미사
F03 방언이 사용될 파일 확장자 목록입니다. 기본적으로 이
['.f03']입니다

F03플래그
Fortran 03 컴파일러에 전달되는 일반 사용자 지정 옵션입니다. 참고하세요
이 변수는 지원 포함하는 -I (또는 유사) 검색 경로 옵션을 포함합니다.
다음에서 자동으로 생성됩니다. $F03PATH. 참조 $_F03INCFLAGS 아래에서 해당 변수에 대해
해당 옵션으로 확장됩니다. 설정만 하면 됩니다 $F03플래그 정의해야 하는 경우
Fortran 03 파일에 대한 특정 사용자 옵션. 일반적으로 다음을 설정해야 합니다. $FOTRAFLAGS
기본 Fortran에 전달되는 사용자 지정 옵션을 지정하는 변수
모든 Fortran 버전용 컴파일러.

_F03INCFLAGS
Fortran 03 컴파일러를 포함하는 자동 생성된 구성 변수
포함 파일을 검색할 디렉터리를 지정하기 위한 명령줄 옵션입니다. 그만큼
의 가치 $_F03INCFLAGS 추가하여 생성됩니다. $INCPREFIX 그리고 $INCSUFFIX 부터
각 디렉토리의 시작과 끝 $F03PATH.

F03PATH
Fortran 03 컴파일러가 검색할 디렉토리 목록에는 다음이 포함됩니다.
디렉토리. 암시적 종속성 스캐너는 이러한 디렉터리에서 포함 항목을 검색합니다.
파일. 포함 디렉터리 인수를 명시적으로 넣지 마세요. $F03플래그 때문에
결과는 이식 불가능하며 종속성에 의해 디렉터리가 검색되지 않습니다.
스캐너. 참고: 디렉토리 이름 $F03PATH 기준으로 조회됩니다.
명령에 사용되는 경우 SConscript 디렉터리입니다. 스콘이 검색하도록 강제하려면
소스 트리 사용 #의 루트에 상대적인 디렉토리: 설정만 하면 됩니다. $F03PATH
Fortran 03 파일에 대한 특정 포함 경로를 정의해야 하는 경우. 당신은해야
일반적으로 설정 $FORTRANPATH 포함 경로를 지정하는 변수
모든 Fortran 버전에 대한 기본 Fortran 컴파일러입니다.

env = 환경(F03PATH='#/include')

디렉토리 조회는 다음을 사용하여 강제로 수행할 수도 있습니다. 디렉토리() 기능:

include = Dir('포함')
env = 환경(F03PATH=포함)

디렉토리 목록은 자동 생성된 명령줄에 추가됩니다.
$_F03INCFLAGS 값을 추가하여 구성되는 구성 변수
전에, $INCPREFIX 그리고 $INCSUFFIX 각각의 시작과 끝 부분에 구성 변수
~에있는 디렉토리 $F03PATH. F03PATH 디렉토리가 필요한 정의한 모든 명령줄
목록에는 다음이 포함되어야 합니다. $_F03INCFLAGS:

env = 환경(F03COM="my_compiler $_F03INCFLAGS -c -o $TARGET $SOURCE")

F03PPCOM
Fortran 03 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄
먼저 C 전처리기를 통해 파일을 실행합니다. 에 지정된 모든 옵션
$F03플래그 그리고 $CPPFLAGS 이 명령줄에는 구성 변수가 포함되어 있습니다. 너
설정만 하면 된다 $F03PPCOM 특정 C 전처리기 명령줄을 사용해야 하는 경우
Fortran 03 파일의 경우. 일반적으로 다음을 설정해야 합니다. $FORTRANPPCOM 변수,
모든 Fortran 버전에 대한 기본 C 전처리기 명령줄을 지정합니다.

F03PPCOMSTR
Fortran 03 소스 파일을 이후 객체 파일로 컴파일할 때 표시되는 문자열입니다.
먼저 C 전처리기를 통해 파일을 실행합니다. 이것이 설정되어 있지 않으면 $F03PPCOM
or $FORTRANPPCOM (명령줄)이 표시됩니다.

F03PPFILESuffixes
F03에 대해 컴파일 + 전처리기가 통과되는 파일 확장자 목록
방언이 사용됩니다. 기본적으로 이는 비어 있습니다.

F08
Fortran 08 컴파일러. 일반적으로 다음을 설정해야 합니다. $포트란 변수,
모든 Fortran 버전에 대한 기본 Fortran 컴파일러를 지정합니다. 설정만 하면 됩니다
$F08 Fortran 08 파일에 대해 특정 컴파일러 또는 컴파일러 버전을 사용해야 하는 경우.

F08COM
Fortran 08 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄입니다. 당신 만
설정할 필요가 $F08COM Fortran 08 파일에 특정 명령줄을 사용해야 하는 경우.
일반적으로 다음을 설정해야 합니다. $FORTRANCOM 기본 명령을 지정하는 변수
모든 Fortran 버전에 대한 라인입니다.

F08COMSTR
Fortran 08 소스 파일이 개체 파일로 컴파일될 때 표시되는 문자열입니다. 만약에
설정되어 있지 않다면 $F08COM or $FORTRANCOM (명령줄)이 표시됩니다.

F08파일접미사
F08 방언이 사용될 파일 확장자 목록입니다. 기본적으로 이
['.f08']입니다

F08플래그
Fortran 08 컴파일러에 전달되는 일반 사용자 지정 옵션입니다. 참고하세요
이 변수는 지원 포함하는 -I (또는 유사) 검색 경로 옵션을 포함합니다.
다음에서 자동으로 생성됩니다. $F08PATH. 참조 $_F08INCFLAGS 아래에서 해당 변수에 대해
해당 옵션으로 확장됩니다. 설정만 하면 됩니다 $F08플래그 정의해야 하는 경우
Fortran 08 파일에 대한 특정 사용자 옵션. 일반적으로 다음을 설정해야 합니다. $FOTRAFLAGS
기본 Fortran에 전달되는 사용자 지정 옵션을 지정하는 변수
모든 Fortran 버전용 컴파일러.

_F08INCFLAGS
Fortran 08 컴파일러를 포함하는 자동 생성된 구성 변수
포함 파일을 검색할 디렉터리를 지정하기 위한 명령줄 옵션입니다. 그만큼
의 가치 $_F08INCFLAGS 추가하여 생성됩니다. $INCPREFIX 그리고 $INCSUFFIX 부터
각 디렉토리의 시작과 끝 $F08PATH.

F08PATH
Fortran 08 컴파일러가 검색할 디렉토리 목록에는 다음이 포함됩니다.
디렉토리. 암시적 종속성 스캐너는 이러한 디렉터리에서 포함 항목을 검색합니다.
파일. 포함 디렉터리 인수를 명시적으로 넣지 마세요. $F08플래그 때문에
결과는 이식 불가능하며 종속성에 의해 디렉터리가 검색되지 않습니다.
스캐너. 참고: 디렉토리 이름 $F08PATH 기준으로 조회됩니다.
명령에 사용되는 경우 SConscript 디렉터리입니다. 스콘이 검색하도록 강제하려면
소스 트리 사용 #의 루트에 상대적인 디렉토리: 설정만 하면 됩니다. $F08PATH
Fortran 08 파일에 대한 특정 포함 경로를 정의해야 하는 경우. 당신은해야
일반적으로 설정 $FORTRANPATH 포함 경로를 지정하는 변수
모든 Fortran 버전에 대한 기본 Fortran 컴파일러입니다.

env = 환경(F08PATH='#/include')

디렉토리 조회는 다음을 사용하여 강제로 수행할 수도 있습니다. 디렉토리() 기능:

include = Dir('포함')
env = 환경(F08PATH=포함)

디렉토리 목록은 자동 생성된 명령줄에 추가됩니다.
$_F08INCFLAGS 값을 추가하여 구성되는 구성 변수
전에, $INCPREFIX 그리고 $INCSUFFIX 각각의 시작과 끝 부분에 구성 변수
~에있는 디렉토리 $F08PATH. F08PATH 디렉토리가 필요한 정의한 모든 명령줄
목록에는 다음이 포함되어야 합니다. $_F08INCFLAGS:

env = 환경(F08COM="my_compiler $_F08INCFLAGS -c -o $TARGET $SOURCE")

F08PPCOM
Fortran 08 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄
먼저 C 전처리기를 통해 파일을 실행합니다. 에 지정된 모든 옵션
$F08플래그 그리고 $CPPFLAGS 이 명령줄에는 구성 변수가 포함되어 있습니다. 너
설정만 하면 된다 $F08PPCOM 특정 C 전처리기 명령줄을 사용해야 하는 경우
Fortran 08 파일의 경우. 일반적으로 다음을 설정해야 합니다. $FORTRANPPCOM 변수,
모든 Fortran 버전에 대한 기본 C 전처리기 명령줄을 지정합니다.

F08PPCOMSTR
Fortran 08 소스 파일을 이후 객체 파일로 컴파일할 때 표시되는 문자열입니다.
먼저 C 전처리기를 통해 파일을 실행합니다. 이것이 설정되어 있지 않으면 $F08PPCOM
or $FORTRANPPCOM (명령줄)이 표시됩니다.

F08PPFILESuffixes
F08에 대해 컴파일 + 전처리기가 통과되는 파일 확장자 목록
방언이 사용됩니다. 기본적으로 이는 비어 있습니다.

F77
Fortran 77 컴파일러. 일반적으로 다음을 설정해야 합니다. $포트란 변수,
모든 Fortran 버전에 대한 기본 Fortran 컴파일러를 지정합니다. 설정만 하면 됩니다
$F77 Fortran 77 파일에 대해 특정 컴파일러 또는 컴파일러 버전을 사용해야 하는 경우.

F77COM
Fortran 77 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄입니다. 당신 만
설정할 필요가 $F77COM Fortran 77 파일에 특정 명령줄을 사용해야 하는 경우.
일반적으로 다음을 설정해야 합니다. $FORTRANCOM 기본 명령을 지정하는 변수
모든 Fortran 버전에 대한 라인입니다.

F77COMSTR
Fortran 77 소스 파일이 개체 파일로 컴파일될 때 표시되는 문자열입니다. 만약에
설정되어 있지 않다면 $F77COM or $FORTRANCOM (명령줄)이 표시됩니다.

F77파일접미사
F77 방언이 사용될 파일 확장자 목록입니다. 기본적으로 이
['.f77']입니다

F77플래그
Fortran 77 컴파일러에 전달되는 일반 사용자 지정 옵션입니다. 참고하세요
이 변수는 지원 포함하는 -I (또는 유사) 검색 경로 옵션을 포함합니다.
다음에서 자동으로 생성됩니다. $F77PATH. 참조 $_F77INCFLAGS 아래에서 해당 변수에 대해
해당 옵션으로 확장됩니다. 설정만 하면 됩니다 $F77플래그 정의해야 하는 경우
Fortran 77 파일에 대한 특정 사용자 옵션. 일반적으로 다음을 설정해야 합니다. $FOTRAFLAGS
기본 Fortran에 전달되는 사용자 지정 옵션을 지정하는 변수
모든 Fortran 버전용 컴파일러.

_F77INCFLAGS
Fortran 77 컴파일러를 포함하는 자동 생성된 구성 변수
포함 파일을 검색할 디렉터리를 지정하기 위한 명령줄 옵션입니다. 그만큼
의 가치 $_F77INCFLAGS 추가하여 생성됩니다. $INCPREFIX 그리고 $INCSUFFIX 부터
각 디렉토리의 시작과 끝 $F77PATH.

F77PATH
Fortran 77 컴파일러가 검색할 디렉토리 목록에는 다음이 포함됩니다.
디렉토리. 암시적 종속성 스캐너는 이러한 디렉터리에서 포함 항목을 검색합니다.
파일. 포함 디렉터리 인수를 명시적으로 넣지 마세요. $F77플래그 때문에
결과는 이식 불가능하며 종속성에 의해 디렉터리가 검색되지 않습니다.
스캐너. 참고: 디렉토리 이름 $F77PATH 기준으로 조회됩니다.
명령에 사용되는 경우 SConscript 디렉터리입니다. 스콘이 검색하도록 강제하려면
소스 트리 사용 #의 루트에 상대적인 디렉토리: 설정만 하면 됩니다. $F77PATH
Fortran 77 파일에 대한 특정 포함 경로를 정의해야 하는 경우. 당신은해야
일반적으로 설정 $FORTRANPATH 포함 경로를 지정하는 변수
모든 Fortran 버전에 대한 기본 Fortran 컴파일러입니다.

env = 환경(F77PATH='#/include')

디렉토리 조회는 다음을 사용하여 강제로 수행할 수도 있습니다. 디렉토리() 기능:

include = Dir('포함')
env = 환경(F77PATH=포함)

디렉토리 목록은 자동 생성된 명령줄에 추가됩니다.
$_F77INCFLAGS 값을 추가하여 구성되는 구성 변수
전에, $INCPREFIX 그리고 $INCSUFFIX 각각의 시작과 끝 부분에 구성 변수
~에있는 디렉토리 $F77PATH. F77PATH 디렉토리가 필요한 정의한 모든 명령줄
목록에는 다음이 포함되어야 합니다. $_F77INCFLAGS:

env = 환경(F77COM="my_compiler $_F77INCFLAGS -c -o $TARGET $SOURCE")

F77PPCOM
Fortran 77 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄
먼저 C 전처리기를 통해 파일을 실행합니다. 에 지정된 모든 옵션
$F77플래그 그리고 $CPPFLAGS 이 명령줄에는 구성 변수가 포함되어 있습니다. 너
설정만 하면 된다 $F77PPCOM 특정 C 전처리기 명령줄을 사용해야 하는 경우
Fortran 77 파일의 경우. 일반적으로 다음을 설정해야 합니다. $FORTRANPPCOM 변수,
모든 Fortran 버전에 대한 기본 C 전처리기 명령줄을 지정합니다.

F77PPCOMSTR
Fortran 77 소스 파일을 이후 객체 파일로 컴파일할 때 표시되는 문자열입니다.
먼저 C 전처리기를 통해 파일을 실행합니다. 이것이 설정되어 있지 않으면 $F77PPCOM
or $FORTRANPPCOM (명령줄)이 표시됩니다.

F77PPFILESuffixes
F77에 대해 컴파일 + 전처리기가 통과되는 파일 확장자 목록
방언이 사용됩니다. 기본적으로 이는 비어 있습니다.

F90
Fortran 90 컴파일러. 일반적으로 다음을 설정해야 합니다. $포트란 변수,
모든 Fortran 버전에 대한 기본 Fortran 컴파일러를 지정합니다. 설정만 하면 됩니다
$F90 Fortran 90 파일에 대해 특정 컴파일러 또는 컴파일러 버전을 사용해야 하는 경우.

F90COM
Fortran 90 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄입니다. 당신 만
설정할 필요가 $F90COM Fortran 90 파일에 특정 명령줄을 사용해야 하는 경우.
일반적으로 다음을 설정해야 합니다. $FORTRANCOM 기본 명령을 지정하는 변수
모든 Fortran 버전에 대한 라인입니다.

F90COMSTR
Fortran 90 소스 파일이 개체 파일로 컴파일될 때 표시되는 문자열입니다. 만약에
설정되어 있지 않다면 $F90COM or $FORTRANCOM (명령줄)이 표시됩니다.

F90파일접미사
F90 방언이 사용될 파일 확장자 목록입니다. 기본적으로 이
['.f90']입니다

F90플래그
Fortran 90 컴파일러에 전달되는 일반 사용자 지정 옵션입니다. 참고하세요
이 변수는 지원 포함하는 -I (또는 유사) 검색 경로 옵션을 포함합니다.
다음에서 자동으로 생성됩니다. $F90PATH. 참조 $_F90INCFLAGS 아래에서 해당 변수에 대해
해당 옵션으로 확장됩니다. 설정만 하면 됩니다 $F90플래그 정의해야 하는 경우
Fortran 90 파일에 대한 특정 사용자 옵션. 일반적으로 다음을 설정해야 합니다. $FOTRAFLAGS
기본 Fortran에 전달되는 사용자 지정 옵션을 지정하는 변수
모든 Fortran 버전용 컴파일러.

_F90INCFLAGS
Fortran 90 컴파일러를 포함하는 자동 생성된 구성 변수
포함 파일을 검색할 디렉터리를 지정하기 위한 명령줄 옵션입니다. 그만큼
의 가치 $_F90INCFLAGS 추가하여 생성됩니다. $INCPREFIX 그리고 $INCSUFFIX 부터
각 디렉토리의 시작과 끝 $F90PATH.

F90PATH
Fortran 90 컴파일러가 검색할 디렉토리 목록에는 다음이 포함됩니다.
디렉토리. 암시적 종속성 스캐너는 이러한 디렉터리에서 포함 항목을 검색합니다.
파일. 포함 디렉터리 인수를 명시적으로 넣지 마세요. $F90플래그 때문에
결과는 이식 불가능하며 종속성에 의해 디렉터리가 검색되지 않습니다.
스캐너. 참고: 디렉토리 이름 $F90PATH 기준으로 조회됩니다.
명령에 사용되는 경우 SConscript 디렉터리입니다. 스콘이 검색하도록 강제하려면
소스 트리 사용 #의 루트에 상대적인 디렉토리: 설정만 하면 됩니다. $F90PATH
Fortran 90 파일에 대한 특정 포함 경로를 정의해야 하는 경우. 당신은해야
일반적으로 설정 $FORTRANPATH 포함 경로를 지정하는 변수
모든 Fortran 버전에 대한 기본 Fortran 컴파일러입니다.

env = 환경(F90PATH='#/include')

디렉토리 조회는 다음을 사용하여 강제로 수행할 수도 있습니다. 디렉토리() 기능:

include = Dir('포함')
env = 환경(F90PATH=포함)

디렉토리 목록은 자동 생성된 명령줄에 추가됩니다.
$_F90INCFLAGS 값을 추가하여 구성되는 구성 변수
전에, $INCPREFIX 그리고 $INCSUFFIX 각각의 시작과 끝 부분에 구성 변수
~에있는 디렉토리 $F90PATH. F90PATH 디렉토리가 필요한 정의한 모든 명령줄
목록에는 다음이 포함되어야 합니다. $_F90INCFLAGS:

env = 환경(F90COM="my_compiler $_F90INCFLAGS -c -o $TARGET $SOURCE")

F90PPCOM
Fortran 90 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄
먼저 C 전처리기를 통해 파일을 실행합니다. 에 지정된 모든 옵션
$F90플래그 그리고 $CPPFLAGS 이 명령줄에는 구성 변수가 포함되어 있습니다. 너
설정만 하면 된다 $F90PPCOM 특정 C 전처리기 명령줄을 사용해야 하는 경우
Fortran 90 파일의 경우. 일반적으로 다음을 설정해야 합니다. $FORTRANPPCOM 변수,
모든 Fortran 버전에 대한 기본 C 전처리기 명령줄을 지정합니다.

F90PPCOMSTR
Fortran 90 소스 파일을 처음 실행한 후 컴파일할 때 표시되는 문자열입니다.
C 전처리기를 통해 파일을 작성합니다. 이것이 설정되어 있지 않으면 $F90PPCOM or $FORTRANPPCOM
(명령줄)이 표시됩니다.

F90PPFILESuffixes
F90에 대해 컴파일 + 전처리기가 통과되는 파일 확장자 목록
방언이 사용됩니다. 기본적으로 이는 비어 있습니다.

F95
Fortran 95 컴파일러. 일반적으로 다음을 설정해야 합니다. $포트란 변수,
모든 Fortran 버전에 대한 기본 Fortran 컴파일러를 지정합니다. 설정만 하면 됩니다
$F95 Fortran 95 파일에 대해 특정 컴파일러 또는 컴파일러 버전을 사용해야 하는 경우.

F95COM
Fortran 95 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄입니다. 당신 만
설정할 필요가 $F95COM Fortran 95 파일에 특정 명령줄을 사용해야 하는 경우.
일반적으로 다음을 설정해야 합니다. $FORTRANCOM 기본 명령을 지정하는 변수
모든 Fortran 버전에 대한 라인입니다.

F95COMSTR
Fortran 95 소스 파일이 개체 파일로 컴파일될 때 표시되는 문자열입니다. 만약에
설정되어 있지 않다면 $F95COM or $FORTRANCOM (명령줄)이 표시됩니다.

F95파일접미사
F95 방언이 사용될 파일 확장자 목록입니다. 기본적으로 이
['.f95']입니다

F95플래그
Fortran 95 컴파일러에 전달되는 일반 사용자 지정 옵션입니다. 참고하세요
이 변수는 지원 포함하는 -I (또는 유사) 검색 경로 옵션을 포함합니다.
다음에서 자동으로 생성됩니다. $F95PATH. 참조 $_F95INCFLAGS 아래에서 해당 변수에 대해
해당 옵션으로 확장됩니다. 설정만 하면 됩니다 $F95플래그 정의해야 하는 경우
Fortran 95 파일에 대한 특정 사용자 옵션. 일반적으로 다음을 설정해야 합니다. $FOTRAFLAGS
기본 Fortran에 전달되는 사용자 지정 옵션을 지정하는 변수
모든 Fortran 버전용 컴파일러.

_F95INCFLAGS
Fortran 95 컴파일러를 포함하는 자동 생성된 구성 변수
포함 파일을 검색할 디렉터리를 지정하기 위한 명령줄 옵션입니다. 그만큼
의 가치 $_F95INCFLAGS 추가하여 생성됩니다. $INCPREFIX 그리고 $INCSUFFIX 부터
각 디렉토리의 시작과 끝 $F95PATH.

F95PATH
Fortran 95 컴파일러가 검색할 디렉토리 목록에는 다음이 포함됩니다.
디렉토리. 암시적 종속성 스캐너는 이러한 디렉터리에서 포함 항목을 검색합니다.
파일. 포함 디렉터리 인수를 명시적으로 넣지 마세요. $F95플래그 때문에
결과는 이식 불가능하며 종속성에 의해 디렉터리가 검색되지 않습니다.
스캐너. 참고: 디렉토리 이름 $F95PATH 기준으로 조회됩니다.
명령에 사용되는 경우 SConscript 디렉터리입니다. 스콘이 검색하도록 강제하려면
소스 트리 사용 #의 루트에 상대적인 디렉토리: 설정만 하면 됩니다. $F95PATH
Fortran 95 파일에 대한 특정 포함 경로를 정의해야 하는 경우. 당신은해야
일반적으로 설정 $FORTRANPATH 포함 경로를 지정하는 변수
모든 Fortran 버전에 대한 기본 Fortran 컴파일러입니다.

env = 환경(F95PATH='#/include')

디렉토리 조회는 다음을 사용하여 강제로 수행할 수도 있습니다. 디렉토리() 기능:

include = Dir('포함')
env = 환경(F95PATH=포함)

디렉토리 목록은 자동 생성된 명령줄에 추가됩니다.
$_F95INCFLAGS 값을 추가하여 구성되는 구성 변수
전에, $INCPREFIX 그리고 $INCSUFFIX 각각의 시작과 끝 부분에 구성 변수
~에있는 디렉토리 $F95PATH. F95PATH 디렉토리가 필요한 정의한 모든 명령줄
목록에는 다음이 포함되어야 합니다. $_F95INCFLAGS:

env = 환경(F95COM="my_compiler $_F95INCFLAGS -c -o $TARGET $SOURCE")

F95PPCOM
Fortran 95 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄
먼저 C 전처리기를 통해 파일을 실행합니다. 에 지정된 모든 옵션
$F95플래그 그리고 $CPPFLAGS 이 명령줄에는 구성 변수가 포함되어 있습니다. 너
설정만 하면 된다 $F95PPCOM 특정 C 전처리기 명령줄을 사용해야 하는 경우
Fortran 95 파일의 경우. 일반적으로 다음을 설정해야 합니다. $FORTRANPPCOM 변수,
모든 Fortran 버전에 대한 기본 C 전처리기 명령줄을 지정합니다.

F95PPCOMSTR
Fortran 95 소스 파일을 이후 객체 파일로 컴파일할 때 표시되는 문자열입니다.
먼저 C 전처리기를 통해 파일을 실행합니다. 이것이 설정되어 있지 않으면 $F95PPCOM
or $FORTRANPPCOM (명령줄)이 표시됩니다.

F95PPFILESuffixes
F95에 대해 컴파일 + 전처리기가 통과되는 파일 확장자 목록
방언이 사용됩니다. 기본적으로 이는 비어 있습니다.

입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
문자열을 대상에 상대적인 File 인스턴스로 변환하는 함수
세워짐.

문자열을 대상에 상대적인 File 인스턴스로 변환하는 함수
세워짐.

포트란
모든 버전의 Fortran에 대한 기본 Fortran 컴파일러입니다.

포트랜컴
Fortran 소스 파일을 개체 파일로 컴파일하는 데 사용되는 명령줄입니다. 기본적으로,
에 지정된 모든 옵션 $FOTRAFLAGS, $CPPFLAGS, $_CPDEFFLAGS,
$_FORTRANMODFLAG$_FORTRANINCFLAGS 여기에는 구성 변수가 포함됩니다.
명령 행.

FORTRANCOMSTR
Fortran 소스 파일이 개체 파일로 컴파일될 때 표시되는 문자열입니다. 이 경우
설정되지 않은 경우 $FORTRANCOM (명령줄)이 표시됩니다.

FORTRANFILESuffixes
FORTRAN 방언이 사용될 파일 확장자 목록입니다. 기본적으로,
이것은 ['.f', '.for', '.ftn']입니다.

FORTRAFLAGS
Fortran 컴파일러에 전달되는 일반 사용자 지정 옵션입니다. 참고하세요
변수는 지원 포함하는 -I (또는 유사한) 포함 또는 모듈 검색 경로 옵션
scons는 다음에서 자동으로 생성됩니다. $FORTRANPATH. 참조 $_FORTRANINCFLAGS 그리고
$_FORTRANMODFLAG, 아래에서 해당 옵션을 확장하는 변수를 확인하세요.

_FORTRANINCFLAGS
Fortran 컴파일러를 포함하는 자동 생성된 구성 변수
포함 파일을 검색할 디렉터리를 지정하기 위한 명령줄 옵션
모듈 파일. 의 가치 $_FORTRANINCFLAGS 앞에 추가/추가하여 생성됩니다.
$INCPREFIX 그리고 $INCSUFFIX 각 디렉토리의 시작과 끝 $FORTRANPATH.

포트란모디르
Fortran 컴파일러가 모듈 파일을 배치해야 하는 디렉토리 위치
생성합니다. 이 변수는 기본적으로 비어 있습니다. 일부 Fortran 컴파일러는 내부적으로
모듈 파일의 검색 경로에도 이 디렉터리를 추가합니다.

FORTRANMODDIRPREFIX
Fortran 컴파일러 명령줄에서 모듈 디렉터리를 지정하는 데 사용되는 접두사입니다.
이는 디렉토리의 시작 부분에 추가됩니다. $FORTRANMODDIR
구성 변수 $_FORTRANMODFLAG 변수가 자동으로 생성됩니다.

FORTRANMODDIRSUFFIX
Fortran 컴파일러 명령줄에서 모듈 디렉터리를 지정하는 데 사용되는 접미사입니다.
이는 디렉토리의 시작 부분에 추가됩니다. $FORTRANMODDIR
구성 변수 $_FORTRANMODFLAG 변수가 자동으로 생성됩니다.

_FORTRANMODFLAG
Fortran 컴파일러를 포함하는 자동 생성된 구성 변수
Fortran 컴파일러가 있는 디렉터리 위치를 지정하기 위한 명령줄 옵션
컴파일 중에 생성되는 모든 모듈 파일을 배치해야 합니다. 그만큼
의 가치 $_FORTRANMODFLAG 앞에 추가/추가하여 생성됩니다. $FORTRANMODDIRPREFIX 그리고
$FORTRANMODDIRSUFFIX 디렉토리의 시작과 끝으로 $FORTRANMODDIR.

FORTRANMODPREFIX
Fortran 컴파일러에서 사용되는 모듈 파일 접두사입니다. SCons는 Fortran이
컴파일러는 모듈 파일에 대한 준표준 명명 규칙을 따릅니다.
모듈_이름.mod. 결과적으로 이 변수는 기본적으로 비어 있습니다. 상황에 대한
컴파일러가 반드시 일반적인 규칙을 따르지 않는 경우 사용자는 다음을 수행할 수 있습니다.
이 변수를 사용하세요. 해당 값은 모든 모듈 파일 이름에 scons로 추가됩니다.
종속성을 해결하려고 시도합니다.

FORTRANMODSuffix
Fortran 컴파일러에서 사용되는 모듈 파일 접미사입니다. SCons는 Fortran이
컴파일러는 모듈 파일에 대한 준표준 명명 규칙을 따릅니다.
모듈_이름.mod. 결과적으로 이 변수는 기본적으로 ".mod"로 설정됩니다. 을 위한
컴파일러가 반드시 일반적인 규칙을 따르지 않는 상황,
사용자는 이 변수를 사용할 수 있습니다. 해당 값은 모든 모듈 파일 이름에 추가됩니다.
scons는 종속성을 해결하려고 시도합니다.

포트랜패스
Fortran 컴파일러가 포함 파일을 검색할 디렉터리 목록과
(일부 컴파일러의 경우) 모듈 파일. Fortran 암시적 종속성 스캐너는 검색합니다.
포함 파일에 대한 이러한 디렉토리(자동 생성되므로 모듈 파일은 아님)
따라서 스캔이 수행되는 시점에는 실제로 존재하지 않을 수도 있습니다. 하지 않다
결과는 다음과 같으므로 FORTRANFLAGS에 포함 디렉터리 인수를 명시적으로 넣습니다.
이식성이 없으며 디렉터리는 종속성 스캐너로 검색되지 않습니다. 메모:
FORTRANPATH의 디렉토리 이름은 SConscript 디렉토리를 기준으로 조회됩니다.
명령에 사용될 때. 스콘이 관련 디렉토리를 찾도록 강제하려면
소스 트리의 루트 사용 #:

env = 환경(FORTRANPATH='#/include')

디렉토리 조회는 다음을 사용하여 강제로 수행할 수도 있습니다. 디렉토리() 기능:

include = Dir('포함')
env = 환경(FORTRANPATH=포함)

디렉토리 목록은 자동 생성된 명령줄에 추가됩니다.
$_FORTRANINCFLAGS 값을 추가하여 구성되는 구성 변수
$INCPREFIX 그리고 $INCSUFFIX 시작과 끝의 구성 변수
각 디렉토리 $FORTRANPATH. FORTRANPATH가 필요한 정의한 모든 명령줄
디렉토리 목록에는 다음이 포함되어야 합니다. $_FORTRANINCFLAGS:

env = 환경(FORTRANCOM="my_compiler $_FORTRANINCFLAGS -c -o $TARGET $SOURCE")

FORTRANPPCOM
Fortran 소스 파일을 먼저 객체 파일로 컴파일하는 데 사용되는 명령줄
C 전처리기를 통해 파일을 실행합니다. 기본적으로
$FOTRAFLAGS, $CPPFLAGS, $_CPDEFFLAGS, $_FORTRANMODFLAG$_FORTRANINCFLAGS
이 명령줄에는 구성 변수가 포함되어 있습니다.

FORTRANPPCOMSTR
Fortran 소스 파일을 목적 파일로 컴파일할 때 표시되는 문자열입니다.
먼저 C 전처리기를 통해 파일을 실행합니다. 이것이 설정되어 있지 않으면
$FORTRANPPCOM (명령줄)이 표시됩니다.

FORTRANPPFILESuffixes
FORTRAN의 컴파일 + 전처리기가 통과하는 파일 확장자 목록
방언이 사용됩니다. 기본적으로 이는 ['.fpp', '.FPP']입니다.

FORTRANSuffixes
Fortran 암시적 종속성을 검사할 파일의 접미사 목록
(INCLUDE 행 및 USE 문). 기본 목록은 다음과 같습니다.

[".f", ".F", ".for", ".FOR", ".ftn", ".FTN", ".fpp", ".FPP",
".f77", ".F77", ".f90", ".F90", ".f95", ".F95"]

프레임워크 경로
gcc가 있는 Mac OS X에서 프레임워크를 검색하기 위한 경로가 포함된 목록입니다. 사용처
프레임워크 스타일을 찾기 위한 컴파일러에는 #include 와 같은 포함이 포함됩니다. 사용처
링크할 때 사용자가 지정한 프레임워크를 찾기 위한 링커(참조: $프레임웍스). 용
예:

env.AppendUnique(FRAMEWORKPATH='#myframeworkdir')

추가됩니다

... -Fmyframeworkdir

컴파일러 및 링커 명령줄에.

_FRAMEWORKPATH
gcc가 있는 Mac OS X에서는 다음을 포함하는 자동 생성된 구성 변수입니다.
다음에 해당하는 링커 명령줄 옵션 $FRAMEWORKPATH.

프레임워크 경로 접두사
gcc가 있는 Mac OS X에서 FRAMEWORKPATH 항목에 사용되는 접두사입니다. (보다
$FRAMEWORKPATH). 기본값은 -F.

프레임워크프리픽스
gcc가 있는 Mac OS X에서 프레임워크 연결에 사용되는 접두사(참조
$프레임웍스). 기본값은 -뼈대.

_프레임워크
gcc가 있는 Mac OS X에서는 다음을 포함하는 자동 생성된 구성 변수입니다.
FRAMEWORKS와 연결하기 위한 링커 명령줄 옵션입니다.

프레임워크
gcc가 있는 Mac OS X에서 프로그램에 연결될 프레임워크 이름 목록 또는
공유 라이브러리 또는 번들. 기본값은 빈 목록입니다. 예를 들어:

env.AppendUnique(FRAMEWORKS=Split('시스템 코코아 시스템 구성'))

프레임워크플래그
gcc가 있는 Mac OS X에서는 일반 사용자 제공 프레임워크 옵션이 끝에 추가됩니다.
로드 가능한 모듈을 구축하는 명령줄의 모습입니다. (이것은 대부분 다음으로 대체되었습니다.
$FRAMEWORKPATH, $FRAMEWORKPATHPrefix, $FrameworkPrefix 그리고 $프레임웍스 변수
전술 한 바와.)

GS
사용된 Ghostscript 프로그램. PostScript를 PDF 파일로 변환합니다.

GSCOM
변환 프로세스에 사용되는 전체 Ghostscript 명령줄. 기본값
"$GS $GSFLAGS -sOutputFile=$TARGET $SOURCES"입니다.

GSCOMSTR
변환 프로세스를 위해 Ghostscript가 호출될 때 표시되는 문자열입니다. 이것이라면
설정되지 않은 경우(기본값) $GSCOM (명령줄)이 표시됩니다.

GSFLAGS
PostScript를 PDF로 변환할 때 Ghostscript 프로그램에 전달되는 일반 옵션
예를 들어 파일. 기본값은 "-dNOPAUSE -dBATCH -sDEVICE=pdfwrite"입니다.

HOST_ARCH
환경을 생성하는 데 사용되는 호스트 하드웨어 아키텍처의 이름입니다. 만약
환경을 생성할 때 플랫폼이 지정되면 해당 플랫폼의 논리는
이 값 설정을 처리합니다. 이 값은 변경할 수 없으며 다음에 의해 변경되어서는 안 됩니다.
환경이 초기화된 후의 사용자입니다. 현재는 Win32용으로만 설정되어 있습니다.

Visual Studio 컴파일러에 대한 호스트 아키텍처를 설정합니다. 설정하지 않은 경우 기본값은
감지된 호스트 아키텍처: 사용 중인 Python에 따라 달라질 수 있습니다.
이 변수는 Environment() 생성자에 인수로 전달되어야 합니다. 환경
나중에는 아무런 효과가 없습니다.

유효한 값은 다음과 같습니다. $TARGET_ARCH.

현재는 Windows에서만 사용되고 있지만 앞으로는 다른 운영체제에서도 사용될 예정입니다.
OS도 마찬가지입니다.

HOST_OS
환경을 생성하는 데 사용된 호스트 운영 체제의 이름입니다. 플랫폼이라면
환경을 생성할 때 지정하면 해당 플랫폼의 논리가 처리합니다.
이 값을 설정합니다. 이 값은 변경할 수 없으며 사용자가 변경해서는 안 됩니다.
환경이 초기화된 후. 현재는 Win32용으로만 설정되어 있습니다.

IDL접미사
IDL 암시적 종속성을 검사할 파일의 접미사 목록
(#include 또는 가져오기 라인). 기본 목록은 다음과 같습니다.

[".idl", ".IDL"]

IMPLIBNOVERSIONSYMLINKS
재정의하는 데 사용됨 $SHLIBNOVERSIONSYMLINKS/$LDMODULENOVERSIONSYMLINKS 만들 때
공유 라이브러리/로드 가능한 모듈에 대한 버전이 지정된 가져오기 라이브러리입니다. 정의되지 않은 경우
$SHLIBNOVERSIONSYMLINKS/$LDMODULENOVERSIONSYMLINKS 여부를 결정하는 데 사용됩니다.
심볼릭 링크 생성을 비활성화할지 여부.

IMPLIB프리픽스
가져오기 라이브러리 이름에 사용되는 접두사입니다. 예를 들어 cygwin은 가져오기 라이브러리를 사용합니다.
(libfoo.dll.a)는 동적 라이브러리(cygfoo.dll)와 쌍을 이룹니다. cyglink 링커 세트
$IMPLIBPREFIX 'lib'에 그리고 $SHLIBPREFIX 'cyg'로.

IMPLIB서픽스
가져오기 라이브러리 이름에 사용되는 접미사입니다. 예를 들어 cygwin은 가져오기 라이브러리를 사용합니다.
(libfoo.dll.a)는 동적 라이브러리(cygfoo.dll)와 쌍을 이룹니다. cyglink 링커 세트
$IMPLIBSUFFIX '.dll.a'로 그리고 $SHLIBSuffix '.dll'로.

암시적 변환
재정의하는 데 사용됨 $SHLIBVERSION/$LDMODULEVERSION 버전화된 가져오기를 생성할 때
공유 라이브러리/로드 가능한 모듈을 위한 라이브러리입니다. 정의되지 않은 경우
$SHLIBVERSION/$LDMODULEVERSION 버전화된 가져오기 버전을 결정하는 데 사용됩니다.
도서관.

IMPLICIT_COMMAND_DEPENDENCIES
SCons가 실행된 명령에 대한 암시적 종속성을 추가할지 여부를 제어합니다.
목표를 세우는 것.

기본적으로 SCons는 각 대상에 명령에 대한 암시적 종속성을 추가합니다.
실행되는 명령줄의 첫 번째 인수로 표시됩니다. 특정 파일
종속성을 검색하여 찾습니다. PATH 의 변수 ENV 사용된 환경
명령을 실행합니다.

건설 변수의 경우 $IMPLICIT_COMMAND_DEPENDENCIES 잘못된 값으로 설정되어 있습니다.
(None, False, 0 등). 그러면 암시적 종속성이 대상에 추가되지 않습니다.
그 건축환경을 바탕으로 만들어졌습니다.

env = 환경(IMPLICIT_COMMAND_DEPENDENCIES = 0)

INC프리픽스
C 컴파일러 명령줄에서 포함 디렉터리를 지정하는 데 사용되는 접두사입니다. 이것
각 디렉토리의 시작 부분에 추가됩니다. $CPPPATH 그리고 $FORTRANPATH
구성 변수 $_CPPINCFLAGS 그리고 $_FORTRANINCFLAGS 변수는
자동으로 생성됩니다.

인서픽스
C 컴파일러 명령줄에서 포함 디렉터리를 지정하는 데 사용되는 접미사입니다. 이것
각 디렉토리의 끝에 추가됩니다. $CPPPATH 그리고 $FORTRANPATH
구성 변수 $_CPPINCFLAGS 그리고 $_FORTRANINCFLAGS 변수는
자동으로 생성됩니다.

INSTALL
대상 파일명에 파일을 설치하기 위해 호출되는 함수입니다. 기본값
함수는 파일을 대상에 복사하고 대상 파일의 모드를 설정합니다.
소스 파일과 일치하는 권한 비트). 이 함수는 다음을 수행합니다.
인수 :

def 설치(대상, 소스, 환경):

목적지 대상 파일의 경로 이름입니다. 소스의 경로 이름입니다.
파일. 환경 는 건축 환경(건축 가치 사전)입니다.
이 파일 설치를 강제로 실행합니다.

설치STR
대상 파일명에 파일을 설치할 때 표시되는 문자열입니다. 그만큼
기본값은 다음과 같습니다.

파일 설치: "$SOURCE"를 "$TARGET"으로

INTEL_C_COMPILER_VERSION
"intelc" 도구를 사용하여 선택한 Intel C 컴파일러의 주요 버전 번호로 설정
사용하기위한.

JAR
Java 아카이브 도구.

Java 아카이브 도구.

자르디르
Java 아카이브 도구가 변경되어야 하는 디렉토리( -C 선택권).

Java 아카이브 도구가 변경되어야 하는 디렉토리( -C 선택권).

자콤
Java 아카이브 도구를 호출하는 데 사용되는 명령줄입니다.

Java 아카이브 도구를 호출하는 데 사용되는 명령줄입니다.

JARCOMSTR
Java 아카이브 도구가 호출될 때 표시되는 문자열입니다. 설정되지 않은 경우
$JARCOM (명령줄)이 표시됩니다.

env = 환경(JARCOMSTR = "$SOURCES를 $TARGET에 JARchiving")

Java 아카이브 도구가 호출될 때 표시되는 문자열입니다. 설정되지 않은 경우
$JARCOM (명령줄)이 표시됩니다.

env = 환경(JARCOMSTR = "$SOURCES를 $TARGET에 JARchiving")

자플래그
Java 아카이브 도구에 전달된 일반 옵션입니다. 기본적으로 이는 다음과 같이 설정됩니다. cf
필요한 것을 만들어라 항아리 파일.

Java 아카이브 도구에 전달된 일반 옵션입니다. 기본적으로 이는 다음과 같이 설정됩니다. cf
필요한 것을 만들어라 항아리 파일.

JARSUSFIX
Java 아카이브의 접미사: 기본적으로 .jar입니다.

Java 아카이브의 접미사: 기본적으로 .jar입니다.

JAVABOOTCLASSPATH
javac 명령줄에 추가될 디렉터리 목록을 지정합니다.
-부트 클래스 경로 옵션. 개별 디렉터리 이름은 다음으로 구분됩니다.
운영 체제의 경로 구분 문자(: UNIX/Linux/POSIX의 경우, Windows의 경우 ;)

자바
자바 컴파일러.

자바콤
Java 소스 파일이 포함된 디렉토리 트리를 컴파일하는 데 사용되는 명령줄
해당 Java 클래스 파일. 에 지정된 모든 옵션 $JAVACFLAGS 구조
이 명령줄에는 변수가 포함되어 있습니다.

JAVACCOMSTR
Java 소스 파일의 디렉토리 트리를 컴파일할 때 표시되는 문자열입니다.
해당 Java 클래스 파일. 이것이 설정되어 있지 않으면 $JAVACCOM (명령줄)
가 표시됩니다.

env = Environment(JAVACCOMSTR = "$SOURCES에서 $TARGETS 클래스 파일 컴파일 중")

자바 플래그
Java 컴파일러에 전달되는 일반 옵션입니다.

자바클래스디르
Java 클래스 파일을 찾을 수 있는 디렉터리입니다. 이는 에서 제거됩니다.
JavaH 빌더에 제공된 Java .class 파일 이름의 시작 부분입니다.

자바클래스경로
Java .class 파일을 검색할 디렉터리 목록을 지정합니다. 그만큼
이 목록의 디렉토리는 다음을 통해 javac 및 javah 명령줄에 추가됩니다.
-클래스 경로 옵션. 개별 디렉터리 이름은 운영 체제에 따라 구분됩니다.
시스템의 경로 구분 문자(: UNIX/Linux/POSIX의 경우, Windows의 경우 ;)

이는 현재 단지 다음을 통해 지정된 디렉토리를 추가한다는 점에 유의하십시오. -클래스 경로 옵션을 선택합니다.
SCons는 현재 다음을 검색하지 않습니다. $JAVACLASSPATH 종속성 .class용 디렉터리
파일.

자바 클래스 접미사
Java 클래스 파일의 접미사입니다. .class가 기본값입니다.

자바
C 헤더 및 스텁 파일용 Java 생성기입니다.

자바컴
Java 클래스에서 C 헤더 및 스텁 파일을 생성하는 데 사용되는 명령줄입니다. 어느
에 지정된 옵션 $JAVAHFLAGS 여기에는 구성 변수가 포함되어 있습니다.
명령 행.

JAVAHCOMSTR
C 헤더 및 스텁 파일이 Java 클래스에서 생성될 때 표시되는 문자열입니다. 만약에
설정되어 있지 않다면 $JAVAHCOM (명령줄)이 표시됩니다.

env = Environment(JAVAHCOMSTR = "$SOURCES에서 헤더/스텁 파일 $TARGETS 생성 중")

자바플래그
Java 클래스용 C 헤더 및 스텁 파일 생성기에 전달되는 일반 옵션입니다.

자바 소스 경로
입력 .java 파일을 검색할 디렉터리 목록을 지정합니다. 그만큼
이 목록의 디렉토리는 다음을 통해 javac 명령줄에 추가됩니다. -소스 경로
옵션. 개별 디렉토리 이름은 운영 체제의 이름으로 구분됩니다.
경로 구분 문자(UNIX/Linux/POSIX의 경우:, Windows의 경우 ;)

이는 현재 단지 다음을 통해 지정된 디렉토리를 추가한다는 점에 유의하십시오. -소스 경로 옵션을 선택합니다.
SCons는 현재 다음을 검색하지 않습니다. $JAVASOURCEPATH 종속성 .java용 디렉토리
파일.

자바접미사
Java 파일의 접미사입니다. 기본적으로 .java입니다.

자바버전
에서 사용 중인 Java 버전을 지정합니다. 자바 건축업자. 이것은 지원 현재 사용중
Java 컴파일러의 한 버전과 다른 버전을 선택합니다. 대신에 이렇게 설정해야 합니다.
javac 컴파일러에서 지원하는 Java 버전을 지정합니다. 기본값은 1.4입니다.

Java 1.5가 생성된 파일 이름을 변경했기 때문에 이는 때때로 필요합니다.
중첩된 익명 내부 클래스의 경우 파일과 불일치가 발생할 수 있습니다.
SCons는 javac 컴파일러에 의해 생성될 것으로 예상합니다. 환경 $JAVAVERSION 1.5(또는
1.6(해당하는 경우)) SCons는 Java 1.5 또는 1.6 빌드가 실제로
최신 정보.

라텍스
LaTeX 구조 포맷터 및 조판기.

라텍스컴
LaTeX 구조적 포맷터와 조판기를 호출하는 데 사용되는 명령줄입니다.

라텍스컴스트
LaTeX 구조적 포맷터와 조판기를 호출할 때 표시되는 문자열입니다. 만약에
설정되어 있지 않다면 $라텍스컴 (명령줄)이 표시됩니다.

env = Environment(LATEXCOMSTR = "LaTeX 입력 $SOURCES에서 $TARGET 빌드 중")

라텍스 플래그
LaTeX 구조 포맷터 및 조판기에 전달된 일반 옵션입니다.

라텍스 재시도
.log가 생성된 경우 LaTeX가 다시 실행되는 최대 횟수입니다.
$라텍스컴 명령은 정의되지 않은 참조가 있음을 나타냅니다. 기본값은 시도하는 것입니다.
LaTeX를 최대 3번까지 다시 실행하여 정의되지 않은 참조를 해결합니다.

라텍스 접미사
LaTeX 암시적 종속성을 검사할 파일의 접미사 목록
(\include 또는 \import 파일). 기본 목록은 다음과 같습니다.

[".tex", ".ltx", ".latex"]

LD모듈
로드 가능한 모듈을 구축하기 위한 링커입니다. 기본적으로 이는 다음과 같습니다. $SHLINK.

LDMODULECOM
로드 가능한 모듈을 빌드하기 위한 명령줄입니다. Mac OS X에서는 $LDMODULE,
$LDMODULEFLAGS 그리고 $Framework플래그 변수. 다른 시스템에서는 다음과 같습니다.
$SHLINK.

LDMODULECOMSTR
로드 가능한 모듈을 빌드할 때 표시되는 문자열입니다. 이것이 설정되어 있지 않으면
$LDMODULECOM (명령줄)이 표시됩니다.

LDM모듈플래그
로드 가능한 모듈을 빌드하기 위해 링커에 전달되는 일반 사용자 옵션입니다.

LDMODULENOVERSIONSYMLINKS
지시한다 로드 가능한 모듈 빌더는 심볼릭 링크를 자동으로 생성하지 않습니다.
버전이 지정된 모듈. 기본값은 $SHLIBNOVERSIONSYMLINKS입니다.

LD모듈프리픽스
로드 가능한 모듈 파일 이름에 사용되는 접두사입니다. Mac OS X에서는 null입니다. 다른쪽에
시스템은 다음과 같습니다. $SHLIBPREFIX.

_LDMODULESONAME
$TARGET을 기반으로 로드 가능한 모듈의 SONAME을 자동으로 생성하는 매크로입니다.
$LDMODULEVERSION 및 $LDMODULESUFFIX. 사용처 로드 가능한 모듈 링커일 때 빌더
도구는 SONAME(예: gnulink)을 지원합니다.

LD모듈접미사
로드 가능한 모듈 파일 이름에 사용되는 접미사입니다. Mac OS X에서는 null입니다. 다른쪽에
시스템에서는 $SHLIBSUFFIX와 동일합니다.

LDMODULEVERSION
이 구성 변수가 정의되면 버전이 지정된 로드 가능한 모듈이 생성됩니다.
로드 가능한 모듈 건축업자. 이렇게 하면 $_LDMODULEVERSIONFLAGS 따라서 수정
전에, $LDMODULECOM 필요에 따라 라이브러리 이름에 버전 번호를 추가하고
필요한 심볼릭 링크. $LDMODULEVERSION 버전이 동일하게 존재해야 합니다.
형식 $SHLIBVERSION.

LDMODULEVERSIONFLAGS
추가 플래그가 추가되었습니다. $LDMODULECOM 버전을 빌드할 때 로드 가능한 모듈. 이 플래그
는 경우에만 사용됩니다. $LDMODULEVERSION 설정됩니다.

_LDMODULEVERSIONFLAGS
이 매크로는 자동으로 추가 플래그를 도입합니다. $LDMODULECOM 건축할 때
버전 로드 가능한 모듈 (그때가 $LDMODULEVERSION 설정됨).
_LDMODULEVERSIONFLAGS는 일반적으로 추가합니다. $SHLIBVERSIONFLAGS 그리고 일부는 동적으로
생성된 옵션(예: -Wl,-soname=$_LDMODULESONAME). 무지로 미사용
(버전이 지정되지 않은) 로드 가능한 모듈.

LEX
어휘 분석기 생성기.

렉스컴
소스를 생성하기 위해 어휘 분석기 생성기를 호출하는 데 사용되는 명령줄
파일.

렉스컴스트
어휘 분석기를 사용하여 소스 파일을 생성할 때 표시되는 문자열
발전기. 이것이 설정되어 있지 않으면 $렉스컴 (명령줄)이 표시됩니다.

env = 환경(LEXCOMSTR = "$SOURCES에서 $TARGET을 Lex'ing")

렉스플래그
어휘 분석기 생성기에 전달되는 일반 옵션입니다.

_LIBDIRFLAGS
링커 명령줄을 포함하는 자동 생성된 구성 변수
라이브러리를 검색할 디렉터리를 지정하는 옵션입니다. 의 가치
$_LIBDIRFLAGS 추가하여 생성됩니다. $LIBDIRPREFIX 그리고 $LIBDIRSUFFIX 처음으로
그리고 각 디렉토리의 끝 $LIBPATH.

LIBDIRPREFIX
링커 명령줄에서 라이브러리 디렉터리를 지정하는 데 사용되는 접두사입니다. 이것은
각 디렉토리의 시작 부분에 추가됩니다. $LIBPATH 구성 변수
$_LIBDIRFLAGS 변수가 자동으로 생성됩니다.

LIBDIR접미사
링커 명령줄에서 라이브러리 디렉터리를 지정하는 데 사용되는 접미사입니다. 이것은
각 디렉토리의 끝에 추가됩니다. $LIBPATH 때 구성 변수
전에, $_LIBDIRFLAGS 변수가 자동으로 생성됩니다.

리미터
ALL

_LIBFLAGS
링커 명령줄을 포함하는 자동 생성된 구성 변수
결과 대상과 링크될 라이브러리를 지정하기 위한 옵션입니다. 의 가치
$_LIBFLAGS 추가하여 생성됩니다. $LIBLINKPREFIX 그리고 $LIBLINKSuffix 처음으로
각 파일 이름의 끝은 $LIBS.

LIBLINK프리픽스
링커 명령줄에서 연결할 라이브러리를 지정하는 데 사용되는 접두사입니다. 이것은 ~이 될 것이다
각 라이브러리의 시작 부분에 추가됩니다. $LIBS 구성 변수
$_LIBFLAGS 변수가 자동으로 생성됩니다.

LIBLINK서픽스
링커 명령줄에서 연결할 라이브러리를 지정하는 데 사용되는 접미사입니다. 이것은 ~이 될 것이다
각 라이브러리의 끝에 추가됨 $LIBS 구성 변수
$_LIBFLAGS 변수가 자동으로 생성됩니다.

LIBPATH
라이브러리를 검색할 디렉토리 목록입니다. 암시적 종속성
스캐너는 이 디렉터리에서 포함 파일을 검색합니다. 명시적으로 include를 넣지 마세요.
디렉토리 인수 $LINKFLAGS or $SHLINKFLAGS 결과가 나올테니까
이식성이 없으며 디렉터리는 종속성 스캐너로 검색되지 않습니다. 메모:
LIBPATH의 디렉터리 이름은 다음과 같은 경우 SConscript 디렉터리를 기준으로 조회됩니다.
명령에 사용됩니다. 스콘이 루트를 기준으로 디렉토리를 조회하도록 강제하려면
소스 트리 사용 #:

env = 환경(LIBPATH='#/libs')

디렉토리 조회는 다음을 사용하여 강제로 수행할 수도 있습니다. 디렉토리() 기능:

libs = Dir('libs')
env = 환경(LIBPATH=libs)

디렉토리 목록은 자동 생성된 명령줄에 추가됩니다.
$_LIBDIRFLAGS 값을 추가하여 구성되는 구성 변수
전에, $LIBDIRPREFIX 그리고 $LIBDIRSUFFIX 시작과 끝의 구성 변수
각 디렉토리 $LIBPATH. LIBPATH가 필요한 정의한 모든 명령줄
디렉토리 목록에는 다음이 포함되어야 합니다. $_LIBDIRFLAGS:

env = 환경(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE")

LIBPREFIX
(정적) 라이브러리 파일 이름에 사용되는 접두사입니다. 기본값은 각각 설정되어 있습니다.
플랫폼(posix, win32, os2 등)이지만 값은 개별 도구에 의해 재정의됩니다.
(ar, mslib, sgiar, sunar, tlib 등) 라이브러리의 이름을 반영합니다.
만들었습니다.

LIB프리픽스
라이브러리 파일 이름에 대한 모든 법적 접두사 목록입니다. 도서관을 검색할 때
종속성이 있는 경우 SCons는 이러한 접두사, 기본 라이브러리 이름,
그리고 접미사 $LIB접미사 명부.

LIBS
실행 가능한 프로그램과 연결될 하나 이상의 라이브러리 목록
이 환경에 의해 생성됩니다.

라이브러리 목록은 자동 생성된 명령줄에 추가됩니다.
$_LIBFLAGS 값을 추가하여 구성되는 구성 변수
$LIBLINKPREFIX 그리고 $LIBLINKSuffix 시작과 끝의 구성 변수
각 파일 이름 $LIBS. LIBS 라이브러리 목록이 필요한 정의한 모든 명령줄
포함시키다 $_LIBFLAGS:

env = 환경(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE")

File 객체를 추가하면 $LIBS 목록에 해당 파일 이름이 추가됩니다.
$_LIBFLAGS, 따라서 링크 라인은 그대로 유지됩니다. $LIBLINKPREFIX or $LIBLINKSuffix.
예 :

env.Append(LIBS=파일('/tmp/mylib.so'))

모든 경우에 scons는 실행 프로그램의 종속성을 모든 항목에 추가합니다.
이 목록에 있는 도서관.

LIB서픽스
(정적) 라이브러리 파일 이름에 사용되는 접미사입니다. 기본값은 각각 설정되어 있습니다.
플랫폼(posix, win32, os2 등)이지만 값은 개별 도구에 의해 재정의됩니다.
(ar, mslib, sgiar, sunar, tlib 등) 라이브러리의 이름을 반영합니다.
만들었습니다.

LIB접미사
라이브러리 파일 이름에 대한 모든 법적 접미사 목록입니다. 도서관을 검색할 때
종속성이 있는 경우 SCons는 접두사가 있는 파일을 찾습니다. $LIB프리픽스 목록,
기본 라이브러리 이름 및 접미사.

라이센스
이 프로젝트가 릴리스되는 라이센스의 약식 이름(gpl, lpgl,
bsd 등). 보다 http://www.opensource.org/licenses/alphabetical 라이센스 목록의 경우
이름.

LINESEPARATOR
에서 사용하는 구분 기호 하위 파일 그리고 텍스트 파일 건축업자. 이 값은 다음 사이에 사용됩니다.
타겟을 구성할 때 소스. 기본값은 현재 시스템 라인입니다.
분리 기호.

LINGUAS_FILE
The $LINGUAS_FILE 추가 언어 목록이 포함된 파일을 정의합니다.
에 의해 처리 포이니트, PO업데이트 or MO파일 건축업자. 또한 영향을 미칩니다 옮기다 건축업자.
변수에 문자열이 포함되어 있으면 목록 파일의 이름을 정의합니다. 그만큼 $LINGUAS_FILE
파일 이름 목록일 수도 있습니다. 만약에 $LINGUAS_FILE True(또는 0이 아닌 값)로 설정됩니다.
숫자 값), 목록은 LINGUAS라는 기본 파일에서 읽혀집니다.

LINK
링커.

링크컴
개체 파일을 실행 파일에 연결하는 데 사용되는 명령줄입니다.

LINKCOMSTR
개체 파일이 실행 파일에 링크될 때 표시되는 문자열입니다. 그렇지 않은 경우
설정 한 다음 $LINKCOM (명령줄)이 표시됩니다.

env = 환경(LINKCOMSTR = "$TARGET 연결 중")

링크플래그
링커에 전달되는 일반 사용자 옵션입니다. 이 변수는 지원 포함하는
-l (또는 유사한) 목록에 나열된 라이브러리와 연결하기 위한 옵션 $LIBS,도 아니다 -L (또는
유사) scons가 자동으로 생성하는 라이브러리 검색 경로 옵션 $LIBPATH.
$_LIBFLAGS 위의 라이브러리 링크 옵션으로 확장되는 변수의 경우
$_LIBDIRFLAGS 위의 경우 라이브러리 검색 경로 옵션으로 확장되는 변수입니다.

M4
M4 매크로 전처리기.

M4COM
M4 매크로 전처리기를 통해 파일을 전달하는 데 사용되는 명령줄입니다.

M4COMSTR
파일이 M4 매크로 전처리기를 통과할 때 표시되는 문자열입니다. 이 경우
설정되지 않은 경우 $M4COM (명령줄)이 표시됩니다.

M4FLAGS
M4 매크로 전처리기에 전달된 일반 옵션입니다.

메이크인덱스
TeX 포맷터 및 조판기 및 LaTeX 구조용 makeindex 생성기
포맷터와 조판기.

메이크인덱스컴
TeX 포맷터용 makeindex 생성기를 호출하는 데 사용되는 명령줄 및
조판기와 LaTeX 구조적 포맷터 및 조판기.

MAKEINDEXCOMSTR
TeX 포맷터에 대한 makeindex 생성기를 호출할 때 표시되는 문자열 및
조판기와 LaTeX 구조적 포맷터 및 조판기. 이것이 설정되어 있지 않으면
$MAKEINDEXCOM (명령줄)이 표시됩니다.

MakeINDEXFLAGS
TeX 포맷터 및 조판기용 makeindex 생성기에 전달된 일반 옵션
LaTeX 구조 포맷터 및 조판기.

MAXLINE길이
외부 명령줄에 허용되는 최대 문자 수입니다. Win32에서
시스템에서는 이 문자 수보다 긴 링크 줄이 임시 파일을 통해 연결됩니다.
이름입니다.

미들
Microsoft IDL 컴파일러.

미드컴
Microsoft IDL 컴파일러에 파일을 전달하는 데 사용되는 명령줄입니다.

MIDLCOMSTR
Microsoft IDL 컴파일러가 호출될 때 표시되는 문자열입니다. 이것이 설정되지 않은 경우,
그때 $MIDLCOM (명령줄)이 표시됩니다.

중간 플래그
Microsoft IDL 컴파일러에 전달된 일반 옵션입니다.

모스픽스
MO 파일에 사용되는 접미사(기본값: '.mo'). msgfmt 도구 및 MO파일 건축업자.

MSGFMT
절대 경로 msgfmt(1) 바이너리, 발견자 감지하다(). msgfmt 도구 및 MO파일
건축업자.

MSGFMTCOM
실행할 명령줄 완료 msgfmt(1) 프로그램. msgfmt 도구 및 MO파일 건축업자.

MSGFMTCOMSTR
언제 표시할 문자열 msgfmt(1) 호출됩니다(기본값: '', 이는 ``인쇄를 의미함)
$MSGFMTCOM''). msgfmt 도구 및 MO파일 건축업자.

MSGFMTFLAGS
추가 플래그 msgfmt(1). msgfmt 도구 및 MO파일 건축업자.

MSGINIT
경로 msginit(1) 프로그램(Detect()를 통해 발견됨). msginit 도구 및 포이니트 건축업자.

MSGINITCOM
실행할 명령줄 완료 msginit(1) 프로그램. msginit 도구 및 포이니트 건축업자.

MSGINITCOMSTR
언제 표시할 문자열 msginit(1) 호출됩니다(기본값: '', 이는 ``인쇄를 의미함)
$MSGINITCOM''). msginit 도구 및 포이니트 건축업자.

MSGINITFLAGS
추가 플래그 목록 msginit(1) (기본: []). msginit 도구 및 포이니트
건축업자.

_MSGINITLOCALE
내부 ``매크로''. 대상 파일 이름을 기준으로 로케일(언어) 이름을 계산합니다(기본값:
'${TARGET.filebase}').

msginit 도구 및 포이니트 건축업자.

MSGMERGE
절대 경로 메시지 병합(1) 다음으로 찾은 바이너리 감지하다(). msgmerge 도구 및
PO업데이트 건축업자.

MSGMERGECOM
실행할 명령줄 완료 메시지 병합(1) 명령. msgmerge 도구 및 PO업데이트
건축업자.

MSGMERGECOMSTR
다음과 같은 경우 표시할 문자열 메시지 병합(1) 호출됩니다(기본값: '', 이는 ``인쇄를 의미함)
$MSGMERGECOM''). msgmerge 도구 및 PO업데이트 건축업자.

MSGMERGEFLAGS
추가 플래그 메시지 병합(1) 명령. msgmerge 도구 및 PO업데이트 건축업자.

MSSDK_DIR
Microsoft SDK(플랫폼 SDK 또는 Windows SDK)가 포함된 디렉터리입니다.
컴파일에 사용됩니다.

MSSDK_버전
Microsoft SDK(플랫폼 SDK 또는 Windows SDK)의 버전 문자열입니다.
컴파일에 사용됩니다. 지원되는 버전에는 6.1, 6.0A, 6.0, 2003R2 및 2003R1이 포함됩니다.

MSVC_BATCH
true 값으로 설정되면 SCons가 객체를 일괄 컴파일해야 함을 지정합니다.
Microsoft Visual C/C++ 컴파일러를 호출할 때 파일. 모든 소스 편집
동일한 출력에서 ​​대상 파일을 생성하는 동일한 소스 디렉터리의 파일
디렉토리이며 동일한 구성 환경을 사용하여 SCons에서 구성되었습니다.
컴파일러에 대한 단일 호출로 구축되었습니다. 이후 변경된 소스 파일만
빌드된 객체 파일은 각 컴파일러 호출에 전달됩니다(
$CHANGED_SOURCES 구성 변수). 객체(대상)가 있는 모든 컴파일
파일 기본 이름(.obj 제외)이 소스 파일 기본 이름과 일치하지 않습니다.
별도로 컴파일되었습니다.

MSVC_USE_SCRIPT
배치 스크립트를 사용하여 Microsoft Visual Studio 컴파일러 설정

$MSVC_USE_SCRIPT 재정의 $MSVC_VERSION 그리고 $TARGET_ARCH. 이름으로 설정한 경우
Visual Studio .bat 파일(예: vcvars.bat), SCons는 해당 bat 파일을 실행하고 추출합니다.
결과의 관련 변수(일반적으로 %INCLUDE%, %LIB% 및 %PATH%).
MSVC_USE_SCRIPT를 None으로 설정하면 Visual Studio 자동 감지가 완전히 무시됩니다. 사용
Visual Studio cmd 창에서 SCons를 실행하고 셸의
환경 변수.

MSVC_버전
사용할 Microsoft Visual C/C++의 기본 버전을 설정합니다.

If $MSVC_VERSION 설정되어 있지 않으면 SCons는 (기본적으로) 최신 버전을 선택합니다.
시스템에 Visual C/C++가 설치되어 있습니다. 지정된 버전이 설치되어 있지 않으면 도구
초기화가 실패합니다. 이 변수는 인수로 전달되어야 합니다.
환경() 생성자; 나중에 설정해도 아무런 효과가 없습니다.

Windows에 유효한 값은 12.0, 12.0Exp, 11.0, 11.0Exp, 10.0, 10.0Exp, 9.0, 9.0Exp입니다.
8.0, 8.0Exp, 7.1, 7.0 및 6.0. Exp로 끝나는 버전은 "Express" 또는 "Express"를 나타냅니다.
데스크탑용' 에디션.

MSVS
Microsoft Visual Studio 도구가 초기화되면 이 사전을 설정합니다.
다음 키를 사용하세요.

버전
사용 중인 MSVS 버전(다음을 통해 설정할 수 있음) $MSVS_VERSION)

버전
설치된 MSVS의 사용 가능한 버전

빈스탈디르
Visual C++의 설치 디렉터리

VSINSTALLDIR
Visual Studio의 설치 디렉터리

프레임워크디렉터리
.NET 프레임워크의 설치된 디렉터리

프레임워크 버전
설치된 .NET Framework 버전 목록(최신 버전부터 오래된 버전까지 정렬)

프레임워크버전
.NET 프레임워크의 최신 설치된 버전

프레임워크SDKDIR
.NET SDK가 설치된 위치입니다.

플랫폼SDKDIR
Platform SDK가 설치된 위치입니다.

PLATFORMSDK_MODULES
사전 키가 있는 설치된 Platform SDK 모듈의 사전
다양한 모듈에 대한 키워드이며 값은 2-튜플입니다. 여기서 첫 번째는
출시 날짜이고 두 번째는 버전 번호입니다.

값이 설정되지 않으면 레지스트리에서 사용할 수 없는 것입니다.

MSVS_ARCH
생성된 프로젝트가 빌드되어야 하는 아키텍처를 설정합니다.

기본값은 x86입니다. amd64는 일부 Visual Studio의 SCons에서도 지원됩니다.
버전. 설정하는 중 $MSVS_ARCH 특정 아키텍처에 대해 지원되지 않는 아키텍처
Visual Studio 버전에서는 오류가 발생합니다.

MSVS_PROJECT_GUID
생성된 Microsoft Visual Studio 프로젝트 파일에 다음 값으로 배치된 문자열입니다.
ProjectGUID 속성. 기본값은 없습니다. 정의되지 않은 경우 새 GUID는 다음과 같습니다.
생성.

MSVS_SCC_AUX_PATH
생성된 Microsoft Visual Studio 프로젝트 파일에 값으로 배치된 경로 이름
SccAuxPath 속성의 경우 MSVS_SCC_PROVIDER 건설 변수도
세트. 기본값은 없습니다.

MSVS_SCC_CONNECTION_ROOT
SCC 작업공간에 있는 프로젝트의 루트 경로, 즉 모든 프로젝트가 실행되는 경로
및 솔루션 파일이 생성됩니다. 참조 경로로 사용됩니다.
생성된 Microsoft Visual Studio 프로젝트 및 솔루션 파일의 상대 경로는 다음과 같습니다.
계산되었습니다. 상대 프로젝트 파일 경로는 SccLocalPath의 값으로 배치됩니다.
프로젝트 파일의 속성과
SccProjectFilePathRelativizedFromConnection[i](여기서 [i]의 범위는 0부터 숫자까지)
솔루션의 프로젝트) GlobalSection(SourceCodeControl)의 속성
Microsoft Visual Studio 솔루션 파일의 섹션. 마찬가지로 상대 솔루션
파일 경로는 SccLocalPath[i]의 값으로 배치됩니다(여기서 [i]의 범위는 0에서
솔루션의 프로젝트 수) 속성의
Microsoft Visual Studio 솔루션 파일의 GlobalSection(SourceCodeControl) 섹션.
이는 다음과 같은 경우에만 사용됩니다. MSVS_SCC_PROVIDER 구성 변수도 설정됩니다. 그만큼
기본값은 현재 작업 디렉터리입니다.

MSVS_SCC_PROJECT_NAME
생성된 Microsoft Visual Studio 프로젝트 파일에 배치된 프로젝트 이름은
SccProjectName 속성의 값 MSVS_SCC_PROVIDER 구성 변수
도 설정되어 있습니다. 이 경우 문자열은 SccProjectName0 속성에도 배치됩니다.
Microsoft Visual Studio의 GlobalSection(SourceCodeControl) 섹션
솔루션 파일. 기본값은 없습니다.

MSVS_SCC_PROVIDER
생성된 Microsoft Visual Studio 프로젝트 파일에 다음 값으로 배치된 문자열입니다.
SccProvider 속성. 문자열은 다음의 SccProvider0 속성에도 배치됩니다.
Microsoft Visual Studio 솔루션의 GlobalSection(SourceCodeControl) 섹션
파일. 기본값은 없습니다.

MSVS_버전
사용할 Microsoft Visual Studio의 기본 버전을 설정합니다.

If $MSVS_VERSION 설정되어 있지 않으면 SCons는 (기본적으로) 최신 버전을 선택합니다.
시스템에 Visual Studio가 설치되어 있습니다. 따라서 버전 6과 버전 7(MSVS
.NET)이 설치되어 있으면 버전 7을 선호합니다.
MSVS_버전 환경 초기화의 변수를 적절하게 설정합니다.
버전(예: '6.0' 또는 '7.0'). 지정된 버전이 설치되어 있지 않으면 도구
초기화가 실패합니다.

이것은 더 이상 사용되지 않습니다: 사용 $MSVC_VERSION 대신에. 만약에 $MSVS_VERSION 설정되고 $MSVC_VERSION
아니다, $MSVC_VERSION 자동으로 설정됩니다 $MSVS_VERSION. 둘 다로 설정한 경우
값이 다르면 scons에서 오류가 발생합니다.

MSVSBUILDCOM
생성된 Microsoft Visual Studio 프로젝트 파일에 배치된 빌드 명령줄입니다. 그만큼
기본값은 Visual Studio가 지정된 빌드 대상을 사용하여 SCons를 호출하도록 하는 것입니다.

MSVSCLEANCOM
생성된 Microsoft Visual Studio 프로젝트 파일에 배치된 정리 명령줄입니다. 그만큼
기본값은 Visual Studio가 -c 옵션을 사용하여 SCons를 호출하여 모든 항목을 제거하도록 하는 것입니다.
지정된 대상.

MSV센코딩
생성된 Microsoft Visual Studio 프로젝트 파일에 배치된 인코딩 문자열입니다. 그만큼
기본값은 Windows-1252 인코딩입니다.

MSVSPROJECTCOM
Microsoft Visual Studio 프로젝트 파일을 생성하는 데 사용되는 작업입니다.

MSVSPROJECTSUFFIX
Microsoft Visual Studio 프로젝트(DSP) 파일에 사용되는 접미사입니다. 기본값은 다음과 같습니다.
Visual Studio 버전 7.x(.NET) 이상 버전을 사용하는 경우 .vcproj,
이전 버전의 Visual Studio를 사용합니다.

MSVSREBUILDCOM
생성된 Microsoft Visual Studio 프로젝트 파일에 배치된 다시 빌드 명령줄입니다.
기본값은 Visual Studio가 지정된 재구축 대상을 사용하여 SCons를 호출하도록 하는 것입니다.

MSVSSCONS
생성된 Microsoft Visual Studio 프로젝트 파일에 사용되는 SCons입니다. 기본값은
프로젝트 파일을 생성하는 데 사용되는 SCons 버전입니다.

MSVSSCONSCOM
생성된 Microsoft Visual Studio 프로젝트 파일에 사용되는 기본 SCons 명령입니다.

MSVSSCONSCRIPT
호출될 sconscript 파일(즉, SConstruct 또는 SConscript 파일)
Visual Studio 프로젝트 파일( $MSVSSCONSCOM 변하기 쉬운). 기본값은
호출이 포함된 동일한 sconscript 파일 MSVS프로젝트 프로젝트 파일을 빌드합니다.

MSVSSCONSFLAGS
생성된 Microsoft Visual Studio 프로젝트 파일에 사용되는 SCons 플래그입니다.

MSVSSOLUTIONCOM
Microsoft Visual Studio 솔루션 파일을 생성하는 데 사용되는 작업입니다.

MSVSSOLUTIONSuffix
Microsoft Visual Studio 솔루션(DSW) 파일에 사용되는 접미사입니다. 기본값은 다음과 같습니다.
Visual Studio 버전 7.x(.NET)를 사용하는 경우 .sln, 이전 버전을 사용하는 경우 .dsw
Visual Studio의.

MT
Windows 시스템에서 매니페스트를 DLL 및 EXE에 포함하는 데 사용되는 프로그램입니다. 또한보십시오
$WINDOWS_EMBED_MANIFEST.

MTEXECOM
매니페스트를 실행 파일에 포함하는 데 사용되는 Windows 명령줄입니다. 또한보십시오
$MTSHLIBCOM.

MTFLAGS
깃발이 다음에게 전달되었습니다. $MT 매니페스트 포함 프로그램(Windows에만 해당)

MTSHLIBCOM
매니페스트를 공유 라이브러리(DLL)에 포함하는 데 사용되는 Windows 명령줄입니다. 보다
또한 $MTEXECOM.

MWCW_버전
사용할 MetroWerks CodeWarrior C 컴파일러의 버전 번호입니다.

MWCW_버전
이 시스템에 설치된 MetroWerks CodeWarrior C 컴파일러 버전 목록입니다.

이름
패키징할 프로젝트의 이름을 지정합니다.

no_import_lib
0이 아닌 값으로 설정하면 해당 Windows 정적 가져오기 라이브러리 생성이 억제됩니다.
MinGW, Microsoft Visual Studio 또는
지하철. 이는 또한 다음을 사용할 때 내보내기(.exp) 파일 생성을 억제합니다.
마이크로소프트 비주얼 스튜디오.

객체 접두사
(정적) 개체 파일 이름에 사용되는 접두사입니다.

객체 접미사
(정적) 개체 파일 이름에 사용되는 접미사입니다.

P4
Perforce 실행 파일.

P4COM
Perforce에서 소스 파일을 가져오는 데 사용되는 명령줄입니다.

P4COMSTR
Perforce에서 소스 파일을 가져올 때 표시되는 문자열입니다. 이것이 설정되지 않은 경우,
그때 $P4COM (명령줄)이 표시됩니다.

P4FLAGS
Perforce에 전달되는 일반 옵션입니다.

패키지루트
다음과 같은 경우 결과 아카이브의 모든 파일이 배치될 디렉터리를 지정합니다.
해당되는. 기본값은 "$NAME-$VERSION"입니다.

포장 종류
빌드할 패키지 유형을 선택합니다. 현재 다음을 사용할 수 있습니다.

* msi - Microsoft 설치 프로그램 * rpm - Redhat 패키지 관리자 * ipkg - Itsy 패키지
관리 시스템 * tarbz2 - 압축된 tar * targz - 압축된 tar * zip - zip 파일
* src_tarbz2 - 압축된 tar 소스 * src_targz - 압축된 tar 소스 * src_zip -
zip 파일 소스

이는 "package_type" 명령줄 옵션으로 재정의될 수 있습니다.

패키지버전
패키지 버전입니다(기본 프로젝트 아님). 현재는 이것만 사용됩니다
rpm 패키저에 의해 변경되며 기본 패키지가 아닌 패키징의 변경 사항을 반영해야 합니다.
프로젝트 코드 자체.

PCH
개체를 컴파일할 때 사용되는 Microsoft Visual C++ 미리 컴파일된 헤더입니다.
파일. 이 변수는 Microsoft Visual C++ 이외의 도구에서는 무시됩니다. 이 때
변수가 정의되었습니다. SCons는 컴파일러 명령줄에 옵션을 추가하여 다음을 수행합니다.
미리 컴파일된 헤더를 사용하고 PCH 파일에 대한 종속성도 설정합니다.
예:

env['PCH'] = 'StdAfx.pch'

PCCHCOM
에서 사용하는 명령줄 PCH 미리 컴파일된 헤더를 생성하는 빌더입니다.

PCCHCOMSTR
미리 컴파일된 헤더를 생성할 때 표시되는 문자열입니다. 이것이 설정되어 있지 않으면
$PCHCOM (명령줄)이 표시됩니다.

PCHPDBFLAGS
확장 시 /yD 플래그를 명령줄에 추가하는 구성 변수
경우에만 $PDB 건설 변수가 설정되었습니다.

PCHSTOP
이 변수는 미리 컴파일되는 소스 파일의 양을 지정합니다. 이 변수는
Microsoft Visual C++ 이외의 도구에서는 무시되거나 PCH 변수가
사용되고 있습니다. 이 변수가 정의되면 변수의 이름인 문자열이어야 합니다.
소스 파일의 미리 컴파일된 부분 끝에 포함된 헤더, 또는
"#pragma hrdstop" 구성이 사용되는 경우 빈 문자열:

env['PCHSTOP'] = 'StdAfx.h'

PDB
개체에 대한 디버깅 정보를 저장할 Microsoft Visual C++ PDB 파일
파일, 공유 라이브러리 및 프로그램. 이 변수는 다음 이외의 도구에서는 무시됩니다.
마이크로소프트 비주얼 C++. 이 변수가 정의되면 SCons는
외부 디버깅을 생성하도록 하는 컴파일러 및 링커 명령줄
정보를 제공하고 PDB 파일에 대한 종속성도 설정합니다. 예:

env['PDB'] = 'hello.pdb'

SCons가 PDB 정보를 생성하기 위해 기본적으로 사용하는 Visual C++ 컴파일러 스위치
is /Z7. 이는 병렬(-j) 디버그가 포함되어 있기 때문에 빌드됩니다.
단일 PDB 파일을 공유하는 것과 달리 중간 개체 파일의 정보
여러 개체 파일 사이. 이는 디버그 정보를 얻는 유일한 방법이기도 합니다.
정적 라이브러리에 포함됩니다. 사용하여 /지 대신 링크 시간이 향상될 수 있습니다.
하지만 병렬 빌드는 더 이상 작동하지 않습니다. PDB 파일을 생성할 수 있습니다.
와 더불어 /지 기본값을 재정의하여 전환 $CCPDBFLAGS 변하기 쉬운; 항목을 참조하세요.
특정 예에서는 해당 변수를 사용합니다.

PDFCOM
더 이상 사용되지 않는 동의어 $DVIPDFCOM.

PDF라텍스
pdflatex 유틸리티.

PDFLATEXCOM
pdflatex 유틸리티를 호출하는 데 사용되는 명령줄입니다.

PDFLATEXCOMSTR
pdflatex 유틸리티를 호출할 때 표시되는 문자열입니다. 이것이 설정되어 있지 않으면
$PDFLATEXCOM (명령줄)이 표시됩니다.

env = Environment(PDFLATEX;COMSTR = "LaTeX 입력 $SOURCES에서 $TARGET 빌드")

PDFLATEX플래그
pdflatex 유틸리티에 전달된 일반 옵션입니다.

PDF프리픽스
PDF 파일 이름에 사용되는 접두사입니다.

PDF서픽스
PDF 파일 이름에 사용되는 접미사입니다.

PDFTEX
pdftex 유틸리티.

PDFTEXCOM
pdftex 유틸리티를 호출하는 데 사용되는 명령줄입니다.

PDFTEXCOMSTR
pdftex 유틸리티를 호출할 때 표시되는 문자열입니다. 이것이 설정되어 있지 않으면
$PDFTEXCOM (명령줄)이 표시됩니다.

env = 환경(PDFTEXCOMSTR = "TeX 입력 $SOURCES에서 $TARGET 빌드")

PDFTEX플래그
pdftex 유틸리티에 전달된 일반 옵션입니다.

PKGCHK
Solaris 시스템에서 사용될 패키지 검사 프로그램(
$PKGINFO) 설치된 Sun PRO C++ 컴파일러 버전을 찾습니다. 기본값은
/usr/sbin/pgkchk.

패키지 정보
Solaris 시스템에서 사용될 패키지 정보 프로그램(
$PKGCHK) 설치된 Sun PRO C++ 컴파일러 버전을 찾습니다. 기본값은
pkginfo.

플랫폼
환경을 생성하는 데 사용되는 플랫폼의 이름입니다. 플랫폼이 지정되지 않은 경우
환경이 생성되면 scons는 플랫폼을 자동 감지합니다.

env = 환경(도구 = [])
if env['PLATFORM'] == 'cygwin':
도구('mingw')(env)
그밖에:
도구('msvc')(env)

자동 초기화
The $POAUTOINIT 변수를 True(0이 아닌 숫자 값)로 설정하면 msginit를 실행합니다.
자동으로 초기화하는 도구 누락 PO 파일 msginit(1). 이것은 다음에 적용됩니다
양자 모두, 포이니트 그리고 PO업데이트 건축업자(및 그 중 하나를 사용하는 기타 사람).

POCREATE_ALIAS
다음으로 생성된 모든 PO 파일에 대한 공통 별칭 포이니트 빌더(기본값: 'po-create'). 보다
msginit 도구 및 포이니트 건축업자.

POSUFIX
PO 파일에 사용되는 접미사(기본값: '.po') msginit 도구 및 포이니트 건축업자.

팟도메인
The $포토메인 POT 파일 이름을 생성하는 데 사용되는 기본 도메인을 다음과 같이 정의합니다. $포토메인.냄비
사용자가 POT 파일 이름을 제공하지 않은 경우. 이는 다음에 적용됩니다. POT업데이트, 포이니트 그리고
PO업데이트 빌더(및 이를 사용하는 빌더, 예: 옮기다). 일반적으로(만약
$포토메인 정의되지 않음) 빌더는 message.pot을 기본 POT 파일 이름으로 사용합니다.

포서픽스
PO 템플릿 파일에 사용되는 접미사(기본값: '.pot'). xgettext 도구를 참조하고 POT업데이트
건축업자.

POTUPDATE_ALIAS
다음으로 생성된 모든 PO 템플릿에 대한 공통 가짜 대상의 이름 PO업데이트 (기본:
'냄비 업데이트'). xgettext 도구를 참조하고 POT업데이트 건축업자.

POUPDATE_ALIAS
다음으로 정의되는 모든 PO 파일에 대한 공통 별칭 PO업데이트 빌더(기본값:
'포 업데이트'). msgmerge 도구 및 PO업데이트 건축업자.

PRINT_CMD_LINE_FUNC
실행되는 명령줄을 인쇄하는 데 사용되는 Python 함수(가정
명령 인쇄는 다음에 의해 비활성화되지 않습니다. -q or -s 옵션 또는 이에 상응하는 것). 그만큼
함수는 4개의 인수를 취해야 합니다: s, 실행 중인 명령(문자열), 목표,
빌드 중인 대상(파일 노드, 목록 또는 문자열 이름) , 출처
사용됨(파일 노드, 목록 또는 문자열 이름) 환경, 사용되는 환경.

함수는 인쇄 자체를 수행해야 합니다. 다음과 같은 경우에 사용되는 기본 구현
변수가 설정되지 않았거나 없음입니다.

def print_cmd_line(s, 대상, 소스, 환경):
sys.stdout.write(s + "\n")

다음은 좀 더 흥미로운 함수의 예입니다.

def print_cmd_line(s, 대상, 소스, 환경):
sys.stdout.write("%s 건물 -> %s...\n" %
(' 및 '.join([소스의 x에 대한 str(x)]),
' 및 '.join([대상의 x에 대한 str(x)])))
env=환경(PRINT_CMD_LINE_FUNC=print_cmd_line)
env.Program('foo', 'foo.c')

이것은 단지 "건물"을 인쇄합니다. 대상 이름소스 이름..." 대신 실제
명령. 이러한 함수는 실제 명령을 로그 파일에 기록할 수도 있습니다.
예.

프로제미터
ALL

프로그램 프리픽스
실행 파일 이름에 사용되는 접두사입니다.

PROGSUFFIX
실행 파일 이름에 사용되는 접미사입니다.

PSCOM
TeX DVI 파일을 PostScript 파일로 변환하는 데 사용되는 명령줄입니다.

PSCOMSTR
TeX DVI 파일이 PostScript 파일로 변환될 때 표시되는 문자열입니다. 이 경우
설정되지 않은 경우 $PSCOM (명령줄)이 표시됩니다.

PSPREFIX
PostScript 파일 이름에 사용되는 접두사입니다.

PSSUFFIX
PostScript 파일 이름에 사용되는 접두사입니다.

QT_AUTOSCAN
이동 가능한 파일 검색을 끄십시오. Moc Builder를 사용하여 파일을 명시적으로 지정
moc를 실행합니다.

QT_BINPATH
qt 바이너리가 설치된 경로입니다. 기본값은 '$QTDIR/큰 상자'.

QT_CPPPATH
qt 헤더 파일이 설치된 경로입니다. 기본값은 다음과 같습니다.
'$QTDIR/포함하다'. 참고: 이 변수를 없음으로 설정하면 도구는
$CPPPATH 건설 변수.

QT_DEBUG
moc 파일을 검색하는 동안 많은 디버깅 정보를 인쇄합니다.

QT_LIB
기본값은 'qt'입니다. 이것을 'qt-mt'로 설정할 수도 있습니다. 참고: 이렇게 설정하면
변수를 None으로 설정하면 도구는 $LIBS 변하기 쉬운.

QT_LIBPATH
qt 라이브러리가 설치된 경로입니다. 기본값은 '$QTDIR/ lib'.
참고: 이 변수를 없음으로 설정하면 도구는 $LIBPATH
건설 변수.

QT_MOC
기본값은 '$QT_BINPATH/moc'.

QT_MOCCXXPREFIX
기본값은 ''입니다. 소스가 cxx 파일인 경우 moc 출력 파일의 접두사입니다.

QT_MOCCXXSUFFIX
기본값은 '.moc'입니다. 소스가 cxx 파일인 경우 moc 출력 파일의 접미사입니다.

QT_MOCFROMCXXCOM
cpp 파일에서 moc 파일을 생성하는 명령입니다.

QT_MOCFROMCXXCOMSTR
cpp 파일에서 moc 파일을 생성할 때 표시되는 문자열입니다. 이것이 설정되지 않은 경우,
그때 $QT_MOCFROMCXXCOM (명령줄)이 표시됩니다.

QT_MOCFROMCXXFLAGS
기본값은 '-i'입니다. 이 플래그는 C++ 파일을 moccing할 때 moc에 전달됩니다.

QT_MOCFROMHCOM
헤더에서 moc 파일을 생성하는 명령입니다.

QT_MOCFROMHCOMSTR
cpp 파일에서 moc 파일을 생성할 때 표시되는 문자열입니다. 이것이 설정되지 않은 경우,
그때 $QT_MOCFROMHCOM (명령줄)이 표시됩니다.

QT_MOCFROMHFLAGS
기본값은 ''입니다. 이 플래그는 헤더 파일을 moccing할 때 moc에 전달됩니다.

QT_MOCHPREFIX
기본값은 'moc_'입니다. 소스가 헤더인 경우 moc 출력 파일의 접두사입니다.

QT_MOCHSUFFIX
기본값은 '$CXXFILESUFFIX'. 소스가 다음인 경우 moc 출력 파일의 접미사
헤더.

QT_UIC
기본값은 '$QT_BINPATH/uic'.

QT_UICCOM
.ui 파일에서 헤더 파일을 생성하는 명령입니다.

QT_UICCOMSTR
.ui 파일에서 헤더 파일을 생성할 때 표시되는 문자열입니다. 이것이 설정되지 않은 경우,
그때 $QT_UICCOM (명령줄)이 표시됩니다.

QT_UICDECLFLAGS
기본값은 ''입니다. 이 플래그는 a에서 h 파일을 생성할 때 uic로 전달됩니다.
.ui 파일.

QT_UICDECLPREFIX
기본값은 ''입니다. uic 생성 헤더 파일의 접두사입니다.

QT_UICDECLSUFFIX
기본값은 '.h'입니다. uic 생성 헤더 파일의 접미사입니다.

QT_UICIMPLFLAGS
기본값은 ''입니다. 이러한 플래그는 a에서 cxx 파일을 생성할 때 uic로 전달됩니다.
.ui 파일.

QT_UICIMPLPREFIX
기본값은 'uic_'입니다. uic 생성 구현 파일의 접두사입니다.

QT_UICIMPLSUFFIX
기본값은 '$CXXFILESUFFIX'. uic 생성 구현 파일의 접미사입니다.

QT_UISUFFIX
기본값은 '.ui'입니다. 디자이너 입력 파일의 접미사입니다.

QTDIR
qt 도구는 os.environ에서 이를 가져오려고 합니다. 또한 모든 QT_*를 초기화합니다.
아래 나열된 구성 변수. (모든 경로는 다음과 같이 구성됩니다.
Python의 os.path.join() 메서드를 사용하지만 여기에는 더 쉽게 '/' 구분 기호를 사용하여 나열됩니다.
읽기.) 또한, 건설 환경 변수 $CPPPATH, $LIBPATH 그리고
$LIBS 수정될 수 있으며 변수는 $PROGEMITTER, $SHLIBEMITTER 그리고 $LIBEMITTER
수정되었습니다. 이 도구를 사용할 때 빌드 성능이 영향을 받기 때문에
환경 생성 시 명시적으로 지정하려면:

환경(도구=['default','qt'])

qt 도구는 다음 작업을 지원합니다.

Automatic 모의 파일 세대 머리글 파일. moc 파일을 지정할 필요가 없습니다.
명시적으로 도구가 이를 수행합니다. 그러나 이를 위해서는 몇 가지 전제 조건이 있습니다.
헤더 파일은 구현 파일과 동일한 파일 베이스를 가지고 있어야 하며 유지되어야 합니다.
같은 디렉토리에 있습니다. 접미사 .h, .hpp, .H, .hxx, .hh 중 하나가 있어야 합니다. 너
QT_AUTOSCAN을 0으로 설정하여 자동 moc 파일 생성을 끌 수 있습니다.
일치하는 () 빌더 방법.

Automatic 모의 파일 세대 cxx 파일. qt 문서에 명시된 바와 같이,
cxx 파일 끝에 moc 파일을 포함시킵니다. 다음을 포함해야 합니다.
변환에 의해 생성된 파일
${QT_MOCCXXPREFIX}${QT_MOCCXXSUFFIX}, 기본적으로 .moc. 경고
올바른 파일을 포함하지 않으면 moc 파일을 빌드한 후 생성됩니다. 만약에
VariantDir을 사용하는 경우 Duplicate=1을 지정해야 할 수도 있습니다. 끌 수 있습니다
QT_AUTOSCAN을 0으로 설정하여 자동 moc 파일 생성. 해당 항목도 참조하세요.
빌더 메소드.

Automatic 취급 of .ui 파일. .ui 파일에서 생성된 구현 파일
yacc 또는 lex 파일과 거의 동일하게 처리됩니다. 소스로 제공되는 각 .ui 파일
Program, Library 또는 SharedLibrary는 선언 파일,
구현 파일과 moc 파일. 생성된 헤더도 있으므로
VariantDir 호출 시 Duplicate=1을 지정해야 합니다. 해당 항목도 참조하세요. UIC
빌더 메소드.

RANLIB
아카이브 인덱서.

RANLIBCOM
정적 라이브러리 아카이브를 색인화하는 데 사용되는 명령줄입니다.

RANLIBCOMSTR
정적 라이브러리 아카이브가 색인화될 때 표시되는 문자열입니다. 이것이 설정되지 않은 경우,
그때 $RANLIBCOM (명령줄)이 표시됩니다.

env = 환경(RANLIBCOMSTR = "$TARGET 인덱싱 중")

RANLIB플래그
아카이브 인덱서에 전달된 일반 옵션입니다.

RC
Microsoft Visual C++ 리소스 파일을 빌드하는 데 사용되는 리소스 컴파일러입니다.

RCCOM
Microsoft Visual C++ 리소스 파일을 빌드하는 데 사용되는 명령줄입니다.

RCCOMSTR
Microsoft Visual을 빌드하기 위해 리소스 컴파일러를 호출할 때 표시되는 문자열입니다.
C++ 리소스 파일. 이것이 설정되어 있지 않으면 $RCCOM (명령줄)이 표시됩니다.

RCFLAGS
RES 빌더가 리소스 컴파일러에 전달한 플래그입니다.

RCINCFLAGS
명령줄 옵션이 포함된 자동 생성된 구성 변수
리소스 컴파일러가 검색할 디렉터리를 지정합니다. 의 가치
$RCINCFLAGS 추가하여 생성됩니다. $RCINCPREFIX 그리고 $RCINCSUFFIX 처음으로 그리고
각 디렉토리의 끝 $CPPPATH.

RCINCPREFIX
리소스 컴파일러에서 포함 디렉터리를 지정하는 데 사용되는 접두사(플래그)
명령줄. 이는 각 디렉토리의 시작 부분에 추가됩니다. $CPPPATH
구성 변수 $RCINCFLAGS 변수가 확장되었습니다.

RCINCSUFFIX
리소스 컴파일러 명령줄에서 포함 디렉터리를 지정하는 데 사용되는 접미사입니다.
이는 각 디렉토리의 끝에 추가됩니다. $CPPPATH 구조
변수 $RCINCFLAGS 변수가 확장되었습니다.

RCS
RCS 실행 파일. 이 변수는 실제로 다음 명령에 사용되지 않습니다.
RCS에서 소스 파일을 가져옵니다. 참조 $RCS_CO 아래의 구성 변수.

RCS_CO
RCS에서 소스 파일을 가져오는 데 사용되는 RCS "체크아웃" 실행 파일입니다.

RCS_COCOM
RCS에서 소스 파일을 가져오는(체크아웃) 데 사용되는 명령줄입니다.

RCS_COCOMSTR
RCS에서 소스 파일을 가져올 때 표시되는 문자열입니다. 이것이 설정되어 있지 않으면
$RCS_COCOM (명령줄)이 표시됩니다.

RCS_COFLAGS
에 전달되는 옵션 $RCS_CO 명령.

RDirs
문자열을 검색하여 Dir 인스턴스 목록으로 변환하는 함수입니다.
리포지토리.

REGSVR
Windows 시스템에서 새로 구축된 DLL 라이브러리를 등록하는 데 사용되는 프로그램입니다.
공유 라이브러리 빌더에는 레지스터=1이라는 키워드 인수가 전달됩니다.

REGSVRCOM
새로 구축된 DLL 라이브러리를 등록하기 위해 Windows 시스템에서 사용되는 명령줄
때마다 공유 라이브러리 빌더에는 레지스터=1이라는 키워드 인수가 전달됩니다.

REGSVRCOMSTR
새로 빌드된 DLL 파일을 등록할 때 표시되는 문자열입니다. 이것이 설정되어 있지 않으면
$REGSVRCOM (명령줄)이 표시됩니다.

REGSVRFLAGS
새로 빌드된 DLL이 있을 때 Windows 시스템의 DLL 등록 프로그램에 전달되는 플래그
도서관이 등록되었습니다. 기본적으로 여기에는 다음이 포함됩니다. /s 대화 상자를 방지하는
팝업이 표시되지 않고 사용자의 주의가 필요합니다.

RMIC
Java RMI 스텁 컴파일러.

RMICCOM
Java 클래스에서 스텁 및 스켈레톤 클래스 파일을 컴파일하는 데 사용되는 명령줄
RMI 구현을 포함합니다. 에 지정된 모든 옵션 $RMICFLAGS 구조
이 명령줄에는 변수가 포함되어 있습니다.

RMICCOMSTR
Java 클래스에서 스텁 및 스켈레톤 클래스 파일을 컴파일할 때 표시되는 문자열
RMI 구현을 포함합니다. 이것이 설정되어 있지 않으면 $RMICCOM (명령줄)
가 표시됩니다.

env = Environment(RMICCOMSTR = "$SOURCES에서 스텁/스켈레톤 클래스 파일 $TARGETS 생성 중")

RMICFLAGS
Java RMI 스텁 컴파일러에 전달되는 일반 옵션입니다.

_RPATH
사용할 rpath 플래그를 포함하는 자동 생성된 구성 변수
프로그램을 공유 라이브러리와 연결할 때. 의 가치 $_RPATH 에 의해 만들어 짐
첨부 $RPATHPREFIX 그리고 $RPATHSUFFIX 각 디렉토리의 시작과 끝
$RPATH.

RPATH
프로그램 실행 시 공유 라이브러리를 검색하기 위한 경로 목록입니다. 현재만
GNU(gnulink), IRIX(sgilink) 및 Sun(sunlink) 링커에 사용됩니다. 무시된 날짜
이를 지원하지 않는 플랫폼과 툴체인. RPATH에 추가된 경로는 다음과 같습니다.
어떤 방식으로든 스콘에 의해 변형되지 않음: 절대 경로를 원하면 경로를 만들어야 합니다.
자신을 절대화하세요.

RPATHPrefix
공유 라이브러리를 검색할 때 검색할 디렉터리를 지정하는 데 사용되는 접두어입니다.
프로그램을 실행 중입니다. 이는 각 디렉토리의 시작 부분에 추가됩니다.
$RPATH 구성 변수 $_RPATH 변수가 자동으로 생성됩니다.

RPATHSuffix
공유 라이브러리를 검색할 때 검색할 디렉터리를 지정하는 데 사용되는 접미사입니다.
프로그램을 실행 중입니다. 이는 각 디렉토리의 끝에 추가됩니다. $RPATH
구성 변수 $_RPATH 변수가 자동으로 생성됩니다.

RPCGEN
RPC 프로토콜 컴파일러.

RPCGENCLIENTFLAGS
클라이언트측 스텁을 생성할 때 RPC 프로토콜 컴파일러에 전달되는 옵션입니다. 이것들
다음에 지정된 플래그에 추가됩니다. $RPCGENFLAGS 건설 변수.

RPCGENFLAGS
RPC 프로토콜 컴파일러에 전달되는 일반 옵션입니다.

RPCGEN헤더플래그
헤더 파일을 생성할 때 RPC 프로토콜 컴파일러에 전달되는 옵션입니다. 이것들은
다음에 지정된 플래그 외에 $RPCGENFLAGS 건설 변수.

RPCGENSERVICEFLAGS
서버 측 스텁을 생성할 때 RPC 프로토콜 컴파일러에 전달되는 옵션입니다. 이것들
다음에 지정된 플래그에 추가됩니다. $RPCGENFLAGS 건설 변수.

RPCGENXDRFLAGS
XDR 루틴을 생성할 때 RPC 프로토콜 컴파일러에 전달되는 옵션입니다. 이것들은
다음에 지정된 플래그 외에 $RPCGENFLAGS 건설 변수.

스캐너
사용 가능한 암시적 종속성 스캐너 목록입니다. 새로운 파일 스캐너가 추가될 수 있습니다.
이 목록에 추가하면 됩니다. 더 유연한 접근 방식은 연결하는 것입니다.
특정 빌더가 있는 스캐너. "빌더 개체" 및 "스캐너" 섹션을 참조하세요.
자세한 내용은 아래 개체'를 참조하세요.

SCCS
SCCS 실행 파일.

SCCSCOM
SCCS에서 소스 파일을 가져오는 데 사용되는 명령줄입니다.

SCCSCOMSTR
CVS 저장소에서 소스 파일을 가져올 때 표시되는 문자열입니다. 그렇지 않은 경우
설정 한 다음 $SCCSCOM (명령줄)이 표시됩니다.

SCCS플래그
SCCS에 전달되는 일반 옵션입니다.

SCCSGETFLAGS
SCCS "get" 하위 명령에 특별히 전달되는 옵션입니다. 이렇게 설정할 수 있습니다.
예를 들어 -e SCCS에서 편집 가능한 파일을 확인하려면

SCONS_HOME
외부에서 초기화된 SCons 라이브러리 디렉터리에 대한 (선택 사항) 경로입니다.
환경. 설정된 경우 더 짧고 효율적인 검색을 구성하는 데 사용됩니다.
경로 $MSVSSCONS Microsoft Visual Studio 프로젝트에서 실행되는 명령줄
파일.

SHCC
공유 라이브러리 객체를 생성하는 데 사용되는 C 컴파일러입니다.

SHCCCOM
C 소스 파일을 공유 라이브러리 개체 파일로 컴파일하는 데 사용되는 명령줄입니다. 어느
에 지정된 옵션 $SHCFLAGS, $SHCCFLAGS 그리고 $CPPFLAGS 건설 변수
이 명령줄에 포함되어 있습니다.

SHCCCOMSTR
C 소스 파일이 공유 객체 파일로 컴파일될 때 표시되는 문자열입니다. 이 경우
설정되지 않은 경우 $SHCCCOM (명령줄)이 표시됩니다.

env = 환경(SHCCCOMSTR = "공유 객체 $TARGET 컴파일 중")

SHCCFLAGS
공유 라이브러리 객체를 생성하기 위해 C 및 C++ 컴파일러에 전달되는 옵션입니다.

SHCFLAGS
공유 라이브러리를 생성하기 위해 C 컴파일러(C++만 해당)에 전달되는 옵션
사물.

SHCXX
공유 라이브러리 객체를 생성하는 데 사용되는 C++ 컴파일러입니다.

SHCXXCOM
C++ 소스 파일을 공유 라이브러리 개체 파일로 컴파일하는 데 사용되는 명령줄입니다.
에 지정된 모든 옵션 $SHCXXFLAGS 그리고 $CPPFLAGS 건설 변수는
이 명령줄에 포함됩니다.

SHCXXCOMSTR
C++ 소스 파일이 공유 객체 파일로 컴파일될 때 표시되는 문자열입니다. 만약에
설정되어 있지 않다면 $SHHCXXCOM (명령줄)이 표시됩니다.

env = Environment(SHCXXCOMSTR = "공유 객체 $TARGET 컴파일 중")

SHCXXFLAGS
공유 라이브러리 객체를 생성하기 위해 C++ 컴파일러에 전달되는 옵션입니다.

SHDC
SHDC.

SHDCOM
SHDCOM.

SHDLINK
SHDLINK.

SHDLINKCOM
SHDLINKCOM.

SHDLINK플래그
SHDLINKFLAGS.

SHELL
전달될 쉘 프로그램의 이름을 지정하는 문자열 $SPWN 기능. 참조
$SPWN 자세한 내용은 구성 변수를 참조하세요.

SHF03
공유 라이브러리 객체를 생성하는 데 사용되는 Fortran 03 컴파일러입니다. 당신은해야
일반적으로 설정 $SHFOTRAN 기본 Fortran 컴파일러를 지정하는 변수
모든 포트란 버전. 설정만 하면 됩니다 $SHF03 특정 기능을 사용해야 하는 경우
Fortran 03 파일용 컴파일러 또는 컴파일러 버전.

SHF03COM
Fortran 03 소스 파일을 공유 라이브러리 객체로 컴파일하는 데 사용되는 명령줄
파일. 설정만 하면 됩니다 $SHF03COM 특정 명령줄을 사용해야 하는 경우
포트란 03 파일. 일반적으로 다음을 설정해야 합니다. $SHFORTRANCOM 지정하는 변수
모든 Fortran 버전의 기본 명령줄입니다.

SHF03COMSTR
Fortran 03 소스 파일이 공유 라이브러리로 컴파일될 때 표시되는 문자열
개체 파일. 이것이 설정되어 있지 않으면 $SHF03COM or $SHFORTRANCOM (명령줄)은
표시됩니다.

SHF03FLAGS
생성된 공유 라이브러리에 Fortran 03 컴파일러에 전달되는 옵션
사물. 설정만 하면 됩니다 $SHF03FLAGS 특정 사용자 옵션을 정의해야 하는 경우
Fortran 03 파일의 경우. 일반적으로 다음을 설정해야 합니다. $SHFOTRAFLAGS 변수,
모든 항목에 대해 기본 Fortran 컴파일러에 전달되는 사용자 지정 옵션을 지정합니다.
포트란 버전.

SHF03PPCOM
Fortran 03 소스 파일을 공유 라이브러리 객체로 컴파일하는 데 사용되는 명령줄
C 전처리기를 통해 파일을 처음 실행한 후 파일을 삭제합니다. 다음에 지정된 모든 옵션
전에, $SHF03FLAGS 그리고 $CPPFLAGS 이 명령에는 구성 변수가 포함되어 있습니다.
선. 설정만 하면 됩니다 $SHF03PPCOM 특정 C 전처리기를 사용해야 하는 경우
Fortran 03 파일에 대한 명령줄. 일반적으로 다음을 설정해야 합니다. $SHFORTRANPPCOM
모든 Fortran에 대한 기본 C 전처리기 명령줄을 지정하는 변수
버전.

SHF03PPCOMSTR
Fortran 03 소스 파일이 공유 라이브러리로 컴파일될 때 표시되는 문자열
C 전처리기를 통해 파일을 처음 실행한 후 개체 파일입니다. 그렇지 않은 경우
설정 한 다음 $SHF03PPCOM or $SHFORTRANPPCOM (명령줄)이 표시됩니다.

SHF08
공유 라이브러리 객체를 생성하는 데 사용되는 Fortran 08 컴파일러입니다. 당신은해야
일반적으로 설정 $SHFOTRAN 기본 Fortran 컴파일러를 지정하는 변수
모든 포트란 버전. 설정만 하면 됩니다 $SHF08 특정 기능을 사용해야 하는 경우
Fortran 08 파일용 컴파일러 또는 컴파일러 버전.

SHF08COM
Fortran 08 소스 파일을 공유 라이브러리 객체로 컴파일하는 데 사용되는 명령줄
파일. 설정만 하면 됩니다 $SHF08COM 특정 명령줄을 사용해야 하는 경우
포트란 08 파일. 일반적으로 다음을 설정해야 합니다. $SHFORTRANCOM 지정하는 변수
모든 Fortran 버전의 기본 명령줄입니다.

SHF08COMSTR
Fortran 08 소스 파일이 공유 라이브러리로 컴파일될 때 표시되는 문자열
개체 파일. 이것이 설정되어 있지 않으면 $SHF08COM or $SHFORTRANCOM (명령줄)은
표시됩니다.

SHF08FLAGS
생성된 공유 라이브러리에 Fortran 08 컴파일러에 전달되는 옵션
사물. 설정만 하면 됩니다 $SHF08FLAGS 특정 사용자 옵션을 정의해야 하는 경우
Fortran 08 파일의 경우. 일반적으로 다음을 설정해야 합니다. $SHFOTRAFLAGS 변수,
모든 항목에 대해 기본 Fortran 컴파일러에 전달되는 사용자 지정 옵션을 지정합니다.
포트란 버전.

SHF08PPCOM
Fortran 08 소스 파일을 공유 라이브러리 객체로 컴파일하는 데 사용되는 명령줄
C 전처리기를 통해 파일을 처음 실행한 후 파일을 삭제합니다. 다음에 지정된 모든 옵션
전에, $SHF08FLAGS 그리고 $CPPFLAGS 이 명령에는 구성 변수가 포함되어 있습니다.
선. 설정만 하면 됩니다 $SHF08PPCOM 특정 C 전처리기를 사용해야 하는 경우
Fortran 08 파일에 대한 명령줄. 일반적으로 다음을 설정해야 합니다. $SHFORTRANPPCOM
모든 Fortran에 대한 기본 C 전처리기 명령줄을 지정하는 변수
버전.

SHF08PPCOMSTR
Fortran 08 소스 파일이 공유 라이브러리로 컴파일될 때 표시되는 문자열
C 전처리기를 통해 파일을 처음 실행한 후 개체 파일입니다. 그렇지 않은 경우
설정 한 다음 $SHF08PPCOM or $SHFORTRANPPCOM (명령줄)이 표시됩니다.

SHF77
공유 라이브러리 객체를 생성하는 데 사용되는 Fortran 77 컴파일러입니다. 당신은해야
일반적으로 설정 $SHFOTRAN 기본 Fortran 컴파일러를 지정하는 변수
모든 포트란 버전. 설정만 하면 됩니다 $SHF77 특정 기능을 사용해야 하는 경우
Fortran 77 파일용 컴파일러 또는 컴파일러 버전.

SHF77COM
Fortran 77 소스 파일을 공유 라이브러리 객체로 컴파일하는 데 사용되는 명령줄
파일. 설정만 하면 됩니다 $SHF77COM 특정 명령줄을 사용해야 하는 경우
포트란 77 파일. 일반적으로 다음을 설정해야 합니다. $SHFORTRANCOM 지정하는 변수
모든 Fortran 버전의 기본 명령줄입니다.

SHF77COMSTR
Fortran 77 소스 파일이 공유 라이브러리로 컴파일될 때 표시되는 문자열
개체 파일. 이것이 설정되어 있지 않으면 $SHF77COM or $SHFORTRANCOM (명령줄)은
표시됩니다.

SHF77FLAGS
생성된 공유 라이브러리에 Fortran 77 컴파일러에 전달되는 옵션
사물. 설정만 하면 됩니다 $SHF77FLAGS 특정 사용자 옵션을 정의해야 하는 경우
Fortran 77 파일의 경우. 일반적으로 다음을 설정해야 합니다. $SHFOTRAFLAGS 변수,
모든 항목에 대해 기본 Fortran 컴파일러에 전달되는 사용자 지정 옵션을 지정합니다.
포트란 버전.

SHF77PPCOM
Fortran 77 소스 파일을 공유 라이브러리 객체로 컴파일하는 데 사용되는 명령줄
C 전처리기를 통해 파일을 처음 실행한 후 파일을 삭제합니다. 다음에 지정된 모든 옵션
전에, $SHF77FLAGS 그리고 $CPPFLAGS 이 명령에는 구성 변수가 포함되어 있습니다.
선. 설정만 하면 됩니다 $SHF77PPCOM 특정 C 전처리기를 사용해야 하는 경우
Fortran 77 파일에 대한 명령줄. 일반적으로 다음을 설정해야 합니다. $SHFORTRANPPCOM
모든 Fortran에 대한 기본 C 전처리기 명령줄을 지정하는 변수
버전.

SHF77PPCOMSTR
Fortran 77 소스 파일이 공유 라이브러리로 컴파일될 때 표시되는 문자열
C 전처리기를 통해 파일을 처음 실행한 후 개체 파일입니다. 그렇지 않은 경우
설정 한 다음 $SHF77PPCOM or $SHFORTRANPPCOM (명령줄)이 표시됩니다.

SHF90
공유 라이브러리 객체를 생성하는 데 사용되는 Fortran 90 컴파일러입니다. 당신은해야
일반적으로 설정 $SHFOTRAN 기본 Fortran 컴파일러를 지정하는 변수
모든 포트란 버전. 설정만 하면 됩니다 $SHF90 특정 기능을 사용해야 하는 경우
Fortran 90 파일용 컴파일러 또는 컴파일러 버전.

SHF90COM
Fortran 90 소스 파일을 공유 라이브러리 객체로 컴파일하는 데 사용되는 명령줄
파일. 설정만 하면 됩니다 $SHF90COM 특정 명령줄을 사용해야 하는 경우
포트란 90 파일. 일반적으로 다음을 설정해야 합니다. $SHFORTRANCOM 지정하는 변수
모든 Fortran 버전의 기본 명령줄입니다.

SHF90COMSTR
Fortran 90 소스 파일이 공유 라이브러리로 컴파일될 때 표시되는 문자열
개체 파일. 이것이 설정되어 있지 않으면 $SHF90COM or $SHFORTRANCOM (명령줄)은
표시됩니다.

SHF90FLAGS
생성된 공유 라이브러리에 Fortran 90 컴파일러에 전달되는 옵션
사물. 설정만 하면 됩니다 $SHF90FLAGS 특정 사용자 옵션을 정의해야 하는 경우
Fortran 90 파일의 경우. 일반적으로 다음을 설정해야 합니다. $SHFOTRAFLAGS 변수,
모든 항목에 대해 기본 Fortran 컴파일러에 전달되는 사용자 지정 옵션을 지정합니다.
포트란 버전.

SHF90PPCOM
Fortran 90 소스 파일을 공유 라이브러리 객체로 컴파일하는 데 사용되는 명령줄
C 전처리기를 통해 파일을 처음 실행한 후 파일을 삭제합니다. 다음에 지정된 모든 옵션
전에, $SHF90FLAGS 그리고 $CPPFLAGS 이 명령에는 구성 변수가 포함되어 있습니다.
선. 설정만 하면 됩니다 $SHF90PPCOM 특정 C 전처리기를 사용해야 하는 경우
Fortran 90 파일에 대한 명령줄. 일반적으로 다음을 설정해야 합니다. $SHFORTRANPPCOM
모든 Fortran에 대한 기본 C 전처리기 명령줄을 지정하는 변수
버전.

SHF90PPCOMSTR
Fortran 90 소스 파일이 공유 라이브러리로 컴파일될 때 표시되는 문자열
C 전처리기를 통해 파일을 처음 실행한 후 개체 파일입니다. 그렇지 않은 경우
설정 한 다음 $SHF90PPCOM or $SHFORTRANPPCOM (명령줄)이 표시됩니다.

SHF95
공유 라이브러리 객체를 생성하는 데 사용되는 Fortran 95 컴파일러입니다. 당신은해야
일반적으로 설정 $SHFOTRAN 기본 Fortran 컴파일러를 지정하는 변수
모든 포트란 버전. 설정만 하면 됩니다 $SHF95 특정 기능을 사용해야 하는 경우
Fortran 95 파일용 컴파일러 또는 컴파일러 버전.

SHF95COM
Fortran 95 소스 파일을 공유 라이브러리 객체로 컴파일하는 데 사용되는 명령줄
파일. 설정만 하면 됩니다 $SHF95COM 특정 명령줄을 사용해야 하는 경우
포트란 95 파일. 일반적으로 다음을 설정해야 합니다. $SHFORTRANCOM 지정하는 변수
모든 Fortran 버전의 기본 명령줄입니다.

SHF95COMSTR
Fortran 95 소스 파일이 공유 라이브러리로 컴파일될 때 표시되는 문자열
개체 파일. 이것이 설정되어 있지 않으면 $SHF95COM or $SHFORTRANCOM (명령줄)은
표시됩니다.

SHF95FLAGS
생성된 공유 라이브러리에 Fortran 95 컴파일러에 전달되는 옵션
사물. 설정만 하면 됩니다 $SHF95FLAGS 특정 사용자 옵션을 정의해야 하는 경우
Fortran 95 파일의 경우. 일반적으로 다음을 설정해야 합니다. $SHFOTRAFLAGS 변수,
모든 항목에 대해 기본 Fortran 컴파일러에 전달되는 사용자 지정 옵션을 지정합니다.
포트란 버전.

SHF95PPCOM
Fortran 95 소스 파일을 공유 라이브러리 객체로 컴파일하는 데 사용되는 명령줄
C 전처리기를 통해 파일을 처음 실행한 후 파일을 삭제합니다. 다음에 지정된 모든 옵션
전에, $SHF95FLAGS 그리고 $CPPFLAGS 이 명령에는 구성 변수가 포함되어 있습니다.
선. 설정만 하면 됩니다 $SHF95PPCOM 특정 C 전처리기를 사용해야 하는 경우
Fortran 95 파일에 대한 명령줄. 일반적으로 다음을 설정해야 합니다. $SHFORTRANPPCOM
모든 Fortran에 대한 기본 C 전처리기 명령줄을 지정하는 변수
버전.

SHF95PPCOMSTR
Fortran 95 소스 파일이 공유 라이브러리로 컴파일될 때 표시되는 문자열
C 전처리기를 통해 파일을 처음 실행한 후 개체 파일입니다. 그렇지 않은 경우
설정 한 다음 $SHF95PPCOM or $SHFORTRANPPCOM (명령줄)이 표시됩니다.

쇼트란
공유 라이브러리 객체를 생성하는 데 사용되는 기본 Fortran 컴파일러입니다.

SHFORTRANCOM
Fortran 소스 파일을 공유 라이브러리 객체로 컴파일하는 데 사용되는 명령줄
파일.

SHFORTRANCOMSTR
Fortran 소스 파일이 공유 라이브러리 객체로 컴파일될 때 표시되는 문자열
파일. 이것이 설정되어 있지 않으면 $SHFORTRANCOM (명령줄)이 표시됩니다.

SHFORTRANFLAGS
공유 라이브러리 객체를 생성하기 위해 Fortran 컴파일러에 전달되는 옵션입니다.

SHFORTRANPPCOM
Fortran 소스 파일을 공유 라이브러리 개체 파일로 컴파일하는 데 사용되는 명령줄
먼저 C 전처리기를 통해 파일을 실행한 후. 에 지정된 모든 옵션
$SHFOTRAFLAGS 그리고 $CPPFLAGS 이 명령에는 구성 변수가 포함되어 있습니다.
줄입니다.

SHFORTRANPPCOMSTR
Fortran 소스 파일이 공유 라이브러리 객체로 컴파일될 때 표시되는 문자열
C 전처리기를 통해 파일을 처음 실행한 후 파일을 삭제합니다. 이것이 설정되어 있지 않으면
$SHFORTRANPPCOM (명령줄)이 표시됩니다.

SHLIBEMITTER
ALL

SHLIBNOVERSIONSYMLINKS
지시한다 공유 라이브러리 버전이 지정된 공유에 대한 심볼릭 링크를 생성하지 않는 빌더
라이브러리.

SHLIB프리픽스
공유 라이브러리 파일 이름에 사용되는 접두사입니다.

_SHLIBSONAME
$TARGET을 기반으로 공유 라이브러리의 SONAME을 자동으로 생성하는 매크로입니다.
$SHLIBVERSION 및 $SHLIBSUFFIX. 사용처 공유 라이브러리 링커 도구일 때 빌더
SONAME(예: gnulink)을 지원합니다.

SHLIB서픽스
공유 라이브러리 파일 이름에 사용되는 접미사입니다.

SHLIB버전
이 구성 변수가 정의되면 버전이 지정된 공유 라이브러리가 생성됩니다.
공유 라이브러리 건축업자. 이렇게 하면 $_SHLIBVERSIONFLAGS 따라서
$SHLINKCOM 필요에 따라 라이브러리 이름에 버전 번호를 추가하고
필요한 심볼릭 링크. $SHLIBVERSION 버전은 영숫자로 존재해야 합니다.
정규 표현식 "\w+[\.\w+]*"로 정의된 십진수로 구분된 값. 예
$SHLIBVERSION 값에는 '1', '1.2.3', '1.2.gitaa412c8b'가 포함됩니다.

_SHLIBVERSIONFLAGS
이 매크로는 자동으로 추가 플래그를 도입합니다. $SHLINKCOM 버전을 빌드할 때
공유 라이브러리 (그때가 $SHLIBVERSION 설정됨). _SHLIBVERSIONFLAGS는 일반적으로 다음을 추가합니다.
$SHLIBVERSIONFLAGS 동적으로 생성된 추가 옵션(예:
-Wl,-soname=$_SHLIBSONAME. "일반"(버전이 지정되지 않은) 공유 라이브러리에서는 사용되지 않습니다.

SHLIBVERSIONFLAGS
추가 플래그가 추가되었습니다. $SHLINKCOM 버전을 빌드할 때 공유 라이브러리. 이러한 플래그는
경우에만 사용 $SHLIBVERSION 설정됩니다.

SHLINK
공유 라이브러리를 사용하는 프로그램용 링커입니다.

SHLINKCOM
공유 라이브러리를 사용하여 프로그램을 링크하는 데 사용되는 명령줄입니다.

SHLINKCOMSTR
공유 라이브러리를 사용하는 프로그램이 링크될 때 표시되는 문자열입니다. 그렇지 않은 경우
설정 한 다음 $SHLINKCOM (명령줄)이 표시됩니다.

env = 환경(SHLINKCOMSTR = "공유 $TARGET 연결")

SHLINK플래그
공유 라이브러리를 사용하는 프로그램의 링커에 전달되는 일반 사용자 옵션입니다. 메모
이 변수는 지원 포함하는 -l (또는 유사한) 링크 옵션
에 나열된 라이브러리 $LIBS,도 아니다 -L (또는 유사) 검색 경로 옵션을 포함합니다.
다음에서 자동으로 생성됩니다. $LIBPATH. 참조 $_LIBFLAGS 위의 변수에 대해
라이브러리 링크 옵션으로 확장됩니다. $_LIBDIRFLAGS 위의 변수에 대해
라이브러리 검색 경로 옵션으로 확장됩니다.

SHOBJ프리픽스
공유 객체 파일 이름에 사용되는 접두사입니다.

SHOBJ서픽스
공유 객체 파일 이름에 사용되는 접미사입니다.

소네임
버전이 지정된 공유 라이브러리/로드 가능한 모듈에 대해 SONAME을 하드 코딩하는 데 사용되는 변수입니다.

env.SharedLibrary('test', 'test.c', SHLIBVERSION='0.1.2', SONAME='libtest.so.2')

예를 들어 변수는 gnulink 링커 도구에서 사용됩니다.

SOURCE
구성 환경에서 설정하거나 사용할 수 없는 예약된 변수 이름입니다.
(아래의 '변수 대체'를 참조하세요.)

소스_URL
프로젝트를 검색한 위치의 URL(웹 주소)입니다. 이것은
Ipkg 및 RPM에 대한 제어 정보의 소스: 필드를 채우는 데 사용됩니다.
패키지.

SOURCES
구성 환경에서 설정하거나 사용할 수 없는 예약된 변수 이름입니다.
(아래의 '변수 대체'를 참조하세요.)


명령줄 문자열을 실행하기 위해 호출되는 명령 해석기 함수입니다.
함수에는 다음 인수가 필요합니다.

def 스폰(쉘, 이스케이프, cmd, args, env):

sh 사용할 쉘 프로그램의 이름을 지정하는 문자열입니다. 탈출 할 수 있는 기능이다
명령줄에서 셸 특수 문자를 이스케이프하기 위해 호출됩니다. cmd를 로 가는 길이다
실행할 명령. 인수 명령에 대한 인수입니다. 환경 의 사전이다
명령이 실행되어야 하는 환경 변수입니다.

STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME
이 변수가 true인 경우 정적 개체와 공유 개체는
같은; 즉, SCons는 정적 개체를 공유 라이브러리에 연결하는지 확인하지 않습니다.

SUBST_DICT
가 사용하는 사전 하위 파일 or 텍스트 파일 대체 값을 위한 빌더. 그것
dict() 생성자에 허용되는 모든 것이 될 수 있으므로 사전 외에도
튜플 목록도 허용됩니다.

하위파일접두사
다음에 사용되는 접두사 하위 파일 파일 이름은 기본적으로 null 문자열입니다.

하위파일접미사
다음에 사용되는 접미사 하위 파일 파일 이름은 기본적으로 null 문자열입니다.

개요
프로젝트 내용에 대한 간략한 요약입니다. 이는 요약을 작성하는 데 사용됩니다.
Ipkg 및 RPM 패키지에 대한 제어 정보 필드 및
설명: MSI 패키지의 필드입니다.

통음
스크립팅 언어 래퍼 및 인터페이스 생성기.

SWIGCFILESuffix
다음에 의해 생성된 중간 C 소스 파일에 사용될 접미사입니다.
스크립팅 언어 래퍼 및 인터페이스 생성기. 기본값은 다음과 같습니다.
_포장하다$CFILESuffix. 기본적으로 이 값은 -C++ 옵션은 지원
의 일부로 지정됨 $Swigflags 건설 변수.

SWIGCOM
스크립팅 언어 래퍼 및 인터페이스 생성기를 호출하는 데 사용되는 명령줄입니다.

SWIGCOMSTR
스크립팅 언어 래퍼 및 인터페이스를 호출할 때 표시되는 문자열
발전기. 이것이 설정되어 있지 않으면 $Swigcom (명령줄)이 표시됩니다.

SWIGCXXFILESUFFIX
다음에 의해 생성된 중간 C++ 소스 파일에 사용될 접미사입니다.
스크립팅 언어 래퍼 및 인터페이스 생성기. 기본값은 다음과 같습니다.
_포장하다$CFILESuffix. 기본적으로 이 값은 -c++ 옵션이 사용될 때마다 사용됩니다.
의 일부로 지정됨 $Swigflags 건설 변수.

스위치디렉터서픽스
다음에 의해 생성된 중간 C++ 헤더 파일에 사용될 접미사입니다.
스크립팅 언어 래퍼 및 인터페이스 생성기. 이는 C++에 대해서만 생성됩니다.
SWIG '디렉터' 기능이 켜져 있을 때의 코드입니다. 기본값은 _wrap.h입니다.

SWIGFLAGS
스크립팅 언어 래퍼 및 인터페이스 생성기에 전달된 일반 옵션입니다. 이것
당신이 설정해야 할 곳입니다 -파이썬, -perl5, -tcl, 또는 원하는 다른 옵션
SWIG로 지정하세요. 설정하면 -C++ 이 변수의 옵션을 사용하면 scons는 기본적으로 다음을 수행합니다.
다음과 같이 지정된 확장자를 사용하여 C++ 중간 소스 파일을 생성합니다.
$CXXFILESUFFIX 변하기 쉬운.

_SWIGINCFLAGS
SWIG 명령줄을 포함하는 자동 생성된 구성 변수
포함된 파일을 검색할 디렉터리를 지정하는 옵션입니다. 의 가치
$_SWIGINCFLAGS 추가하여 생성됩니다. $SwIGINCPREFIX 그리고 $SWIGINCSUFFIX 부터
각 디렉토리의 시작과 끝 $SwIGPATH.

SWIGINCPREFIX
SWIG 명령줄에서 포함 디렉터리를 지정하는 데 사용되는 접두사입니다. 이것은 ~이 될 것이다
각 디렉토리의 시작 부분에 추가됩니다. $SwIGPATH 구성 변수
$_SWIGINCFLAGS 변수가 자동으로 생성됩니다.

SWIGINC서픽스
SWIG 명령줄에서 포함 디렉터리를 지정하는 데 사용되는 접미사입니다. 이것은 ~이 될 것이다
각 디렉토리의 끝에 추가됩니다. $SwIGPATH 구성 변수
$_SWIGINCFLAGS 변수가 자동으로 생성됩니다.

SWIGOUTDIR
스크립팅 언어 래퍼와 인터페이스가 있는 출력 디렉터리를 지정합니다.
생성기는 생성된 언어별 파일을 배치해야 합니다. 이는 SCons에서 사용됩니다.
swig 호출에 의해 생성되어 다음으로 변환될 파일을 식별합니다.
명령줄에서 swig -outdir 옵션을 사용하세요.

SWIGPATH
스크립팅 언어 래퍼와 인터페이스가 생성하는 디렉터리 목록
포함된 파일을 검색합니다. SWIG 암시적 종속성 스캐너는 다음을 검색합니다.
포함 파일용 디렉터리입니다. 기본값은 빈 목록입니다.

SWIGFLAGS에 포함 디렉터리 인수를 명시적으로 넣지 마세요. 결과는
이식성이 없으며 디렉터리는 종속성 스캐너로 검색되지 않습니다. 메모:
SWIGPATH의 디렉토리 이름은 SConscript 디렉토리를 기준으로 조회됩니다.
명령에 사용될 때. 스콘이 관련 디렉토리를 찾도록 강제하려면
소스 트리의 루트 사용 #:

env = 환경(SWIGPATH='#/include')

디렉토리 조회는 다음을 사용하여 강제로 수행할 수도 있습니다. 디렉토리() 기능:

include = Dir('포함')
env = 환경(SWIGPATH=포함)

디렉토리 목록은 자동 생성된 명령줄에 추가됩니다.
$_SWIGINCFLAGS 값을 추가하여 구성되는 구성 변수
전에, $SwIGINCPREFIX 그리고 $SWIGINCSUFFIX 시작과 끝의 구성 변수
각 디렉토리의 $SwIGPATH. SWIGPATH가 필요한 정의한 모든 명령줄
디렉토리 목록에는 다음이 포함되어야 합니다. $_SWIGINCFLAGS:

env = 환경(SWIGCOM="my_swig -o $TARGET $_SWIGINCFLAGS $SOURCES")

SWIGVERSION
SWIG 도구의 버전 번호입니다.

TAR
타르 아카이버.

타콤
tar 아카이버를 호출하는 데 사용되는 명령줄입니다.

TARCOMSTR
tar 아카이버를 사용하여 파일을 아카이브할 때 표시되는 문자열입니다. 이것이 설정되지 않은 경우,
그때 $타르콤 (명령줄)이 표시됩니다.

env = 환경(TARCOMSTR = "$TARGET 보관 중")

타르플래그
tar 아카이버에 전달된 일반 옵션입니다.

TARGET
구성 환경에서 설정하거나 사용할 수 없는 예약된 변수 이름입니다.
(아래의 '변수 대체'를 참조하세요.)

TARGET_ARCH
이에 의해 생성된 컴파일된 개체에 대한 대상 하드웨어 아키텍처의 이름입니다.
환경. 기본값은 HOST_ARCH 값이며 사용자가 이를 재정의할 수 있습니다.
현재는 Win32용으로만 설정되어 있습니다.

Visual Studio 컴파일러의 대상 아키텍처를 설정합니다(예: 바이너리 아치)
컴파일러에 의해 생성됨). 설정하지 않은 경우 기본값은 $HOST_ARCH또는 설정되지 않은 경우
실행 중인 머신의 OS 아키텍처에 따라 달라집니다(파이썬 빌드 또는
아키텍처에는 아무런 영향이 없습니다). 이 변수는 인수로 전달되어야 합니다.
환경() 생성자; 나중에 설정해도 아무런 효과가 없습니다. 현재는 이것만 사용됩니다
Windows에서는 사용할 수 있지만 앞으로는 다른 OS에서도 사용될 예정입니다.

Windows에 유효한 값은 x86, i386(32비트용)입니다. amd64, emt64, x86_64(64
비트); 및 ia64(아이테니엄). 예를 들어, 64비트 바이너리를 컴파일하려면
SCons 환경에서 TARGET_ARCH='x86_64' 를 설정합니다.

TARGET_OS
이 프로그램으로 생성된 컴파일된 개체에 대한 대상 운영 체제의 이름입니다.
환경. 기본값은 HOST_OS 값이며 사용자가 이를 재정의할 수 있습니다.
현재는 Win32용으로만 설정되어 있습니다.

목표
구성 환경에서 설정하거나 사용할 수 없는 예약된 변수 이름입니다.
(아래의 '변수 대체'를 참조하세요.)

타르서픽스
tar 파일 이름에 사용되는 접미사입니다.

임시파일프리픽스
$MAXLINELENGTH보다 긴 행을 실행하는 데 사용되는 임시 파일의 접두사입니다. 그만큼
기본값은 '@'입니다. 이는 '-@'와 같은 다른 값을 사용하는 툴체인에 대해 설정될 수 있습니다.
ARM 툴체인의 경우 diab 컴파일러 또는 '-via'입니다.

TEX
TeX 포맷터 및 조판기.

텍스콤
TeX 포맷터와 조판기를 호출하는 데 사용되는 명령줄입니다.

TEXCOMSTR
TeX 포맷터와 조판기를 호출할 때 표시되는 문자열입니다. 그렇지 않은 경우
설정 한 다음 $TEXCOM (명령줄)이 표시됩니다.

env = 환경(TEXCOMSTR = "TeX 입력 $SOURCES에서 $TARGET 빌드")

TEXFLAGS
TeX 포맷터와 조판기에 전달된 일반 옵션입니다.

TEXINPUT
LaTeX 프로그램이 포함 디렉토리를 검색할 디렉토리 목록입니다. 그만큼
LaTeX 암시적 종속성 스캐너는 이 디렉토리에서 \include 및
\가져오기 파일.

텍스트 파일 접두어
다음에 사용되는 접두사 텍스트 파일 파일 이름은 기본적으로 null 문자열입니다.

텍스트파일접미사
다음에 사용되는 접미사 텍스트 파일 파일 이름; 기본적으로 .txt입니다.

도구
이 구성의 일부인 도구 사양 이름 목록
환경을 제공합니다.

변경되지 않은_소스
구성 환경에서 설정하거나 사용할 수 없는 예약된 변수 이름입니다.
(아래의 '변수 대체'를 참조하세요.)

UNCHANGED_TARGETS
구성 환경에서 설정하거나 사용할 수 없는 예약된 변수 이름입니다.
(아래의 '변수 대체'를 참조하세요.)

VENDOR
패키지된 소프트웨어를 공급하는 사람 또는 조직입니다. 이는 채우기 위해 사용됩니다.
RPM 패키지에 대한 제어 정보의 Vendor: 필드 및
제조업체: MSI 패키지에 대한 제어 정보 필드입니다.

버전
문자열로 지정된 프로젝트 버전입니다.

WIN32_INSERT_DEF
더 이상 사용되지 않는 동의어 $WINDOWS_INSERT_DEF.

WIN32DEFPREFIX
더 이상 사용되지 않는 동의어 $WINDOWSDEFPREFIX.

WIN32DEFSUFFIX
더 이상 사용되지 않는 동의어 $WINDOWSDEFSUFFIX.

WIN32EXPPREFIX
더 이상 사용되지 않는 동의어 $WINDOWSXPSUFFIX.

WIN32EXPSFIX
더 이상 사용되지 않는 동의어 $WINDOWSXPSUFFIX.

WINDOWS_EMBED_MANIFEST
컴파일러에서 생성된 매니페스트를 포함하려면 이 변수를 True 또는 1로 설정합니다(일반적으로
${TARGET}.manifest)를 이 환경으로 구축된 모든 Windows exe 및 DLL에
링크 단계에서 리소스를 제공합니다. 이는 다음을 사용하여 수행됩니다. $MT 그리고 $MTEXECOM 그리고 $MTSHLIBCOM.

WINDOWS_INSERT_DEF
이를 true로 설정하면 Windows 공유 라이브러리(.dll 파일)의 라이브러리 빌드가
.def 파일이 아직 작성되지 않은 경우 해당 .def 파일도 동시에 빌드합니다.
빌드 대상으로 나열됩니다. 기본값은 0입니다(.def 파일을 빌드하지 않음).

WINDOWS_INSERT_MANIFEST
이것이 true로 설정되면 scons는 다음에 의해 생성된 .manifest 파일을 인식합니다.
마이크로소프트 비주얼 C/C++ 8.

WINDOWSDEPREFIX
Windows .def 파일 이름에 사용되는 접두사입니다.

WINDOWSDEFSFIX
Windows .def 파일 이름에 사용되는 접미사입니다.

WINDOWSEXPPREFIX
Windows .exp 파일 이름에 사용되는 접두사입니다.

WINDOWSEXPSFIX
Windows .exp 파일 이름에 사용되는 접미사입니다.

WINDOWSPROGMANIFESTPREFIX
Microsoft Visual에서 생성된 실행 프로그램 .manifest 파일에 사용되는 접두사
C/C++.

WINDOWSPROGMANIFESTSuffix
Microsoft Visual에서 생성된 실행 프로그램 .manifest 파일에 사용되는 접미사
C/C++.

WINDOWSHLIB매니페스트 프리픽스
Microsoft Visual에서 생성된 공유 라이브러리 .manifest 파일에 사용되는 접두사
C/C++.

WINDOWSHLIBMANIFESTSuffix
Microsoft Visual에서 생성된 공유 라이브러리 .manifest 파일에 사용되는 접미사
C/C++.

X_IPK_DEPENDS
이는 Ipkg에 대한 제어 정보의 종속: 필드를 채우는 데 사용됩니다.
패키지.

X_IPK_DESCRIPTION
이는 Ipkg에 대한 제어 정보의 설명: 필드를 채우는 데 사용됩니다.
패키지. 기본값은 $SUMMARY\n$DESCRIPTION입니다.

X_IPK_MAINTAINER
이는 Ipkg에 대한 제어 정보의 유지관리자: 필드를 채우는 데 사용됩니다.
패키지.

X_IPK_PRIORITY
이는 Ipkg에 대한 제어 정보의 우선순위: 필드를 채우는 데 사용됩니다.
패키지.

X_IPK_SECTION
이는 Ipkg에 대한 제어 정보의 섹션: 필드를 채우는 데 사용됩니다.
패키지.

X_MSI_LANGUAGE
이는 MSI에 대한 제어 정보의 Language: 속성을 채우는 데 사용됩니다.
패키지.

X_MSI_LICENSE_TEXT
RTF 형식의 소프트웨어 라이센스 텍스트입니다. 캐리지 리턴 문자는 다음과 같습니다.
RTF에 해당하는 \\par로 대체됩니다.

X_MSI_UPGRADE_CODE
ALL

X_RPM_AUTOREQPROV
이는 RPM .spec 파일의 AutoReqProv: 필드를 채우는 데 사용됩니다.

X_RPM_BUILD
내부적이지만 재정의 가능

X_RPM_BUILDREQUIRES
이는 RPM .spec 파일의 BuildRequires: 필드를 채우는 데 사용됩니다.

X_RPM_BUILDROOT
내부적이지만 재정의 가능

X_RPM_CLEAN
내부적이지만 재정의 가능

X_RPM_CONFLICTS
이는 RPM .spec 파일의 충돌: 필드를 채우는 데 사용됩니다.

X_RPM_DEFATTR
이 값은 RPM 패키지에 있는 파일의 기본 속성으로 사용됩니다. 그만큼
기본값은 (-,루트,루트)입니다.

X_RPM_분배
이는 RPM .spec 파일의 배포: 필드를 채우는 데 사용됩니다.

X_RPM_EPOCH
RPM 제어 정보의 Epoch: 필드를 채우는 데 사용됩니다.
패키지.

X_RPM_EXCLUDEARCH
이는 RPM .spec 파일의 ExcludeArch: 필드를 채우는 데 사용됩니다.

X_RPM_EXLUSIVERCH
이는 RPM .spec 파일의 ExclusiveArch: 필드를 채우는 데 사용됩니다.

X_RPM_GROUP
이는 RPM .spec 파일의 그룹: 필드를 채우는 데 사용됩니다.

X_RPM_GROUP_lang
이는 RPM .spec 파일의 Group(lang): 필드를 채우는 데 사용됩니다. 참고하세요
리터럴이 아니므로 적절한 언어 코드로 바꿔야 합니다.

X_RPM_ICON
이는 RPM .spec 파일의 아이콘: 필드를 채우는 데 사용됩니다.

X_RPM_INSTALL
내부적이지만 재정의 가능

X_RPM_PACKAGER
이는 RPM .spec 파일의 Packager: 필드를 채우는 데 사용됩니다.

X_RPM_POSTINSTALL
이는 RPM .spec 파일의 %post: 섹션을 채우는 데 사용됩니다.

X_RPM_POSTUNINSTALL
이는 RPM .spec 파일의 %postun: 섹션을 채우는 데 사용됩니다.

X_RPM_PREFIX
이는 RPM .spec 파일의 접두사: 필드를 채우는 데 사용됩니다.

X_RPM_PREINSTALL
이는 RPM .spec 파일의 %pre: 섹션을 채우는 데 사용됩니다.

X_RPM_PREP
내부적이지만 재정의 가능

X_RPM_PREUNINSTALL
이는 RPM .spec 파일의 %preun: 섹션을 채우는 데 사용됩니다.

X_RPM_PROVIDES
이는 RPM .spec 파일의 제공: 필드를 채우는 데 사용됩니다.

X_RPM_REQUIRES
이는 RPM .spec 파일의 필수: 필드를 채우는 데 사용됩니다.

X_RPM_SERIAL
이는 RPM .spec 파일의 Serial: 필드를 채우는 데 사용됩니다.

X_RPM_URL
이는 RPM .spec 파일의 Url: 필드를 채우는 데 사용됩니다.

XGETTEXT
경로 xgettext(1) 프로그램 (다음을 통해 찾았습니다. 감지하다()). xgettext 도구를 참조하고 POT업데이트
건축업자.

XGETTEXTCOM
xgettext 명령줄을 완료하세요. xgettext 도구를 참조하고 POT업데이트 건축업자.

XGETTEXTCOMSTR
다음과 같은 경우 표시되는 문자열입니다. xgettext(1) 명령이 호출됩니다(기본값: '', 즉
"인쇄 $XGETTEXTCOM"). xgettext 도구 및 POT업데이트 건축업자.

_XGETTEXTDOMAIN
내부 "매크로". 생성 xgettext 도메인 이름 형식 소스 및 대상(기본값:
'${TARGET.filebase}').

XGETTEXTFLAGS
추가 플래그 xgettext(1). xgettext 도구를 참조하고 POT업데이트 건축업자.

XGETTEXTFROM
목록을 포함하는 파일 이름 xgettext(1)의 소스 파일입니다. Autotools 사용자는 이것을 알고 있습니다.
POTFILES.in이므로 대부분의 경우 여기에서 XGETTEXTFROM="POTFILES.in"을 설정합니다. 그만큼
$XGETTEXFROM 파일은 잘 알려진 GNU POTFILES.in과 동일한 구문 및 의미를 갖습니다.
xgettext 도구를 참조하고 POT업데이트 건축업자.

_XGETTEXTFROMFLAGS
내부 "매크로". -D 목록을 생성합니다. 에서 플래그 $XGETTEXTPATH 명부.

XGETTEXTFROMPrefix
이 플래그는 단일을 추가하는 데 사용됩니다. $XGETTEXFROM 에 파일을 xgettext(1)님의 명령줄
(기본값: '-f').

XGETTEXTFROMSUFFIX
(기본: '')

XGETTEXTPATH
디렉토리 목록이 있습니다. xgettext(1) 소스 파일을 찾습니다(기본값: []).

주의 사항
이 변수는 다음과 함께만 작동합니다. $XGETTEXFROM
xgettext 도구 및 POT업데이트 건축업자.

_XGETTEXTPATHFLAGS
내부 "매크로". -f 목록을 생성합니다. 플래그 $XGETTEXFROM.

XGETTEXTPATHPrefix
이 플래그는 단일 검색 경로를 추가하는 데 사용됩니다. xgettext(1)의 명령줄(기본값:
'-디').

XGETTEXTPATHSUFFIX
(기본: '')

YACC
파서 생성기.

YACCCOM
소스 파일을 생성하기 위해 파서 생성기를 호출하는 데 사용되는 명령줄입니다.

YACCCOMSTR
파서 생성기를 사용하여 소스 파일을 생성할 때 표시되는 문자열입니다. 이 경우
설정되지 않은 경우 $YACCCOM (명령줄)이 표시됩니다.

env = 환경(YACCCOMSTR = "$SOURCES에서 $TARGET을 Yacc' 중")

YACCFLAGS
파서 생성기에 전달된 일반 옵션입니다. 만약에 $YACCFLAGS 포함 -d 선택권,
SCons는 호출이 .h 파일도 생성한다고 가정합니다(yacc 소스 파일이 끝나면
.y 접미사) 또는 .hpp 파일(yacc 소스 파일이 .yy 접미사로 끝나는 경우)

YACCHFILESuffix
파서 생성기가 생성한 C 헤더 파일의 접미사 -d option
사용. 이 변수를 설정해도 파서 생성기가 다음을 수행하지 않습니다.
지정된 접미사를 사용하여 헤더 파일을 생성합니다. 이 파일은 다음을 지정할 수 있도록 존재합니다.
파서 생성기가 자체적으로 사용할 접미사. 기본값은 .h입니다.

YACCHXXFILESuffix
파서 생성기가 생성한 C++ 헤더 파일의 접미사 -d option
사용. 이 변수를 설정해도 파서 생성기가 다음을 수행하지 않습니다.
지정된 접미사를 사용하여 헤더 파일을 생성합니다. 이 파일은 다음을 지정할 수 있도록 존재합니다.
파서 생성기가 자체적으로 사용할 접미사. 기본값은 다음과 같습니다.
.hpp(기본값이 ${TARGET.suffix}.h인 Mac OS X 제외) 왜냐하면 기본값
bison 파서 생성기는 생성된 C++ 파일 이름에 .h를 추가합니다.

YACCVCGFILESuffix
VCG 문법 자동 정의를 포함하는 파일의 접미사
--그래프= 옵션이 사용됩니다. 이 변수를 설정해도 파서는 발생하지 않습니다.
지정된 접미사를 가진 VCG 파일을 생성하는 생성기는 다음을 수행할 수 있도록 하기 위해 존재합니다.
파서 생성기가 자체적으로 사용할 접미사를 지정합니다. 기본값
.vcg입니다.

ZIP
zip 압축 및 파일 패키징 유틸리티입니다.

집컴
zip 유틸리티를 호출하는 데 사용되는 명령줄 또는 zip 유틸리티를 호출하는 데 사용되는 내부 Python 함수
zip 아카이브를 만듭니다.

우편 압축
The 압축 내부 Python에서 사용하는 Python zipfile 모듈의 플래그
zip 아카이브의 압축 여부를 제어하는 ​​기능입니다. 기본값은 다음과 같습니다.
zipfile.ZIP_DEFLATED, 압축된 zip 아카이브를 생성합니다. 이 값은 아무런 영향을 미치지 않습니다.
zipfile 모듈을 사용할 수 없는 경우.

우편번호
zip 유틸리티를 사용하여 파일을 아카이브할 때 표시되는 문자열입니다. 이것이 설정되지 않은 경우,
그때 $ZIPCOM (명령줄 또는 내부 Python 함수)가 표시됩니다.

env = 환경(ZIPCOMSTR = "$TARGET 압축 중")

집플래그
zip 유틸리티에 전달된 일반 옵션입니다.

지퍼루트
선택적 zip 루트 디렉터리(기본값은 비어 있음) zip 파일에 저장된 파일 이름
주어진 경우 이 디렉토리를 기준으로 합니다. 그렇지 않으면 파일 이름은 다음과 관련됩니다.
명령의 현재 디렉토리. 예를 들어:

환경 = 환경()
env.Zip('foo.zip', 'subdir1/subdir2/file1', ZIPROOT='subdir1')

대신 subdir2/file1이라는 이름의 파일이 포함된 foo.zip zip 파일을 생성합니다.
subdir1/subdir2/file1보다.

ZIPSFIX
zip 파일 이름에 사용되는 접미사입니다.

구성 변수는 다음을 사용하여 검색하고 설정할 수 있습니다. 사전 방법
건축 환경:

dict = env.Dictionary()
dict["CC"] = "cc"

또는 [] 연산자를 사용하여:

env["CC"] = "cc"

구성 변수는 구성 환경 생성자에 전달될 수도 있습니다.

env = 환경(CC="cc")

또는 다음을 사용하여 구성 환경을 복사할 때 복제 방법:

env2 = env.Clone(CC="cl.exe")

구성 문맥
스콘 지원 구성 컨텍스트, 다양한 AC_CHECK와 유사한 통합 메커니즘
C 헤더 파일, 라이브러리 등의 존재 여부를 테스트하기 위한 GNU autoconf의 매크로.
autoconf와 대조적으로, 스콘 테스트된 값의 명시적인 캐시를 유지하지 않지만
일반적인 종속성 추적을 사용하여 확인된 값을 최신 상태로 유지합니다. 그러나 사용자
이 동작을 다음으로 재정의할 수 있습니다. --구성 명령 행 옵션.

검사를 수행하려면 다음 방법을 사용할 수 있습니다.

구성(환경, [custom_tests, conf_dir, 로그 파일, 구성_h, 황어 무리, 돕다]),
환경.구성([custom_tests, conf_dir, 로그 파일, 구성_h, 황어 무리, 돕다])
이는 검사를 수행하는 데 사용할 수 있는 구성 컨텍스트를 생성합니다. 환경 지정
테스트를 구축하기 위한 환경. 이 환경은 다음과 같은 경우 수정될 수 있습니다.
점검을 수행합니다. custom_tests 사용자 정의 테스트가 포함된 사전입니다. 또한 참조하십시오
아래의 사용자 정의 테스트에 대한 섹션. 기본적으로 사용자 정의 테스트는
컨텍스트를 구성합니다. conf_dir 테스트 케이스가 빌드되는 디렉토리를 지정합니다.
이 디렉토리는 일반 대상을 구축하는 데 사용되지 않습니다. 기본값은 다음과 같습니다.
#/.sconf_temp 디렉토리. 로그 파일 출력을 수집하는 파일을 지정합니다.
헤더 파일, 라이브러리 등의 존재 여부를 확인하기 위해 실행되는 명령입니다.
기본값은 #/config.log 파일입니다. 당신이 사용하는 경우 변형 디렉토리() 방법, 당신
변형 디렉터리 아래에 하위 디렉터리를 지정하고 싶을 수도 있습니다. 구성_h 지정
테스트 결과가 기록될 C 헤더 파일(예: #define HAVE_STDIO_H,
#define HAVE_LIBM 등. 기본값은 구성.h 파일. 지정할 수 있습니다
같은 구성.h 구성에 대한 여러 호출에 파일을 저장합니다. 이 경우 스콘 결제 게이트웨이,
지정된 파일의 모든 결과를 연결합니다. SCons는 일반을 사용한다는 점에 유의하세요.
지정된 항목을 다시 빌드해야 하는지 결정하기 위한 종속성 검사 구성_h
파일. 이는 scons가 실행될 때마다 파일이 반드시 다시 빌드될 필요는 없지만,
내용이 변경되고 일부 대상이 변경된 경우에만 다시 작성됩니다.
구성_h 파일을 구축하는 중입니다.

선택적 황어 무리 그리고 도움 인수를 사용하여 실행을 억제할 수 있습니다.
구성 테스트 -c/--청소 or -H/-h/--도움말 옵션이 사용되며,
각기. 기본 동작은 항상 구성 컨텍스트 테스트를 실행하는 것입니다.
테스트 결과는 청소할 대상 목록이나 도움말에 영향을 미칠 수 있습니다.
텍스트. 구성 테스트가 이에 영향을 미치지 않으면 다음을 추가할 수 있습니다. 깨끗함=거짓 or
도움말=거짓 불필요한 테스트 실행을 피하기 위한 인수(또는 둘 다)입니다.

생성된 구성 인스턴스에는 다음과 같은 관련 메서드가 있습니다.

SConf.Finish(문맥), 비웃음.마치다()
이 메서드는 구성이 완료된 후에 호출되어야 합니다. 환경을 반환합니다.
수행된 구성 검사에 따라 수정됩니다. 이 메소드가 호출된 후에는
이 구성 컨텍스트를 사용하여 추가 검사를 수행할 수 있습니다. 그러나 다음을 수행할 수 있습니다.
추가 확인을 수행하려면 새 구성 컨텍스트를 생성하세요. 하나의 컨텍스트만 사용해야 합니다.
한 번에 활동하십시오.

다음 검사는 사전 정의되어 있습니다. (이 목록은 시간이 지남에 따라 더 커질 수 있습니다.
및 개발자가 새로운 유용한 테스트를 제공합니다.)

SConf.CheckHeader(문맥, 머리글, [include_quotes, 언어]), 비웃음.체크헤더(머리글,
[include_quotes, 언어])
다음 여부를 확인합니다. 머리글 지정된 언어로 사용할 수 있습니다. 머리글 목록일 수 있습니다.
목록의 마지막 항목이 확인할 헤더 파일이고 이전 목록인 경우
항목은 헤더 파일입니다. #포함 행은 헤더 행보다 앞에 있어야 합니다.
확인했습니다. 선택적 인수 include_quotes 2개의 문자열이어야 합니다.
여기서 첫 번째 문자는 여는 인용문을 나타내고 두 번째 문자는 다음을 나타냅니다.
닫는 인용문. 기본적으로 두 문자는 모두 "(큰따옴표)입니다. 선택 사항
논의 언어 다음 중 하나 여야합니다 C or C + + 그리고 사용할 컴파일러를 선택합니다.
수표. 성공하면 1을, 실패하면 0을 반환합니다.

SConf.CheckCHeader(문맥, 머리글, [include_quotes]), 비웃음.CheckCHeader(머리글,
[include_quotes])
이것은 주변의 래퍼입니다. SConf.CheckHeader 여부를 확인하는 머리글 C에서 사용 가능
언어. 머리글 목록일 수 있습니다. 이 경우 목록의 마지막 항목이 헤더입니다.
확인할 파일이며 이전 목록 항목은 헤더 파일입니다. #포함 라인
검사 중인 헤더 줄 앞에 와야 합니다. 선택적 인수 include_quotes
두 문자 문자열이어야 합니다. 여기서 첫 번째 문자는 여는 따옴표를 나타냅니다.
두 번째 문자는 닫는 따옴표를 나타냅니다(둘 다 기본값은 \N'34'입니다). 1을 반환합니다.
성공하면 0, 실패하면 XNUMX이 됩니다.

SConf.CheckCXX헤더(문맥, 머리글, [include_quotes]), 비웃음.CXX헤더 확인(머리글,
[include_quotes])
이것은 주변의 래퍼입니다. SConf.CheckHeader 여부를 확인하는 머리글 C++에서 사용 가능
언어. 머리글 목록일 수 있습니다. 이 경우 목록의 마지막 항목이 헤더입니다.
확인할 파일이며 이전 목록 항목은 헤더 파일입니다. #포함 라인
검사 중인 헤더 줄 앞에 와야 합니다. 선택적 인수 include_quotes
두 문자 문자열이어야 합니다. 여기서 첫 번째 문자는 여는 따옴표를 나타냅니다.
두 번째 문자는 닫는 따옴표를 나타냅니다(둘 다 기본값은 \N'34'입니다). 1을 반환합니다.
성공하면 0, 실패하면 XNUMX이 됩니다.

SConf.CheckFunc(문맥,, 함수 이름, [머리글, 언어]),
비웃음.CheckFunc(함수 이름, [머리글, 언어])
지정된 C 또는 C++ 함수를 사용할 수 있는지 확인합니다. 함수 이름 의 이름입니다
확인하는 기능입니다. 선택 사항 머리글 인수는 다음과 같은 문자열입니다.
함수가 작동하는지 확인하기 위해 컴파일될 테스트 파일의 맨 위에 배치됩니다.
존재한다; 기본값은 다음과 같습니다

#ifdef __cplusplus
extern "C"
#endif
char 함수_이름();

선택적 언어 인수는 다음과 같아야 합니다. C or C + + 사용할 컴파일러를 선택합니다.
수표를 위해; 기본값은 "C"입니다.

SConf.CheckLib(문맥, [도서관, 상징, 머리글, 언어, 자동 추가=1]),
비웃음.CheckLib([도서관, 상징, 머리글, 언어, 자동 추가=1])
다음 여부를 확인합니다. 도서관 제공 상징. 값이 자동 추가 1이고 도서관이에요
지정된 것을 제공합니다 상징, LIBS 구성에 라이브러리를 추가합니다.
환경 변수. 도서관 None(기본값)일 수도 있습니다. 이 경우 상징 is
현재 LIBS 변수 또는 라이브러리 이름 목록으로 확인합니다.
목록에 있는 라이브러리를 확인합니다. 상징. 면 상징 설정되지 않았거나 없음다음,
SConf.CheckLib()는 지정된 항목에 대해 링크할 수 있는지 확인합니다. 도서관. 그만큼
optional 언어 인수는 다음과 같아야 합니다. C or C + + 그리고 사용할 컴파일러를 선택합니다.
수표; 기본값은 "C"입니다. 기본값은 자동 추가 1입니다. 이 메서드는 다음을 반환합니다.
성공 시 1, 오류 시 0입니다.

SConf.CheckLibWithHeader(문맥, 도서관, 머리글, 언어, [전화, 자동 추가]),
비웃음.CheckLibWithHeader(도서관, 머리글, 언어, [전화, 자동 추가])
SConf.CheckLib 호출과 달리 이 호출은 보다 정교한 방법을 제공합니다.
라이브러리를 확인해보세요. 다시, 도서관 라이브러리 또는 라이브러리 목록을 지정합니다.
확인하다. 머리글 확인할 헤더를 지정합니다. 머리글 목록일 수 있습니다.
목록의 마지막 항목이 확인할 헤더 파일이고 이전 목록인 경우
항목은 헤더 파일입니다. #포함 행은 헤더 행보다 앞에 있어야 합니다.
확인했습니다. 언어 'C','c','CXX','cxx','C++', 'c++' 중 하나일 수 있습니다. 전화 될 수 있습니다
모든 유효한 표현식(후행 ';' 포함). 만약에 전화 설정되지 않았습니다. 기본값은 단순히
지정된 항목에 대해 링크할 수 있는지 확인합니다. 도서관. 자동 추가 여부를 지정합니다
환경에 라이브러리를 추가합니다(검사가 성공한 경우에만). 이 메서드는 1을 반환합니다.
성공하면 0, 오류이면 XNUMX입니다.

SConf.CheckType(문맥, 유형_이름, [포함, 언어]), 비웃음.체크타입(유형_이름,
[포함, 언어])
다음으로 정의된 유형이 있는지 확인합니다. 형식 정의. 유형_이름 지정합니다
확인할 typedef 이름입니다. 포함 하나 이상을 포함하는 문자열입니다. #포함 라인
존재 여부를 테스트하기 위해 실행될 프로그램에 삽입됩니다.
유형. 선택 사항 언어 인수는 다음과 같아야 합니다. C or C + + 그리고 컴파일러를 선택합니다
수표에 사용됩니다. 기본값은 "C"입니다. 예:

sconf.CheckType('foo_type', '#include "my_types.h"', 'C++')

구성.체크CC(자기)
C 컴파일러(CC 구성 변수로 정의됨)가 다음과 같이 작동하는지 확인합니다.
작은 소스 파일을 컴파일하려고 합니다.

기본적으로 SCons는 올바른 이름을 가진 프로그램이 있는지 여부만 감지합니다.
작동하는 컴파일러입니다.

이는 C 소스용 개체 빌더에서 사용하는 것과 정확히 동일한 명령을 사용합니다.
파일이므로 특정 컴파일러 플래그가 작동하는지 여부를 감지하는 데 사용할 수 있습니다.

구성.CheckCXX(자기)
CXX 구성 변수로 정의된 C++ 컴파일러가 다음과 같이 작동하는지 확인합니다.
작은 소스 파일을 컴파일하려고 합니다. 기본적으로 SCons는 다음이 있는 경우에만 감지합니다.
올바른 이름을 가진 프로그램을 사용하세요. 컴파일러가 작동하는 경우에는 그렇지 않습니다.

이는 CXX용 개체 빌더에서 사용하는 것과 정확히 동일한 명령을 사용합니다.
소스 파일에 저장되므로 특정 컴파일러 플래그가 작동하는지 여부를 감지하는 데 사용할 수 있습니다.

구성.SHCC 확인(자기)
SHCC 구성 변수로 정의된 C 컴파일러가 다음과 같이 작동하는지 확인합니다.
작은 소스 파일을 컴파일하려고 합니다. 기본적으로 SCons는 다음이 있는 경우에만 감지합니다.
올바른 이름을 가진 프로그램을 사용하세요. 컴파일러가 작동하는 경우에는 그렇지 않습니다.

이는 C 소스용 개체 빌더에서 사용하는 것과 정확히 동일한 명령을 사용합니다.
파일이므로 특정 컴파일러 플래그가 작동하는지 여부를 감지하는 데 사용할 수 있습니다. 이것
공유 라이브러리를 구축하는 데 개체 코드를 사용할 수 있는지 여부는 확인하지 않습니다.
(링크가 아닌) 컴파일이 성공했는지 확인하세요.

구성.CheckSHCXX(자기)
SHCXX 구성 변수로 정의된 C++ 컴파일러가 작동하는지 확인합니다.
작은 소스 파일을 컴파일하려고 시도합니다. 기본적으로 SCons는 다음이 있는 경우에만 감지합니다.
올바른 이름을 가진 프로그램을 사용하세요. 컴파일러가 작동하는 경우에는 그렇지 않습니다.

이는 CXX용 개체 빌더에서 사용하는 것과 정확히 동일한 명령을 사용합니다.
소스 파일에 저장되므로 특정 컴파일러 플래그가 작동하는지 여부를 감지하는 데 사용할 수 있습니다.
이는 객체 코드를 사용하여 공유 라이브러리를 구축할 수 있는지 여부를 확인하지 않습니다.
(링크가 아닌) 컴파일이 성공한다는 것뿐입니다.

일반적인 구성 사용법의 예:

환경 = 환경()
conf = 구성( env )
그렇지 않은 경우 conf.CheckCHeader( 'math.h' ):
print '우리는 math.h가 정말 필요해요!'
출구(1)
if conf.CheckLibWithHeader( 'qt', 'qapp.h', 'c++',
'QApplication qapp(0,0);' ):
# qt에 대한 작업 수행 - 사용법, 예:
conf.env.Append( CPPFLAGS = '-DWITH_QT' )
env = conf.Finish()

SConf.CheckTypeSize(문맥, 유형_이름, [머리글, 언어, 기대]),
비웃음.체크타입크기(유형_이름, [머리글, 언어, 기대])
다음에 의해 정의된 유형의 크기를 확인합니다. 형식 정의. 유형_이름 typedef를 지정합니다
확인할 이름입니다. 선택 사항 머리글 인수는 위치에 배치될 문자열입니다.
함수가 존재하는지 확인하기 위해 컴파일될 테스트 파일의 최상위; 그만큼
기본값은 비어 있습니다. 선택 사항 언어 인수는 다음과 같아야 합니다. C or C + + 을 선택하고
검사에 사용될 컴파일러; 기본값은 "C"입니다. 선택 사항 기대 논의
정수여야 합니다. 이 인수를 사용하면 함수는 다음 사항만 확인합니다.
type_name에 지정된 유형은 예상 크기(바이트)를 갖습니다. 예를 들어,
CheckTypeSize('짧은', 기대 = 2) short가 2바이트인 경우에만 성공을 반환합니다.

SConf.CheckDeclaration(문맥, 상징, [포함, 언어]),
비웃음.체크선언(상징, [포함, 언어])
지정된지 확인합니다. 상징 선언됩니다. 포함 다음 중 하나를 포함하는 문자열입니다.
더 보기 #포함 테스트를 위해 실행될 프로그램에 삽입될 라인
유형의 존재를 위해. 선택 사항 언어 인수는 다음과 같아야 합니다. C or C + + 그리고
검사에 사용할 컴파일러를 선택합니다. 기본값은 "C"입니다.

SConf.정의(문맥, 상징, [가치, 본문]), 비웃음.정의하다(상징, [가치, 본문])
이 함수는 아무것도 확인하지 않지만 다음을 수행하는 전처리기 기호를 정의합니다.
구성 헤더 파일에 추가됩니다. AC_DEFINE과 동일하며,
기호를 정의 name 옵션으로 가치 그리고 선택적인 코멘트 본문.

예 :

환경 = 환경()
conf = 구성( env )

# 구성 헤더 파일에 다음 줄을 넣습니다.
# #A_SYMBOL 정의
conf.Define('A_SYMBOL')

# 구성 헤더 파일에 다음 줄을 넣습니다.
# #A_SYMBOL 1 정의
conf.Define('A_SYMBOL', 1)

하지만 문자열 값을 인용할 때는 주의하세요.

환경 = 환경()
conf = 구성( env )

# 구성 헤더 파일에 다음 줄을 넣습니다.
# #A_SYMBOL 정의 YA
conf.Define('A_SYMBOL', "YA")

# 구성 헤더 파일에 다음 줄을 넣습니다.
# #define A_SYMBOL "YA"
conf.Define('A_SYMBOL', '"YA"')

의견:

환경 = 환경()
conf = 구성( env )

# 구성 헤더 파일에 다음 줄을 넣습니다.
# /* 기호가 있으면 1로 설정 */
# #A_SYMBOL 1 정의
conf.Define('A_SYMBOL', 1, '기호가 있는 경우 1로 설정')

사용자 정의 검사를 정의할 수 있습니다. 사전 정의된 검사에 추가됩니다. 이것들은
사전을 구성 기능에 전달했습니다. 이 사전은
사용자 정의 Python 호출 가능 항목(Python 함수 또는 클래스 인스턴스)을 확인합니다.
구현 __전화__ 방법). 호출의 첫 번째 인수는 항상 CheckContext
인스턴스 뒤에는 수표 사용자가 제공해야 하는 인수가 옵니다. 이것들
CheckContext 인스턴스는 다음 메서드를 정의합니다.

CheckContext.메시지(자기, 본문)
일반적으로 검사가 시작되기 전에 호출됩니다. 본문 사용자에게 표시됩니다. 예:
'라이브러리 X를 확인하는 중...'

CheckContext.Result(본인,, 고해상도)
일반적으로 확인이 완료된 후 호출됩니다. 고해상도 정수 또는 문자열일 수 있습니다. ~ 안에
전자의 경우 'yes'(res != 0) 또는 'no'(res == 0)가 사용자에게 표시됩니다.
후자의 경우 주어진 문자열이 표시됩니다.

CheckContext.TryCompile(자기, 본문, 확장자)
지정된 파일이 있는지 확인합니다. 확장자 (예: '.c') 포함 본문 될 수 있습니다
환경을 사용하여 컴파일 목적 건축업자. 성공하면 1을 반환하고 성공하면 0을 반환합니다.
실패.

CheckContext.TryLink(자기, 본문, 확장자)
지정된 파일이 있는지 확인합니다. 확장자 (예: '.c') 포함 본문 될 수 있습니다
환경을 사용하여 컴파일 프로그램 건축업자. 성공하면 1을 반환하고 성공하면 0을 반환합니다.
실패.

CheckContext.TryRun(자기, 본문, 확장자)
지정된 파일이 있는지 확인합니다. 확장자 (예: '.c') 포함 본문 될 수 있습니다
환경을 사용하여 컴파일 프로그램 건축업자. 성공하면 프로그램이 실행됩니다. 만약에
프로그램이 성공적으로 실행되면(즉, 반환 상태가 0임), 튜플 (1,
출력Str) 반환되며, 여기서 출력Str 프로그램의 표준 출력입니다. 만약
프로그램 실행이 실패하면(반환 상태가 0이 아님) (XNUMX, '')이 반환됩니다.

CheckContext.TryAction(자기, 동작, [본문, 확장자])
지정된지 확인합니다. 동작 선택적 소스 파일(콘텐츠 본문 , 확대
확장자 = '' )를 실행할 수 있습니다. 동작 다음으로 변환될 수 있는 것은 무엇이든 될 수 있습니다.
스콘 행동. 성공하면, (1, 출력Str) 반환되며, 여기서 출력Str 내용이다
대상 파일의. 실패 시 (0, '') 반환됩니다.

CheckContext.TryBuild(자기, 건축업자, [본문, 확장자])
특정 빌드를 테스트하기 위한 낮은 수준의 구현입니다. 위의 방법은 다음을 기반으로합니다.
이 방법. Builder 인스턴스가 주어지면 건축업자 및 선택 사항 본문 소스 파일의
옵션으로 확장자, 이 메서드는 성공 시 1을 반환하고 실패 시 0을 반환합니다. ~ 안에
부가, self.lastTarget 빌드가 다음과 같은 경우 빌드 대상 노드로 설정됩니다.
성공한.

사용자 정의 테스트 구현 및 사용 예:

def CheckQt(컨텍스트, qtdir):
context.Message( 'qt 확인 중 ...' )
lastLIBS = context.env['LIBS']
lastLIBPATH = context.env['LIBPATH']
lastCPPPATH= context.env['CPPPATH']
context.env.Append(LIBS = 'qt', LIBPATH = qtdir + '/ lib', CPPPATH = qtdir + '/include' )
ret = context.TryLink("""
#포함하다
int 메인(int argc, char **argv) {
QApplication qapp(argc, argv);
0가 돌아;
}
""")
리트윗하지 않으면:
context.env.Replace(LIBS = lastLIBS, LIBPATH=lastLIBPATH, CPPPATH=lastCPPPATH)
컨텍스트.결과( ret )
반환 ret

환경 = 환경()
conf = 구성( env, custom_tests = { 'CheckQt' : CheckQt } )
그렇지 않은 경우 conf.CheckQt('/usr/lib/qt'):
print '우리는 정말로 qt가 필요해요!'
출구(1)
env = conf.Finish()

명령 줄 건설 변수
소프트웨어를 빌드할 때 빌드 시 일부 변수를 지정해야 하는 경우가 많습니다. 예를 들어,
빌드에 필요한 라이브러리가 비표준 위치에 있거나 사이트별 컴파일러에 있을 수 있습니다.
옵션을 컴파일러에 전달해야 할 수도 있습니다. 스콘 를 제공합니다 변수 반대하다
명령줄에서 구성 변수 재정의를 지원합니다.

$ 스콘 변수=foo

변수 값은 텍스트 기반 SConscript 파일에서 지정할 수도 있습니다. 생성하려면
Variables 객체에서는 Variables() 함수를 호출합니다.

변수([파일], [인수])
그러면 파일에서 구성 변수를 읽는 Variables 객체가 생성됩니다.
다음에 지정된 파일 이름 목록 파일. 파일이 지정되지 않거나 파일 논의
is 없음이면 파일을 읽을 수 없습니다. 선택적 인수 인수 의 사전이다
지정된 파일에서 읽은 모든 내용을 재정의하는 값입니다. 그것은 주로
통과할 예정이다. 인수 지정된 변수를 보유하는 사전
명령줄. 예:

vars = 변수('custom.py')
vars = 변수('overrides.py', ARGUMENTS)
vars = 변수(없음, {FOO:'확장', BAR:7})

변수 객체에는 다음과 같은 메서드가 있습니다:

추가하다(, [도움, 디폴트 값, 검증, 변환기])
이렇게 하면 사용자 정의 가능한 구성 변수가 Variables 개체에 추가됩니다. 이다
변수의 이름. 도움 변수에 대한 도움말 텍스트입니다. 디폴트 값 기본값입니다.
변수의 값; 기본값이 다음과 같은 경우 없음 명시적인 값이 없습니다.
지정하면 구성 변수는 지원 공사에 추가되다
환경을 제공합니다. 검증 변수 값의 유효성을 검사하기 위해 호출되며,
키, 값, 환경이라는 세 가지 인수를 사용합니다. 권장되는 처리 방법
잘못된 값은 예외를 발생시키는 것입니다(아래 예 참조). 변환기 에 부름
환경에 넣기 전에 값을 변환하고 다음 중 하나를 취해야 합니다.
값 또는 값과 환경을 매개변수로 사용합니다. 그만큼 변환기 값을 반환해야 합니다.
이는 검증되기 전에 문자열로 변환됩니다. 검증 (만약에 어떠한)
그런 다음 환경에 추가됩니다.

예 :

vars.Add('CC', 'C 컴파일러')

def verify_color(key, val, env):
값이 ['red', 'blue', 'yellow']가 아닌 경우:
raise Exception("잘못된 색상 값 '%s'" % val)
vars.Add('COLOR', 유효성 검사기=valid_color)

변수 추가(명부)
사용자 정의 가능한 여러 구성 변수를 변수에 추가하는 래퍼 스크립트
목적. 명부 에 대한 인수를 포함하는 튜플 또는 목록 객체의 목록입니다.
개별 통화 추가 방법.

opt.AddVariables(
('디버그', '', 0),
('CC', 'C 컴파일러'),
('VALIDATE', '검증 테스트를 위한 옵션',
'notset', 유효성 검사기, 없음),
)

업데이트(환경, [인수])
이렇게 하면 건설 환경이 업데이트됩니다. 환경 맞춤형 시공으로
변수. 지정된 변수는 다음과 같습니다. 지원 변수 개체에 대해 구성됨
저장되며 다음을 사용하여 검색할 수 있습니다. 알 수 없는 변수() 메서드는 아래에 나와 있습니다.

일반적으로 이 메서드는 직접 호출되지 않고 다음을 전달하여 간접적으로 호출됩니다.
Environment() 함수에 대한 변수 객체:

env = 환경(변수=vars)

Variables 객체가 생성될 때 지정된 텍스트 파일은 다음과 같이 실행됩니다.
Python 스크립트와 파일에 설정된 (전역) Python 변수의 값이 추가됩니다.
건설 환경.

예:

CC = 'my_cc'

알 수 없는변수()
파일에 지정된 변수를 포함하는 사전을 반환합니다.
또는 Variables 객체가 초기화된 사전이지만
변수 개체가 구성되지 않았습니다.

env = 환경(변수=vars)
키의 경우 vars.UnknownVariables()의 값:
"알 수 없는 변수: %s=%s" %(키, 값) 인쇄

구하다(파일 이름, 환경)
그러면 현재 설정된 변수가 다음과 같은 스크립트 파일에 저장됩니다. 파일 이름 그것은 가능하다
현재 설정을 자동으로 로드하기 위해 다음 호출에 사용됩니다. 이 방법
Variables 메소드와 결합하여 사이의 변수 캐싱을 지원하는 데 사용할 수 있습니다.
실행됩니다.

환경 = 환경()
vars = 변수(['variables.cache', 'custom.py'])
변수.추가(...)
vars.Update(env)
vars.Save('variables.cache', env)

도움말텍스트 생성(환경, [종류])
그러면 적합한 사용자 정의 가능한 구성 변수를 문서화하는 도움말 텍스트가 생성됩니다.
Help() 함수에 전달합니다. 환경 건축환경이 됩니다
사용자 정의 가능한 변수의 실제 값을 가져오는 데 사용됩니다. 옵션으로 전화하기
종류 함수는 지정된 인수를 기준으로 출력을 정렬합니다. 그만큼
구체적인 종류 함수는 두 개의 인수를 취하고 -1, 0 또는 1을 반환해야 합니다(예:
표준 파이썬 CMP 함수).

도움말(vars.GenerateHelpText(env))
도움말(vars.GenerateHelpText(env, sort=cmp))

형식변수도움말텍스트(환경, 고르다, 도움, 디폴트 값, 실제)
이 메소드는 인쇄 가능한 도움말 텍스트가 포함된 형식화된 문자열을 반환합니다.
옵션. 일반적으로 직접 호출되지는 않지만, 도움말 텍스트 생성()
반환된 도움말 텍스트를 생성하는 방법입니다. 자신의 기능으로 재정의될 수 있습니다.
위에 지정된 인수를 사용하여 형식이 지정된 도움말 텍스트 문자열을 반환합니다.
당신의 취향에. 참고 도움말 텍스트 생성()는 빈 줄이나 추가 항목을 넣지 않습니다.
항목 사이에 문자가 있으므로 반환된 문자에 해당 문자를 추가해야 합니다.
항목을 분리하려는 경우 문자열입니다.

def my_format(env, opt, help, 기본값, 실제):
fmt = "\n%s: 기본값=%s 실제=%s (%s)\n"
fmt % 반환(옵션, 기본값, 실제, 도움말)
vars.FormatVariableHelpText = my_format

사용자 정의 가능한 변수를 더욱 편리하게 사용하려면, 스콘 를 제공합니다
다양한 유형의 변수를 쉽게 설정할 수 있는 다양한 기능:

부울변수(, 도움, 디폴트 값)
부울 옵션을 설정하려면 인수 튜플을 반환합니다. 옵션은
지정된 이름 , 기본값은 다음과 같습니다. 디폴트 값, 그리고 지정된 것을 표시합니다 도움
텍스트. 옵션은 값을 해석합니다. y, , t, 참된, 1, on 그리고 모든 사실처럼, 그리고
가치 n, 아니, f, 그릇된, 0, 오프 그리고 없음 거짓으로.

열거변수(, 도움, 디폴트 값, 허용_값, [지도, 대소문자 무시])
값이 지정된 옵션 중 하나일 수 있는 옵션을 설정하려면 인수 튜플을 반환합니다.
합법적으로 열거된 값 목록입니다. 옵션은 지정된 이름을 사용합니다 ,이
기본값 디폴트 값, 그리고 지정된 것을 표시합니다 도움 텍스트. 옵션은
해당 값을 지원합니다. 허용_값 목록. 선택 사항 지도 인수는
입력 값을 특정 합법적인 값으로 변환하는 데 사용할 수 있는 사전
허용_값 목록. 값이 무시_케이스 0(기본값)이면 값은
대소문자를 구분합니다. 값이 무시_케이스 1이면 값이 일치합니다.
대소문자를 구분하지 않습니다. 값이 무시_케이스 2이면 값이 일치합니다.
대소문자를 구분하지 않으며 모든 입력 값은 소문자로 변환됩니다.

목록변수(, 도움, 디폴트 값, 이름, [,지도])
값이 다음 중 하나 이상일 수 있는 옵션을 설정하려면 인수 튜플을 반환합니다.
합법적인 열거 값의 지정된 목록입니다. 옵션은 지정된 이름을 사용합니다 ,
기본값이 디폴트 값, 그리고 지정된 것을 표시합니다 도움 텍스트. 옵션은
가치만을 지지한다 모든, 없음또는 이름 목록. 하나 이상
값을 지정할 수 있으며 모든 값은 쉼표로 구분됩니다. 기본값은
쉼표로 구분된 기본값 문자열 또는 기본값 목록입니다. 그만큼
optional 지도 인수는 입력 값을 다음으로 변환하는 데 사용할 수 있는 사전입니다.
구체적인 법적 가치는 이름 명부.

패키지변수(, 도움, 디폴트 값)
값이 경로 이름인 옵션을 설정하려면 인수 튜플을 반환합니다.
활성화, 비활성화하거나 명시적인 경로 이름을 지정할 수 있는 패키지입니다. 옵션은
지정된 이름을 사용 , 기본값은 다음과 같습니다. 디폴트 값, 그리고 지정된 것을 표시합니다
도움 텍스트. 옵션은 다음 값을 지원합니다. , 참된, on, 가능 or 수색
어떤 경우에 지정된 디폴트 값 사용되거나 옵션이
임의 문자열(일반적으로 활성화된 패키지에 대한 경로 이름) 그만큼
옵션은 다음 값도 지원합니다. 아니, 그릇된, 오프 or 비활성화 사용을 비활성화하려면
지정된 옵션.

경로변수(, 도움, 디폴트 값, [검증])
값이 경로일 것으로 예상되는 옵션을 설정하려면 인수 튜플을 반환합니다.
이름. 옵션은 지정된 이름을 사용합니다 , 기본값은 다음과 같습니다. 디폴트 값
지정된 것을 표시 도움 텍스트. 추가 검증 지정될 수 있습니다.
지정된 경로가 허용되는지 확인하기 위해 호출됩니다. SCons는 다음을 제공합니다
이미 만들어진 유효성 검사기: PathVariable.PathExists (기본값) 이는 다음을 확인합니다.
지정된 경로가 존재합니다. PathVariable.PathIs파일, 지정된 경로가
기존 파일입니다. PathVariable.PathIsDir, 지정된 경로가 다음과 같은지 확인합니다.
기존 디렉토리; PathVariable.PathIsDirCreate, 이는 지정된 것을 확인합니다
경로는 디렉터리이며 경로가 그렇지 않은 경우 지정된 디렉터리를 생성합니다.
존재하다; 그리고 PathVariable.PathAccept, 이는 단순히 특정 경로 이름을 허용합니다.
유효성 검사 없이 인수를 수행하며 사용자가 다음을 수행할 수 있도록 하려는 경우 적합합니다.
빌드 프로세스의 일부로 생성될 디렉터리 경로를 지정하려면
예. 당신은 당신의 자신을 공급할 수 있습니다 검증 세 개의 인수를 취해야 하는 함수
(, 설정할 변수의 이름입니다. , 지정된 값이 확인 중입니다. 그리고
환경, 건설 환경) 지정된 경우 예외를 발생시켜야 합니다.
가치가 인정되지 않습니다.

이러한 기능을 사용하면 일관성 있는 여러 변수를 생성하는 것이 편리해집니다.
단일 호출의 동작 변수 추가 방법:

vars.AddVariables(
BoolVariable('경고', '-Wall 및 유사한 항목으로 컴파일', 1),
EnumVariable('debug', '디버그 출력 및 기호', 'no'
allowed_values=('예', '아니요', '전체'),
map={},ignorecase=0), # 대소문자 구분
ListVariable('공유',
'공유 라이브러리로 구축할 라이브러리',
'모두',
이름 = list_of_libs),
패키지변수('x11',
'여기에 설치된 X11 사용(예 = 일부 장소 검색)',
'예'),
PathVariable('qtdir', 'Qt의 루트가 설치된 위치', qtdir),
PathVariable('foopath', 'foo 라이브러리가 설치된 위치', foopath,
PathVariable.PathIsDir),

)

입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 그리고 명부 담당 노드
The 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에() 및 디렉토리() 함수 반환 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 그리고 디렉토리 각각 노드. 파이썬 객체,
각기. 이러한 객체에는 사용자가 볼 수 있는 여러 가지 속성과 메소드가 있습니다.
종종 유용합니다:

통로
지정된 파일 또는 디렉터리의 빌드 경로입니다. 이 경로는 최상위 수준을 기준으로 합니다.
디렉토리(여기서 SConstruct 파일을 찾았습니다). 빌드 경로는 다음과 같습니다.
소스 경로인 경우 변형_디렉터리 사용되지 않습니다.

아스파파트
지정된 파일 또는 디렉터리의 절대 빌드 경로입니다.

src노드()
The srcnode() 메서드는 다른 메서드를 반환합니다. 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 or 디렉토리 을 나타내는 객체 통로
주어진 것의 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 or 디렉토리. 그만큼

# 상단을 기준으로 현재 빌드 디렉토리의 경로를 가져옵니다.
디렉토리('.').경로
# 현재 디렉토리의 절대 경로
디렉토리('.').abspath
# 다음 줄은 항상 '.'입니다. 그 자체에 상대적인 최상위 디렉토리 경로이기 때문입니다.
Dir('#.').경로
File('foo.c').srcnode().path # 주어진 소스 파일의 소스 경로.

# 빌더는 File 객체도 반환합니다:
foo = env.Program('foo.c')
"foo는 %s에 구축될 것입니다"%foo.path를 인쇄하세요.

A 디렉토리 노드 또는 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 노드를 사용하여 파일 및 하위 디렉터리를 생성할 수도 있습니다.
생성 노드에 상대적입니다. ㅏ 디렉토리 노드는 새 노드를
그것이 나타내는 디렉토리. ㅏ 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 노드는 상위 노드 내에 새 노드를 배치합니다.
디렉터리(즉, 문제의 파일 "옆"). 만약에 d 하는 디렉토리 (디렉토리) 노드 및
f 하는 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 (파일) 노드인 경우 다음 방법을 사용할 수 있습니다.

d.디렉토리(name)
하위 디렉터리에 대한 디렉터리 노드를 반환합니다. d 이름 name.

d.파일(name)
내의 파일에 대한 파일 노드를 반환합니다. d 이름 name.

d.기입(name)
내의 해결되지 않은 노드를 반환합니다. d 이름 name.

f.디렉토리(name)
이름이 지정된 디렉터리를 반환합니다. name 상위 디렉토리 내에서 f.

f.파일(name)
이름이 지정된 파일을 반환합니다. name 상위 디렉토리 내에서 f.

f.기입(name)
이름이 확인되지 않은 노드를 반환합니다. name 상위 디렉토리 내에서 f.

예 :

# 디렉토리 내의 파일에 대한 노드를 가져옵니다.
포함 = Dir('포함')
f = 포함.파일('header.h')

# 디렉토리 내의 하위 디렉토리에 대한 노드를 가져옵니다.
dist = Dir('프로젝트-3.2.1)
src = dist.Dir('src')

# 같은 디렉터리에 있는 파일에 대한 노드를 가져옵니다.
cfile = 파일('sample.c')
hfile = cfile.File('sample.h')

# 결합된 예
문서 = Dir('문서')
html = docs.Dir('html')
인덱스 = html.File('index.html')
CSS = index.File('app.css')

확장 스콘


건축업자 사물
스콘 새로운 Builder 개체를 추가하여 다양한 유형의 대상을 빌드하도록 확장할 수 있습니다.
건설 환경. In 일반, 새 Builder 개체만 추가하면 됩니다.
새로운 유형의 파일이나 기타 외부 대상을 만들고 싶을 때. 그냥 하고 싶다면
프로그램, 개체, 라이브러리 또는 기타 도구를 구축하기 위해 다른 컴파일러나 다른 도구를 호출합니다.
다른 유형의 출력 파일 스콘 이미 기존 빌더가 있으며 일반적으로
설정하는 건설 환경에서 기존 빌더를 사용하는 것이 훨씬 쉽습니다.
적절한 구성 변수(CC, LINK 등).

빌더 객체는 다음을 사용하여 생성됩니다. 건축업자 함수. 그만큼 건축업자 함수는
다음 인수:

동작
소스에서 대상을 빌드하는 데 사용되는 명령줄 문자열입니다. 동작 또한 다음과 같을 수 있습니다.
실행될 명령과 그 인수를 나타내는 문자열 목록(적합함)
인수에 공백을 포함하는 경우), 사전 매핑 소스 파일 이름
명령줄 문자열 조합에 대한 접미사(빌더가 허용해야 하는 경우)
여러 소스 파일 확장자), Python 함수; Action 객체(다음 항목 참조)
부분); 또는 위의 목록 중 하나입니다.

작업 함수는 세 가지 인수를 사용합니다. - 소스 노드 목록, 목표 -
대상 노드 목록, 환경 - 건설 환경.

접두사
대상 파일 이름 앞에 추가될 접두사입니다. 이는 다음과 같이 지정될 수 있습니다.
* ,

* 호출 가능 대상 - 두 개의 인수를 취하는 함수 또는 기타 호출 가능 항목(a
구성 환경 및 소스 목록) 접두사를 반환합니다.

* 사전 - 특정 소스 접미사(첫 번째 소스)의 매핑을 지정합니다.
지정됨)을 해당 대상 접두사로 바꿉니다. 소스 접미사 및 대상 접두사 모두
사양은 환경 변수 대체와 대상 접두사(
사전의 '값' 항목)은 호출 가능한 객체일 수도 있습니다. 기본 대상
접두사는 키 값이 None인 사전 항목으로 표시될 수 있습니다.

b = 빌더("build_it < $SOURCE > $TARGET",
접두사 = "파일-")

def gen_prefix(env, 소스):
return "file-" + env['PLATFORM'] + '-'
b = 빌더("build_it < $SOURCE > $TARGET",
접두사 = gen_prefix)

b = 빌더("build_it < $SOURCE > $TARGET",
접미사 = { 없음: "파일-",
"$SRC_SFX_A": gen_prefix })

접미사
대상 파일 이름에 추가될 접미사입니다. 이는 다음에서 지정될 수 있습니다.
위의 접두사와 같은 방식입니다. 접미사가 문자열인 경우 스콘 을 추가합니다
'.' 접미사가 아직 없는 경우 접미사의 시작 부분으로 이동합니다. 반환된 문자열
호출 가능한 객체(또는 사전에서 얻은)는 그대로 유지되며 자체 객체를 추가해야 합니다.
'.' 원하는 경우 처음으로.

b = 빌더("build_it < $SOURCE > $TARGET"
접미사 = "-파일")

def gen_suffix(env, 소스):
반품 "." + env['플랫폼'] + "-파일"
b = 빌더("build_it < $SOURCE > $TARGET",
접미사 = gen_suffix)

b = 빌더("build_it < $SOURCE > $TARGET",
접미사 = { 없음: ".sfx1",
"$SRC_SFX_A": gen_suffix })

verify_suffix
참값으로 설정하면 다음이 발생합니다. 스콘 에 의해 지정된 대상 접미사를 추가하려면
접미사 다른 접미사가 있는 대상 문자열에 키워드를 추가합니다. (기본값
동작은 이미 파일 이름이 있는 것처럼 보이는 대상 파일 이름을 그대로 두는 것입니다.
접미사.)

b1 = 빌더("build_it < $SOURCE > $TARGET"
접미사 = ".out")
b2 = 빌더("build_it < $SOURCE > $TARGET"
접미사 = ".out",
확보_접미사)
환경 = 환경()
env['BUILDERS']['B1'] = b1
env['BUILDERS']['B2'] = b2

# verify_suffix가 설정되지 않았기 때문에 "foo.txt"를 빌드합니다.
env.B1('foo.txt', 'foo.in')

# verify_suffix가 설정되어 있으므로 "bar.txt.out"을 빌드합니다.
env.B2('bar.txt', 'bar.in')

src_suffix
예상되는 소스 파일 이름 접미사입니다. 이는 문자열이거나 문자열 목록일 수 있습니다.

타겟_스캐너
이 대상에 대한 암시적 종속성을 찾기 위해 호출될 Scanner 개체입니다.
파일. 이 키워드 인수는 암시적 검색을 수행하는 Scanner 개체에 사용해야 합니다.
대상 파일과 구성 환경에만 기반한 종속성, 지원 을 통한
소스 파일을 기반으로 하는 암시적 종속성. (아래의 "스캐너 개체" 섹션을 참조하세요.
Scanner 객체 생성에 대한 자세한 내용을 참조하세요.)

소스_스캐너
모든 소스에서 암시적 종속성을 찾기 위해 호출되는 Scanner 객체
이 대상 파일을 빌드하는 데 사용되는 파일입니다. 여기에서 스캐너를 지정하여
같은 것을 찾아보세요 #포함 소스 파일의 줄. 사전 구축된 DirScanner 스캐너
객체는 이 빌더가 디렉토리 트리를 스캔해야 함을 나타내는 데 사용될 수 있습니다.
디스크상의 파일 변경 사항 스콘 다른 Builder나 기능에 대해 알지 못합니다.
전화. (스캐너 개체 만들기에 대한 자세한 내용은 아래 "스캐너 개체" 섹션을 참조하세요.
자신의 Scanner 개체.)

target_factory
빌더가 문자열로 지정된 대상을 변환하는 데 사용할 팩토리 함수
SCons 노드에. 기본적으로 SCons는 모든 대상이 파일이라고 가정합니다. 기타 유용한
target_factory 값에는 다음이 포함됩니다. 디렉토리, Builder가 디렉토리 대상을 생성하는 경우
기입, Builder가 파일 또는 디렉터리 대상을 생성할 수 있는 경우입니다.

예:

MakeDirectoryBuilder = 빌더(action=my_mkdir, target_factory=Dir)
환경 = 환경()
env.Append(BUILDERS = {'MakeDirectory':MakeDirectoryBuilder})
env.MakeDirectory('new_directory', [])

MakeDirectory Builder를 호출하려면 빈 소스 목록을 지정해야 합니다.
문자열이 빌더의 대상을 나타내도록 합니다. 그것 없이는
인수는 소스이고 그것에서 대상 이름을 추론하려고 시도합니다.
자동으로 추가된 접두사 또는 접미사가 없으면 일치하는 대상이 발생하고
소스 이름과 순환 종속성.

소스_공장
빌더가 문자열로 지정된 소스를 변환하는 데 사용할 팩토리 함수
SCons 노드에. 기본적으로 SCons는 모든 소스가 파일이라고 가정합니다. 기타 유용한
source_factory 값에는 다음이 포함됩니다. 디렉토리, 빌더가 디렉토리를 소스로 사용하는 경우
그리고 기입, 빌더가 파일이나 디렉터리(또는 둘 다)를 소스로 사용할 수 있는 경우입니다.

예:

CollectBuilder = 빌더(action=my_mkdir, source_factory=Entry)
환경 = 환경()
env.Append(BUILDERS = {'수집':CollectBuilder})
env.Collect('archive', ['directory_name', 'file_name'])

에미 터
이전에 대상 및 소스 목록을 조작하는 함수 또는 함수 목록
종속성이 설정되고 대상이 실제로 빌드됩니다. 에미 터 또한 할 수있다
이미터 함수로 확장하기 위한 구성 변수를 포함하는 문자열이거나
함수 목록 또는 이미터 함수에 대한 소스 파일 접미사를 매핑하는 사전입니다.
(첫 번째 소스 파일의 접미사만 실제 이미터를 선택하는 데 사용됩니다.
이미터 사전의 함수입니다.)

이미터 함수는 세 가지 인수를 사용합니다: - 소스 노드 목록, 목표 -
대상 노드 목록, 환경 - 건설 환경. 이미터는 다음을 반환해야 합니다.
두 개의 목록, 이 빌더가 빌드할 대상 목록 및
이 빌더의 소스 목록입니다.

예:

def e(대상, 소스, 환경):
반환 (대상 + ['foo.foo'], 소스 + ['foo.src'])

# 이미터 함수와 빌더의 간단한 연결.
b = 빌더("my_build < $TARGET > $SOURCE",
이미 터 = e)

def e2(대상, 소스, 환경):
반환 (대상 + ['bar.foo'], 소스 + ['bar.src'])

# 이미터 함수 목록과 빌더의 간단한 연결입니다.
b = 빌더("my_build < $TARGET > $SOURCE",
이미터 = [e, e2])

# 구성 변수를 통해 이미터 함수를 호출합니다.
env = 환경(MY_EMITTER = e)
b = 빌더("my_build < $TARGET > $SOURCE",
이미터 = '$MY_EMITTER')

# 구성 변수를 통해 이미터 함수 목록을 호출합니다.
env = 환경(EMITTER_LIST = [e, e2])
b = 빌더("my_build < $TARGET > $SOURCE",
이미터 = '$EMITTER_LIST')

# 여러 이미터를 다른 파일과 연결
# 사전을 사용하여 접미사.
def e_suf1(대상, 소스, 환경):
반환(대상 + ['another_target_file'], 소스)
def e_suf2(대상, 소스, 환경):
반환(대상, 소스 + ['another_source_file'])
b = 빌더("my_build < $TARGET > $SOURCE",
이미터 = {'.suf1' : e_suf1,
'.suf2' : e_suf2})

멀티
이 빌더가 동일한 작업에 대해 여러 번 호출될 수 있는지 여부를 지정합니다.
대상 파일. 기본값은 0입니다. 이는 빌더를 여러 개 호출할 수 없음을 의미합니다.
동일한 대상 파일에 대한 횟수입니다. 동일한 내용으로 건축업자를 여러 번 호출
target은 단순히 추가 소스 파일을 대상에 추가합니다. 변경이 허용되지 않습니다
대상과 연관된 환경, 추가 환경 재정의 지정 또는
다른 빌더를 대상과 연관시키십시오.

환경
이 빌더를 사용하여 소스 코드를 가져오는 데 사용할 수 있는 구성 환경입니다.
(참고로 이 환경은 지원 일반 대상 파일의 일반 빌드에 사용됩니다.
대상 파일에 대해 Builder를 호출하는 데 사용된 환경을 사용합니다.)

발전기
타겟을 빌드하기 위해 실행될 작업 목록을 반환하는 함수
소스에서. 반환된 작업은 Action 개체이거나 다음 항목일 수 있습니다.
Action 객체로 변환될 수 있습니다(다음 섹션 참조).

생성기 함수는 네 가지 인수를 사용합니다. - 소스 노드 목록, 목표 -
대상 노드 목록, 환경 - 건설 환경, for_signature - 참이나 거짓
빌드 생성을 위해 생성기가 호출되는지 여부를 지정하는 값
서명(실제로 명령을 실행하는 것과 반대) 예:

def g(소스, 대상, 환경, for_signature):
return [["gcc", "-c", "-o"] + 대상 + 소스]

b = 빌더(생성기=g)

The 발전기 그리고 동작 동일한 빌더에 인수를 둘 다 사용할 수 없습니다.

src_builder
소스 파일 이름 접미사가 다음과 일치하지 않을 때 사용할 빌더를 지정합니다.
건축업자의 접미사. 이 인수를 사용하면 다단계 빌더가 생성됩니다.

단일 소스
이 빌더가 호출당 정확히 하나의 소스 파일을 예상하도록 지정합니다. 이상을 베푸는 것
대상 파일이 없는 하나의 소스 파일로 인해 빌더가 암시적으로 호출됩니다.
여러 번(주어진 각 소스에 대해 한 번). 여러 소스 파일을 함께 제공
대상 파일을 사용하면 UserError 예외가 발생합니다.

The 발전기 그리고 동작 동일한 빌더에 인수를 둘 다 사용할 수 없습니다.

source_ext_match
지정된 경우 동작 인수는 사전이며,
빌더에 여러 소스 파일이 전달되면 모든 소스 파일의 확장자가
소스 파일이 일치합니다. 이 빌더가 소스 목록과 함께 호출되는 것이 합법적인 경우
확장자가 다른 파일의 경우 다음 설정을 통해 이 검사를 억제할 수 있습니다.
source_ext_match없음 또는 다른 참이 아닌 값. 언제 source_ext_match is
장애를 입히다, 스콘 첫 번째 지정된 소스 파일의 접미사를 사용하여
의 적절한 조치 동작 사전.

다음 예에서는 source_ext_match 방지 스콘 출구에서
접미사가 일치하지 않아 오류가 발생했습니다. foo.in 그리고 foo.extra.

b = Builder(action={'.in' : '빌드 $SOURCES > $TARGET'},
source_ext_match = 없음)

env = 환경(BUILDERS = {'MyBuild':b})
env.MyBuild('foo.out', ['foo.in', 'foo.extra'])

환경
이 빌더를 사용하여 소스 코드를 가져오는 데 사용할 수 있는 구성 환경입니다.
(참고로 이 환경은 지원 일반 대상 파일의 일반 빌드에 사용됩니다.
대상 파일에 대해 Builder를 호출하는 데 사용된 환경을 사용합니다.)

b = 빌더(action="빌드 < $SOURCE > $TARGET")
env = 환경(BUILDERS = {'MyBuild' : b})
env.MyBuild('foo.out', 'foo.in', my_arg = 'xyzzy')

chdir
scons가 이 빌더에 대해 지정된 작업을 실행할 디렉터리입니다. 만약에
전에, chdir 인수가 문자열이거나 디렉터리 노드인 경우 scons는 지정된 항목으로 변경됩니다.
예배 규칙서. 만약 chdir 문자열이나 노드가 아니고 0이 아닌 경우 scons는
대상 파일의 디렉터리로 변경합니다.

scons는 지원 구성 변수의 확장을 자동으로 수정합니다.
처럼 $TARGET 그리고 $소스 chdir 키워드 인수를 사용할 때, 즉 확장된
파일 이름은 여전히 ​​최상위 SConstruct 디렉토리를 기준으로 하며,
결과적으로 chdir 디렉토리에 비해 올바르지 않습니다. chdir을 사용하여 생성된 빌더
키워드 인수는 다음과 같은 구성 변수 확장을 사용해야 합니다.
${TARGET.file} 그리고 ${소스.파일} 대상의 파일 이름 부분만 사용하고
출처.

b = 빌더(action="build < ${SOURCE.file} > ${TARGET.file}",
chdir=1)
env = 환경(BUILDERS = {'MyBuild' : b})
env.MyBuild('sub/dir/foo.out', 'sub/dir/foo.in')

경고 : Python은 모든 스레드에 대해 하나의 현재 디렉터리 위치만 유지합니다. 이것
의 사용을 의미한다. chdir 인수 의지 지원 SCons와 함께 일하세요 -j 옵션이기 때문에
SCons에 의해 생성된 개별 작업자 스레드는 시작할 때 서로 간섭합니다.
디렉토리 변경.

Builder 객체가 생성될 때 제공되는 추가 키워드 인수(즉,
Builder() 함수가 호출됨)가 실행 중인 구성 환경에 설정됩니다.
Builder 객체가 호출될 때. 여기서의 표준적인 예는 다음과 같습니다.
소스 코드 시스템의 저장소에 대한 구성 변수입니다.

빌더가 제공되는 추가 키워드 인수 대상 호출되는 것은 오직
해당 특정 Builder 호출(및 기타 파일)로 생성된 대상과 연결됩니다.
호출의 결과로 생성됨).

이러한 추가 키워드 인수는 다음 함수에 전달됩니다. 명령 생성기
함수, 함수 작업, 이미터 함수.

동작 사물
The 건축업자() 함수는 동작 키워드 인수를 적절한 내부로
액션 객체. 또한 다음을 사용하여 명시적으로 Action 객체를 생성할 수도 있습니다. 동작() 글로벌
함수는 다음으로 전달될 수 있습니다. 건축업자() 기능. 이것은 다음에 사용될 수 있습니다
Action 객체를 더 유연하게 구성하거나 단순히 허용하는 것보다 더 효율적일 수 있습니다.
각각의 개별 Builder 객체는 여러 Builder 객체가 필요할 때 별도의 작업을 생성합니다.
같은 일을하는 것.

The 동작() 전역 함수는 다음과 같은 작업에 적합한 개체를 반환합니다.
첫 번째 인수의 유형:

동작
첫 번째 인수가 이미 Action 개체인 경우 해당 개체가 반환됩니다.


첫 번째 인수가 문자열이면 명령줄 작업이 반환됩니다. 참고
명령줄 문자열 앞에는 @ (at-sign)은 인쇄를 억제합니다.
지정된 명령줄 또는 - (하이픈)은 종료 상태를 무시합니다.
지정된 명령:

작업('$CC -c -o $TARGET $SOURCES')

# 실행 중인 줄을 인쇄하지 않습니다.
Action('@build $TARGET $SOURCES')

# 반환 값을 무시합니다
Action('-빌드 $TARGET $SOURCES')

명부
첫 번째 인수가 목록이면 Action 개체 목록이 반환됩니다. 행동
목록의 각 요소에 대해 필요에 따라 객체가 생성됩니다. 요소인 경우 이내 전에,
목록 자체는 목록이고 내부 목록은 실행될 명령 및 인수입니다.
명령줄을 통해. 이를 통해 공백을 인수로 묶을 수 있습니다.
목록 내의 목록에 명령을 정의합니다.

Action([['cc', '-c', '-DWHITE SPACE', '-o', '$TARGET', '$SOURCES']])

함수
첫 번째 인수가 Python 함수인 경우 Action 함수가 반환됩니다. 파이썬
함수는 세 개의 키워드 인수를 취해야 합니다. 목표 (노드 객체는
대상 파일), (소스 파일을 나타내는 Node 객체) 및 환경 (
대상 파일을 빌드하는 데 사용되는 구성 환경). 그만큼 목표 그리고
대상 파일이나 소스가 두 개 이상인 경우 인수는 노드 개체의 목록일 수 있습니다.
파일. 실제 대상 및 소스 파일 이름은 해당 노드에서 검색할 수 있습니다.
내장된 Python str() 함수를 통한 객체:

target_file_name = str(대상)
source_file_names = map(lambda x: str(x), 소스)

함수는 0을 반환해야 합니다. 없음 타겟의 성공적인 빌드를 나타냅니다.
파일. 함수는 예외를 발생시키거나 0이 아닌 종료 상태를 반환할 수 있습니다.
실패한 빌드를 나타냅니다.

def build_it(대상 = 없음, 소스 = 없음, env = 없음):
# 소스에서 타겟을 빌드
0를 반환

a = 액션(build_it)

작업 인수가 위의 값 중 하나가 아닌 경우 None이 반환됩니다.

두 번째 인수는 선택 사항이며 다음과 같은 경우 인쇄되는 출력을 정의하는 데 사용됩니다.
실제로 액션이 수행됩니다. 이 매개변수가 없거나 비어 있는 경우
문자열, 작업 유형에 따른 기본 출력이 사용됩니다. 예를 들어,
명령줄 작업은 실행된 명령을 인쇄합니다. 인수는 Python이어야 합니다.
함수 또는 문자열.

첫 번째 경우에는 내용을 설명하기 위해 인쇄할 문자열을 반환하는 함수입니다.
조치가 실행되고 있습니다. 이 기능은 다음에 의해 지정될 수도 있습니다. str함수= 키워드
논쟁. 파일을 빌드하는 함수와 마찬가지로 이 함수도 세 가지 키워드를 취해야 합니다.
인수 : 목표 (대상 파일을 나타내는 Node 객체), (노드 객체
소스 파일을 나타냄) 및 환경 (건축 환경). 그만큼 목표 그리고
대상 파일이나 소스가 두 개 이상인 경우 인수는 노드 개체의 목록일 수 있습니다.
파일.

두 번째 경우에는 문자열 자체를 제공합니다. 문자열은 다음으로 지정할 수도 있습니다.
cmdstr= 키워드 인수. 문자열에는 일반적으로 변수, 특히 $TARGET(S) 및
$SOURCE(S) 또는 선택적으로 어딘가에 정의된 단일 변수로 구성됩니다.
또 다른. SCons 자체는 후자 변형을 많이 사용합니다.

예 :

def build_it(대상, 소스, 환경):
# 소스에서 타겟을 빌드
0를 반환

def string_it(대상, 소스, 환경):
"'%s'에서 '%s' 건물"을 반환합니다. %(대상[0], 소스[0])

# 위치 인수를 사용합니다.
f = 액션(build_it, string_it)
s = Action(build_it, "'$SOURCE'에서 '$TARGET' 빌드")

# 또는 키워드 인수를 사용합니다.
f = 액션(build_it, strfunction=string_it)
s = Action(build_it, cmdstr="'$SOURCE'에서 '$TARGET' 빌드")

# 구성 가능한 변수를 제공할 수 있습니다.
l = 액션(build_it, '$STRINGIT')

세 번째 이후의 인수가 존재하는 경우 구성 변수 또는
값이 서명에 포함될 구성 변수 목록
액션이 변경되었기 때문에 대상을 다시 빌드해야 하는지 여부를 결정할 때의 액션입니다. 그만큼
변수는 다음으로 지정할 수도 있습니다. 바리스트= 키워드 매개변수; 둘 다 존재하는 경우
결합됩니다. 이는 특정 작업이 수행될 때 대상을 다시 빌드할 때마다 필요합니다.
건설 변수가 변경됩니다. 이는 문자열 작업에는 자주 필요하지 않습니다.
확장된 변수는 일반적으로 명령줄의 일부이지만 다음과 같은 경우 필요할 수 있습니다.
Python 함수 작업은 생성할 때 구성 변수의 값을 사용합니다.
명령 행.

def build_it(대상, 소스, 환경):
# 'XXX' 구성 변수에서 타겟을 빌드합니다.
open(대상[0], 'w').write(env['XXX'])
0를 반환

# 위치 인수를 사용합니다.
a = 액션(build_it, '$STRINGIT', ['XXX'])

# 또는 키워드 인수를 사용합니다.
a = 액션(build_it, varlist=['XXX'])

The 동작() 전역 함수에는 다음과 같은 선택적 키워드 인수를 전달할 수 있습니다.
Action 객체의 동작을 수정합니다.

chdir The chdir 키워드 인수는 scons가 다음 작업을 실행하도록 지정합니다.
지정된 디렉토리로 변경됩니다. 만약 chdir 인수가 문자열이거나 디렉터리입니다.
노드, scons는 지정된 디렉터리로 변경됩니다. 만약 chdir 인수가 문자열이 아닙니다.
또는 Node이고 XNUMX이 아닌 경우 scons는 대상 파일의 디렉토리로 변경됩니다.

scons는 지원 다음과 같은 구성 변수의 확장을 자동으로 수정합니다.
$TARGET 그리고 $소스 chdir 키워드 인수를 사용할 때 -- 즉, 확장된 파일
이름은 여전히 ​​최상위 SConstruct 디렉토리에 상대적이므로 결과적으로
chdir 디렉토리와 관련하여 올바르지 않습니다. chdir 키워드 인수를 사용하여 생성된 빌더
다음과 같은 구성 변수 확장을 사용해야 합니다. ${TARGET.file} 그리고 ${소스.파일}
대상 및 소스의 파일 이름 부분만 사용합니다.

a = Action("빌드 < ${SOURCE.file} > ${TARGET.file}",
chdir=1)

종료 기능 The 동작() 전역 함수도 종료 기능 키워드 인수
종료 상태(또는 반환 값)가 전달되는 함수를 지정합니다.
지정된 작업을 수행하며 임의 또는 수정된 값을 반환할 수 있습니다. 이것은 다음과 같은 용도로 사용될 수 있습니다.
예를 들어 Action 객체의 반환 값이 특수 조건에서 무시되어야 함을 지정하려면
따라서 조건과 SCons는 작업이 항상 성공한다는 점을 고려해야 합니다.

def Always_succeed(들):
# 항상 성공을 나타내는 0을 반환합니다.
0를 반환
a = Action("빌드 < ${SOURCE.file} > ${TARGET.file}",
종료statfunc=always_succeed)

배치_키 The 배치_키 키워드 인수를 사용하여 작업이 생성할 수 있음을 지정할 수 있습니다.
여러 개의 독립적인 소스 파일을 동시에 처리하여 여러 대상 파일을 처리합니다. (그만큼
표준적인 예는 여러 개체 파일을 전달하여 여러 개체 파일을 "일괄 컴파일"하는 것입니다.
소스 파일을 Microsoft의 Visual C/C++와 같은 컴파일러의 단일 호출로 변환
컴파일러.) 배치_키 인수는 False가 아니고 호출할 수 없는 Python 값입니다.
구성된 Action 객체는 스콘 Action으로 구축된 모든 타겟을 수집합니다.
동일한 구성 환경으로 단일 호출로 구성됩니다.
Action 객체의 명령줄이나 함수. 명령줄은 일반적으로
CHANGED_SOURCES 구성 변수(그리고 아마도 CHANGED_TARGETS개 또한) 그냥 통과시키다
대상이 변경된 이후 실제로 변경된 소스를 명령줄에 추가합니다.
세워짐.

예:

a = Action('빌드 $CHANGED_SOURCES', 배치_키=True)

The 배치_키 인수는 키를 반환하는 호출 가능한 함수일 수도 있습니다.
배치 구축을 위해 수집할 대상 파일의 다양한 "배치"를 식별하는 데 사용됩니다. ㅏ
배치_키 함수는 다음 인수를 취해야 합니다:

동작
작업 개체입니다.

환경
대상에 대해 구성된 구성 환경입니다.

목표
구성된 특정 작업에 대한 대상 목록입니다.


구성된 특정 작업에 대한 소스 목록입니다.

반환된 키는 일반적으로 인수에서 파생된 값의 튜플이어야 합니다.
적절한 논리를 사용하여 여러 호출을 일괄 처리하는 방법을 결정합니다. 을 위한
예를 들어 배치_키 함수는 특정 값을 반환하기로 결정할 수 있습니다.
의 구성 변수 환경 야기할 주장 스콘 일괄 빌드
해당 변수의 값이 일치하는 대상을 지정하거나 id()의
전체 건설 환경, 이 경우 스콘 모든 대상을 일괄 빌드합니다.
동일한 건축환경으로 구성되어 있습니다. 돌아오는 중 없음 나타냅니다
특정 목표는 지원 일괄 빌드의 일부가 되지만 대신 빌드됩니다.
작업의 명령이나 기능을 별도로 호출하여 수행합니다. 예:

def 배치_키(액션, 환경, 대상, 소스):
tdir = 대상[0].dir
tdir.name == '특별'인 경우:
# 어떤 타겟도 일괄 빌드하지 마세요
# 특수/하위 디렉토리에 있습니다.
반환 없음
반환 (id(action), id(env), tdir)
a = Action('빌드 $CHANGED_SOURCES', 배치_키=배치_키)

그 외 동작 기능
스콘 다양한 공통 파일 및 디렉토리를 정렬하는 다양한 기능을 제공합니다.
조작이 수행됩니다. 이는 Ant 빌드의 "작업"과 개념이 유사합니다.
도구이지만 구현은 약간 다릅니다. 이러한 기능은 실제로는 그렇지 않습니다.
함수가 호출될 때 지정된 작업을 수행하지만 대신
적절한 시점에 실행될 수 있는 Action 객체입니다. (객체지향에서는
용어로 말하면 실제로는 Action입니다. 공장 Action 객체를 반환하는 함수입니다.)

실제로 이러한 작업 기능을 의도하는 두 가지 자연스러운 방법이 있습니다.
익숙한.

먼저 SConscript 파일을 읽는 시점에 작업을 수행해야 하는 경우,
당신은 실행하다 이를 수행하는 전역 함수:

실행(터치('파일'))

둘째, 이러한 함수를 사용하여 사용자가 사용할 목록에 작업을 제공할 수 있습니다. Command
방법. 이를 통해 보다 복잡한 파일 조작 시퀀스를 수행할 수 있습니다.
플랫폼별 외부 명령에 의존하지 않고

env = 환경(TMPBUILD = '/tmp/builddir')
env.Command('foo.out', 'foo.in',
[Mkdir('$TMPBUILD'),
복사('$TMPBUILD', '${SOURCE.dir}'),
"cd $TMPBUILD && 만들기",
삭제('$TMPBUILD')])

Chmod(목적지, 모드)
지정된 항목에 대한 권한을 변경하는 Action 개체를 반환합니다. 목적지 파일 또는
지정된 디렉토리 모드. 예 :

실행(Chmod('파일', 0755))

env.Command('foo.out', 'foo.in',
[복사('$TARGET', '$SOURCE'),
Chmod('$TARGET', 0755)])

복사(목적지, SRC)
복사할 Action 객체를 반환합니다. SRC 소스 파일이나 디렉터리 목적지
대상 파일 또는 디렉터리. 예:

실행(복사('foo.output', 'foo.input'))

env.Command('bar.out', 'bar.in',
복사('$TARGET', '$SOURCE'))

삭제(항목, [필수_존재])
지정된 항목을 삭제하는 작업을 반환합니다. 항목, 이는 파일 또는 디렉토리일 수 있습니다.
나무. 디렉터리를 지정하면 전체 디렉터리 트리가 제거됩니다. 만약
필수_존재 플래그가 설정된 경우 지정된 항목이 설정되면 Python 오류가 발생합니다.
존재하지 않는다; 기본값은 필수_존재=0즉, Action은 자동으로 아무 작업도 수행하지 않습니다.
항목이 존재하지 않는 경우. 예:

실행(삭제('/tmp/buildroot'))

env.Command('foo.out', 'foo.in',
[삭제('${TARGET.dir}'),
MyBuildAction])

실행(삭제('file_that_must_exist', must_exist=1))

Mkdir(DIR)
지정된 디렉터리를 생성하는 작업을 반환합니다. DIR . 예 :

실행(Mkdir('/tmp/outputdir'))

env.Command('foo.out', 'foo.in',
[Mkdir('/tmp/builddir'),
복사('/tmp/builddir/foo.in', '$SOURCE'),
"cd /tmp/builddir && make",
복사('$TARGET', '/tmp/builddir/foo.out')])

이동하다(목적지, SRC)
지정된 것을 이동하는 작업을 반환합니다. SRC 파일이나 디렉터리를 지정된 위치로 목적지
파일이나 디렉토리. 예:

Execute(이동('file.destination', 'file.source'))

env.Command('output_file', 'input_file',
[MyBuildAction,
이동('$TARGET', 'file_created_by_MyBuildAction')])

만지다(파일)
지정된 수정 시간을 업데이트하는 작업을 반환합니다. 파일. 예 :

실행(터치('file_to_be_touched'))

env.Command('marker', 'input_file',
[MyBuildAction,
터치('$TARGET')])

변하기 쉬운 치환
명령을 실행하기 전에, 스콘 에서 구성 변수 보간을 수행합니다.
빌더의 명령줄을 구성하는 문자열입니다. 변수는 $ 접두사.
구성 변수 외에도 scons는 각 명령에 대해 다음 변수를 제공합니다.
실행:

CHANGED_SOURCES
타겟 이후 변경된 빌드 명령의 모든 소스 파일 이름
마지막으로 지어졌습니다.

CHANGED_TARGETS개
이후 변경된 소스에서 빌드될 모든 대상의 파일 이름
타겟이 마지막으로 빌드되었습니다.

SOURCE
빌드 명령의 소스 파일 이름 또는 첫 번째 소스의 파일 이름
여러 소스가 빌드되는 경우.

SOURCES
빌드 명령 소스의 파일 이름입니다.

TARGET
빌드 중인 대상의 파일 이름 또는 첫 번째 대상의 파일 이름
여러 목표가 건설되고 있습니다.

목표
빌드 중인 모든 대상의 파일 이름입니다.

변경되지 않은_소스
다음을 포함하는 빌드 명령의 모든 소스 파일 이름 지원 이후로 변경됨
타겟이 마지막으로 빌드되었습니다.

UNCHANGED_TARGETS
다음이 있는 소스에서 빌드될 모든 대상의 파일 이름 지원 변경
타겟이 마지막으로 빌드된 이후부터입니다.

(위의 변수는 예약되어 있으며 구성에 설정되지 않을 수 있습니다.
환경.)

예를 들어, 구성 변수 CC='cc',targets=['foo'] 및
소스=['foo.c', 'bar.c']:

action='$CC -c -o $TARGET $SOURCES'

명령줄이 생성됩니다.

cc -c -o foo foo.c bar.c

변수 이름은 중괄호({})로 묶어서 이름과 변수 이름을 구분할 수 있습니다.
후행 문자. 중괄호 안에 변수 이름에는 Python 슬라이스가 있을 수 있습니다.
목록에서 하나 이상의 항목을 선택하려면 아래 첨자가 추가됩니다. 이전 예에서는
끈:

${소스[1]}

다음을 생성합니다.

바.씨

또한 변수 이름에는 다음과 같은 특수 수정자가 추가될 수 있습니다.
보간된 문자열을 수정하려면 중괄호를 사용하세요.

기지
디렉터리 경로를 포함하지만 접미사를 제외한 파일 이름의 기본 경로입니다.

DIR
파일이 존재하는 디렉터리의 이름입니다.

파일
디렉터리 부분을 제외한 파일 이름입니다.

파일베이스
파일의 기본 이름에서 접미사와 디렉터리를 뺀 것입니다.

접미사
파일 접미사 만 있으면됩니다.

아스파파트
파일의 절대 경로 이름입니다.

POSIX
POSIX 형식의 경로로, 디렉터리는 다음으로 구분됩니다. / (슬래시) 아님
백슬래시. 이는 경로가 다음을 참조할 때 Windows 시스템에서 때때로 필요합니다.
다른 (POSIX) 시스템의 파일.

srcpath
이 파일에 연결된 소스 파일의 디렉터리 및 파일 이름은 다음과 같습니다.
변형 디렉토리(). 이 파일이 연결되어 있지 않으면 디렉터리와 파일 이름만 반환됩니다.
변하지 않은.

srcdir
다음을 통해 이 파일에 링크된 소스 파일이 포함된 디렉터리입니다. 변형 디렉토리(). 만약에
이 파일은 링크되어 있지 않으며 파일 이름의 디렉터리 부분만 반환합니다.

rsrc경로
이 파일에 연결된 소스 파일의 디렉터리 및 파일 이름은 다음과 같습니다.
변형 디렉토리(). 파일이 로컬에는 없지만 리포지토리에 있는 경우 경로는
저장소에 반환됩니다. 이 파일이 연결되어 있지 않으면 다음을 반환합니다.
디렉토리와 파일 이름은 변경되지 않습니다.

rsrcdir
다음을 통해 이 파일에 링크된 소스 파일을 포함하는 Repository 디렉터리
변형 디렉토리(). 이 파일이 연결되어 있지 않으면 파일의 디렉터리 부분만 반환됩니다.
파일 이름.

예를 들어 지정된 대상은 해당 수정자에 대해 다음과 같이 확장됩니다.

$TARGET => 하위/디렉터리/file.x
${TARGET.base} => 하위/디렉터리/파일
${TARGET.dir} => 하위/디렉터리
${TARGET.file} => 파일.x
${TARGET.filebase} => 파일
${TARGET.suffix} => .x
${TARGET.abspath} => /top/dir/sub/dir/file.x

SConscript('src/SConscript',variant_dir='sub/dir')
$SOURCE => 하위/디렉터리/file.x
${SOURCE.srcpath} => src/file.x
${SOURCE.srcdir} => src

저장소('/usr/저장소')
$SOURCE => 하위/디렉터리/file.x
${SOURCE.rsrcpath} => /usr/repository/src/file.x
${SOURCE.rsrcdir} => /usr/repository/src

중괄호 중괄호는 임의의 Python 코드를 묶는 데에도 사용할 수 있습니다.
평가되었습니다. (실제로 위의 수식어는 이렇게 대체됩니다.
TARGET, SOURCES 등을 나타내는 Python 객체의 속성) 섹션을 참조하세요.
이것이 어떻게 사용될 수 있는지에 대한 더 철저한 예는 아래의 "Python 코드 대체"를 참조하세요.

마지막으로, 변수 이름은 구성과 관련된 호출 가능한 Python 함수일 수 있습니다.
환경의 변수. 이 함수는 4개의 인수를 취해야 합니다. 목표 - 목록
대상 노드, - 소스 노드 목록, 환경 - 건설 환경,
for_signature - 함수가 호출되는지 여부를 지정하는 부울 값
빌드 서명을 생성합니다. SCons는 호출된 함수가 반환하는 모든 것을 삽입합니다.
확장된 문자열:

def foo(대상, 소스, 환경, for_signature):
"바"를 반환

# $BAR를 "bar baz"로 확장합니다.
env=환경(FOO=foo, BAR="$FOO 바즈")

이 기능을 사용하면 콜러블을 생성하여 Python 함수에 인수를 전달할 수 있습니다.
객체에 하나 이상의 인수를 저장한 다음 해당 인수를 사용하는 클래스입니다.
__부르다__() 메소드가 호출됩니다. 이 경우 전체 변수 확장은 다음과 같아야 합니다.
인수가 인스턴스화와 연결되도록 중괄호로 묶습니다.
수업 중:

클래스 foo(객체):
def __init__(self, arg):
self.arg = 인수

def __call__(self, 대상, 소스, 환경, for_signature):
return self.arg + "바"

# $BAR를 "내 인수 bar baz"로 확장합니다.
env=환경(FOO=foo, BAR="${FOO('내 인수')} baz")

특수 의사 변수 $( 그리고 $) 명령줄의 일부를 둘러싸는 데 사용될 수 있습니다.
그건 바뀔 수도 있어 없이 재구축을 유발합니다. 즉, 재구축에 포함되지 않습니다.
이 명령으로 빌드된 대상 파일의 서명입니다. 사이의 모든 텍스트 $( 그리고 $) 될거야
파일 서명에 추가되기 전에 명령줄에서 제거됩니다. $( 그리고 $)
명령이 실행되기 전에 제거됩니다. 예를 들어 명령줄은 다음과 같습니다.

echo 마지막 빌드가 $( $TODAY $) 발생했습니다. > $TARGET

다음 명령을 실행합니다.

echo 마지막 빌드가 $TODAY에 발생했습니다. > $TARGET

그러나 대상 파일에 추가되는 명령 서명은 다음과 같습니다.

echo 마지막 빌드가 발생했습니다. > $TARGET

Python 암호 치환
내의 모든 Python 코드 ${-} 쌍은 Python 전역과 함께 Python 'eval'에 의해 평가됩니다.
현재 환경의 구성 변수 세트로 설정됩니다. 따라서 다음과 같은 경우:

환경['COND'] = 0
env.Command('foo.out', 'foo.in',
'''echo ${COND==1 및 'FOO' 또는 'BAR'} > $TARGET''')

실행되는 명령은 다음 중 하나입니다.

에코 FOO > foo.out

or

에코 바 > foo.out

명령이 실행될 때 env['COND']의 현재 값에 따라. 평가
SConscript를 읽을 때가 아니라 대상이 빌드될 때 발생합니다. 그래서 만약
env['COND']는 나중에 SConscript에서 변경되며 최종 값이 사용됩니다.

여기에 더 흥미로운 예가 있습니다. COND, FOO 및 BAR은 모두 환경입니다.
변수 및 해당 값이 최종 명령으로 대체됩니다. FOO는 리스트이므로
요소는 공백으로 구분되어 보간됩니다.

env=환경()
환경['COND'] = 0
env['FOO'] = ['foo1', 'foo2']
env['BAR'] = '바바'
env.Command('foo.out', 'foo.in',
'echo ${COND==1 및 FOO 또는 BAR} > $TARGET')

# 다음을 실행합니다:
# echo foo1 foo2 > foo.out

SCons는 구성 변수를 명령줄로 변환할 때 다음 규칙을 사용합니다.


값이 문자열인 경우 공백으로 구분된 명령줄 목록으로 해석됩니다.
인수.

명부
값이 목록인 경우 명령줄 인수 목록으로 해석됩니다. 각
목록의 요소가 문자열로 변환됩니다.

기타
목록이나 문자열이 아닌 모든 것은 문자열로 변환되어 다음과 같이 해석됩니다.
단일 명령줄 인수.

뉴 라인
개행 문자(\n)는 줄을 구분합니다. 개행 구문 분석은 다른 모든 작업 후에 수행됩니다.
구문 분석이므로 인수(예: 파일 이름)에 포함된 내용을 포함할 수 없습니다.
개행 문자. 이 제한은 SCons의 향후 버전에서 사라질 가능성이 높습니다.

스캐너 사물
당신은을 사용할 수 있습니다 스캐너 암시적으로 새로운 파일 유형을 검사하기 위한 객체를 정의하는 함수
종속성. 그만큼 스캐너 함수는 다음 인수를 허용합니다:

기능
이는 다음 중 하나일 수 있습니다. 1) 노드(파일)를 처리하고 반환하는 Python 함수
다음에서 발견된 암시적 종속성(파일 이름)을 나타내는 파일 노드 목록
내용물; 또는: 2) 키를 매핑하는 사전(일반적으로 파일 접미사이지만 아래 참조)
자세한 내용은) 호출해야 하는 다른 스캐너에 적용됩니다.

인수가 실제로 Python 함수인 경우 함수는 3~4개를 취해야 합니다.
인수 :

def scanner_function(노드, 환경, 경로):

def scanner_function(노드, 환경, 경로, 인수=없음):

The 노드 인수는 파일을 나타내는 내부 SCons 노드입니다. 사용 str(노드)
파일 이름을 가져오고 node.get_contents() 파일의 내용을 가져옵니다.
참고로 파일은 지원 스캐너가 호출되기 전에 존재하는 것이 보장되므로
스캐너 기능은 스캔한 파일이 다음과 같은 가능성이 있는지 확인해야 합니다.
존재하지 않습니다(예: 다른 파일에서 빌드된 경우).

The 환경 인수는 스캔을 위한 구성 환경입니다. 그것에서 값을 가져옵니다
를 사용하여 환경.사전() 방법.

The 통로 인수는 파일을 검색할 수 있는 디렉터리의 튜플(또는 목록)입니다.
이는 일반적으로 에 의해 반환된 튜플입니다. 경로_기능 인수(아래 참조).

The 아르헨티나 인수는 스캐너가 생성될 때 제공된 인수입니다(있는 경우).

name
스캐너의 이름입니다. 주로 내부적으로 Scanner를 식별하는데 사용됩니다.

논의
지정된 경우 스캐너 함수에 전달되는 선택적 인수입니다.
(위에 설명됨) 및 경로 기능(아래에 지정됨).

하늘
어떤 스캐너를 사용해야 하는지 결정하는 데 사용할 수 있는 선택적 목록
주어진 노드. 파일 이름을 검색하는 일반적인 경우 이 인수는 목록이 됩니다.
이 스캐너가 검색 방법을 알고 있는 다양한 파일 형식에 대한 접미사입니다. 만약
인수가 문자열이면 현재 환경에 따라 목록으로 확장됩니다.

경로_기능
4개 또는 5개의 인수를 취하는 Python 함수: 구성 환경,
첫 번째 대상이 있는 SConscript 파일이 포함된 디렉터리의 노드
정의됨, 대상 노드 목록, 소스 노드 목록 및 선택적 인수
스캐너가 생성될 때 제공됩니다. 그만큼 경로_기능 다음의 튜플을 반환합니다.
이 Scanner 개체가 반환할 파일을 검색할 수 있는 디렉터리입니다.
(참고 경로찾기() 함수를 사용하여 기성품을 반환할 수 있습니다.
경로_기능 주어진 구성 변수 이름에 대해
처음부터 자신의 기능.)

node_class
이 Scanner 객체가 반환해야 하는 Node 클래스입니다. 모든 문자열 또는 기타
이 클래스에 속하지 않는 스캐너 함수에 의해 반환된 개체가 실행됩니다.
를 통해 node_factory 기능.

node_factory
문자열이나 다른 객체를 가져와 이를 문자열로 바꾸는 Python 함수
Scanner 객체가 반환할 적절한 Node 클래스입니다.

스캔_체크
노드(파일)와 구성이라는 두 개의 인수를 사용하는 선택적 Python 함수
환경을 조사하고 노드가 실제로 스캔되어야 하는지 여부를 반환합니다.
의존성. 이 검사는 스캐너에 대한 불필요한 호출을 제거하는 데 사용될 수 있습니다.
예를 들어 Node로 표시되는 기본 파일이 아직
있다.

재귀
이 스캐너를 다시 호출해야 하는지 여부를 지정하는 선택적 플래그입니다.
스캐너가 반환한 종속 파일. 이 플래그가 설정되지 않으면 노드는
하위 시스템은 검사 중인 파일에 대해서만 스캐너를 호출합니다.
예) 검사 중인 파일의 #include 줄에 지정된 파일에도 적용됩니다.
재귀 호출 가능한 함수일 수 있으며, 이 경우 다음 목록과 함께 호출됩니다.
노드를 찾았으며 재귀적으로 스캔해야 하는 노드 목록을 반환해야 합니다. 이것
추가 검색을 위해 특정 노드 하위 집합을 선택하는 데 사용할 수 있습니다.

참고 스콘 글로벌을 가지고 있다 소스파일스캐너 에 의해 사용되는 객체 목적(),
공유 객체(), 그리고 정적 개체() 어떤 스캐너를 사용해야 할지 결정하는 빌더
다른 파일 확장자. 당신은 SourceFileScanner.add_scanner() 추가 방법
자신의 Scanner 객체를 스콘 대상 프로그램을 구축하는 인프라 또는
다양한 유형의 소스 파일 목록에서 라이브러리:

def xyz_scan(노드, 환경, 경로):
내용 = node.get_text_contents()
# 내용을 스캔하고 포함된 파일을 반환합니다.

XYZScanner = 스캐너(xyz_scan)

SourceFileScanner.add_scanner('.xyz', XYZScanner)

env.Program('my_prog', ['file1.c', 'file2.f', 'file3.xyz'])

시스템별 행동


SCons와 그 구성 파일은 주로 다음 언어로 구현되었기 때문에 이식성이 매우 뛰어납니다.
파이썬. 그러나 부주의한 사람들을 가두기 위해 기다리는 몇 가지 이식성 문제가 있습니다.

.C 파일 접미사
SCons는 대문자를 처리합니다. .C 파일 접미사는 기능에 따라 다르게 표시됩니다.
기본 시스템. Linux 또는 UNIX와 같이 대소문자를 구분하는 시스템에서 SCons는
파일 .C C++ 소스 파일로 접미사를 붙입니다. Windows와 같이 대소문자를 구분하지 않는 시스템에서는
SCons는 파일을 다음과 같이 처리합니다. .C C 소스 파일로 접미사를 붙입니다.

.F 파일 접미사
SCons는 대문자를 처리합니다. .F 파일 접미사는 기능에 따라 다르게 표시됩니다.
기본 시스템. Linux 또는 UNIX와 같이 대소문자를 구분하는 시스템에서 SCons는
파일 .F 처음 실행될 Fortran 소스 파일로 접미사를 붙입니다.
표준 C 전처리기. Windows와 같이 대소문자를 구분하지 않는 시스템에서 SCons는 파일을 처리합니다.
.F Fortran 소스 파일로 접미사를 붙여야 합니다. 지원 C를 통해 실행
전처리기.

윈도우 : Cygwin에서 도구 그리고 Cygwin에서 Python Windows 파이썬
Cygwin은 사용자가 Windows 시스템에서 작업할 수 있는 도구 및 유틸리티 세트를 제공합니다.
좀 더 POSIX와 유사한 환경. Cygwin Python을 포함한 Cygwin 도구는 다음과 같이 이 작업을 수행합니다.
부분적으로는 UNIX와 유사한 경로 이름을 해석하는 기능을 공유함으로써 가능합니다. 예를 들어, 시그윈
도구는 내부적으로 /cygdrive/c/mydir과 같은 Cygwin 경로 이름을 동등한 이름으로 변환합니다.
C:/mydir의 Windows 경로 이름(C:\mydir과 동일)

python.org 및 Python과 같이 기본 Windows 실행을 위해 구축된 Python 버전
ActiveState 버전에는 Cygwin 경로 이름 의미 체계가 없습니다. 즉,
Cygwin 도구(예:
gcc, bison 및 flex)는 예측하지 못한 결과를 초래할 수 있습니다. 이런 식으로 "믹싱 앤 매칭"
작동할 수 있지만 경로 이름 사용에 세심한 주의가 필요합니다.
SConscript 파일.

실제로 사용자는 다음 규칙을 채택하여 문제를 피할 수 있습니다. gcc를 사용할 때,
Cygwin에서 제공하는 Python 인터프리터를 사용하여 SCons를 실행합니다. Microsoft Visual C/C++를 사용할 때
(또는 다른 Windows 컴파일러) python.org 또는 Python의 ActiveState 버전을 사용하여
SCons를 실행합니다.

윈도우 : scons.bat 파일
Windows 시스템에서 SCons는 래퍼를 통해 실행됩니다. scons.bat 파일. 이것은 (적어도)
두 가지 결과:

첫째, 명령줄에서 변수 할당을 사용하려는 Windows 명령줄 사용자
과제 주위에 큰따옴표를 넣어야 할 수도 있습니다.

스콘 "FOO=BAR" "BAZ=BLEH"

둘째, Cygwin 쉘은 이 파일을 다음 파일과 동일한 것으로 인식하지 않습니다. 스콘
명령줄 프롬프트에서 실행된 명령입니다. 다음 중 하나를 실행하여 이 문제를 해결할 수 있습니다.
scons.bat Cygwin 명령줄에서 또는 이름이 지정된 래퍼 셸 스크립트를 생성하여 스콘
.

MinGW
MinGW bin 디렉터리는 PATH 환경 변수 또는 PATH 변수에 있어야 합니다.
SCons의 ENV 구성 변수에서 MinGW 도구를 감지하고 사용합니다. 언제
기본 Windows Python 인터프리터에서 실행되는 SCons는 MinGW 도구를 선호합니다.
Cygwin 도구가 둘 다 설치된 경우 저장소 순서에 관계없이
PATH 변수의 디렉터리. MSVC와 MinGW가 모두 설치되어 있고 원하는 경우
MSVC 대신 MinGW를 사용하려면 다음을 전달하여 SCons에게 MinGW를 사용하도록 명시적으로 지시해야 합니다.

도구=['mingw']

SCons는 MinGW보다 MSVC 도구를 선호하므로 Environment() 함수에 추가
도구를 제공합니다.

사용 예


SCons 사용을 시작하는 데 도움이 되도록 이 섹션에는 몇 가지 일반적인 사항에 대한 간략한 개요가 포함되어 있습니다.
작업.

Basic 편집 이와 같은 서비스: a 하나의 출처 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
환경 = 환경()
env.Program(대상 = 'foo', 소스 = 'foo.c')

참고: 대상을 인수("scons foo" 또는 "scons")로 지정하여 파일을 빌드하십시오.
foo.exe"). 또는 점을 지정하여("scons .")

Basic 편집 이와 같은 서비스: 배수 출처 파일
환경 = 환경()
env.Program(target = 'foo', 소스 = Split('f1.c f2.c f3.c'))

환경 a 편집 플래그
환경 = 환경(CCFLAGS = '-g')
env.Program(대상 = 'foo', 소스 = 'foo.c')

검색 The 지방의 명부 담당 럭셔리 .h 파일
참고: 그렇습니다. 지원 -I 옵션을 직접 지정하려면 CCFLAGS를 설정해야 합니다. SCons는 건설할 것이다
CPPPATH의 올바른 -I 옵션.

env = 환경(CPPPATH = ['.'])
env.Program(대상 = 'foo', 소스 = 'foo.c')

검색 배수 디렉토리 럭셔리 .h 파일
env = 환경(CPPPATH = ['include1', 'include2'])
env.Program(대상 = 'foo', 소스 = 'foo.c')

건물 a 정적인 도서관
환경 = 환경()
env.StaticLibrary(대상 = 'foo', 소스 = Split('l1.c l2.c'))
env.StaticLibrary(대상 = 'bar', 소스 = ['l3.c', 'l4.c'])

건물 a 공유 도서관
환경 = 환경()
env.SharedLibrary(대상 = 'foo', 소스 = ['l5.c', 'l6.c'])
env.SharedLibrary(대상 = 'bar', 소스 = Split('l7.c l8.c'))

연결 a 지방의 도서관 으로 a 프로그램
env = 환경(LIBS = 'mylib', LIBPATH = ['.'])
env.Library(대상 = 'mylib', 소스 = Split('l1.c l2.c'))
env.Program(대상 = 'prog', 소스 = ['p1.c', 'p2.c'])

정의 너의 소유 건축업자 목적
Builder를 호출할 때 대상 파일 접미사를 생략할 수 있습니다.
SCons가 자동으로 추가합니다.

bld = 빌더(액션 = 'pdftex < $SOURCES > $TARGET'
접미사 = '.pdf',
src_suffix = '.tex')
env = 환경(BUILDERS = {'PDFBuilder' : bld})
env.PDFBuilder(대상 = 'foo.pdf', 소스 = 'foo.tex')

# 다음은 "bar.tex"에서 "bar.pdf"를 생성합니다.
env.PDFBuilder(대상 = '바', 소스 = '바')

또한 위의 초기화는 기본 Builder 개체를 덮어쓰므로
위에서 생성한 환경은 env.Program(), env.Object()와 같은 호출 빌더를 사용할 수 없습니다.
env.StaticLibrary() 등

첨가 너의 소유 건축업자 목적 an 환경
bld = 빌더(액션 = 'pdftex < $SOURCES > $TARGET'
접미사 = '.pdf',
src_suffix = '.tex')
환경 = 환경()
env.Append(BUILDERS = {'PDFBuilder' : bld})
env.PDFBuilder(대상 = 'foo.pdf', 소스 = 'foo.tex')
env.Program(대상 = '바', 소스 = '바.c')

또한 다른 Python 기술을 사용하여 BUILDERS 구성 변수에 추가할 수도 있습니다.
예를 들면 :

환경 = 환경()
env['BUILDERS]['PDFBuilder'] = bld

정의 너의 소유 스캐너 목적
다음 예는 매우 간단한 스캐너를 보여줍니다( kfile_scan() 기능) 그
검색 경로를 전혀 사용하지 않고 단순히 검색 경로에 있는 파일 이름을 반환합니다.
스캔한 파일의 줄. 이는 포함된 모든 파일이 다음 위치에 있다고 암시적으로 가정합니다.
최상위 디렉토리:

다시 가져 오기

include_re = re.compile(r'^include\s+(\S+)$', re.M)

def kfile_scan(노드, 환경, 경로, 인수):
내용 = node.get_text_contents()
포함 = include_re.findall(내용)
env.File(포함) 반환

kscan = 스캐너(이름 = 'kfile',
함수 = kfile_scan,
인수 = 없음,
하늘 = ['.k'])
스캐너 = Environment().Dictionary('SCANNERS')
env = 환경(SCANNERS = 스캐너 + [kscan])

env.Command('foo', 'foo.k', 'kprocess < $SOURCES > $TARGET')

bar_in = 파일('bar.in')
env.Command('bar', bar_in, 'kprocess $SOURCES > $TARGET')
bar_in.target_scanner = kscan

스캔에서 파일 노드 목록을 반환해야 한다는 점에 유의하는 것이 중요합니다.
함수에서는 파일 이름에 대한 간단한 문자열이 작동하지 않습니다. 우리가 보여주는 예에서와 같이
여기서는 파일() 노드를 생성하기 위한 현재 환경의 기능
상대 경로가 있는 일련의 파일 이름에서 즉석에서.

다음은 디렉터리 경로를 검색하는 유사하지만 더 완전한 예입니다(지정됨).
마이패스 구성 변수) 실제로 존재하는 파일의 경우:

다시 가져 오기
운영 체제 가져 오기
include_re = re.compile(r'^include\s+(\S+)$', re.M)

def my_scan(노드, 환경, 경로, 인수):
내용 = node.get_text_contents()
포함 = include_re.findall(내용)
== []를 포함하는 경우:
반환 []
결과 = []
inc에는 다음이 포함됩니다.
경로에 있는 디렉토리의 경우:
파일 = str(dir) + os.sep + inc
os.path.exists(파일)인 경우:
결과.추가(파일)
하다
env.File(결과) 반환

scanner = 스캐너(이름 = 'myscanner',
함수 = my_scan,
인수 = 없음,
하늘 = ['.x'],
path_function = FindPathDirs('MYPATH')
)
스캐너 = Environment().Dictionary('SCANNERS')
env = 환경(SCANNERS = 스캐너 + [스캐너],
MYPATH = ['incs'])

env.Command('foo', 'foo.x', 'xprocess < $SOURCES > $TARGET')

The 경로찾기이전 예에서 사용된 () 함수는 함수(실제로는
호출 가능한 Python 객체)에 지정된 디렉터리 목록을 반환합니다. $MYPATH
건설 변수. SCons가 파일을 감지할 수 있게 해줍니다. incs/foo.inc , 심지어 foo.x 이 포함되어 있습니다
foo.inc 오직. 검색 경로가 파생되는 방식을 사용자 정의해야 하는 경우,
당신은 당신 자신을 제공할 것입니다 경로_기능 Scanner 객체를 생성할 때 인수
다음과 같습니다 :

# MYPATH는 파일을 검색할 디렉터리 목록입니다.
def pf(env, dir, 대상, 소스, 인수):
top_dir = 디렉터리('#').abspath
결과 = []
환경에 'MYPATH'가 있는 경우:
env['MYPATH']의 p에 대해:
결과.추가(top_dir + os.sep + p)
결과 반환

scanner = 스캐너(이름 = 'myscanner',
함수 = my_scan,
인수 = 없음,
하늘 = ['.x'],
path_function = pf
)

만들기 a 계층 적 구축
하위 디렉터리의 SConscript 파일에 지정된 파일 이름은 다음과 관련이 있습니다.
그 하위 디렉토리.

S구성:

환경 = 환경()
env.Program(대상 = 'foo', 소스 = 'foo.c')

SConscript('하위/SConscript')

하위/SConscript:

환경 = 환경()
# sub/foo.c에서 sub/foo를 빌드합니다.
env.Program(대상 = 'foo', 소스 = 'foo.c')

SConscript('디렉터리/SConscript')

하위/디렉터리/SConscript:

환경 = 환경()
# sub/dir/foo.c에서 sub/dir/foo를 빌드합니다.
env.Program(대상 = 'foo', 소스 = 'foo.c')

공유 변수 사이에 징집병 파일
서로 공유하려는 변수를 명시적으로 내보내기() 및 가져오기()해야 합니다.
SConscript 파일.

S구성:

환경 = 환경()
env.Program(대상 = 'foo', 소스 = 'foo.c')

내보내기("환경")
SConscript('하위 디렉터리/SConscript')

하위 디렉터리/SConscript:

가져오기("환경")
env.Program(대상 = 'foo', 소스 = 'foo.c')

건물 배수 변종 이와 같은 서비스: 전에, 같은 출처
SConscript 함수에 Variant_dir 키워드 인수를 사용하여 하나 이상의 설정
특정 소스 디렉터리에 대한 별도의 변형 빌드 디렉터리 트리:

S구성:

cppdefines = ['FOO']
내보내기("cpp정의")
SConscript('src/SConscript',variant_dir='foo')

cppdefines = ['BAR']
내보내기("cpp정의")
SConscript('src/SConscript',variant_dir='bar')

src/SConscript:

Import("cpp정의")
env = 환경(CPPDEFINES = cppdefine)
env.Program(대상 = 'src', 소스 = 'src.c')

"cppdefines" 변수를 다른 값으로 설정하려면 내보내기() 메서드를 사용하세요.
SConscript 함수를 호출할 때마다.

계층 적 구축 of 도서관 링크된 a 프로그램
S구성:

env = 환경(LIBPATH = ['#libA', '#libB'])
내보내기('환경')
SConscript('libA/SConscript')
SConscript('libB/SConscript')
SConscript('메인/SConscript')

libA/SConscript:

가져오기('환경')
env.Library('a', Split('a1.c a2.c a3.c'))

libB/SConscript:

가져오기('환경')
env.Library('b', Split('b1.c b2.c b3.c'))

주/S징집병:

가져오기('환경')
e = env.Copy(LIBS = ['a', 'b'])
e.Program('foo', Split('m1.c m2.c m3.c'))

LIBPATH 디렉토리의 '#'은 최상위 레벨에 상대적임을 지정합니다.
디렉터리이므로 Main/SConscript에서 사용될 때 "Main/libA"로 바뀌지 않습니다.

라이브러리 이름에 'a' 및 'b'만 지정하면 SCons가 적절한 이름을 추가할 수 있습니다.
현재 플랫폼의 라이브러리 접두사 및 접미사(예: POSIX의 'liba.a')
시스템, Windows에서는 'a.lib').

커스터마이징 구조 변수 전에, 명령 줄입니다.
다음은 C 컴파일러를 명령줄이나
파일 custom.py.

vars = 변수('custom.py')
vars.Add('CC', 'C 컴파일러.')
env = 환경(변수=vars)
도움말(vars.GenerateHelpText(env))

사용자는 명령줄에서 C 컴파일러를 지정할 수 있습니다.

스콘 "CC=my_cc"

또는 custom.py 파일에서:

CC = 'my_cc'

또는 옵션에 대한 문서를 얻으십시오.

$ 스콘 -h

CC: C 컴파일러.
기본값: 없음
실제: 참조

사용 Microsoft 시각 C + + 미리 컴파일된 헤더
windows.h에는 모든 것과 부엌 싱크대가 포함되어 있으므로, 이를 수행하는 데 꽤 시간이 걸릴 수 있습니다.
여러 개체 파일에 대해 반복해서 컴파일하므로 Microsoft는
헤더 세트를 한 번 컴파일한 다음 이전에 컴파일된 헤더를 포함하는 메커니즘
모든 개체 파일의 헤더. 이 기술을 미리 컴파일된 헤더라고 합니다. 장군
레시피는 "StdAfx.cpp"라는 이름의 파일을 생성하는 것입니다. 이 파일에는
"StdAfx.h"를 선택한 다음 "StdAfx.h"에 미리 컴파일하려는 모든 헤더를 포함합니다.
마지막으로 컴파일 중인 모든 소스 파일의 첫 번째 헤더로 "StdAfx.h"를 포함합니다.
개체 파일에. 예를 들어:

StdAfx.h:

#포함하다
#포함하다

StdAfx.cpp:

#포함하다

Foo.cpp :

#포함하다

/* 몇 가지 작업을 수행 */

Bar.cpp:

#포함하다

/* 다른 일을 해라 */

S구성:

env=환경()
env['PCHSTOP'] = 'StdAfx.h'
환경['PCH'] = 환경.PCH('StdAfx.cpp')[0]
env.Program('MyApp', ['Foo.cpp', 'Bar.cpp'])

자세한 내용은 PCH 빌더 문서와 PCH 및 PCHSTOP을 참조하세요.
건설 변수. 미리 컴파일된 헤더의 세부 정보를 알아보려면 MSDN을 참조하세요.
/Yc, /Yu 및 /Yp에 대한 설명서입니다.

사용 Microsoft 시각 C + + 외부 디버깅 정보
프로그램 및 공유 라이브러리에 디버깅 정보를 포함하면
Microsoft는 디버깅을 포함하는 메커니즘을 제공합니다.
PDB 파일이라는 외부 파일의 정보. SCons는 다음을 통해 PDB 파일을 지원합니다.
PDB 구성 변수.

S구성:

env=환경()
env['PDB'] = 'MyApp.pdb'
env.Program('MyApp', ['Foo.cpp', 'Bar.cpp'])

자세한 내용은 PDB 구성 변수에 대한 문서를 참조하세요.

환경


SCONS_LIB_DIR
SCons Python 모듈 디렉토리를 포함하는 디렉토리를 지정합니다(예:
/홈/aroach/scons-src-0.01/src/엔진).

SCONS플래그
전달된 옵션 외에 scons에서 사용할 옵션 문자열입니다.
명령 행.

onworks.net 서비스를 사용하여 온라인으로 스콘을 사용하세요


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad




×
광고
❤️여기에서 쇼핑, 예약, 구매하세요. 비용이 들지 않아 서비스를 무료로 유지하는 데 도움이 됩니다.