aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYun Peng <pcloudy@google.com>2017-05-31 14:01:23 +0200
committerYun Peng <pcloudy@google.com>2017-05-31 14:01:30 +0200
commit0b059a3d8a8f8aa40dde7bea55edca4ec5dfea66 (patch)
tree5fc86598005882f7ce7a557d8206551615feffbd
parentd6470abef1ca76c40e6da3b4445b7c32f1d0e2e3 (diff)
downloadprotobuf-0b059a3d8a8f8aa40dde7bea55edca4ec5dfea66.tar.gz
protobuf-0b059a3d8a8f8aa40dde7bea55edca4ec5dfea66.tar.bz2
protobuf-0b059a3d8a8f8aa40dde7bea55edca4ec5dfea66.zip
Refactor cc options in BUILD file for Windows
Don't put gcc warnings options in copts, so that protobuf is able to build by MSVC toolchain without python wrappers.
-rw-r--r--BUILD44
1 files changed, 32 insertions, 12 deletions
diff --git a/BUILD b/BUILD
index ccfbe36c..1f467cca 100644
--- a/BUILD
+++ b/BUILD
@@ -8,15 +8,35 @@ exports_files(["LICENSE"])
# Protobuf Runtime Library
################################################################################
-COPTS = [
- "-DHAVE_PTHREAD",
- "-Wall",
- "-Wwrite-strings",
- "-Woverloaded-virtual",
- "-Wno-sign-compare",
- "-Wno-unused-function",
+WIN_COPTS = [
+ "/DHAVE_PTHREAD",
+ "/wd4018", # -Wno-sign-compare
+ "/wd4514", # -Wno-unused-function
]
+COPTS = select({
+ ":windows" : WIN_COPTS,
+ ":windows_msvc" : WIN_COPTS,
+ "//conditions:default": [
+ "-DHAVE_PTHREAD",
+ "-Wall",
+ "-Wwrite-strings",
+ "-Woverloaded-virtual",
+ "-Wno-sign-compare",
+ "-Wno-unused-function",
+ ],
+})
+
+config_setting(
+ name = "windows",
+ values = { "cpu": "x64_windows" },
+)
+
+config_setting(
+ name = "windows_msvc",
+ values = { "cpu": "x64_windows_msvc" },
+)
+
config_setting(
name = "android",
values = {
@@ -60,7 +80,7 @@ config_setting(
},
)
-IOS_ARM_COPTS = COPTS + [
+IOS_ARM_COPTS = [
"-DOS_IOS",
"-miphoneos-version-min=7.0",
"-arch armv7",
@@ -103,8 +123,8 @@ cc_library(
":ios_armv7": IOS_ARM_COPTS,
":ios_armv7s": IOS_ARM_COPTS,
":ios_arm64": IOS_ARM_COPTS,
- "//conditions:default": COPTS,
- }),
+ "//conditions:default": [],
+ }) + COPTS,
includes = ["src/"],
linkopts = LINK_OPTS,
visibility = ["//visibility:public"],
@@ -174,8 +194,8 @@ cc_library(
":ios_armv7": IOS_ARM_COPTS,
":ios_armv7s": IOS_ARM_COPTS,
":ios_arm64": IOS_ARM_COPTS,
- "//conditions:default": COPTS,
- }),
+ "//conditions:default": [],
+ }) + COPTS,
includes = ["src/"],
linkopts = LINK_OPTS,
visibility = ["//visibility:public"],