commit | 7e33704e7546bb676e9052089c30f1dd625fd082 | [log] [tgz] |
---|---|---|
author | Cal Peyser <cpeyser@google.com> | Thu Aug 11 20:04:57 2016 +0000 |
committer | Yue Gan <yueg@google.com> | Fri Aug 12 08:52:51 2016 +0000 |
tree | a078ba5aed70f69ccbbb6d0ea42453737ebcdd5d | |
parent | 2427f8d056d143fd3ef3f8b36ffb56cf498d64bc [diff] |
Implement objc archiving in the crosstool. This involves a few steps: 1) In ExperimentalObjcLibrary, if static linking is required, signal CcLibraryHelper to create a static link action and pass in the necessary variables/link action input. 2) Add a new link type (Link.LinkTargetType.OBJC_STATIC_LIBRARY). This involves changes to Link and LinkCommandLine. 3) For this new link type, implement static linking the OSX CROSSTOOL. Also add tools in the crosstool package that point at libtool, which performs the archiving. -- MOS_MIGRATED_REVID=130022410
{Fast, Correct} - Choose two
Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google‘s software, and thus it has been designed to handle build problems present in Google’s development environment, including:
A massive, shared code repository, in which all software is built from source. Bazel has been built for speed, using both caching and parallelism to achieve this. Bazel is critical to Google's ability to continue to scale its software development practices as the company grows.
An emphasis on automated testing and releases. Bazel has been built for correctness and reproducibility, meaning that a build performed on a continuous build machine or in a release pipeline will generate bitwise-identical outputs to those generated on a developer's machine.
Language and platform diversity. Bazel's architecture is general enough to support many different programming languages within Google, and can be used to build both client and server software targeting multiple architectures from the same underlying codebase.
Find more background about Bazel in our FAQ.