targets.bzl 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. load("//infra/bazel:build.bzl", "foreign_go_binary")
  2. load("//infra/bazel:gpg.bzl", "gpg_sign")
  3. def gen_targets(matrix):
  4. pkg = "v2ray.com/core/main"
  5. output = "v2ray"
  6. for (os, arch) in matrix:
  7. bin_name = "v2ray_" + os + "_" + arch
  8. foreign_go_binary(
  9. name = bin_name,
  10. pkg = pkg,
  11. output = output,
  12. os = os,
  13. arch = arch,
  14. )
  15. gpg_sign(
  16. name = bin_name + "_sig",
  17. base = ":" + bin_name,
  18. )
  19. if os in ["windows"]:
  20. bin_name = "v2ray_" + os + "_" + arch + "_nowindow"
  21. foreign_go_binary(
  22. name = bin_name,
  23. pkg = pkg,
  24. output = "w" + output,
  25. os = os,
  26. arch = arch,
  27. ld = "-H windowsgui",
  28. )
  29. gpg_sign(
  30. name = bin_name + "_sig",
  31. base = ":" + bin_name,
  32. )
  33. bin_name = "v2ray_" + os + "_" + arch + "_armv7_nowindow"
  34. foreign_go_binary(
  35. name = bin_name,
  36. pkg = pkg,
  37. output = "w" + output + "_armv7",
  38. os = os,
  39. arch = arch,
  40. arm = "7",
  41. ld = "-H windowsgui",
  42. )
  43. gpg_sign(
  44. name = bin_name + "_sig",
  45. base = ":" + bin_name,
  46. )
  47. bin_name = "v2ray_" + os + "_" + arch + "_armv6_nowindow"
  48. foreign_go_binary(
  49. name = bin_name,
  50. pkg = pkg,
  51. output = "w" + output + "_armv6",
  52. os = os,
  53. arch = arch,
  54. arm = "6",
  55. ld = "-H windowsgui",
  56. )
  57. gpg_sign(
  58. name = bin_name + "_sig",
  59. base = ":" + bin_name,
  60. )
  61. bin_name = "v2ray_" + os + "_" + arch + "_armv5_nowindow"
  62. foreign_go_binary(
  63. name = bin_name,
  64. pkg = pkg,
  65. output = "w" + output + "_armv5",
  66. os = os,
  67. arch = arch,
  68. arm = "5",
  69. ld = "-H windowsgui",
  70. )
  71. gpg_sign(
  72. name = bin_name + "_sig",
  73. base = ":" + bin_name,
  74. )
  75. if arch in ["mips", "mipsle"]:
  76. bin_name = "v2ray_" + os + "_" + arch + "_softfloat"
  77. foreign_go_binary(
  78. name = bin_name,
  79. pkg = pkg,
  80. output = output+"_softfloat",
  81. os = os,
  82. arch = arch,
  83. mips = "softfloat",
  84. )
  85. gpg_sign(
  86. name = bin_name + "_sig",
  87. base = ":" + bin_name,
  88. )
  89. if arch in ["arm"]:
  90. bin_name = "v2ray_" + os + "_" + arch + "_armv7"
  91. foreign_go_binary(
  92. name = bin_name,
  93. pkg = pkg,
  94. output = output+"_armv7",
  95. os = os,
  96. arch = arch,
  97. arm = "7",
  98. )
  99. gpg_sign(
  100. name = bin_name + "_sig",
  101. base = ":" + bin_name,
  102. )
  103. bin_name = "v2ray_" + os + "_" + arch + "_armv6"
  104. foreign_go_binary(
  105. name = bin_name,
  106. pkg = pkg,
  107. output = output+"_armv6",
  108. os = os,
  109. arch = arch,
  110. arm = "6",
  111. )
  112. gpg_sign(
  113. name = bin_name + "_sig",
  114. base = ":" + bin_name,
  115. )
  116. bin_name = "v2ray_" + os + "_" + arch + "_armv5"
  117. foreign_go_binary(
  118. name = bin_name,
  119. pkg = pkg,
  120. output = output+"_armv5",
  121. os = os,
  122. arch = arch,
  123. arm = "5",
  124. )
  125. gpg_sign(
  126. name = bin_name + "_sig",
  127. base = ":" + bin_name,
  128. )