aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Cozzette <acozzette@gmail.com>2016-12-21 07:21:14 -0800
committerGitHub <noreply@github.com>2016-12-21 07:21:14 -0800
commitd948b66d4f4f41e438981f49ad4668ab0ba6ab0a (patch)
treea0e25e1d9b8139cb8bb76d0c694e5d2166229f6d
parentcdc2766a5d9f64e9ef8af4aa481f1bb0b30bd700 (diff)
parent5731ca5af0057b77780ac61a7fe08344e639b3ce (diff)
downloadprotobuf-d948b66d4f4f41e438981f49ad4668ab0ba6ab0a.tar.gz
protobuf-d948b66d4f4f41e438981f49ad4668ab0ba6ab0a.tar.bz2
protobuf-d948b66d4f4f41e438981f49ad4668ab0ba6ab0a.zip
Merge pull request #2521 from acozzette/fix-bazel
Added Bazel genrule for generating well_known_types_embed.cc
-rw-r--r--BUILD18
-rw-r--r--src/Makefile.am8
2 files changed, 24 insertions, 2 deletions
diff --git a/BUILD b/BUILD
index c9f40321..cf5f0a87 100644
--- a/BUILD
+++ b/BUILD
@@ -227,6 +227,24 @@ cc_proto_library(
# Protocol Buffers Compiler
################################################################################
+cc_binary(
+ name = "js_embed",
+ srcs = ["src/google/protobuf/compiler/js/embed.cc"],
+ visibility = ["//visibility:public"],
+)
+
+genrule(
+ name = "generate_js_well_known_types_embed",
+ srcs = [
+ "src/google/protobuf/compiler/js/well_known_types/any.js",
+ "src/google/protobuf/compiler/js/well_known_types/struct.js",
+ "src/google/protobuf/compiler/js/well_known_types/timestamp.js",
+ ],
+ outs = ["src/google/protobuf/compiler/js/well_known_types_embed.cc"],
+ cmd = "$(location :js_embed) $(SRCS) > $@",
+ tools = [":js_embed"],
+)
+
cc_library(
name = "protoc_lib",
srcs = [
diff --git a/src/Makefile.am b/src/Makefile.am
index 254d428f..37204ea0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -56,7 +56,8 @@ clean-local:
CLEANFILES = $(protoc_outputs) unittest_proto_middleman \
testzip.jar testzip.list testzip.proto testzip.zip \
- no_warning_test.cc
+ no_warning_test.cc \
+ google/protobuf/compiler/js/well_known_types_embed.cc
MAINTAINERCLEANFILES = \
Makefile.in
@@ -494,8 +495,10 @@ js_well_known_types_sources = \
google/protobuf/compiler/js/well_known_types/any.js \
google/protobuf/compiler/js/well_known_types/struct.js \
google/protobuf/compiler/js/well_known_types/timestamp.js
+# We have to cd to $(srcdir) so that out-of-tree builds work properly.
google/protobuf/compiler/js/well_known_types_embed.cc: js_embed$(EXEEXT) $(js_well_known_types_sources)
- ./js_embed$(EXEEXT) $(js_well_known_types_sources) > $@
+ oldpwd=`pwd` && cd $(srcdir) && \
+ $$oldpwd/js_embed$(EXEEXT) $(js_well_known_types_sources) > $$oldpwd/$@
# Tests ==============================================================
@@ -549,6 +552,7 @@ protoc_inputs = \
EXTRA_DIST = \
$(protoc_inputs) \
+ $(js_well_known_types_sources) \
solaris/libstdc++.la \
google/protobuf/io/gzip_stream.h \
google/protobuf/io/gzip_stream_unittest.sh \