targets.bzl 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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, ver) in matrix:
  7. if arch in ["arm"]:
  8. bin_name = "v2ray_" + os + "_" + arch + "_" + ver
  9. foreign_go_binary(
  10. name = bin_name,
  11. pkg = pkg,
  12. output = output,
  13. os = os,
  14. arch = arch,
  15. ver = ver,
  16. arm = ver,
  17. )
  18. gpg_sign(
  19. name = bin_name + "_sig",
  20. base = ":" + bin_name,
  21. )
  22. if os in ["windows"]:
  23. bin_name = "v2ray_" + os + "_" + arch + "_" + ver + "_nowindow"
  24. foreign_go_binary(
  25. name = bin_name,
  26. pkg = pkg,
  27. output = "w" + output,
  28. os = os,
  29. arch = arch,
  30. ver = ver,
  31. arm = ver,
  32. ld = "-H windowsgui",
  33. )
  34. gpg_sign(
  35. name = bin_name + "_sig",
  36. base = ":" + bin_name,
  37. )
  38. else:
  39. bin_name = "v2ray_" + os + "_" + arch
  40. foreign_go_binary(
  41. name = bin_name,
  42. pkg = pkg,
  43. output = output,
  44. os = os,
  45. arch = arch,
  46. ver = ver,
  47. )
  48. gpg_sign(
  49. name = bin_name + "_sig",
  50. base = ":" + bin_name,
  51. )
  52. if os in ["windows"]:
  53. bin_name = "v2ray_" + os + "_" + arch + "_nowindow"
  54. foreign_go_binary(
  55. name = bin_name,
  56. pkg = pkg,
  57. output = "w" + output,
  58. os = os,
  59. arch = arch,
  60. ver = ver,
  61. ld = "-H windowsgui",
  62. )
  63. gpg_sign(
  64. name = bin_name + "_sig",
  65. base = ":" + bin_name,
  66. )
  67. if arch in ["mips", "mipsle"]:
  68. bin_name = "v2ray_" + os + "_" + arch + "_softfloat"
  69. foreign_go_binary(
  70. name = bin_name,
  71. pkg = pkg,
  72. output = output + "_softfloat",
  73. os = os,
  74. arch = arch,
  75. ver = ver,
  76. mips = "softfloat",
  77. )
  78. gpg_sign(
  79. name = bin_name + "_sig",
  80. base = ":" + bin_name,
  81. )