C++ 컴파일, 연결, 명령줄 생성을 위한 유틸리티입니다.
회원
- action_is_enabled
- CcToolchainInfo
- 컴파일
- configure_features
- create_cc_toolchain_config_info
- create_compilation_context
- create_compilation_outputs
- create_compile_variables
- create_library_to_link
- create_link_variables
- create_linker_input
- create_linking_context
- create_linking_context_from_compilation_outputs
- create_lto_compilation_context
- do_not_use_tools_cpp_compiler_present
- get_environment_variables
- get_execution_requirements
- get_memory_inefficient_command_line
- get_tool_for_action
- is_enabled
- 링크
- merge_compilation_contexts
- merge_compilation_outputs
action_is_enabled
bool cc_common.action_is_enabled(feature_configuration, action_name)지정된 action_config가 기능 구성에서 사용 설정된 경우 true를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
feature_configuration
|
FeatureConfiguration.
필수 쿼리할 기능 구성입니다. |
action_name
|
string;
필수 action_config의 이름입니다. |
CcToolchainInfo
Provider cc_common.CcToolchainInfo사용 중인 C++ 도구 모음에 관한 정보가 포함된 제공자를 검색하는 데 사용되는 키
compile
tuple cc_common.compile(actions, feature_configuration, cc_toolchain, srcs=[], public_hdrs=[], private_hdrs=[], includes=[], quote_includes=[], system_includes=[], framework_includes=[], defines=[], local_defines=[], include_prefix='', strip_include_prefix='', user_compile_flags=[], compilation_contexts=[], name, disallow_pic_outputs=False, disallow_nopic_outputs=False, additional_inputs=[], module_interfaces=unbound)C++ 컴파일에 사용해야 합니다. (
CompilationContext
, CcCompilationOutputs
)의 튜플을 반환합니다.
<ph type="x-smartling-placeholder"></ph>
매개변수
매개변수 | 설명 |
---|---|
actions
|
작업
필수actions 객체.
|
feature_configuration
|
FeatureConfiguration.
필수 쿼리될 feature_configuration 입니다.
|
cc_toolchain
|
정보
필수 사용할 CcToolchainInfo 제공자.
|
srcs
|
sequence;
기본값은 [] 입니다. 컴파일할 소스 파일의 목록입니다. |
public_hdrs
|
sequence;
기본값은 [] 입니다. srcs 컴파일에 필요한 헤더 목록이며 종속 규칙에 의해 전이적으로 포함될 수 있습니다. |
private_hdrs
|
sequence;
기본값은 [] 입니다. srcs 컴파일에 필요한 헤더 목록이며 종속 규칙에 의해 포함되지 않아야 합니다. |
includes
|
sequence; 또는 depset;
기본값은 [] 입니다. 꺾쇠괄호와 따옴표로 모두 참조되는 헤더 파일의 검색 경로입니다. 보통 -I로 전달됩니다. 종속 항목에 전이적으로 전파됩니다. |
quote_includes
|
sequence;
기본값은 [] 입니다. 따옴표로 참조되는 헤더 파일의 검색 경로(예: #include "foo/bar/header.h". 실행 루트를 기준으로 하거나 절대값을 기준으로 할 수 있습니다. 일반적으로 -iquote와 함께 전달됩니다. 종속 항목에 전이적으로 전파됩니다. |
system_includes
|
sequence;
기본값은 [] 입니다. 꺾쇠괄호로 참조되는 헤더 파일의 검색 경로(예: #include <foo/bar/header.h>. 실행 루트를 기준으로 하거나 절대값을 기준으로 할 수 있습니다. 일반적으로 -isystem을 사용하여 전달됩니다. 종속 항목에 전이적으로 전파됩니다. |
framework_includes
|
sequence;
기본값은 [] 입니다. Apple 프레임워크에서 헤더 파일의 검색 경로입니다. 실행 루트를 기준으로 하거나 절대값을 기준으로 할 수 있습니다. 일반적으로 -F로 전달됩니다. 종속 항목에 전이적으로 전파됩니다. |
defines
|
sequence;
기본값은 [] 입니다. 이 타겟을 컴파일하는 데 필요한 정의 세트입니다. 각 정의는 문자열입니다. 종속 항목에 전이적으로 전파됩니다. |
local_defines
|
sequence;
기본값은 [] 입니다. 이 타겟을 컴파일하는 데 필요한 정의 세트입니다. 각 정의는 문자열입니다. 종속 항목에 전이적으로 전파되지 않습니다. |
include_prefix
|
string;
기본값은 '' 입니다. 이 규칙의 헤더 경로에 추가할 프리픽스입니다. 설정하면 이 규칙의 hdrs 속성에 있는 헤더에 저장소 상대 경로 앞에 추가된 이 속성 값으로 액세스할 수 있습니다. trip_include_prefix 속성의 접두사는 이 접두사가 추가되기 전에 삭제됩니다. |
strip_include_prefix
|
string;
기본값은 '' 입니다. 이 규칙의 헤더 경로에서 제거할 프리픽스입니다. 설정되면 이 규칙의 hdrs 속성에 있는 헤더는 해당 경로에서 이 접두어가 잘린 상태로 액세스할 수 있습니다. 상대 경로인 경우 패키지에 상대적인 경로로 간주됩니다. 절대 경로인 경우 저장소 상대 경로로 간주됩니다. include_prefix 속성의 접두사는 이 접두사가 제거된 후에 추가됩니다. |
user_compile_flags
|
sequence;
기본값은 [] 입니다. 컴파일 옵션의 추가 목록입니다. |
compilation_contexts
|
sequence;
기본값은 [] 입니다. 컴파일에 사용되는 종속 항목의 헤더 |
name
|
string;
필수 이 메서드로 만든 작업의 출력 아티팩트 이름을 지정하는 데 사용됩니다. `main_output` 인수도 참고하세요. |
disallow_pic_outputs
|
bool;
기본값은 False 입니다. PIC 출력을 생성해야 하는지 여부입니다. |
disallow_nopic_outputs
|
bool;
기본값은 False 입니다. NOPIC 출력을 생성해야 하는지 여부입니다. |
additional_inputs
|
sequence;
기본값은 [] 입니다. src 컴파일에 필요한 추가 파일 목록 |
module_interfaces
|
sequence;
기본값은 unbound 입니다. 컴파일할 모듈 인터페이스 소스 파일의 목록입니다. 참고: 실험용 기능이며 --experimental_cpp_modules로만 사용 설정됩니다. |
configure_features
FeatureConfiguration cc_common.configure_features(ctx=None, cc_toolchain, language=None, requested_features=[], unsupported_features=[])feature_configuration 인스턴스를 만듭니다. cpp 구성 프래그먼트가 필요합니다.
매개변수
매개변수 | 설명 |
---|---|
ctx
|
ctx; 또는 None
기본값은 None 입니다. 규칙 컨텍스트입니다. |
cc_toolchain
|
정보
필수 cc_툴체인의 근간을 이룹니다. |
language
|
string; 또는 None
기본값은 None 입니다. 구성할 언어: c++ 또는 objc (기본 C++) |
requested_features
|
sequence;
기본값은 [] 입니다. 사용 설정할 기능의 목록입니다. |
unsupported_features
|
sequence;
기본값은 [] 입니다. 현재 규칙에서 지원하지 않는 기능의 목록입니다. |
create_cc_toolchain_config_info
CcToolchainConfigInfo cc_common.create_cc_toolchain_config_info(ctx, features=[], action_configs=[], artifact_name_patterns=[], cxx_builtin_include_directories=[], toolchain_identifier, host_system_name=None, target_system_name=None, target_cpu=None, target_libc=None, compiler, abi_version=None, abi_libc_version=None, tool_paths=[], make_variables=[], builtin_sysroot=None)
CcToolchainConfigInfo
제공자 만들기
매개변수
매개변수 | 설명 |
---|---|
ctx
|
ctx;
필수 규칙 컨텍스트입니다. |
features
|
sequence;
기본값은 [] 입니다. 하나의 기능에 대한 모든 플래그 사양을 포함합니다. 인수:
- provides 에 사용 설정하려는 다른 기능 또는 작업 구성의 이름이 포함되어 있습니다.- provides 에 '제공'과 동일한 값이 포함되어 있습니다. 작업 구성을 선택해야 합니다 호환되지 않는 기능이 실수로 동시에 활성화되어 컴파일러 오류를 진단하기 어렵게 하려면 이 메서드를 사용하세요.
|
action_configs
|
sequence;
기본값은 [] 입니다. 작업 구성은 Bazel 작업에 해당하며 활성화된 기능에 따라 도구를 선택할 수 있게 해줍니다. 작업 구성 활성화는 기능과 동일한 시맨틱스로 발생합니다. 기능이 '필요'할 수 있습니다. 또는 '암시적' 다른 기능과 동일한 방식으로 작업 구성을 생성할 수 있습니다. 인수:
|
artifact_name_patterns
|
sequence;
기본값은 [] 입니다. 작업에 대한 특정 입력 또는 출력 아티팩트 카테고리의 아티팩트 이름입니다. 인수:
|
cxx_builtin_include_directories
|
sequence;
기본값은 [] 입니다. C++ 컴파일을 위해 내장된 include 디렉터리. 이러한 경로는 컴파일러가 사용하는 정확한 경로여야 하며 일반적으로 exec 루트를 기준으로 합니다. 컴파일러에서 사용하는 경로는 'gcc -E -xc++ - -v'로 결정할 수 있습니다. 현재 C++를 컴파일할 때도 C++ 경로를 사용하는데, 이는 C++ 헤더 파일과 C 헤더 파일 간에 이름 충돌이 없는 한 안전합니다. 상대 경로는 구성 파일 디렉터리를 기준으로 확인됩니다. 컴파일러가 --sysroot를 지원하는 경우 이러한 경로는 include 경로 대신 %sysroot% 를 사용하고, sysroot 속성을 지정하여 올바른 대체를 수행하는 데 필요한 정보를 Blaze에 제공해야 합니다. |
toolchain_identifier
|
string;
필수 Crosstool 출시에 있는 도구 모음의 고유 식별자입니다. 경로의 디렉터리 이름으로 이 이름을 사용할 수 있어야 합니다. [a-zA-Z_][\.\- \w]* 정규식과 일치해야 합니다. |
host_system_name
|
string; 또는 None
기본값은 None 입니다. 무시되었습니다. |
target_system_name
|
string; 또는 None
기본값은 None 입니다. 지원 중단되었습니다. GNU 시스템 이름입니다. 문자열은 CcToolchainInfo.target_gnu_system_name에 노출됩니다. |
target_cpu
|
string; 또는 None
기본값은 None 입니다. 지원 중단됨: 대신 CPU 기반 제약조건을 사용하세요. 문자열이 'k8'이면 원시 FDO 프로필 데이터의 파일 이름에서 `target_cpu` 가 생략됩니다. |
target_libc
|
string; 또는 None
기본값은 None 입니다. 지원 중단됨: 대신 OS 기반 제약조건을 사용하세요. libc 버전 문자열입니다 (예: 'glibc-2.2.2'). 문자열이 'macosx'인 경우 플랫폼은 MacOS인 것으로 간주됩니다. 그 외의 경우는 Linux입니다. 문자열은 CcToolchainInfo.libc에 노출됩니다. |
compiler
|
string;
필수 컴파일러 문자열 (예: 'gcc')입니다. 현재 도구 모음의 컴파일러는 `@bazel_tools//tools/cpp:compiler (compiler_flag)` 에 플래그 값으로 노출됩니다. 컴파일러별 플래그가 필요한 대상은 select() 문에서 https://github.com/bazelbuild/rules_cc/blob/main/cc/compiler/BUILD의 config_settings를 사용하거나 기존 설정으로 충분하지 않으면 맞춤 config_setting을 만들 수 있습니다. |
abi_version
|
string; 또는 None
기본값은 None 입니다. 사용 중인 abi로, gcc 버전입니다. 예: 'gcc-3.4'). 문자열이 C++ 도구 모음 변수 ABI로 설정됩니다. |
abi_libc_version
|
string; 또는 None
기본값은 None 입니다. 사용 중인 ABI에서 사용하는 glibc 버전 문자열이 C++ 도구 모음 변수 ABI_LIBC_VERSION으로 설정됩니다. |
tool_paths
|
sequence;
기본값은 [] 입니다. 도구 위치. 인수:
|
make_variables
|
sequence;
기본값은 [] 입니다. 규칙에서 액세스할 수 있는 make 변수입니다. |
builtin_sysroot
|
string; 또는 None
기본값은 None 입니다. 내장 sysroot. 이 속성이 없으면 Bazel은 다른 sysroot를 사용할 수 없습니다(즉, --grte_top 옵션을 통해). |
create_compilation_context
CompilationContext cc_common.create_compilation_context(headers=unbound, system_includes=unbound, includes=unbound, quote_includes=unbound, framework_includes=unbound, defines=unbound, local_defines=unbound)
CompilationContext
를 만듭니다.
매개변수
매개변수 | 설명 |
---|---|
headers
|
기본값은 unbound 입니다. 이 타겟을 컴파일하는 데 필요한 헤더 세트 |
system_includes
|
기본값은 unbound 입니다. 꺾쇠괄호로 참조되는 헤더 파일의 검색 경로 집합입니다(예: #include <foo/bar/header.h>). 실행 루트를 기준으로 하거나 절대값을 기준으로 할 수 있습니다. 일반적으로 -isystem을 사용하여 전달됨 |
includes
|
기본값은 unbound 입니다. 꺾쇠괄호와 따옴표로 모두 참조되는 헤더 파일의 검색 경로 집합입니다. 일반적으로 -I와 함께 전달됩니다. |
quote_includes
|
기본값은 unbound 입니다. 따옴표로 참조되는 헤더 파일의 검색 경로 집합입니다(예: #include "foo/bar/header.h"). 실행 루트를 기준으로 하거나 절대값을 기준으로 할 수 있습니다. 일반적으로 -iquote로 전달됨 |
framework_includes
|
기본값은 unbound 입니다. 헤더 파일의 프레임워크 검색 경로 집합 (Apple 플랫폼만 해당) |
defines
|
기본값은 unbound 입니다. 이 타겟을 컴파일하는 데 필요한 정의 세트입니다. 각 정의는 문자열입니다. 종속 항목에 전이적으로 전파됩니다. |
local_defines
|
기본값은 unbound 입니다. 이 타겟을 컴파일하는 데 필요한 정의 세트입니다. 각 정의는 문자열입니다. 종속 항목에 전이적으로 전파되지 않습니다. |
create_compilation_outputs
CcCompilationOutputs cc_common.create_compilation_outputs(objects=None, pic_objects=None)컴파일 출력 객체를 만듭니다.
매개변수
매개변수 | 설명 |
---|---|
objects
|
depset; 또는 None
기본값은 None 입니다. 객체 파일의 목록입니다. |
pic_objects
|
depset; 또는 None
기본값은 None 입니다. pic 객체 파일의 목록입니다. |
create_compile_variables
Variables cc_common.create_compile_variables(cc_toolchain, feature_configuration, source_file=None, output_file=None, user_compile_flags=None, include_directories=None, quote_include_directories=None, system_include_directories=None, framework_include_directories=None, preprocessor_defines=None, thinlto_index=None, thinlto_input_bitcode_file=None, thinlto_output_object_file=None, use_pic=False, add_legacy_cxx_options=False, variables_extension=unbound)컴파일 작업에 사용되는 변수를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
cc_toolchain
|
정보
필수 cc_tools를 추가하는 것이 좋습니다. |
feature_configuration
|
FeatureConfiguration.
필수 쿼리할 기능 구성입니다. |
source_file
|
기본값은 None 입니다. 컴파일을 위한 선택적 소스 파일입니다. cc_common.get_memory_in 관리_명령어에서 생성된 명령줄 끝에 source_file을 추가하는 것보다 여기에 source_file을 전달하는 것이 좋습니다. 이렇게 하면 도구 모음 작성자가 컴파일러 플래그를 올바르게 지정하고 배치해야 하기 때문입니다. |
output_file
|
기본값은 None 입니다. 컴파일의 출력 파일(선택사항)입니다. cc_common.get_memory_in 아이콘의 끝에 출력 파일을 추가하는 것보다 여기에 output_file을 전달하는 것이 좋습니다. 이렇게 하면 도구 모음 작성자가 컴파일러 플래그를 적절하게 지정하고 배치해야 하기 때문입니다. |
user_compile_flags
|
string의 sequence; 또는 None
기본값은 None 입니다. 추가 컴파일 플래그 (copt) 목록입니다. |
include_directories
|
depset; 또는 None
기본값은 None 입니다. include 디렉터리의 종속 항목. |
quote_include_directories
|
depset; 또는 None
기본값은 None 입니다. 인용 포함 디렉터리의 종속 항목입니다. |
system_include_directories
|
depset; 또는 None
기본값은 None 입니다. 시스템 포함 디렉터리의 종속 항목. |
framework_include_directories
|
depset; 또는 None
기본값은 None 입니다. 프레임워크 include 디렉터리의 종속 항목 |
preprocessor_defines
|
depset; 또는 None
기본값은 None 입니다. 전처리기의 종속 항목이 정의합니다. |
thinlto_index
|
string; 또는 None
기본값은 None 입니다. LTO 색인 파일 경로입니다. |
thinlto_input_bitcode_file
|
string; 또는 None
기본값은 None 입니다. LTO 백엔드에 입력되는 비트코드 파일입니다. |
thinlto_output_object_file
|
string; 또는 None
기본값은 None 입니다. LTO 백엔드에서 출력하는 객체 파일입니다. |
use_pic
|
bool;
기본값은 False 입니다. true인 경우 컴파일은 위치에 독립적인 코드를 생성합니다. |
add_legacy_cxx_options
|
bool;
기본값은 False 입니다. 사용되지 않음. |
variables_extension
|
dict;
기본값은 unbound 입니다. 컴파일 작업에서 사용하는 추가 변수의 사전입니다. |
create_library_to_link
LibraryToLink cc_common.create_library_to_link(actions, feature_configuration=None, cc_toolchain=None, static_library=None, pic_static_library=None, dynamic_library=None, interface_library=None, pic_objects=unbound, objects=unbound, alwayslink=False, dynamic_library_symlink_path='', interface_library_symlink_path='')
LibraryToLink
생성
매개변수
매개변수 | 설명 |
---|---|
actions
|
필수actions 객체.
|
feature_configuration
|
기본값은 None 입니다. 쿼리될 feature_configuration 입니다.
|
cc_toolchain
|
기본값은 None 입니다. CcToolchainInfo 공급자를 사용합니다.
|
static_library
|
File 또는 None
기본값은 None 입니다. 연결할 정적 라이브러리의 File 입니다.
|
pic_static_library
|
File 또는 None
기본값은 None 입니다. 연결할 사진 정적 라이브러리의 File 입니다.
|
dynamic_library
|
File 또는 None
기본값은 None 입니다. 연결할 동적 라이브러리의 File 입니다. 항상 런타임에 사용되며 interface_library 가 전달되지 않은 경우 연결에 사용됩니다.
|
interface_library
|
File 또는 None
기본값은 None 입니다. 연결할 인터페이스 라이브러리의 File 입니다.
|
pic_objects
|
File의 sequence;
기본값은 unbound 입니다. 실험용, 사용 금지 |
objects
|
File의 sequence;
기본값은 unbound 입니다. 실험용, 사용 금지 |
alwayslink
|
bool;
기본값은 False 입니다. --whole_archive 블록에서 정적 라이브러리/객체를 연결할지 여부입니다. |
dynamic_library_symlink_path
|
string;
기본값은 '' 입니다. solib 디렉터리에 있는 동적 라이브러리 링크의 기본 경로를 재정의합니다. 기본값을 사용하려면 빈 문자열입니다. |
interface_library_symlink_path
|
string;
기본값은 '' 입니다. solib 디렉터리에 있는 인터페이스 라이브러리 링크의 기본 경로를 재정의합니다. 기본값을 사용하려면 빈 문자열입니다. |
create_link_variables
Variables cc_common.create_link_variables(cc_toolchain, feature_configuration, library_search_directories=[], runtime_library_search_directories=[], user_link_flags=[], output_file=None, param_file=None, is_using_linker=True, is_linking_dynamic_library=False, must_keep_debug=True, use_test_only_flags=False, is_static_linking_mode=True)연결 작업에 사용되는 링크 변수를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
cc_toolchain
|
정보
필수 cc_tools를 추가하는 것이 좋습니다. |
feature_configuration
|
FeatureConfiguration.
필수 쿼리할 기능 구성입니다. |
library_search_directories
|
depset;
기본값은 [] 입니다. 연결 시 링커가 라이브러리를 찾는 디렉터리의 종속 항목입니다. |
runtime_library_search_directories
|
depset;
기본값은 [] 입니다. 로더가 런타임 시 라이브러리를 찾을 디렉터리의 종속 항목입니다. |
user_link_flags
|
sequence;
기본값은 [] 입니다. 추가 링크 플래그 (linkopts) 목록입니다. |
output_file
|
기본값은 None 입니다. 선택적 출력 파일 경로입니다. |
param_file
|
기본값은 None 입니다. 선택적 매개변수 파일 경로입니다. |
is_using_linker
|
bool;
기본값은 True 입니다. 링커 사용 시 True, 보관처리 시 False입니다. 호출자는 이를 사용된 작업 이름과 동기화해야 합니다 (실행 가능 또는 동적 라이브러리를 연결하는 경우 is_using_linker = True, 정적 라이브러리를 보관처리하는 경우 is_using_linker = False). |
is_linking_dynamic_library
|
bool;
기본값은 False 입니다. 동적 라이브러리를 만들 때는 true, 실행 또는 정적 라이브러리인 경우 False입니다. 호출자는 사용된 작업 이름과 동기화 상태를 유지해야 합니다. b/65151735가 수정되면 이 필드는 삭제됩니다. |
must_keep_debug
|
bool;
기본값은 True 입니다. False로 설정하면 bazel에서 'strip_debug_symbols'를 노출합니다. 변수의 값을 지정합니다. 이 변수는 일반적으로 출력 파일에서 디버그 기호를 삭제하기 위해 링커를 사용하는 데 사용됩니다. |
use_test_only_flags
|
bool;
기본값은 False 입니다. true로 설정하면 'is_cc_test' 변수가 설정됩니다 |
is_static_linking_mode
|
bool;
기본값은 True 입니다. 사용되지 않음. |
create_linker_input
LinkerInput cc_common.create_linker_input(owner, libraries=None, user_link_flags=None, additional_inputs=None)
LinkerInput
를 만듭니다.
매개변수
매개변수 | 설명 |
---|---|
owner
|
라벨
필수 이 입력에 사용된 모든 파일을 생성한 대상의 라벨입니다. |
libraries
|
None 또는 depset;
기본값은 None 입니다. LibraryToLink 목록
|
user_link_flags
|
None 또는 문자열의 depset 또는 문자열의 순서;
기본값은 None 입니다. 사용자 링크 플래그가 문자열로 전달됩니다. [String], [[String]] 또는 depset(String)을 허용합니다. 후자는 호환성 목적으로만 유지되므로 사용하지 않는 것이 좋습니다. depset은 평면화됩니다. unFlattened depsets()를 통해 user_link_flags를 전파하려면 끝까지 평면화되지 않도록 LinkerInput에 래핑합니다. |
additional_inputs
|
None 또는 depset;
기본값은 None 입니다. 연결 작업에 대한 추가 입력(예: 연결 스크립트)입니다. |
create_linking_context
LinkingContext cc_common.create_linking_context(linker_inputs=None, libraries_to_link=None, user_link_flags=None, additional_inputs=None)
LinkingContext
를 만듭니다.
매개변수
매개변수 | 설명 |
---|---|
linker_inputs
|
None 또는 depset;
기본값은 None 입니다. LinkerInput 의 종속.
|
libraries_to_link
|
None 또는 sequence;
기본값은 None 입니다. 지원 중단되었습니다. 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 여기에 의존하지 마세요. --incompatible_require_linker_input_cc_api 로 사용 중지됩니다. 이 플래그를 사용하여 코드가 곧 삭제되는 것과 호환되는지 확인합니다. LibraryToLink 의 목록
|
user_link_flags
|
None 또는 sequence;
기본값은 None 입니다. 지원 중단되었습니다. 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 여기에 의존하지 마세요. --incompatible_require_linker_input_cc_api 로 사용 중지됩니다. 이 플래그를 사용하여 코드가 곧 삭제되는 것과 호환되는지 확인합니다. 문자열로 전달된 사용자 링크 플래그의 목록입니다. |
additional_inputs
|
None 또는 sequence;
기본값은 None 입니다. 지원 중단되었습니다. 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 여기에 의존하지 마세요. --incompatible_require_linker_input_cc_api 로 사용 중지됩니다. 이 플래그를 사용하여 코드가 곧 삭제되는 것과 호환되는지 확인합니다. 연결 작업에 대한 추가 입력(예: 연결 스크립트)입니다. |
create_linking_context_from_compilation_outputs
tuple cc_common.create_linking_context_from_compilation_outputs(actions, name, feature_configuration, cc_toolchain, language='c++', disallow_static_libraries=False, disallow_dynamic_library=False, compilation_outputs, linking_contexts=[], user_link_flags=[], alwayslink=False, additional_inputs=[], variables_extension=unbound)실행 파일 또는 동적 라이브러리를 만들기 위해 전환 연결을 수행하는 최상위 규칙에 의해 나중에 연결되도록, 정보를 다운스트림으로 전파할 수 있는 라이브러리 규칙을 만드는 데 사용해야 합니다. (
CcLinkingContext
, CcLinkingOutputs
)의 튜플을 반환합니다.
<ph type="x-smartling-placeholder"></ph>
매개변수
매개변수 | 설명 |
---|---|
actions
|
작업
필수actions 객체.
|
name
|
string;
필수 이 메서드로 만든 작업의 출력 아티팩트 이름을 지정하는 데 사용됩니다. |
feature_configuration
|
FeatureConfiguration.
필수 쿼리될 feature_configuration 입니다.
|
cc_toolchain
|
정보
필수 사용할 CcToolchainInfo 제공자.
|
language
|
string;
기본값은 'c++' 입니다. 현재 C++만 지원됩니다. 이 매개변수를 사용하지 마세요. |
disallow_static_libraries
|
bool;
기본값은 False 입니다. 정적 라이브러리의 생성 여부입니다. |
disallow_dynamic_library
|
bool;
기본값은 False 입니다. 동적 라이브러리 생성 여부입니다. |
compilation_outputs
|
CcCompilationOutputs;
필수 연결할 객체 파일이 포함된 컴파일 출력 |
linking_contexts
|
sequence;
기본값은 [] 입니다. 종속 항목의 라이브러리 이러한 라이브러리는 바이너리 또는 라이브러리인 link() 호출의 출력 아티팩트에 연결됩니다. |
user_link_flags
|
sequence;
기본값은 [] 입니다. 연결 옵션의 추가 목록입니다. |
alwayslink
|
bool;
기본값은 False 입니다. 이 라이브러리를 항상 연결해야 하는지 여부입니다. |
additional_inputs
|
sequence;
기본값은 [] 입니다. 연결 작업에 대한 추가 입력(예: 연결 스크립트)입니다. |
variables_extension
|
dict;
기본값은 unbound 입니다. 링크 명령줄을 만들 때 도구 모음 구성에 전달할 추가 변수입니다. |
create_lto_compilation_context
LtoCompilationContext cc_common.create_lto_compilation_context(objects={})LTO 컴파일 컨텍스트 만들기
매개변수
매개변수 | 설명 |
---|---|
objects
|
dict;
기본값은 {} 입니다. 전체 객체를 색인 객체로 매핑 |
do_not_use_tools_cpp_compiler_present
None
cc_common.do_not_use_tools_cpp_compiler_present
이 필드는 사용하지 마세요. 유일한 목적은 config_setting.values{'compiler')에서 config_settings.flag_values{'@bazel_tools//tools/cpp:compiler'}로 이전하는 것입니다.
get_environment_variables
dict cc_common.get_environment_variables(feature_configuration, action_name, variables)지정된 작업에 설정할 환경 변수를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
feature_configuration
|
FeatureConfiguration.
필수 쿼리할 기능 구성입니다. |
action_name
|
string;
필수 작업의 이름입니다. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl)의 이름 중 하나여야 합니다. |
variables
|
변수
필수 템플릿 확장에 사용할 변수를 빌드합니다. |
get_execution_requirements
sequence cc_common.get_execution_requirements(feature_configuration, action_name)지정된 작업의 실행 요구사항을 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
feature_configuration
|
FeatureConfiguration.
필수 쿼리할 기능 구성입니다. |
action_name
|
string;
필수 작업의 이름입니다. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl)의 이름 중 하나여야 합니다. |
get_memory_inefficient_command_line
sequence cc_common.get_memory_inefficient_command_line(feature_configuration, action_name, variables)확장을 위해 지정된 변수를 사용하여 지정된 작업에 대해 평면화된 명령줄 플래그를 반환합니다. 중첩된 세트를 평면화하고 사용하지 말아야 하며 최소한 분석보다 오래 지속되지 않아야 합니다. Args를 반환하는 메모리 효율적인 함수 작업이 진행 중입니다.
매개변수
매개변수 | 설명 |
---|---|
feature_configuration
|
FeatureConfiguration.
필수 쿼리할 기능 구성입니다. |
action_name
|
string;
필수 작업의 이름입니다. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl)의 이름 중 하나여야 합니다. |
variables
|
변수
필수 템플릿 확장에 사용할 변수를 빌드합니다. |
get_tool_for_action
string cc_common.get_tool_for_action(feature_configuration, action_name)지정된 작업의 도구 경로를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
feature_configuration
|
FeatureConfiguration.
필수 쿼리할 기능 구성입니다. |
action_name
|
string;
필수 작업의 이름입니다. @bazel_tools//tools/build_defs/cc:action_names.bzl (https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/cc/action_names.bzl)의 이름 중 하나여야 합니다. |
is_enabled
bool cc_common.is_enabled(feature_configuration, feature_name)특정 기능이 기능 구성에서 사용 설정된 경우 true를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
feature_configuration
|
FeatureConfiguration.
필수 쿼리할 기능 구성입니다. |
feature_name
|
string;
필수 기능의 이름입니다. |
링크
CcLinkingOutputs cc_common.link(actions, name, feature_configuration, cc_toolchain, language='c++', output_type='executable', link_deps_statically=True, compilation_outputs=None, linking_contexts=[], user_link_flags=[], stamp=0, additional_inputs=[], additional_outputs=[], variables_extension={})C++ 전이 연결에 사용되어야 합니다.
매개변수
매개변수 | 설명 |
---|---|
actions
|
작업
필수actions 객체.
|
name
|
string;
필수 이 메서드로 만든 작업의 출력 아티팩트 이름을 지정하는 데 사용됩니다. |
feature_configuration
|
FeatureConfiguration.
필수 쿼리될 feature_configuration 입니다.
|
cc_toolchain
|
정보
필수 사용할 CcToolchainInfo 제공자.
|
language
|
string;
기본값은 'c++' 입니다. 현재 C++만 지원됩니다. 이 매개변수를 사용하지 마세요. |
output_type
|
string;
기본값은 'executable' 입니다. '실행 가능'하거나 또는 'dynamic_library'. |
link_deps_statically
|
bool;
기본값은 True 입니다. 종속 항목을 정적으로 연결하려면 True, 동적인 경우 False입니다. |
compilation_outputs
|
CcCompilationOutputs; 또는 None
기본값은 None 입니다. 연결할 객체 파일이 포함된 컴파일 출력 |
linking_contexts
|
sequence;
기본값은 [] 입니다. 이 규칙에서 생성된 연결 컨텍스트에 연결할 종속 항목의 컨텍스트를 연결합니다. |
user_link_flags
|
sequence;
기본값은 [] 입니다. 링커 옵션의 추가 목록입니다. |
stamp
|
int;
기본값은 0 입니다. output_type이 'executable'인 경우 연결된 실행 파일에 빌드 정보를 포함할지 여부입니다. 1인 경우 빌드 정보가 항상 포함됩니다. 0인 경우 (기본 빌드 정보가 항상 제외됩니다. -1인 경우 기본 동작을 사용하며, --[no]stamp 플래그로 재정의할 수 있습니다. 테스트 규칙의 실행 가능한 출력을 생성할 때 이 속성을 설정 해제하거나 0으로 설정해야 합니다. |
additional_inputs
|
sequence; 또는 depset;
기본값은 [] 입니다. 연결 작업에 대한 추가 입력(예: 연결 스크립트)입니다. |
additional_outputs
|
sequence;
기본값은 [] 입니다. 연결 작업에 관한 추가 출력(예: 지도 파일)입니다. |
variables_extension
|
dict;
기본값은 {} 입니다. 링크 명령줄을 만들 때 도구 모음 구성에 전달할 추가 변수입니다. |
merge_compilation_contexts
CompilationContext cc_common.merge_compilation_contexts(compilation_contexts=[])여러
CompilationContexts
를 하나로 병합합니다.
매개변수
매개변수 | 설명 |
---|---|
compilation_contexts
|
sequence;
기본값은 [] 입니다. 병합할 CompilationContexts 목록입니다. 각 컨텍스트의 헤더는 반환된 제공업체의 직접 필드를 통해 내보내집니다.
|
merge_compilation_outputs
CcCompilationOutputs cc_common.merge_compilation_outputs(compilation_outputs=[])컴파일 출력을 병합합니다.
매개변수
매개변수 | 설명 |
---|---|
compilation_outputs
|
sequence;
기본값은 [] 입니다. |