targets.bzl 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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. if arch in ["mips", "mipsle"]:
  34. bin_name = "v2ray_" + os + "_" + arch + "_softfloat"
  35. foreign_go_binary(
  36. name = bin_name,
  37. pkg = pkg,
  38. output = output+"_softfloat",
  39. os = os,
  40. arch = arch,
  41. mips = "softfloat",
  42. )
  43. gpg_sign(
  44. name = bin_name + "_sig",
  45. base = ":" + bin_name,
  46. )
  47. if arch in ["arm"]:
  48. bin_name = "v2ray_" + os + "_" + arch + "_armv7"
  49. foreign_go_binary(
  50. name = bin_name,
  51. pkg = pkg,
  52. output = output+"_armv7",
  53. os = os,
  54. arch = arch,
  55. arm = "7",
  56. )
  57. gpg_sign(
  58. name = bin_name + "_sig",
  59. base = ":" + bin_name,
  60. )
  61. bin_name = "v2ray_" + os + "_" + arch + "_armv6"
  62. foreign_go_binary(
  63. name = bin_name,
  64. pkg = pkg,
  65. output = output+"_armv6",
  66. os = os,
  67. arch = arch,
  68. arm = "6",
  69. )
  70. gpg_sign(
  71. name = bin_name + "_sig",
  72. base = ":" + bin_name,
  73. )
  74. bin_name = "v2ray_" + os + "_" + arch + "_armv5"
  75. foreign_go_binary(
  76. name = bin_name,
  77. pkg = pkg,
  78. output = output+"_armv5",
  79. os = os,
  80. arch = arch,
  81. arm = "5",
  82. )
  83. gpg_sign(
  84. name = bin_name + "_sig",
  85. base = ":" + bin_name,
  86. )