add windows DEF linker args Copybara Import from https://github.com/bazelbuild/rules_cc/pull/733 BEGIN_PUBLIC add windows DEF linker args (#733) Upstreaming this from https://github.com/hermeticbuild/hermetic-llvm/pull/593 which use case is windows clang based cross compilation. I think this feature and args definition belong inside rules_cc since it's based on internal rules_cc variables and marker feature checks. Original feature is msvc only (which is not correct) beause windows can now be compiled with clang and rules_cc. I didn't port msvc flags here because none of existing features in rule based toolchain does and that there is an ongoing MSVC support pull request in flight already. Closes #733 END_PUBLIC COPYBARA_INTEGRATE_REVIEW=https://github.com/bazelbuild/rules_cc/pull/733 from cerisier:t/windows-def-file-args 28272439fd51c1c73372a7f1e698ac3d5de21084 PiperOrigin-RevId: 928931045 Change-Id: I794dfae454eb4b192e1ef22cf5d32d3839d31c94
This repository contains C, C++, and Objective-C language support for the Bazel build system.
For this module's main reference, see the Bazel documentation.
Follow the official instructions to Install Bazel.
Add the latest release to your MODULE.bazel project file.
In a BUILD.bazel file, import and use the rules:
load("@rules_cc//cc:cc_binary.bzl", "cc_binary") cc_binary( name = "hello_world", srcs = ["hello_world.cc"], )
Build and run your C/C++ binary with one command:
$ bazel run hello_world
To build the project without running the binary, use Bazel's build subcommand:
$ bazel build hello_world
rules_cc includes an auto-configured toolchain that uses the local compiler installed on the host machine.
You can disable the autoconfigured C/C++ toolchain by adding the following Bazel flag to your project's .bazelrc file:
--repo_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
Configuring a hermetic toolchain makes your build more deterministic. rules_cc itself does not yet offer a hermetic toolchain distribution. Other community owned and maintained projects offer hermetic C/C++ toolchains:
Bazel and rules_cc are the work of many contributors. We appreciate your help!
To contribute, please read the contribution guidelines: CONTRIBUTING.md.
Note that the rules_cc use the GitHub issue tracker for bug reports and feature requests only. For asking questions see:
rules_cc mailing list#cc on slack.bazel.build