commit | ccd7d76aff2bd41eaf23f9b182f41feffbcfea1e | [log] [tgz] |
---|---|---|
author | Loo Rong Jie <loorongjie@gmail.com> | Tue Jul 10 09:26:49 2018 -0700 |
committer | Copybara-Service <copybara-piper@google.com> | Tue Jul 10 09:28:26 2018 -0700 |
tree | 5324e49019b47c8ed61fbcb307f1eb6a3302a4a0 | |
parent | db78108570f1c37fbc46ad564cb0fee6dea1744c [diff] |
Improve MSVC Crosstool - Remove `/D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS`: it disables warnings for deprecated C++ headers (`<stdext/*>`, `<hash_map>` etc.). Only useful for legacy codebase. - Remove `/J`: `char` is signed according to ISO C++. There is no reason to make `char` unsigned by default. - Remove default `/Gy`: moved to feature (`smaller_binary`). - Remove default `/GF`: string pooling, enabled by default with `/O2`. - Remove `/DDEBUG` in `dbg` mode: conflict with macros defined in some OSS projects such as LLVM. User should use standard `NDEBUG` to detect debug mode. Implements a few general `feature` to abstract away details about the compiler: - `treat_warnings_as_errors`: aka `-Werror`. - `frame_pointer`: aka `-fno-omit-frame-pointer'. - `determinism`: redact `__TIME__` macros etc. - `disable_assertions`: allow user to have `assert/DCHECK` back even in `opt` mode. - `smaller_binary`: common optimization enabled in `opt` mode. Still allow user to disable it in `opt` (such as when using ASAN). - `ignore_noisy_warnings`: suppress a bunch of warnings most people don't care. If users want to be pedantic, they can still get those warnings back with `--features=-ignore_noisy_warnings`. Closes #5519. PiperOrigin-RevId: 203959555
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel only rebuilds 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
Bazel is released in ‘Beta’. See the product roadmap to learn about the path toward a stable 1.0 release.