BUILD.gn 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. # Copyright 2014 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. if (current_toolchain == host_toolchain) {
  5. config("android_protoc_warnings") {
  6. cflags = [
  7. "-Wno-enum-compare-switch",
  8. "-Wno-null-conversion",
  9. "-Wno-tautological-undefined-compare",
  10. "-Wno-unused-function",
  11. "-Wno-unused-local-typedef",
  12. ]
  13. }
  14. executable("android_protoc") {
  15. configs -= [
  16. "//build/config/compiler:chromium_code",
  17. # Does not compile with sanitizers.
  18. "//build/config/sanitizers:default_sanitizer_flags",
  19. ]
  20. configs += [
  21. "//build/config/compiler:no_chromium_code",
  22. # Must be after no_chromium_code so warning flags are ordered correctly.
  23. ":android_protoc_warnings",
  24. ]
  25. deps = [ "//third_party/zlib" ]
  26. sources = [
  27. "src/src/google/protobuf/compiler/code_generator.cc",
  28. "src/src/google/protobuf/compiler/command_line_interface.cc",
  29. "src/src/google/protobuf/compiler/cpp/cpp_enum.cc",
  30. "src/src/google/protobuf/compiler/cpp/cpp_enum_field.cc",
  31. "src/src/google/protobuf/compiler/cpp/cpp_extension.cc",
  32. "src/src/google/protobuf/compiler/cpp/cpp_field.cc",
  33. "src/src/google/protobuf/compiler/cpp/cpp_file.cc",
  34. "src/src/google/protobuf/compiler/cpp/cpp_generator.cc",
  35. "src/src/google/protobuf/compiler/cpp/cpp_helpers.cc",
  36. "src/src/google/protobuf/compiler/cpp/cpp_message.cc",
  37. "src/src/google/protobuf/compiler/cpp/cpp_message_field.cc",
  38. "src/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc",
  39. "src/src/google/protobuf/compiler/cpp/cpp_service.cc",
  40. "src/src/google/protobuf/compiler/cpp/cpp_string_field.cc",
  41. "src/src/google/protobuf/compiler/importer.cc",
  42. "src/src/google/protobuf/compiler/java/java_context.cc",
  43. "src/src/google/protobuf/compiler/java/java_doc_comment.cc",
  44. "src/src/google/protobuf/compiler/java/java_enum.cc",
  45. "src/src/google/protobuf/compiler/java/java_enum_field.cc",
  46. "src/src/google/protobuf/compiler/java/java_extension.cc",
  47. "src/src/google/protobuf/compiler/java/java_field.cc",
  48. "src/src/google/protobuf/compiler/java/java_file.cc",
  49. "src/src/google/protobuf/compiler/java/java_generator.cc",
  50. "src/src/google/protobuf/compiler/java/java_generator_factory.cc",
  51. "src/src/google/protobuf/compiler/java/java_helpers.cc",
  52. "src/src/google/protobuf/compiler/java/java_lazy_message_field.cc",
  53. "src/src/google/protobuf/compiler/java/java_message.cc",
  54. "src/src/google/protobuf/compiler/java/java_message_field.cc",
  55. "src/src/google/protobuf/compiler/java/java_name_resolver.cc",
  56. "src/src/google/protobuf/compiler/java/java_primitive_field.cc",
  57. "src/src/google/protobuf/compiler/java/java_service.cc",
  58. "src/src/google/protobuf/compiler/java/java_shared_code_generator.cc",
  59. "src/src/google/protobuf/compiler/java/java_string_field.cc",
  60. "src/src/google/protobuf/compiler/javamicro/javamicro_enum.cc",
  61. "src/src/google/protobuf/compiler/javamicro/javamicro_enum_field.cc",
  62. "src/src/google/protobuf/compiler/javamicro/javamicro_field.cc",
  63. "src/src/google/protobuf/compiler/javamicro/javamicro_file.cc",
  64. "src/src/google/protobuf/compiler/javamicro/javamicro_generator.cc",
  65. "src/src/google/protobuf/compiler/javamicro/javamicro_helpers.cc",
  66. "src/src/google/protobuf/compiler/javamicro/javamicro_message.cc",
  67. "src/src/google/protobuf/compiler/javamicro/javamicro_message_field.cc",
  68. "src/src/google/protobuf/compiler/javamicro/javamicro_primitive_field.cc",
  69. "src/src/google/protobuf/compiler/javanano/javanano_enum.cc",
  70. "src/src/google/protobuf/compiler/javanano/javanano_enum_field.cc",
  71. "src/src/google/protobuf/compiler/javanano/javanano_extension.cc",
  72. "src/src/google/protobuf/compiler/javanano/javanano_field.cc",
  73. "src/src/google/protobuf/compiler/javanano/javanano_file.cc",
  74. "src/src/google/protobuf/compiler/javanano/javanano_generator.cc",
  75. "src/src/google/protobuf/compiler/javanano/javanano_helpers.cc",
  76. "src/src/google/protobuf/compiler/javanano/javanano_message.cc",
  77. "src/src/google/protobuf/compiler/javanano/javanano_message_field.cc",
  78. "src/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc",
  79. "src/src/google/protobuf/compiler/main.cc",
  80. "src/src/google/protobuf/compiler/parser.cc",
  81. "src/src/google/protobuf/compiler/plugin.cc",
  82. "src/src/google/protobuf/compiler/plugin.pb.cc",
  83. "src/src/google/protobuf/compiler/python/python_generator.cc",
  84. "src/src/google/protobuf/compiler/subprocess.cc",
  85. "src/src/google/protobuf/compiler/zip_writer.cc",
  86. "src/src/google/protobuf/descriptor.cc",
  87. "src/src/google/protobuf/descriptor.pb.cc",
  88. "src/src/google/protobuf/descriptor_database.cc",
  89. "src/src/google/protobuf/dynamic_message.cc",
  90. "src/src/google/protobuf/extension_set.cc",
  91. "src/src/google/protobuf/extension_set_heavy.cc",
  92. "src/src/google/protobuf/generated_message_reflection.cc",
  93. "src/src/google/protobuf/generated_message_util.cc",
  94. "src/src/google/protobuf/io/coded_stream.cc",
  95. "src/src/google/protobuf/io/gzip_stream.cc",
  96. "src/src/google/protobuf/io/printer.cc",
  97. "src/src/google/protobuf/io/strtod.cc",
  98. "src/src/google/protobuf/io/tokenizer.cc",
  99. "src/src/google/protobuf/io/zero_copy_stream.cc",
  100. "src/src/google/protobuf/io/zero_copy_stream_impl.cc",
  101. "src/src/google/protobuf/io/zero_copy_stream_impl_lite.cc",
  102. "src/src/google/protobuf/message.cc",
  103. "src/src/google/protobuf/message_lite.cc",
  104. "src/src/google/protobuf/reflection_ops.cc",
  105. "src/src/google/protobuf/repeated_field.cc",
  106. "src/src/google/protobuf/service.cc",
  107. "src/src/google/protobuf/stubs/atomicops_internals_x86_gcc.cc",
  108. "src/src/google/protobuf/stubs/atomicops_internals_x86_msvc.cc",
  109. "src/src/google/protobuf/stubs/common.cc",
  110. "src/src/google/protobuf/stubs/hash.cc",
  111. "src/src/google/protobuf/stubs/once.cc",
  112. "src/src/google/protobuf/stubs/stringprintf.cc",
  113. "src/src/google/protobuf/stubs/structurally_valid.cc",
  114. "src/src/google/protobuf/stubs/strutil.cc",
  115. "src/src/google/protobuf/stubs/substitute.cc",
  116. "src/src/google/protobuf/text_format.cc",
  117. "src/src/google/protobuf/unknown_field_set.cc",
  118. "src/src/google/protobuf/wire_format.cc",
  119. "src/src/google/protobuf/wire_format_lite.cc",
  120. ]
  121. include_dirs = [
  122. "src/android",
  123. "src/src",
  124. ]
  125. defines = [
  126. # This macro must be defined to suppress the use
  127. # of dynamic_cast<>, which requires RTTI.
  128. "GOOGLE_PROTOBUF_NO_RTTI",
  129. "GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
  130. ]
  131. }
  132. }
  133. if (is_android) {
  134. import("//build/config/android/rules.gni")
  135. android_library("protobuf_nano_javalib") {
  136. chromium_code = false
  137. sources = [
  138. "src/java/src/device/main/java/com/google/protobuf/nano/android/ParcelableExtendableMessageNano.java",
  139. "src/java/src/device/main/java/com/google/protobuf/nano/android/ParcelableMessageNano.java",
  140. "src/java/src/device/main/java/com/google/protobuf/nano/android/ParcelableMessageNanoCreator.java",
  141. "src/java/src/main/java/com/google/protobuf/nano/CodedInputByteBufferNano.java",
  142. "src/java/src/main/java/com/google/protobuf/nano/CodedOutputByteBufferNano.java",
  143. "src/java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java",
  144. "src/java/src/main/java/com/google/protobuf/nano/Extension.java",
  145. "src/java/src/main/java/com/google/protobuf/nano/FieldArray.java",
  146. "src/java/src/main/java/com/google/protobuf/nano/FieldData.java",
  147. "src/java/src/main/java/com/google/protobuf/nano/InternalNano.java",
  148. "src/java/src/main/java/com/google/protobuf/nano/InvalidProtocolBufferNanoException.java",
  149. "src/java/src/main/java/com/google/protobuf/nano/MessageNano.java",
  150. "src/java/src/main/java/com/google/protobuf/nano/MessageNanoPrinter.java",
  151. "src/java/src/main/java/com/google/protobuf/nano/UnknownFieldData.java",
  152. "src/java/src/main/java/com/google/protobuf/nano/WireFormatNano.java",
  153. ]
  154. }
  155. }