| --- | |
| title: 'Bazel BUILD Encyclopedia of Functions' | |
| --- | |
| ## Concepts and terminology | |
| * [Common definitions](/versions/9.3.0/reference/be/common-definitions) | |
| + [Bourne shell tokenization](/versions/9.3.0/reference/be/common-definitions#sh-tokenization) | |
| + [Label expansion](/versions/9.3.0/reference/be/common-definitions#label-expansion) | |
| + [Typical attributes for most rules](/versions/9.3.0/reference/be/common-definitions#typical-attributes) | |
| + [Common attributes for all rules](/versions/9.3.0/reference/be/common-definitions#common-attributes) | |
| + [Common attributes for tests](/versions/9.3.0/reference/be/common-definitions#common-attributes-tests) | |
| + [Common attributes for binaries](/versions/9.3.0/reference/be/common-definitions#common-attributes-binaries) | |
| + [Configurable attributes](/versions/9.3.0/reference/be/common-definitions#configurable-attributes) | |
| + [Implicit output targets](/versions/9.3.0/reference/be/common-definitions#implicit-outputs) | |
| * ["Make" variables](/versions/9.3.0/reference/be/make-variables) | |
| + [Use](/versions/9.3.0/reference/be/make-variables#use) | |
| ## Functions | |
| * [package](/versions/9.3.0/reference/be/functions#package) | |
| * [package_group](/versions/9.3.0/reference/be/functions#package_group) | |
| * [exports_files](/versions/9.3.0/reference/be/functions#exports_files) | |
| * [glob](/versions/9.3.0/reference/be/functions#glob) | |
| * [select](/versions/9.3.0/reference/be/functions#select) | |
| * [workspace](/versions/9.3.0/rules/lib/globals/workspace#workspace) | |
| ## Rules | |
| Native rules ship with the Bazel binary and do not require a `load` statement. | |
| Native rules are available globally in BUILD files. In .bzl files, you can find them in | |
| the `native` module. | |
| For non-native Starlark rules that ship separately from Bazel, see the list of | |
| [recommended rules](/versions/9.3.0/rules/rules#recommended-rules). | |
| ### Language-specific native rules | |
| | Language | Flags | Binary rules | Library rules | Test rules | Other rules | | |
| | --- | --- | --- | --- | --- | --- | | |
| | C / C++ | | [cc_binary](c-cpp#cc_binary) | [cc_import](c-cpp#cc_import) [cc_library](c-cpp#cc_library) [cc_shared_library](c-cpp#cc_shared_library) [cc_static_library](c-cpp#cc_static_library) | [cc_test](c-cpp#cc_test) | [cc_toolchain](c-cpp#cc_toolchain) [fdo_prefetch_hints](c-cpp#fdo_prefetch_hints) [fdo_profile](c-cpp#fdo_profile) [memprof_profile](c-cpp#memprof_profile) [propeller_optimize](c-cpp#propeller_optimize) | | |
| | Java | | [java_binary](java#java_binary) | [java_import](java#java_import) [java_library](java#java_library) | [java_test](java#java_test) | [java_package_configuration](java#java_package_configuration) [java_plugin](java#java_plugin) [java_runtime](java#java_runtime) [java_single_jar](java#java_single_jar) [java_toolchain](java#java_toolchain) | | |
| | Objective-C | | | [objc_import](objective-c#objc_import) [objc_library](objective-c#objc_library) | | | | |
| | Protocol Buffer | | | [cc_proto_library](protocol-buffer#cc_proto_library) [java_lite_proto_library](protocol-buffer#java_lite_proto_library) [java_proto_library](protocol-buffer#java_proto_library) [proto_library](protocol-buffer#proto_library) [py_proto_library](protocol-buffer#py_proto_library) | | [proto_lang_toolchain](protocol-buffer#proto_lang_toolchain) [proto_toolchain](protocol-buffer#proto_toolchain) | | |
| | Python | | [py_binary](python#py_binary) | [py_library](python#py_library) | [py_test](python#py_test) | [py_runtime](python#py_runtime) | | |
| | Shell | | [sh_binary](shell#sh_binary) | [sh_library](shell#sh_library) | [sh_test](shell#sh_test) | | | |
| ### Language-agnostic native rules | |
| | Family | Rules | | |
| | --- | --- | | |
| | Extra Actions | <ul class="hlist"> <li> <a href="extra-actions.html#action_listener">action_listener</a> <li> <a href="extra-actions.html#extra_action">extra_action</a> </li></li></ul> | | |
| | General | <ul class="hlist"> <li> <a href="general.html#alias">alias</a> <li> <a href="general.html#config_setting">config_setting</a> <li> <a href="general.html#filegroup">filegroup</a> <li> <a href="general.html#genquery">genquery</a> <li> <a href="general.html#genrule">genrule</a> <li> <a href="general.html#starlark_doc_extract">starlark_doc_extract</a> <li> <a href="general.html#test_suite">test_suite</a> </li></li></li></li></li></li></li></ul> | | |
| | Platforms and Toolchains | <ul class="hlist"> <li> <a href="platforms-and-toolchains.html#constraint_setting">constraint_setting</a> <li> <a href="platforms-and-toolchains.html#constraint_value">constraint_value</a> <li> <a href="platforms-and-toolchains.html#platform">platform</a> <li> <a href="platforms-and-toolchains.html#toolchain">toolchain</a> <li> <a href="platforms-and-toolchains.html#toolchain_type">toolchain_type</a> </li></li></li></li></li></ul> | |