From 41a9aec10e335ced6af09280e6e44d85f71e990d Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Thu, 23 Feb 2017 17:59:22 +0100 Subject: [PATCH] windows binary with subsystem window --- tools/build/build.go | 15 ++++++++++++++- tools/build/go.go | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/tools/build/build.go b/tools/build/build.go index 0687102b3..983e2a99a 100644 --- a/tools/build/build.go +++ b/tools/build/build.go @@ -76,16 +76,29 @@ func build(targetOS, targetArch string, archive bool, version string, metadataFi targetFile := getTargetFile(v2rayOS) targetFileFull := filepath.Join(targetDir, targetFile) - err = buildV2Ray(targetFileFull, version, v2rayOS, v2rayArch) + err = buildV2Ray(targetFileFull, version, v2rayOS, v2rayArch, "") if err != nil { fmt.Println("Unable to build V2Ray: " + err.Error()) } + if v2rayOS == Windows { + err = buildV2Ray(filepath.Join(targetDir, "w"+targetFile), version, v2rayOS, v2rayArch, "-H windowsgui") + if err != nil { + fmt.Println("Unable to build V2Ray no console: " + err.Error()) + } + } if *flagSignBinary { err := signFile(targetFileFull) if err != nil { fmt.Println("Unable to sign V2Ray binary: " + err.Error()) } + + if v2rayOS == Windows { + err = signFile(filepath.Join(targetDir, "w"+targetFile)) + if err != nil { + fmt.Println("Unable to sign V2Ray no console: " + err.Error()) + } + } } err = copyConfigFiles(targetDir, v2rayOS) diff --git a/tools/build/go.go b/tools/build/go.go index 3a9600f1b..e8ab3b268 100644 --- a/tools/build/go.go +++ b/tools/build/go.go @@ -7,9 +7,9 @@ import ( "time" ) -func buildV2Ray(targetFile string, version string, goOS GoOS, goArch GoArch) error { +func buildV2Ray(targetFile string, version string, goOS GoOS, goArch GoArch, extraLdFlags string) error { goPath := os.Getenv("GOPATH") - ldFlags := "-s" + ldFlags := "-s " + extraLdFlags if version != "custom" { year, month, day := time.Now().UTC().Date() today := fmt.Sprintf("%04d%02d%02d", year, int(month), day)