BUILD.gn 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # Copyright 2017 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. import("//build/compiled_action.gni")
  5. import("//net/features.gni")
  6. # Generates a header file based on the real preload list.
  7. compiled_action("generate_transport_security_state") {
  8. tool = "//net/tools/transport_security_state_generator"
  9. # Inputs in order expected by the command line of the tool.
  10. inputs = [
  11. "transport_security_state_static.json",
  12. "transport_security_state_static.pins",
  13. "transport_security_state_static.template",
  14. ]
  15. outputs = [ "$target_gen_dir/transport_security_state_static.h" ]
  16. args =
  17. rebase_path(inputs, root_build_dir) + rebase_path(outputs, root_build_dir)
  18. }
  19. # Generates a header file for use in unittests.
  20. compiled_action("transport_security_state_unittest_data_default") {
  21. tool = "//net/tools/transport_security_state_generator"
  22. # Inputs in order expected by the command line of the tool.
  23. inputs = [
  24. "transport_security_state_static_unittest_default.json",
  25. "transport_security_state_static_unittest_default.pins",
  26. "transport_security_state_static_unittest.template",
  27. ]
  28. outputs =
  29. [ "$target_gen_dir/transport_security_state_static_unittest_default.h" ]
  30. args =
  31. rebase_path(inputs, root_build_dir) + rebase_path(outputs, root_build_dir)
  32. }
  33. # Generates a number of header files that are used by integration tests for the
  34. # generation process and preload format.
  35. compiled_action_foreach("transport_security_state_unittest_data") {
  36. tool = "//net/tools/transport_security_state_generator"
  37. sources = [
  38. "transport_security_state_static_unittest1.json",
  39. "transport_security_state_static_unittest2.json",
  40. "transport_security_state_static_unittest3.json",
  41. ]
  42. # Inputs in order expected by the command line of the tool.
  43. inputs = [
  44. "transport_security_state_static_unittest.pins",
  45. "transport_security_state_static_unittest.template",
  46. ]
  47. outputs = [ "$target_gen_dir/{{source_name_part}}.h" ]
  48. args =
  49. [ rebase_path("{{source_name_part}}.json", root_build_dir) ] +
  50. rebase_path(inputs, root_build_dir) + rebase_path(outputs, root_build_dir)
  51. }
  52. # This has separated source_set not to let other compiles wait for the
  53. # generate_transport_security_state task to complete.
  54. source_set("transport_security_state_generated_files") {
  55. # Do not publicize any header to remove build dependency.
  56. public = []
  57. sources = [ "transport_security_state.cc" ]
  58. deps = [
  59. "//build:branding_buildflags",
  60. "//net:net_deps",
  61. "//net:net_public_deps",
  62. "//net/dns",
  63. ]
  64. if (include_transport_security_state_preload_list) {
  65. deps += [ ":generate_transport_security_state" ]
  66. }
  67. }