From cdbb32d0f043c56c6787df3f036feabc8891fd3c Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Fri, 13 Oct 2017 09:24:38 +0000 Subject: [PATCH] build: Support passing -pkgdir GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4417 --- build.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/build.go b/build.go index d8e7f0057..7d5fc8d08 100644 --- a/build.go +++ b/build.go @@ -45,6 +45,7 @@ var ( noBuildGopath bool extraTags string installSuffix string + pkgdir string ) type target struct { @@ -342,6 +343,7 @@ func parseFlags() { flag.BoolVar(&noBuildGopath, "no-build-gopath", noBuildGopath, "Don't build GOPATH, assume it's OK") flag.StringVar(&extraTags, "tags", extraTags, "Extra tags, space separated") flag.StringVar(&installSuffix, "installsuffix", installSuffix, "Install suffix, optional") + flag.StringVar(&pkgdir, "pkgdir", "", "Set -pkgdir parameter for `go build`") flag.Parse() } @@ -404,6 +406,9 @@ func install(target target, tags []string) { } os.Setenv("GOBIN", filepath.Join(cwd, "bin")) args := []string{"install", "-v", "-ldflags", ldflags()} + if pkgdir != "" { + args = append(args, "-pkgdir", pkgdir) + } if len(tags) > 0 { args = append(args, "-tags", strings.Join(tags, " ")) } @@ -427,6 +432,9 @@ func build(target target, tags []string) { rmr(target.BinaryName()) args := []string{"build", "-i", "-v", "-ldflags", ldflags()} + if pkgdir != "" { + args = append(args, "-pkgdir", pkgdir) + } if len(tags) > 0 { args = append(args, "-tags", strings.Join(tags, " ")) }