Skip to content

Commit

Permalink
Merge pull request #58 from rprx/patch-1
Browse files Browse the repository at this point in the history
Adjust Bazel
  • Loading branch information
kslr authored Jul 19, 2020
2 parents fc2ff50 + c8f266c commit b3bfded
Show file tree
Hide file tree
Showing 10 changed files with 225 additions and 287 deletions.
3 changes: 2 additions & 1 deletion infra/bazel/build.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ def _go_command(ctx):
if ctx.attr.os == "windows":
output = output + ".exe"

output_file = ctx.actions.declare_file(ctx.attr.os + "/" + ctx.attr.arch + "/" + output)
output_file = ctx.actions.declare_file(ctx.attr.os + "/" + ctx.attr.arch + "/" + ctx.attr.ver + "/" + output)
pkg = ctx.attr.pkg

ld_flags = "-s -w"
Expand Down Expand Up @@ -61,6 +61,7 @@ foreign_go_binary = rule(
'output': attr.string(),
'os': attr.string(mandatory=True),
'arch': attr.string(mandatory=True),
'ver': attr.string(mandatory=True),
'mips': attr.string(),
'arm': attr.string(),
'ld': attr.string(),
Expand Down
42 changes: 22 additions & 20 deletions infra/bazel/matrix.bzl
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
SUPPORTED_MATRIX = [
("windows", "amd64"),
("windows", "386"),
("windows", "arm"),
("darwin", "amd64"),
("linux", "amd64"),
("linux", "386"),
("linux", "arm64"),
("linux", "arm"),
("linux", "mips64"),
("linux", "mips"),
("linux", "mips64le"),
("linux", "mipsle"),
("linux", "ppc64"),
("linux", "ppc64le"),
("linux", "s390x"),
("freebsd", "amd64"),
("freebsd", "386"),
("openbsd", "amd64"),
("openbsd", "386"),
("dragonfly", "amd64"),
("windows", "amd64", "0"),
("windows", "386", "0"),
("windows", "arm", "7"),
("darwin", "amd64", "0"),
("linux", "amd64", "0"),
("linux", "386", "0"),
("linux", "arm64", "0"),
("linux", "arm", "7"),
("linux", "arm", "6"),
("linux", "arm", "5"),
("linux", "mips64", "0"),
("linux", "mips", "0"),
("linux", "mips64le", "0"),
("linux", "mipsle", "0"),
("linux", "ppc64", "0"),
("linux", "ppc64le", "0"),
("linux", "s390x", "0"),
("freebsd", "amd64", "0"),
("freebsd", "386", "0"),
("openbsd", "amd64", "0"),
("openbsd", "386", "0"),
("dragonfly", "amd64", "0"),
]
2 changes: 0 additions & 2 deletions infra/control/main/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
load("//infra/bazel:build.bzl", "foreign_go_binary")
load("//infra/bazel:gpg.bzl", "gpg_sign")
load("//infra/bazel:matrix.bzl", "SUPPORTED_MATRIX")
load("//infra/control/main:targets.bzl", "gen_targets")

Expand Down
81 changes: 27 additions & 54 deletions infra/control/main/targets.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -2,67 +2,21 @@ load("//infra/bazel:build.bzl", "foreign_go_binary")
load("//infra/bazel:gpg.bzl", "gpg_sign")

def gen_targets(matrix):
output = "v2ctl"
pkg = "v2ray.com/core/infra/control/main"
output = "v2ctl"

for (os, arch) in matrix:
bin_name = "v2ctl_" + os + "_" + arch
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output,
os = os,
arch = arch,
gotags = "confonly",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)
for (os, arch, ver) in matrix:

if arch in ["mips", "mipsle"]:
bin_name = "v2ctl_" + os + "_" + arch + "_softfloat"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output + "_softfloat",
os = os,
arch = arch,
mips = "softfloat",
gotags = "confonly",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

if arch in ["arm"]:
bin_name = "v2ctl_" + os + "_" + arch + "_armv7"
bin_name = "v2ctl_" + os + "_" + arch + "_" + ver
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output + "_armv7",
os = os,
arch = arch,
arm = "7",
gotags = "confonly",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

bin_name = "v2ctl_" + os + "_" + arch + "_armv6"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output + "_armv6",
output = output,
os = os,
arch = arch,
arm = "6",
ver = ver,
arm = ver,
gotags = "confonly",
)

Expand All @@ -71,18 +25,37 @@ def gen_targets(matrix):
base = ":" + bin_name,
)

bin_name = "v2ctl_" + os + "_" + arch + "_armv5"
else:
bin_name = "v2ctl_" + os + "_" + arch
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output,
os = os,
arch = arch,
arm = "5",
ver = ver,
gotags = "confonly",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

if arch in ["mips", "mipsle"]:
bin_name = "v2ctl_" + os + "_" + arch + "_softfloat"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output + "_softfloat",
os = os,
arch = arch,
ver = ver,
mips = "softfloat",
gotags = "confonly",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)
2 changes: 0 additions & 2 deletions main/BUILD
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
load("//infra/bazel:build.bzl", "foreign_go_binary")
load("//infra/bazel:gpg.bzl", "gpg_sign")
load("//infra/bazel:matrix.bzl", "SUPPORTED_MATRIX")
load("//main:targets.bzl", "gen_targets")

Expand Down
174 changes: 60 additions & 114 deletions main/targets.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -5,143 +5,89 @@ def gen_targets(matrix):
pkg = "v2ray.com/core/main"
output = "v2ray"

for (os, arch) in matrix:
bin_name = "v2ray_" + os + "_" + arch
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output,
os = os,
arch = arch,
)
for (os, arch, ver) in matrix:

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

if os in ["windows"]:
bin_name = "v2ray_" + os + "_" + arch + "_nowindow"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = "w" + output,
os = os,
arch = arch,
ld = "-H windowsgui",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

bin_name = "v2ray_" + os + "_" + arch + "_armv7_nowindow"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = "w" + output + "_armv7",
os = os,
arch = arch,
arm = "7",
ld = "-H windowsgui",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

bin_name = "v2ray_" + os + "_" + arch + "_armv6_nowindow"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = "w" + output + "_armv6",
os = os,
arch = arch,
arm = "6",
ld = "-H windowsgui",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

bin_name = "v2ray_" + os + "_" + arch + "_armv5_nowindow"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = "w" + output,
os = os,
arch = arch,
arm = "5",
ld = "-H windowsgui",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

if arch in ["mips", "mipsle"]:
bin_name = "v2ray_" + os + "_" + arch + "_softfloat"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output+"_softfloat",
os = os,
arch = arch,
mips = "softfloat",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

if arch in ["arm"]:
bin_name = "v2ray_" + os + "_" + arch + "_armv7"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output + "_armv7",
os = os,
arch = arch,
arm = "7",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

bin_name = "v2ray_" + os + "_" + arch + "_armv6"
bin_name = "v2ray_" + os + "_" + arch + "_" + ver
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output + "_armv6",
output = output,
os = os,
arch = arch,
arm = "6",
ver = ver,
arm = ver,
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

bin_name = "v2ray_" + os + "_" + arch + "_armv5"
if os in ["windows"]:
bin_name = "v2ray_" + os + "_" + arch + "_" + ver + "_nowindow"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = "w" + output,
os = os,
arch = arch,
ver = ver,
arm = ver,
ld = "-H windowsgui",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

else:
bin_name = "v2ray_" + os + "_" + arch
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output,
os = os,
arch = arch,
arm = "5",
ver = ver,
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

if os in ["windows"]:
bin_name = "v2ray_" + os + "_" + arch + "_nowindow"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = "w" + output,
os = os,
arch = arch,
ver = ver,
ld = "-H windowsgui",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)

if arch in ["mips", "mipsle"]:
bin_name = "v2ray_" + os + "_" + arch + "_softfloat"
foreign_go_binary(
name = bin_name,
pkg = pkg,
output = output + "_softfloat",
os = os,
arch = arch,
ver = ver,
mips = "softfloat",
)

gpg_sign(
name = bin_name + "_sig",
base = ":" + bin_name,
)
Loading

0 comments on commit b3bfded

Please sign in to comment.