Commit Graph

10 Commits

Author SHA1 Message Date
Googler 818289e561 Add flags to cc_shared_library for easier debugging
--//examples:incompatible_link_once=False[default = False]
When True, it will be an error to link the same library more than once
unless it has the tag LINKABLE_MORE_THAN_ONCE

--//examples:experimental_debug=True[default = False]
When True, it will generate files listing the exports of each cc_shared_library
and which libraries are linked to it statically.

RELNOTES:none
PiperOrigin-RevId: 311323625
Change-Id: I340cc71965650f7c9dd7ef7fb9656da362021527
2020-05-13 07:24:06 -07:00
Googler b14a82ed17 Build with Bazel@last_downstream_green
Closes https://github.com/bazelbuild/rules_cc/pull

PiperOrigin-RevId: 299828273
Change-Id: I2cce9156d7e31756195a5dac87f18f6ad457ea43
2020-03-09 06:38:07 -07:00
Googler c2b692b4e4 Adds integration test for cc_shared_library.
We use BUILD example added in previous CL and inspect the resulting *.so files with nm.

Also fixes implementation of shared library to work with Bazel after having flipped the legacy whole archive flag. This caused exported libraries to be dropped by the linker unless they were alwayslink.

Still more tests to come.

RELNOTES:none
PiperOrigin-RevId: 280640226
Change-Id: I34b48ce7379536352f87b703580083eb85ca67b3
2019-11-15 05:36:47 -08:00
Googler bf6a32cff5 Adds example usage of cc_shared_library
This is only tested with Bazel at head. We modify the presubmits file so that we don't use release. The reason we don't use release is because we need very recent changes to Bazel to test cc_shared_library. In the future we will also test with release.

Also in following CLs, we will inspect in integration test the *.so output from these example builds to make sure that the correct symbols are linked statically and are visible.

After that we will add Starlark unit test to check error conditions.

RELNOTES:none
PiperOrigin-RevId: 280381939
Change-Id: I5de9b364a2a3db28d99558fbfca7bea8052e5114
2019-11-14 02:03:24 -08:00
Googler 262ebec3c2 Fix buildifier warnings in @rules_cc
Fixes:

* Enabled buildifier on the Bazel CI again
* Added Skydocs where missing
* Moved public files out of .../private/... (e.g. cc_toolchain_config_lib.bzl)
* Reformatted
* Removed unused loads
* Using relative labels for cc_configure related files
* Added development dependency on rules_proto
    * they're not in the federation yet, so hand rolling in rules_cc's WORKSPACE file
* Added development dependency on rules_python (from federation)
* Cleaned up copybara (notable change - not using @rules_cc in labels inside rules_cc repo)
* Made cc_flags_supplier usable internally
* Moved load statements to the top of the bzl file
* Moved runfiles to the tools directory
* Unified toolchain_utils.bzl and find_cc_toolchain.bzl

RELNOTES: None.
PiperOrigin-RevId: 276479521
Change-Id: I3196896061fa2ee61a3efb130c214d288782066a
2019-10-24 07:01:25 -07:00
Googler c2790137ae Stop running Buildifier as part of the presubmit
We now have copies of .bzl files that we have to keep in sync between @rules_cc and @bazel_tools/tools
I propose to re-enable the Buildifier presubmit once this issue is resolved.

*** Original change description ***

Run Buildifier as part of the presubmit.

As a result we will catch some errors already in GitHub, and not later in Critique when it's harder to fix them.

***

PiperOrigin-RevId: 265636234
Change-Id: I10730665134240b3f47950e0e8fa0add8e0bd591
2019-08-27 01:51:17 -07:00
Googler 624b5d59df Run Buildifier as part of the presubmit.
As a result we will catch some errors already in GitHub, and not later in Critique when it's harder to fix them.

PiperOrigin-RevId: 262967050
Change-Id: If598cea7cf9283203bad94533a6bb5be3349e118
2019-08-12 11:23:38 -07:00
philwo 9e7c9de880 Add http_archive entries for testing with various JDK versions.
RELNOTES: None.
PiperOrigin-RevId: 245023756
2019-04-24 04:54:39 -07:00
philwo a4c4f3aa88 Don't test on Ubuntu 14.04.
Ubuntu 14.04 is about to be end-of-life and Bazel CI will stop supporting it shortly afterwards.

Context: https://groups.google.com/d/msg/bazel-dev/_D6XzfNkQQE/8TNKiNmsCAAJ
PiperOrigin-RevId: 245015462
2019-04-24 03:19:08 -07:00
hlopko eefe53ee7c Add initial bazelci config for rules_cc
RELNOTES: None.
PiperOrigin-RevId: 228509583
2019-01-11 00:05:29 -08:00