targets.bzl 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. load("//infra/bazel:build.bzl", "foreign_go_binary")
  2. def gen_targets(matrix):
  3. pkg = "./main"
  4. output = "v2ray"
  5. for (os, arch, ver) in matrix:
  6. if arch in ["arm"]:
  7. bin_name = "v2ray_" + os + "_" + arch + "_" + ver
  8. foreign_go_binary(
  9. name = bin_name,
  10. pkg = pkg,
  11. output = output,
  12. os = os,
  13. arch = arch,
  14. ver = ver,
  15. arm = ver,
  16. )
  17. if os in ["windows"]:
  18. bin_name = "v2ray_" + os + "_" + arch + "_" + ver + "_nowindow"
  19. foreign_go_binary(
  20. name = bin_name,
  21. pkg = pkg,
  22. output = "w" + output,
  23. os = os,
  24. arch = arch,
  25. ver = ver,
  26. arm = ver,
  27. ld = "-H windowsgui",
  28. )
  29. else:
  30. bin_name = "v2ray_" + os + "_" + arch
  31. foreign_go_binary(
  32. name = bin_name,
  33. pkg = pkg,
  34. output = output,
  35. os = os,
  36. arch = arch,
  37. ver = ver,
  38. )
  39. if os in ["windows"]:
  40. bin_name = "v2ray_" + os + "_" + arch + "_nowindow"
  41. foreign_go_binary(
  42. name = bin_name,
  43. pkg = pkg,
  44. output = "w" + output,
  45. os = os,
  46. arch = arch,
  47. ver = ver,
  48. ld = "-H windowsgui",
  49. )
  50. if arch in ["mips", "mipsle"]:
  51. bin_name = "v2ray_" + os + "_" + arch + "_softfloat"
  52. foreign_go_binary(
  53. name = bin_name,
  54. pkg = pkg,
  55. output = output + "_softfloat",
  56. os = os,
  57. arch = arch,
  58. ver = ver,
  59. mips = "softfloat",
  60. )