commit | 0365843d2f1cf0d4f0a695608cd3819960580a97 | [log] [tgz] |
---|---|---|
author | bbaren <bbaren@google.com> | Mon Sep 28 09:26:07 2020 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Sep 28 09:28:21 2020 -0700 |
tree | d7b242e7df5b0b49abb8cb16f853d22fad72fbad | |
parent | a64352ae58134ad57a7adfbe50c28f0875b976f0 [diff] |
Propagate linkstamp information through `objc_library` rules A previous change (https://github.com/bazelbuild/bazel/commit/3a28c96814e54d8e95f132a82cf501cf137d918e) made `apple_binary` support the `stamp` attribute in the same way as `cc_binary` does: Read linkstamp data from its dependencies’ `CcInfo`s and add linkstamp objects to the final link. However, `objc_library` did not propagate the linkstamp attributes from C++ dependencies into its `CcInfo` output, so apple_binary( name = "binary", platform_type = "macos", stamp = 1, deps = [":cc_lib"], ) cc_library( name = "cc_lib", linkstamp = "linkstamp.cc", ) would work fine while apple_binary( name = "binary", platform_type = "macos", stamp = 1, deps = [":objc_lib"], ) objc_library( name = "objc_lib", deps = [":cc_lib"], ) cc_library( name = "cc_lib", linkstamp = "linkstamp.cc", ) would fail. Correct this by having `objc_library` preserve linkstamp data from C++ dependencies; also correct the test that was supposed to catch this. RELNOTES: none PiperOrigin-RevId: 334173406
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md