diff options
author | Yun Peng <pcloudy@google.com> | 2018-05-22 06:38:08 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-05-22 06:39:30 -0700 |
commit | 5c4f3b59fb4aa06da2c368c764cf0d9056ab287a (patch) | |
tree | 335cfaab0b3950556127cc8af24841a80fb29a20 /tools/cpp | |
parent | d34f306eb5ad3bc6060bac5611956c3b2da6f2d1 (diff) |
CROSSTOOL: Make C++ compiled and linked artifact name pattern configurable
This change makes Bazel respect artifact name patterns specified in
CROSSTOOL.
Users cannot specify any arbitrary name pattern, it must ends with allowed
extensions. For example, for dynamic library, it can only ends with .so,
.dylib or .dll, otherwise Bazel throws an error.
Change-Id: I21d9e6fa7c3a282e1a9b8ff29679b00925cddb33
PiperOrigin-RevId: 197553413
Diffstat (limited to 'tools/cpp')
-rw-r--r-- | tools/cpp/CROSSTOOL.tpl | 42 | ||||
-rw-r--r-- | tools/cpp/windows_cc_configure.bzl | 1 |
2 files changed, 43 insertions, 0 deletions
diff --git a/tools/cpp/CROSSTOOL.tpl b/tools/cpp/CROSSTOOL.tpl index 38df97f323..02ff6617c9 100644 --- a/tools/cpp/CROSSTOOL.tpl +++ b/tools/cpp/CROSSTOOL.tpl @@ -169,6 +169,12 @@ toolchain { target_cpu: "x64_windows" target_system_name: "local" + artifact_name_pattern { + category_name: 'executable' + prefix: '' + extension: '.exe' + } + %{msys_x64_mingw_content} linking_mode_flags { mode: DYNAMIC } @@ -279,6 +285,42 @@ toolchain { name: "no_legacy_features" } + artifact_name_pattern { + category_name: 'object_file' + prefix: '' + extension: '.obj' + } + + artifact_name_pattern { + category_name: 'static_library' + prefix: '' + extension: '.lib' + } + + artifact_name_pattern { + category_name: 'alwayslink_static_library' + prefix: '' + extension: '.lo.lib' + } + + artifact_name_pattern { + category_name: 'executable' + prefix: '' + extension: '.exe' + } + + artifact_name_pattern { + category_name: 'dynamic_library' + prefix: '' + extension: '.dll' + } + + artifact_name_pattern { + category_name: 'interface_library' + prefix: '' + extension: '.if.lib' + } + # Suppress startup banner. feature { name: "nologo" diff --git a/tools/cpp/windows_cc_configure.bzl b/tools/cpp/windows_cc_configure.bzl index 605760d817..a22cca1959 100644 --- a/tools/cpp/windows_cc_configure.bzl +++ b/tools/cpp/windows_cc_configure.bzl @@ -56,6 +56,7 @@ def _get_escaped_windows_msys_crosstool_content(repository_ctx, use_mingw = Fals ' tool_path { name: "cpp" path: "%s%s/bin/cpp" }\n' % (escaped_msys_root, prefix) + ' tool_path { name: "dwp" path: "%s%s/bin/dwp" }\n' % (escaped_msys_root, prefix) + ' tool_path { name: "gcc" path: "%s%s/bin/gcc" }\n' % (escaped_msys_root, prefix) + + ' artifact_name_pattern { category_name: "executable" prefix: "" extension: ".exe"}\n' + ' cxx_flag: "-std=gnu++0x"\n' + ' linker_flag: "-lstdc++"\n' + ' cxx_builtin_include_directory: "%s%s/"\n' % (escaped_msys_root, prefix) + |