Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
protobuf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
protobuf
Commits
1e534d7a
Commit
1e534d7a
authored
Jun 18, 2015
by
Jisi Liu
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #505 from pherl/bazel
Add bazel support for the project
parents
e9a122eb
e438a513
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
524 additions
and
53 deletions
+524
-53
BUILD
BUILD
+406
-0
WORKSPACE
WORKSPACE
+0
-0
extract_includes.bat.in
cmake/extract_includes.bat.in
+0
-1
update_file_lists.sh
update_file_lists.sh
+118
-52
No files found.
BUILD
0 → 100644
View file @
1e534d7a
# Bazel (http://bazel.io/) BUILD file for Protobuf.
licenses(["notice"])
COPTS = [
"-DHAVE_PTHREAD",
"-Wall",
"-Wwrite-strings",
"-Woverloaded-virtual",
"-Wno-sign-compare",
"-Wno-error=unused-function",
]
# Bazel should provide portable link_opts for pthread.
LINK_OPTS = ["-lpthread"]
cc_library(
name = "protobuf_lite",
srcs = [
# AUTOGEN(protobuf_lite_srcs)
"src/google/protobuf/arena.cc",
"src/google/protobuf/arenastring.cc",
"src/google/protobuf/extension_set.cc",
"src/google/protobuf/generated_message_util.cc",
"src/google/protobuf/io/coded_stream.cc",
"src/google/protobuf/io/zero_copy_stream.cc",
"src/google/protobuf/io/zero_copy_stream_impl_lite.cc",
"src/google/protobuf/message_lite.cc",
"src/google/protobuf/repeated_field.cc",
"src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc",
"src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc",
"src/google/protobuf/stubs/common.cc",
"src/google/protobuf/stubs/once.cc",
"src/google/protobuf/stubs/stringprintf.cc",
"src/google/protobuf/wire_format_lite.cc",
],
copts = COPTS,
includes = ["src/"],
linkopts = LINK_OPTS,
visibility = ["//visibility:public"],
)
cc_library(
name = "protobuf",
srcs = [
# AUTOGEN(protobuf_srcs)
"src/google/protobuf/any.cc",
"src/google/protobuf/any.pb.cc",
"src/google/protobuf/api.pb.cc",
"src/google/protobuf/compiler/importer.cc",
"src/google/protobuf/compiler/parser.cc",
"src/google/protobuf/descriptor.cc",
"src/google/protobuf/descriptor.pb.cc",
"src/google/protobuf/descriptor_database.cc",
"src/google/protobuf/duration.pb.cc",
"src/google/protobuf/dynamic_message.cc",
"src/google/protobuf/empty.pb.cc",
"src/google/protobuf/extension_set_heavy.cc",
"src/google/protobuf/field_mask.pb.cc",
"src/google/protobuf/generated_message_reflection.cc",
"src/google/protobuf/io/gzip_stream.cc",
"src/google/protobuf/io/printer.cc",
"src/google/protobuf/io/strtod.cc",
"src/google/protobuf/io/tokenizer.cc",
"src/google/protobuf/io/zero_copy_stream_impl.cc",
"src/google/protobuf/map_field.cc",
"src/google/protobuf/message.cc",
"src/google/protobuf/reflection_ops.cc",
"src/google/protobuf/service.cc",
"src/google/protobuf/source_context.pb.cc",
"src/google/protobuf/struct.pb.cc",
"src/google/protobuf/stubs/structurally_valid.cc",
"src/google/protobuf/stubs/strutil.cc",
"src/google/protobuf/stubs/substitute.cc",
"src/google/protobuf/text_format.cc",
"src/google/protobuf/timestamp.pb.cc",
"src/google/protobuf/type.pb.cc",
"src/google/protobuf/unknown_field_set.cc",
"src/google/protobuf/wire_format.cc",
"src/google/protobuf/wrappers.pb.cc",
],
copts = COPTS,
includes = ["src/"],
linkopts = LINK_OPTS,
visibility = ["//visibility:public"],
deps = [":protobuf_lite"],
)
cc_library(
name = "protoc_lib",
srcs = [
# AUTOGEN(protoc_lib_srcs)
"src/google/protobuf/compiler/code_generator.cc",
"src/google/protobuf/compiler/command_line_interface.cc",
"src/google/protobuf/compiler/cpp/cpp_enum.cc",
"src/google/protobuf/compiler/cpp/cpp_enum_field.cc",
"src/google/protobuf/compiler/cpp/cpp_extension.cc",
"src/google/protobuf/compiler/cpp/cpp_field.cc",
"src/google/protobuf/compiler/cpp/cpp_file.cc",
"src/google/protobuf/compiler/cpp/cpp_generator.cc",
"src/google/protobuf/compiler/cpp/cpp_helpers.cc",
"src/google/protobuf/compiler/cpp/cpp_map_field.cc",
"src/google/protobuf/compiler/cpp/cpp_message.cc",
"src/google/protobuf/compiler/cpp/cpp_message_field.cc",
"src/google/protobuf/compiler/cpp/cpp_primitive_field.cc",
"src/google/protobuf/compiler/cpp/cpp_service.cc",
"src/google/protobuf/compiler/cpp/cpp_string_field.cc",
"src/google/protobuf/compiler/csharp/csharp_enum.cc",
"src/google/protobuf/compiler/csharp/csharp_enum_field.cc",
"src/google/protobuf/compiler/csharp/csharp_extension.cc",
"src/google/protobuf/compiler/csharp/csharp_field_base.cc",
"src/google/protobuf/compiler/csharp/csharp_generator.cc",
"src/google/protobuf/compiler/csharp/csharp_helpers.cc",
"src/google/protobuf/compiler/csharp/csharp_message.cc",
"src/google/protobuf/compiler/csharp/csharp_message_field.cc",
"src/google/protobuf/compiler/csharp/csharp_primitive_field.cc",
"src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc",
"src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc",
"src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc",
"src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc",
"src/google/protobuf/compiler/csharp/csharp_umbrella_class.cc",
"src/google/protobuf/compiler/csharp/csharp_writer.cc",
"src/google/protobuf/compiler/java/java_context.cc",
"src/google/protobuf/compiler/java/java_doc_comment.cc",
"src/google/protobuf/compiler/java/java_enum.cc",
"src/google/protobuf/compiler/java/java_enum_field.cc",
"src/google/protobuf/compiler/java/java_enum_field_lite.cc",
"src/google/protobuf/compiler/java/java_extension.cc",
"src/google/protobuf/compiler/java/java_field.cc",
"src/google/protobuf/compiler/java/java_file.cc",
"src/google/protobuf/compiler/java/java_generator.cc",
"src/google/protobuf/compiler/java/java_generator_factory.cc",
"src/google/protobuf/compiler/java/java_helpers.cc",
"src/google/protobuf/compiler/java/java_lazy_message_field.cc",
"src/google/protobuf/compiler/java/java_lazy_message_field_lite.cc",
"src/google/protobuf/compiler/java/java_map_field.cc",
"src/google/protobuf/compiler/java/java_map_field_lite.cc",
"src/google/protobuf/compiler/java/java_message.cc",
"src/google/protobuf/compiler/java/java_message_builder.cc",
"src/google/protobuf/compiler/java/java_message_builder_lite.cc",
"src/google/protobuf/compiler/java/java_message_field.cc",
"src/google/protobuf/compiler/java/java_message_field_lite.cc",
"src/google/protobuf/compiler/java/java_message_lite.cc",
"src/google/protobuf/compiler/java/java_name_resolver.cc",
"src/google/protobuf/compiler/java/java_primitive_field.cc",
"src/google/protobuf/compiler/java/java_primitive_field_lite.cc",
"src/google/protobuf/compiler/java/java_service.cc",
"src/google/protobuf/compiler/java/java_shared_code_generator.cc",
"src/google/protobuf/compiler/java/java_string_field.cc",
"src/google/protobuf/compiler/java/java_string_field_lite.cc",
"src/google/protobuf/compiler/javanano/javanano_enum.cc",
"src/google/protobuf/compiler/javanano/javanano_enum_field.cc",
"src/google/protobuf/compiler/javanano/javanano_extension.cc",
"src/google/protobuf/compiler/javanano/javanano_field.cc",
"src/google/protobuf/compiler/javanano/javanano_file.cc",
"src/google/protobuf/compiler/javanano/javanano_generator.cc",
"src/google/protobuf/compiler/javanano/javanano_helpers.cc",
"src/google/protobuf/compiler/javanano/javanano_map_field.cc",
"src/google/protobuf/compiler/javanano/javanano_message.cc",
"src/google/protobuf/compiler/javanano/javanano_message_field.cc",
"src/google/protobuf/compiler/javanano/javanano_primitive_field.cc",
"src/google/protobuf/compiler/objectivec/objectivec_enum.cc",
"src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc",
"src/google/protobuf/compiler/objectivec/objectivec_extension.cc",
"src/google/protobuf/compiler/objectivec/objectivec_field.cc",
"src/google/protobuf/compiler/objectivec/objectivec_file.cc",
"src/google/protobuf/compiler/objectivec/objectivec_generator.cc",
"src/google/protobuf/compiler/objectivec/objectivec_helpers.cc",
"src/google/protobuf/compiler/objectivec/objectivec_map_field.cc",
"src/google/protobuf/compiler/objectivec/objectivec_message.cc",
"src/google/protobuf/compiler/objectivec/objectivec_message_field.cc",
"src/google/protobuf/compiler/objectivec/objectivec_oneof.cc",
"src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc",
"src/google/protobuf/compiler/plugin.cc",
"src/google/protobuf/compiler/plugin.pb.cc",
"src/google/protobuf/compiler/python/python_generator.cc",
"src/google/protobuf/compiler/ruby/ruby_generator.cc",
"src/google/protobuf/compiler/subprocess.cc",
"src/google/protobuf/compiler/zip_writer.cc",
],
copts = COPTS,
includes = ["src/"],
linkopts = LINK_OPTS,
visibility = ["//visibility:public"],
deps = [":protobuf"],
)
cc_binary(
name = "protoc",
srcs = ["src/google/protobuf/compiler/main.cc"],
linkopts = LINK_OPTS,
visibility = ["//visibility:public"],
deps = [":protoc_lib"],
)
WELL_KNOWN_PROTOS = [
# AUTOGEN(well_known_protos)
"google/protobuf/any.proto",
"google/protobuf/api.proto",
"google/protobuf/compiler/plugin.proto",
"google/protobuf/descriptor.proto",
"google/protobuf/duration.proto",
"google/protobuf/empty.proto",
"google/protobuf/field_mask.proto",
"google/protobuf/source_context.proto",
"google/protobuf/struct.proto",
"google/protobuf/timestamp.proto",
"google/protobuf/type.proto",
"google/protobuf/wrappers.proto",
]
################################################################################
# Tests
################################################################################
LITE_TEST_PROTOS = [
# AUTOGEN(lite_test_protos)
"google/protobuf/map_lite_unittest.proto",
"google/protobuf/unittest_import_lite.proto",
"google/protobuf/unittest_import_public_lite.proto",
"google/protobuf/unittest_lite.proto",
]
LITE_TEST_PROTOS_OUTS = [
# AUTOGEN(lite_test_protos_outs)
"src/google/protobuf/map_lite_unittest.pb.cc",
"src/google/protobuf/map_lite_unittest.pb.h",
"src/google/protobuf/unittest_import_lite.pb.cc",
"src/google/protobuf/unittest_import_lite.pb.h",
"src/google/protobuf/unittest_import_public_lite.pb.cc",
"src/google/protobuf/unittest_import_public_lite.pb.h",
"src/google/protobuf/unittest_lite.pb.cc",
"src/google/protobuf/unittest_lite.pb.h",
]
TEST_PROTOS = [
# AUTOGEN(test_protos)
"google/protobuf/any_test.proto",
"google/protobuf/compiler/cpp/cpp_test_bad_identifiers.proto",
"google/protobuf/compiler/cpp/cpp_test_large_enum_value.proto",
"google/protobuf/map_proto2_unittest.proto",
"google/protobuf/map_unittest.proto",
"google/protobuf/unittest.proto",
"google/protobuf/unittest_arena.proto",
"google/protobuf/unittest_custom_options.proto",
"google/protobuf/unittest_drop_unknown_fields.proto",
"google/protobuf/unittest_embed_optimize_for.proto",
"google/protobuf/unittest_empty.proto",
"google/protobuf/unittest_enormous_descriptor.proto",
"google/protobuf/unittest_import.proto",
"google/protobuf/unittest_import_public.proto",
"google/protobuf/unittest_lite_imports_nonlite.proto",
"google/protobuf/unittest_mset.proto",
"google/protobuf/unittest_no_arena.proto",
"google/protobuf/unittest_no_arena_import.proto",
"google/protobuf/unittest_no_field_presence.proto",
"google/protobuf/unittest_no_generic_services.proto",
"google/protobuf/unittest_optimize_for.proto",
"google/protobuf/unittest_preserve_unknown_enum.proto",
"google/protobuf/unittest_preserve_unknown_enum2.proto",
"google/protobuf/unittest_proto3_arena.proto",
"google/protobuf/unittest_well_known_types.proto",
]
TEST_PROTOS_OUTS = [
# AUTOGEN(test_protos_outs)
"src/google/protobuf/any_test.pb.cc",
"src/google/protobuf/any_test.pb.h",
"src/google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.cc",
"src/google/protobuf/compiler/cpp/cpp_test_bad_identifiers.pb.h",
"src/google/protobuf/compiler/cpp/cpp_test_large_enum_value.pb.cc",
"src/google/protobuf/compiler/cpp/cpp_test_large_enum_value.pb.h",
"src/google/protobuf/map_proto2_unittest.pb.cc",
"src/google/protobuf/map_proto2_unittest.pb.h",
"src/google/protobuf/map_unittest.pb.cc",
"src/google/protobuf/map_unittest.pb.h",
"src/google/protobuf/unittest.pb.cc",
"src/google/protobuf/unittest.pb.h",
"src/google/protobuf/unittest_arena.pb.cc",
"src/google/protobuf/unittest_arena.pb.h",
"src/google/protobuf/unittest_custom_options.pb.cc",
"src/google/protobuf/unittest_custom_options.pb.h",
"src/google/protobuf/unittest_drop_unknown_fields.pb.cc",
"src/google/protobuf/unittest_drop_unknown_fields.pb.h",
"src/google/protobuf/unittest_embed_optimize_for.pb.cc",
"src/google/protobuf/unittest_embed_optimize_for.pb.h",
"src/google/protobuf/unittest_empty.pb.cc",
"src/google/protobuf/unittest_empty.pb.h",
"src/google/protobuf/unittest_enormous_descriptor.pb.cc",
"src/google/protobuf/unittest_enormous_descriptor.pb.h",
"src/google/protobuf/unittest_import.pb.cc",
"src/google/protobuf/unittest_import.pb.h",
"src/google/protobuf/unittest_import_public.pb.cc",
"src/google/protobuf/unittest_import_public.pb.h",
"src/google/protobuf/unittest_lite_imports_nonlite.pb.cc",
"src/google/protobuf/unittest_lite_imports_nonlite.pb.h",
"src/google/protobuf/unittest_mset.pb.cc",
"src/google/protobuf/unittest_mset.pb.h",
"src/google/protobuf/unittest_no_arena.pb.cc",
"src/google/protobuf/unittest_no_arena.pb.h",
"src/google/protobuf/unittest_no_arena_import.pb.cc",
"src/google/protobuf/unittest_no_arena_import.pb.h",
"src/google/protobuf/unittest_no_field_presence.pb.cc",
"src/google/protobuf/unittest_no_field_presence.pb.h",
"src/google/protobuf/unittest_no_generic_services.pb.cc",
"src/google/protobuf/unittest_no_generic_services.pb.h",
"src/google/protobuf/unittest_optimize_for.pb.cc",
"src/google/protobuf/unittest_optimize_for.pb.h",
"src/google/protobuf/unittest_preserve_unknown_enum.pb.cc",
"src/google/protobuf/unittest_preserve_unknown_enum.pb.h",
"src/google/protobuf/unittest_preserve_unknown_enum2.pb.cc",
"src/google/protobuf/unittest_preserve_unknown_enum2.pb.h",
"src/google/protobuf/unittest_proto3_arena.pb.cc",
"src/google/protobuf/unittest_proto3_arena.pb.h",
"src/google/protobuf/unittest_well_known_types.pb.cc",
"src/google/protobuf/unittest_well_known_types.pb.h",
]
PROTOS = LITE_TEST_PROTOS + TEST_PROTOS
INPUTS = PROTOS + WELL_KNOWN_PROTOS
OUTPUTS = LITE_TEST_PROTOS_OUTS + TEST_PROTOS_OUTS
genrule(
name = "gen_test_protos",
srcs = ["src/" + x for x in INPUTS],
outs = OUTPUTS,
cmd =
"$(location :protoc) --cpp_out=$(@D)/src" +
"".join([" -I" + x + "=$(location src/" + x + ")" for x in INPUTS]) +
"".join([" $(location src/" + x + ")" for x in PROTOS]),
tools = [":protoc"],
)
COMMON_TEST_SRCS = [
# AUTOGEN(common_test_srcs)
"src/google/protobuf/arena_test_util.cc",
"src/google/protobuf/map_test_util.cc",
"src/google/protobuf/test_util.cc",
"src/google/protobuf/testing/file.cc",
"src/google/protobuf/testing/googletest.cc",
]
# TODO(liujisi): Add gtest dependency and enable tests.
# cc_test(
# name = "protobuf_test",
# srcs = OUTPUTS + COMMON_TEST_SRCS + [
# # AUTOGEN(test_srcs)
# "src/google/protobuf/any_test.cc",
# "src/google/protobuf/arena_unittest.cc",
# "src/google/protobuf/arenastring_unittest.cc",
# "src/google/protobuf/compiler/command_line_interface_unittest.cc",
# "src/google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc",
# "src/google/protobuf/compiler/cpp/cpp_plugin_unittest.cc",
# "src/google/protobuf/compiler/cpp/cpp_unittest.cc",
# "src/google/protobuf/compiler/csharp/csharp_generator_unittest.cc",
# "src/google/protobuf/compiler/importer_unittest.cc",
# "src/google/protobuf/compiler/java/java_doc_comment_unittest.cc",
# "src/google/protobuf/compiler/java/java_plugin_unittest.cc",
# "src/google/protobuf/compiler/mock_code_generator.cc",
# "src/google/protobuf/compiler/objectivec/objectivec_helpers_unittest.cc",
# "src/google/protobuf/compiler/parser_unittest.cc",
# "src/google/protobuf/compiler/python/python_plugin_unittest.cc",
# "src/google/protobuf/compiler/ruby/ruby_generator_unittest.cc",
# "src/google/protobuf/descriptor_database_unittest.cc",
# "src/google/protobuf/descriptor_unittest.cc",
# "src/google/protobuf/drop_unknown_fields_test.cc",
# "src/google/protobuf/dynamic_message_unittest.cc",
# "src/google/protobuf/extension_set_unittest.cc",
# "src/google/protobuf/generated_message_reflection_unittest.cc",
# "src/google/protobuf/io/coded_stream_unittest.cc",
# "src/google/protobuf/io/printer_unittest.cc",
# "src/google/protobuf/io/tokenizer_unittest.cc",
# "src/google/protobuf/io/zero_copy_stream_unittest.cc",
# "src/google/protobuf/map_field_test.cc",
# "src/google/protobuf/map_test.cc",
# "src/google/protobuf/message_unittest.cc",
# "src/google/protobuf/no_field_presence_test.cc",
# "src/google/protobuf/preserve_unknown_enum_test.cc",
# "src/google/protobuf/proto3_arena_unittest.cc",
# "src/google/protobuf/reflection_ops_unittest.cc",
# "src/google/protobuf/repeated_field_reflection_unittest.cc",
# "src/google/protobuf/repeated_field_unittest.cc",
# "src/google/protobuf/stubs/common_unittest.cc",
# "src/google/protobuf/stubs/once_unittest.cc",
# "src/google/protobuf/stubs/stringprintf_unittest.cc",
# "src/google/protobuf/stubs/structurally_valid_unittest.cc",
# "src/google/protobuf/stubs/strutil_unittest.cc",
# "src/google/protobuf/stubs/template_util_unittest.cc",
# "src/google/protobuf/stubs/type_traits_unittest.cc",
# "src/google/protobuf/text_format_unittest.cc",
# "src/google/protobuf/unknown_field_set_unittest.cc",
# "src/google/protobuf/well_known_types_unittest.cc",
# "src/google/protobuf/wire_format_unittest.cc",
# ],
# copts = COPTS,
# includes = [
# "src/",
# ],
# linkopts = LINK_OPTS,
# deps = [
# ":protobuf",
# ":protoc_lib",
# ],
# )
WORKSPACE
0 → 100644
View file @
1e534d7a
cmake/extract_includes.bat.in
View file @
1e534d7a
...
...
@@ -109,4 +109,3 @@ copy ${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\wire_format.h include\
copy ${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\wire_format_lite.h include\google\protobuf\wire_format_lite.h
copy ${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\wire_format_lite_inl.h include\google\protobuf\wire_format_lite_inl.h
copy ${PROTOBUF_SOURCE_WIN32_PATH}\..\src\google\protobuf\wrappers.pb.h include\google\protobuf\wrappers.pb.h
copy ${PROTOBUF_BINARY_WIN32_PATH}\google\protobuf\stubs\pbconfig.h include\google\protobuf\stubs\pbconfig.h
cmake/
update_file_lists.sh
→
update_file_lists.sh
View file @
1e534d7a
...
...
@@ -3,8 +3,8 @@
# This script copies source file lists from src/Makefile.am to cmake files.
get_variable_value
()
{
FILENAME
=
$1
VARNAME
=
$2
local
FILENAME
=
$1
local
VARNAME
=
$2
awk
"
BEGIN { start = 0; }
/^
$VARNAME
=/ { start = 1; }
...
...
@@ -19,6 +19,10 @@ get_variable_value() {
|
LC_ALL
=
C
sort
|
uniq
}
get_header_files
()
{
get_variable_value
$@
|
grep
'\.h$'
}
get_source_files
()
{
get_variable_value
$@
|
grep
"cc$"
}
...
...
@@ -27,32 +31,8 @@ get_proto_files() {
get_variable_value
$@
|
grep
"pb.cc$"
|
sed
"s/pb.cc/proto/"
}
set_variable_value
()
{
FILENAME
=
$1
VARNAME
=
$2
PREFIX
=
$3
shift
shift
shift
awk
-v
values
=
"
$*
"
-v
prefix
=
"
$PREFIX
"
"
BEGIN { start = 0; }
/^set
\\
(
$VARNAME
/ {
start = 1;
print
\$
0;
len = split(values, vlist,
\"
\"
);
for (i = 1; i <= len; ++i) {
printf(
\"
%s%s
\\
n
\"
, prefix, vlist[i]);
}
next;
}
start && /^
\\
)/ {
start = 0;
}
!start {
print
\$
0;
}
"
$FILENAME
>
/tmp/
$$
cp
/tmp/
$$
$FILENAME
get_proto_outs
()
{
get_variable_value
$@
|
grep
'\.pb\.'
}
sort_files
()
{
...
...
@@ -61,25 +41,13 @@ sort_files() {
done
|
LC_ALL
=
C
sort
|
uniq
}
MAKEFILE
=
../src/Makefile.am
CMAKE_DIR
=
.
EXTRACT_INCLUDES_BAT
=
extract_includes.bat.in
MAKEFILE
=
src/Makefile.am
[
-f
"
$MAKEFILE
"
]
||
{
echo
"Cannot find:
$MAKEFILE
"
exit
1
}
[
-d
"
$CMAKE_DIR
"
]
||
{
echo
"Cannot find:
$CMAKE_DIR
"
exit
1
}
[
-f
"
$EXTRACT_INCLUDES_BAT
"
]
||
{
echo
"Cannot find:
$EXTRACT_INCLUDES_BAT
"
exit
1
}
# Extract file lists from src/Makefile.am
GZHEADERS
=
$(
get_variable_value
$MAKEFILE
GZHEADERS
)
HEADERS
=
$(
get_variable_value
$MAKEFILE
nobase_include_HEADERS
)
...
...
@@ -88,21 +56,69 @@ LIBPROTOBUF_LITE_SOURCES=$(get_source_files $MAKEFILE libprotobuf_lite_la_SOURCE
LIBPROTOBUF_SOURCES
=
$(
get_source_files
$MAKEFILE
libprotobuf_la_SOURCES
)
LIBPROTOC_SOURCES
=
$(
get_source_files
$MAKEFILE
libprotoc_la_SOURCES
)
LITE_PROTOS
=
$(
get_proto_files
$MAKEFILE
protoc_lite_outputs
)
LITE_PROTOS_OUTS
=
$(
get_proto_outs
$MAKEFILE
protoc_lite_outputs
)
PROTOS
=
$(
get_proto_files
$MAKEFILE
protoc_outputs
)
PROTOS_OUTS
=
$(
get_proto_outs
$MAKEFILE
protoc_outputs
)
WKT_PROTOS
=
$(
get_variable_value
$MAKEFILE
nobase_dist_proto_DATA
)
COMMON_TEST_SOURCES
=
$(
get_source_files
$MAKEFILE
COMMON_TEST_SOURCES
)
TEST_SOURCES
=
$(
get_source_files
$MAKEFILE
protobuf_test_SOURCES
)
LITE_TEST_SOURCES
=
$(
get_source_files
$MAKEFILE
protobuf_lite_test_SOURCES
)
################################################################################
# Update cmake files.
################################################################################
CMAKE_DIR
=
cmake
EXTRACT_INCLUDES_BAT
=
cmake/extract_includes.bat.in
[
-d
"
$CMAKE_DIR
"
]
||
{
echo
"Cannot find:
$CMAKE_DIR
"
exit
1
}
[
-f
"
$EXTRACT_INCLUDES_BAT
"
]
||
{
echo
"Cannot find:
$EXTRACT_INCLUDES_BAT
"
exit
1
}
set_cmake_value
()
{
local
FILENAME
=
$1
local
VARNAME
=
$2
local
PREFIX
=
$3
shift
shift
shift
awk
-v
values
=
"
$*
"
-v
prefix
=
"
$PREFIX
"
"
BEGIN { start = 0; }
/^set
\\
(
$VARNAME
/ {
start = 1;
print
\$
0;
len = split(values, vlist,
\"
\"
);
for (i = 1; i <= len; ++i) {
printf(
\"
%s%s
\\
n
\"
, prefix, vlist[i]);
}
next;
}
start && /^
\\
)/ {
start = 0;
}
!start {
print
\$
0;
}
"
$FILENAME
>
/tmp/
$$
cp
/tmp/
$$
$FILENAME
}
# Replace file lists in cmake files.
C
OMMON
_PREFIX
=
"
\$
{protobuf_source_dir}/src/"
set_
variable_value
$CMAKE_DIR
/libprotobuf-lite.cmake libprotobuf_lite_files
$COMMON
_PREFIX
$LIBPROTOBUF_LITE_SOURCES
set_
variable_value
$CMAKE_DIR
/libprotobuf.cmake libprotobuf_files
$COMMON
_PREFIX
$LIBPROTOBUF_SOURCES
set_
variable_value
$CMAKE_DIR
/libprotoc.cmake libprotoc_files
$COMMON
_PREFIX
$LIBPROTOC_SOURCES
set_
variabl
e_value
$CMAKE_DIR
/tests.cmake lite_test_protos
""
$LITE_PROTOS
set_
variabl
e_value
$CMAKE_DIR
/tests.cmake tests_protos
""
$PROTOS
set_
variable_value
$CMAKE_DIR
/tests.cmake common_test_files
$COMMON
_PREFIX
$COMMON_TEST_SOURCES
set_
variable_value
$CMAKE_DIR
/tests.cmake tests_files
$COMMON
_PREFIX
$TEST_SOURCES
set_
variable_value
$CMAKE_DIR
/tests.cmake lite_test_files
$COMMON
_PREFIX
$LITE_TEST_SOURCES
C
MAKE
_PREFIX
=
"
\$
{protobuf_source_dir}/src/"
set_
cmake_value
$CMAKE_DIR
/libprotobuf-lite.cmake libprotobuf_lite_files
$CMAKE
_PREFIX
$LIBPROTOBUF_LITE_SOURCES
set_
cmake_value
$CMAKE_DIR
/libprotobuf.cmake libprotobuf_files
$CMAKE
_PREFIX
$LIBPROTOBUF_SOURCES
set_
cmake_value
$CMAKE_DIR
/libprotoc.cmake libprotoc_files
$CMAKE
_PREFIX
$LIBPROTOC_SOURCES
set_
cmak
e_value
$CMAKE_DIR
/tests.cmake lite_test_protos
""
$LITE_PROTOS
set_
cmak
e_value
$CMAKE_DIR
/tests.cmake tests_protos
""
$PROTOS
set_
cmake_value
$CMAKE_DIR
/tests.cmake common_test_files
$CMAKE
_PREFIX
$COMMON_TEST_SOURCES
set_
cmake_value
$CMAKE_DIR
/tests.cmake tests_files
$CMAKE
_PREFIX
$TEST_SOURCES
set_
cmake_value
$CMAKE_DIR
/tests.cmake lite_test_files
$CMAKE
_PREFIX
$LITE_TEST_SOURCES
# Generate extract_includes.bat
echo
"mkdir include"
>
$EXTRACT_INCLUDES_BAT
...
...
@@ -117,5 +133,55 @@ for HEADER in $PUBLIC_HEADERS; do
WINPATH
=
$(
echo
$HEADER
|
sed
's;/;\\;g'
)
echo
"copy
\$
{PROTOBUF_SOURCE_WIN32_PATH}
\\
..
\\
src
\\
$WINPATH
include
\\
$WINPATH
"
>>
$EXTRACT_INCLUDES_BAT
done
# Add pbconfig.h.
echo
"copy
\$
{PROTOBUF_BINARY_WIN32_PATH}
\\
google
\\
protobuf
\\
stubs
\\
pbconfig.h include
\\
google
\\
protobuf
\\
stubs
\\
pbconfig.h"
>>
$EXTRACT_INCLUDES_BAT
################################################################################
# Update bazel BUILD files.
################################################################################
BAZEL_BUILD
=
./BUILD
[
-f
"
$BAZEL_BUILD
"
]
||
{
echo
"Cannot find:
$BAZEL_BUILD
"
exit
1
}
set_bazel_value
()
{
local
FILENAME
=
$1
local
VARNAME
=
$2
local
PREFIX
=
$3
shift
shift
shift
awk
-v
values
=
"
$*
"
-v
prefix
=
"
$PREFIX
"
"
BEGIN { start = 0; }
/# AUTOGEN
\\
(
$VARNAME
\\
)/ {
start = 1;
print
\$
0;
# replace
\$
0 with indent.
sub(/#.*/,
\"\"
,
\$
0)
len = split(values, vlist,
\"
\"
);
for (i = 1; i <= len; ++i) {
printf(
\"
%s
\\\"
%s%s
\\\"
,
\n\"
,
\$
0, prefix, vlist[i]);
}
next;
}
start && /
\]
/ {
start = 0
}
!start {
print
\$
0;
}
"
$FILENAME
>
/tmp/
$$
cp
/tmp/
$$
$FILENAME
}
BAZEL_PREFIX
=
"src/"
set_bazel_value
$BAZEL_BUILD
protobuf_lite_srcs
$BAZEL_PREFIX
$LIBPROTOBUF_LITE_SOURCES
set_bazel_value
$BAZEL_BUILD
protobuf_srcs
$BAZEL_PREFIX
$LIBPROTOBUF_SOURCES
set_bazel_value
$BAZEL_BUILD
protoc_lib_srcs
$BAZEL_PREFIX
$LIBPROTOC_SOURCES
set_bazel_value
$BAZEL_BUILD
lite_test_protos
""
$LITE_PROTOS
set_bazel_value
$BAZEL_BUILD
lite_test_protos_outs
$BAZEL_PREFIX
$LITE_PROTOS_OUTS
set_bazel_value
$BAZEL_BUILD
well_known_protos
""
$WKT_PROTOS
set_bazel_value
$BAZEL_BUILD
test_protos
""
$PROTOS
set_bazel_value
$BAZEL_BUILD
test_protos_outs
$BAZEL_PREFIX
$PROTOS_OUTS
set_bazel_value
$BAZEL_BUILD
common_test_srcs
$BAZEL_PREFIX
$COMMON_TEST_SOURCES
set_bazel_value
$BAZEL_BUILD
test_srcs
$BAZEL_PREFIX
$TEST_SOURCES
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment