Commit Graph

285 Commits

Author SHA1 Message Date
Googler 608c7b605f C++: Make permissions check optional in cc_shared_library
The cc_shared_library_permissions mechanism was introduced to add control over
which cc_shared_libraries can export a given cc_library. If the repo is big
enough, the owner of a cc_library might want to prevent someone else in a
different package making their library part of the ABI of a public shared
library because that makes it harder to change the cc_library. This does not
apply accross repositories because a dependant repository can overwrite
anything from a repository dependency anyway.

However, it is becoming more apparent than even though this mechanism should
exist, it should not be enabled by default since most people don't need it. To
enable it pass the flag --//examples:enable_permissions_check=True.

RELNOTES:none
PiperOrigin-RevId: 363171677
Change-Id: I8afb3294806bb3053ee1279c6e9c5355089bccbb
2021-03-16 06:45:21 -07:00
Googler 9544a3eeac Automatic code cleanup.
PiperOrigin-RevId: 362075479
Change-Id: Ib556b478b2e28fa6c35fe493b533035de4916bd0
2021-03-10 09:58:09 -08:00
Googler 88ef31b429 Update rules_cc to use the correct toolchain type (@bazel_tools//tools/cpp:toolchain_type).
PiperOrigin-RevId: 361158816
Change-Id: Ief011b23ddb9bdf3b49237f90fa631b6f916e8de
2021-03-05 09:10:23 -08:00
Googler 25193de8f5 Tests for unknown commit
Adds test for fix to cc_binary in a previous CL which required a Bazel change.

RELNOTES:none
PiperOrigin-RevId: 361152661
Change-Id: Ic7b9cda6636eff6bc231f00f8cdd542e0c88113c
2021-03-05 08:35:07 -08:00
Googler d5d830baaf CcToolchainProvider does not subclass ToolchainInfo.
Bownstream bazel tests: https://buildkite.com/bazel/bazel-at-head-plus-downstream/builds/1931 (all failures are also in https://buildkite.com/bazel/bazel-at-head-plus-downstream/builds/1930, the nightly).

PiperOrigin-RevId: 359497882
Change-Id: Ib8a3725251c1187233f9324522c4ef8602448b50
2021-02-25 05:13:20 -08:00
Copybara-Service a3d7068939 Merge pull request #97 from jlaxson:shared-library-double-inheritance-test
PiperOrigin-RevId: 359022952
Change-Id: Iad8c35e8c9b1a187548cf45b3c2c1f231f275bad
2021-02-23 05:03:02 -08:00
John Laxson 4253c69f85 use green instead of downstream green 2021-02-18 09:50:36 -07:00
John Laxson 69252c73da works better? 2021-02-17 08:04:47 -07:00
John Laxson 92bec8dbf5 Add explicit test to presubmit 2021-02-12 11:42:34 -07:00
John Laxson 8caeb338c9 Test allowing diamond inheritance of shared lib 2021-02-11 10:33:25 -07:00
Googler 40548a2974 Automatic code cleanup.
PiperOrigin-RevId: 355825197
Change-Id: I8acfc20228816c04fcf48bfcc435cbde2b1fb608
2021-02-05 04:30:09 -08:00
Googler ab2abd3ddc Automatic code cleanup.
PiperOrigin-RevId: 354218909
Change-Id: I223212c3b453e67f0563766e9533fda284aaeef6
2021-01-27 18:31:53 -08:00
Copybara-Service b1c40e1de8 Merge pull request #88 from greenhouse-org:fix-llvm-version
PiperOrigin-RevId: 341810986
Change-Id: Ieb85da0b1c25d095cd48b6cadcf6a5c825d24a48
2020-11-11 05:29:11 -08:00
Copybara-Service 7bcfb53fe8 Merge pull request #89 from keith:ks/update-wrappers
PiperOrigin-RevId: 341770800
Change-Id: I8ea8ef07dc0745342ab93c75aeaf3df69a11a895
2020-11-10 23:24:58 -08:00
Copybara-Service 7bd0e49cfb Merge pull request #85 from benjaminp:modern-linking
PiperOrigin-RevId: 341368143
Change-Id: I9b86beeb90f6df6d3564209f1e97ada4ea7bc319
2020-11-09 02:52:23 -08:00
Keith Smiley 271d293a8c Update osx_cc_wrappers
These are dup'd from bazel core and are changing in https://github.com/bazelbuild/bazel/pull/12265
2020-11-04 12:35:10 -08:00
Sunjay Bhatia 1a27322a0a Resolve the clang-cl version detection
- bazel presumed a trailing space in `clang-cl -v` output that is
  no longer present in the 11.0.0 release, resulting in an injected newline

Co-authored-by: Sunjay Bhatia <sunjayb@vmware.com>
Co-authored-by: William A Rowe Jr <wrowe@vmware.com>
Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
Signed-off-by: William A Rowe Jr <wrowe@vmware.com>
2020-11-03 16:39:36 -05:00
Googler 991eb349bf Internal change
PiperOrigin-RevId: 340301767
Change-Id: Iccab5010d3fd6e77c08fcdc140cdc1e461185b0d
2020-11-02 13:19:59 -08:00
Googler 699ec52985 Internal change
PiperOrigin-RevId: 339925655
Change-Id: Icde35bf6acb72a382e0253fcf9fb5a10d80a5feb
2020-10-30 13:05:57 -07:00
Googler 16ad606329 Internal change
PiperOrigin-RevId: 339887089
Change-Id: Ic511ced72381f847f5d1b9159f299b6e474a47de
2020-10-30 09:41:38 -07:00
Googler 8cded3e3c3 Add constants for common groups of action names.
These are used throughout the Crosstool features definitions based on local definitions there.  It seems useful to move these to a common location so they are available for other toolchains (and also so that they get updated if new actions are added to the action-name list).

The versions of these currently used by Crosstool are defined in //third_party/crosstool/v18/llvm_unstable/crosstool_helpers.bzl starting at line 124.
Tested:
  by inspection
PiperOrigin-RevId: 339440647
Change-Id: I3a2b8d37aebd8a0e8450864e079cf5b42d075def
2020-10-28 05:27:07 -07:00
Benjamin Peterson 8994fb0fe1 Adjust c archive example for modern linker input API. 2020-10-26 20:31:47 -05:00
Copybara-Service b2f6e22c34 Merge pull request #84 from benjaminp:fix-for-linkops
PiperOrigin-RevId: 339049823
Change-Id: Ia7550ae25cbe5bac936e86b458f7f322c6f258a0
2020-10-26 09:06:42 -07:00
Benjamin Peterson 01cf2299fb Fix //examples/test_cc_shared_library:linking_action_test under --incompatible_linkopts_to_linklibs. 2020-10-22 09:59:37 -05:00
Copybara-Service f055da4ff0 Merge pull request #82 from keith:ks/update
PiperOrigin-RevId: 335352930
Change-Id: I89c68c510dc6262a06ca76875fd2364abe361c47
2020-10-04 23:01:24 -07:00
Keith Smiley c5a9b6d32f Duplicate libtool_check_unique.cc
This is temporarily required to support old and new versions of bazel
2020-10-03 10:02:04 -07:00
Keith Smiley 5bf327ff82 Sync osx_cc_configure
Fixes https://github.com/bazelbuild/rules_cc/issues/80
2020-10-03 09:59:36 -07:00
Googler f95239adde Update rules_cc to use the toolchain transition.
This is phase 2 of of the switch to toolchain transitions. See https://github.com/bazelbuild/bazel/issues/11584 for details.

PiperOrigin-RevId: 334808134
Change-Id: Ie198b07359d4fd45368755c4cc223e397f0e8fb0
2020-10-01 07:19:37 -07:00
Googler 9ec8187d58 Add docstring to providers to make buildifier happy.
RELNOTES: None.
PiperOrigin-RevId: 334807705
Change-Id: If0c97e6a464126367005143313dc4ddc5b47bdea
2020-10-01 07:16:37 -07:00
Copybara-Service 53f28aeac9 Merge pull request #79 from agluszak:system_library
PiperOrigin-RevId: 333279551
Change-Id: I6fdf5aca5881b271d30f5acbad48e0c1ae281237
2020-09-23 06:28:04 -07:00
Andrzej Głuszak 8398f4b2c1 Fixes after code review 2020-09-23 11:11:15 +00:00
Andrzej Głuszak 8346df34b6 Remove line breaks using backslashes 2020-09-22 14:07:45 +00:00
Andrzej Głuszak 299299f82a Move description to doc parameter, add docs for arguments 2020-09-22 13:59:48 +00:00
Copybara-Service bea600c25d Merge pull request #81 from bazelbuild:oquenchil-patch-1
PiperOrigin-RevId: 333058893
Change-Id: I0e390d15cbbb1189834f81bfabf8895b3607100a
2020-09-22 05:35:33 -07:00
oquenchil 34343cfac7
Update CODEOWNERS
Replacing Marcel and Rosica with Charles and Ivo.
2020-09-22 14:26:08 +02:00
Andrzej Głuszak c4886cbf16 Add a module description 2020-09-22 11:48:42 +00:00
Andrzej Głuszak d3808499d2 Fix style 2020-09-22 08:18:25 +00:00
Andrzej Głuszak 6c1dbe079d Implement a repository rule for importing system libraries 2020-09-21 17:47:08 +00:00
Googler 02becfef8b Automatic code cleanup.
PiperOrigin-RevId: 327262788
Change-Id: I13ea852be5ec154593a547e4a4511df5f9c94928
2020-08-18 10:57:24 -07:00
Copybara-Service 1477dbab59 Merge pull request #76 from laurentlb:master
PiperOrigin-RevId: 323574787
Change-Id: I8ede4b3db044e2e0e6e351559783f04487907503
2020-07-28 08:17:49 -07:00
Laurent Le Brun ea0c09ecff Stop depending on rules_pkg through the federation
See discussion on https://github.com/bazelbuild/bazel-federation/issues/117
2020-07-28 14:15:43 +02:00
Copybara-Service 5cbd3dfbd1 Merge pull request #73 from hlopko:skylark_bye_bye
PiperOrigin-RevId: 314484747
Change-Id: Ic88f26a254371a4204844e279a4a189f9775b2d0
2020-06-03 00:53:38 -07:00
Marcel Hlopko d6cfe773b8 Rename skylark->starlark 2020-06-03 09:13:26 +02:00
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 8c31dd406c Change cc_shared_library exports logic.
Changes in this CL:
1. 'exports' attribute renamed to roots
2. Removed restrictions for exporting a rule in a different repository
3. Kept restrictions for rules in the same repository but not in the same
package or subpackages
4. To get around restrictions, instead of the exported_by tag, one can use the
cc_shared_library_permissions rule
5. Added exports_filter that will match libraries in the transitive closure of
a root. Anything matched by the exports_filter will also be exported.
Restrictions as in 4. still apply.

RELNOTES:none
PiperOrigin-RevId: 310547916
Change-Id: I32d8e0d4dd4bcc9c9e92f4ff3c5b2a01564c31b2
2020-05-08 06:35:54 -07:00
Yannic Bonenberger dbe8807224 Add optional tool_path_origin to Tools in C++ crosstool
This change adds an optional field to the C++ crosstool proto that
allows configuring the origin tool_path is relative to.

For now, the origin can be one of the following:
  - CROSSTOOL_PACKAGE: If tool_path is a relative path, it's assumed to
    be relative to the package of the crosstool top.
  - FILESYSTEM_ROOT: tool_path is an absolute path. This is checked by
    Bazel.
  - WORKSPACE_ROOT: tool_path must be a relative path and is assumed to
    be relative to the exec-root of the workspace (similar to other
    executables).

Updates bazelbuild/bazel#8438

Closes #10967.

PiperOrigin-RevId: 310142352
Change-Id: If6316ffa5d7d2713b197840b4aafb2f0cdbb0b96
2020-05-06 06:52:27 -07:00
Copybara-Service 9ddf8aac74 Merge pull request #70 from hlopko:disable-unnamed-macro
PiperOrigin-RevId: 309715272
Change-Id: I3623a890776af2ff2e344e755b673fb9a58d3fc8
2020-05-04 04:03:00 -07:00
Marcel Hlopko 0e4443f2ca Instead disable the buildifier warning 2020-05-04 11:59:13 +02:00
Marcel Hlopko 65436199d8 Duh 2020-05-04 11:59:13 +02:00
Marcel Hlopko e8781b53aa Fix repositories.bzl 2020-05-04 11:59:10 +02:00