Add default constraint_settings and values in new package @bazel_tools//platforms. 

Part of #2219.

--
Change-Id: I312c70e0c9064cbf4c4346a59bff04ada92e4890
Reviewed-on: https://cr.bazel.build/9412
PiperOrigin-RevId: 151016060
MOS_MIGRATED_REVID=151016060
diff --git a/src/create_embedded_tools.sh b/src/create_embedded_tools.sh
index a883d95..4ad0177 100755
--- a/src/create_embedded_tools.sh
+++ b/src/create_embedded_tools.sh
@@ -42,6 +42,7 @@
 
   case "$i" in
     *tools/jdk/BUILD*) OUTPUT_PATH=tools/jdk/BUILD ;;
+    *tools/platforms/platforms.BUILD) OUTPUT_PATH=platforms/BUILD ;;
     *JavaBuilder*_deploy.jar) OUTPUT_PATH=tools/jdk/JavaBuilder_deploy.jar ;;
     *JacocoCoverage*_deploy.jar) OUTPUT_PATH=tools/jdk/JacocoCoverage_deploy.jar ;;
     *turbine_deploy.jar) OUTPUT_PATH=tools/jdk/turbine_deploy.jar ;;
diff --git a/tools/BUILD b/tools/BUILD
index 94b66c7..38bc3d7 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -19,6 +19,7 @@
         "//tools/coverage:srcs",
         "//tools/ide:srcs",
         "//tools/jdk:srcs",
+        "//tools/platforms:srcs",
         "//tools/genrule:srcs",
         "//tools/cpp:srcs",
         "//tools/j2objc:srcs",
@@ -49,6 +50,7 @@
         "//tools/j2objc:srcs",
         "//tools/jdk:package-srcs",
         "//tools/jdk:srcs",
+        "//tools/platforms:package-srcs",
         "//tools/objc:srcs",
         "//tools/python:srcs",
         "//tools/test:srcs",
diff --git a/tools/platforms/BUILD b/tools/platforms/BUILD
new file mode 100644
index 0000000..4e788ae
--- /dev/null
+++ b/tools/platforms/BUILD
@@ -0,0 +1,15 @@
+package(
+    default_visibility = ["//visibility:public"],
+)
+
+filegroup(
+    name = "package-srcs",
+    srcs = [
+        "platforms.BUILD",
+    ],
+)
+
+filegroup(
+    name = "srcs",
+    srcs = glob(["**"]),
+)
diff --git a/tools/platforms/platforms.BUILD b/tools/platforms/platforms.BUILD
new file mode 100644
index 0000000..4e477e72
--- /dev/null
+++ b/tools/platforms/platforms.BUILD
@@ -0,0 +1,56 @@
+# Standard constraint_setting and constraint_values to be used in platforms.
+
+package(
+    default_visibility = ["//visibility:public"],
+)
+
+# These match values in //src/main/java/com/google/build/lib/util:CPU.java
+constraint_setting(name = "cpu")
+
+constraint_value(
+    name = "x86_32",
+    constraint_setting = ":cpu",
+)
+
+constraint_value(
+    name = "x86_64",
+    constraint_setting = ":cpu",
+)
+
+constraint_value(
+    name = "ppc",
+    constraint_setting = ":cpu",
+)
+
+constraint_value(
+    name = "arm",
+    constraint_setting = ":cpu",
+)
+
+constraint_value(
+    name = "x390x",
+    constraint_setting = ":cpu",
+)
+
+# These match values in //src/main/java/com/google/build/lib/util:OS.java
+constraint_setting(name = "os")
+
+constraint_value(
+    name = "osx",
+    constraint_setting = ":os",
+)
+
+constraint_value(
+    name = "freebsd",
+    constraint_setting = ":os",
+)
+
+constraint_value(
+    name = "linux",
+    constraint_setting = ":os",
+)
+
+constraint_value(
+    name = "windows",
+    constraint_setting = ":os",
+)