define_modules.bzl 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir")
  2. load("//build/kernel/kleaf:kernel.bzl", "ddk_module")
  3. def define_modules(target, variant):
  4. kernel_build_variant = "{}_{}".format(target, variant)
  5. include_base = "../../../{}".format(native.package_name())
  6. #The below will take care of the defconfig
  7. #include_defconfig = ":{}_defconfig".format(variant)
  8. ddk_module(
  9. name = "{}_rmnet_ctl".format(kernel_build_variant),
  10. out = "rmnet_ctl.ko",
  11. srcs = [
  12. "core/rmnet_ctl_ipa.c",
  13. "core/rmnet_ctl.h",
  14. "core/rmnet_ctl_client.h",
  15. ],
  16. kconfig = "core/Kconfig",
  17. conditional_srcs = {
  18. "CONFIG_ARCH_PINEAPPLE": {
  19. True: [
  20. "core/rmnet_ctl_client.c",
  21. ],
  22. },
  23. "CONFIG_ARCH_BLAIR": {
  24. True: [
  25. "core/rmnet_ctl_client.c",
  26. ],
  27. },
  28. "CONFIG_ARCH_MONACO": {
  29. True: [
  30. "core/rmnet_ctl_client.c",
  31. ],
  32. },
  33. "CONFIG_ARCH_PITTI": {
  34. True: [
  35. "core/rmnet_ctl_client.c",
  36. ],
  37. },
  38. "CONFIG_ARCH_VOLCANO": {
  39. True: [
  40. "core/rmnet_ctl_client.c",
  41. ],
  42. },
  43. },
  44. kernel_build = "//msm-kernel:{}".format(kernel_build_variant),
  45. deps = [
  46. "//vendor/qcom/opensource/dataipa:{}_ipam".format(kernel_build_variant),
  47. "//msm-kernel:all_headers",
  48. "//vendor/qcom/opensource/dataipa:include_headers",
  49. ],
  50. )
  51. ddk_module(
  52. name = "{}_rmnet_core".format(kernel_build_variant),
  53. out = "rmnet_core.ko",
  54. srcs = [
  55. "core/rmnet_config.c",
  56. "core/rmnet_descriptor.c",
  57. "core/rmnet_genl.c",
  58. "core/rmnet_handlers.c",
  59. "core/rmnet_map_command.c",
  60. "core/rmnet_map_data.c",
  61. "core/rmnet_module.c",
  62. "core/rmnet_vnd.c",
  63. "core/dfc_qmap.c",
  64. "core/dfc_qmi.c",
  65. "core/qmi_rmnet.c",
  66. "core/wda_qmi.c",
  67. "core/rmnet_ll.c",
  68. "core/rmnet_ll_ipa.c",
  69. "core/rmnet_qmap.c",
  70. "core/rmnet_ll_qmap.c",
  71. ],
  72. local_defines = [
  73. "RMNET_TRACE_INCLUDE_PATH={}/core".format(include_base),
  74. ],
  75. kernel_build = "//msm-kernel:{}".format(kernel_build_variant),
  76. deps = [
  77. ":rmnet_core_headers",
  78. ":{}_rmnet_ctl".format(kernel_build_variant),
  79. "//vendor/qcom/opensource/dataipa:{}_ipam".format(kernel_build_variant),
  80. "//vendor/qcom/opensource/datarmnet-ext/mem:{}_rmnet_mem".format(kernel_build_variant),
  81. "//msm-kernel:all_headers",
  82. "//vendor/qcom/opensource/dataipa:include_headers",
  83. "//vendor/qcom/opensource/datarmnet-ext/mem:rmnet_mem_headers",
  84. ],
  85. )
  86. copy_to_dist_dir(
  87. name = "{}_modules_dist".format(kernel_build_variant),
  88. data = [
  89. "{}_rmnet_core".format(kernel_build_variant),
  90. "{}_rmnet_ctl".format(kernel_build_variant),
  91. ],
  92. dist_dir = "out/target/product/{}/dlkm/lib/modules/".format(target),
  93. flat = True,
  94. wipe_dist_dir = False,
  95. allow_duplicate_filenames = False,
  96. mode_overrides = {"**/*": "644"},
  97. log = "info",
  98. )