Add bazel build system files.

Build everything with 'bazel build //...' and run all tests with
'bazel test //...'.

Change-Id: Ia912e999e33caa9b490002d639dc4c9a80034afc
diff --git a/pw_preprocessor/BUILD b/pw_preprocessor/BUILD
new file mode 100644
index 0000000..1d40d9b
--- /dev/null
+++ b/pw_preprocessor/BUILD
@@ -0,0 +1,47 @@
+# Copyright 2019 The Pigweed Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+
+package(default_visibility = ["//visibility:public"])
+
+load(
+    "//pw_build:pigweed.bzl",
+    "pw_default_copts",
+    "pw_default_linkopts",
+    "pw_test",
+)
+
+cc_library(
+    name = "pw_preprocessor",
+    hdrs = glob(["public/pw_preprocessor/*.h"]),
+    copts = pw_default_copts(),
+    linkopts = pw_default_linkopts(),
+)
+
+TESTS = [
+    "boolean_test",
+    "concat_test",
+    "macro_arg_count_test",
+    "util_test",
+]
+
+[
+    pw_test(
+        name = t,
+        srcs = [t + ".cc"],
+        copts = pw_default_copts(),
+        linkopts = pw_default_linkopts(),
+        deps = ["//pw_preprocessor"],
+    )
+    for t in TESTS
+]