aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/dist/main.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-06-20 00:23:59 +0900
committerOphestra <cat@gensokyo.uk>2026-06-20 00:59:47 +0900
commited5cdd38a40e0e121b8bc1c432bbb57ca584f798 (patch)
tree29d2eaee38ae74cd36ac74d18efcc537091543dc /cmd/dist/main.go
parentf6318304eea92c5a918cd723708fd790fc5d2ecd (diff)
cmd/dist: build hsu separately
This program must be built with cgo disabled, and was missed when migrating build script. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'cmd/dist/main.go')
-rw-r--r--cmd/dist/main.go31
1 files changed, 23 insertions, 8 deletions
diff --git a/cmd/dist/main.go b/cmd/dist/main.go
index d876cf83..82247dd9 100644
--- a/cmd/dist/main.go
+++ b/cmd/dist/main.go
@@ -35,8 +35,11 @@ func getenv(key, fallback string) string {
// mustRun runs a command with the current process's environment and panics
// on error or non-zero exit code.
-func mustRun(ctx context.Context, name string, arg ...string) {
+func mustRun(ctx context.Context, env []string, name string, arg ...string) {
cmd := exec.CommandContext(ctx, name, arg...)
+ if env != nil {
+ cmd.Env = append(cmd.Environ(), env...)
+ }
cmd.Stdin, cmd.Stdout, cmd.Stderr = os.Stdin, os.Stdout, os.Stderr
if err := cmd.Run(); err != nil {
panic(err)
@@ -49,6 +52,7 @@ var comp []byte
func main() {
log.SetFlags(0)
log.SetPrefix("")
+ log.SetOutput(os.Stdout)
verbose := os.Getenv("VERBOSE") != ""
runTests := os.Getenv("HAKUREI_DIST_MAKE") == ""
@@ -91,26 +95,37 @@ func main() {
verboseFlag = "-buildvcs=false"
}
- log.Printf("Building hakurei for %s/%s.", runtime.GOOS, runtime.GOARCH)
- mustRun(ctx, "go", "generate", "./...")
+ log.Printf("Building hakurei %s for %s/%s.", version, runtime.GOOS, runtime.GOARCH)
+ mustRun(ctx, nil, "go", "generate", "./...")
mustRun(
- ctx, "go", "build",
+ ctx, nil, "go", "build",
"-trimpath",
verboseFlag, "-o", s,
"-ldflags=-s -w "+
"-buildid= -linkmode external -extldflags=-static "+
"-X hakurei.app/internal/info.buildVersion="+version+" "+
"-X hakurei.app/internal/info.hakureiPath="+prefix+"/bin/hakurei "+
- "-X hakurei.app/internal/info.hsuPath="+prefix+"/bin/hsu "+
+ "-X hakurei.app/internal/info.hsuPath="+prefix+"/bin/hsu",
+ "./cmd/hakurei",
+ "./cmd/sharefs",
+ )
+
+ log.Printf("Building cmd/hsu for %s/%s.", runtime.GOOS, runtime.GOARCH)
+ mustRun(
+ ctx, []string{"CGO_ENABLED=0"}, "go", "build",
+ "-trimpath",
+ verboseFlag, "-o", s,
+ "-ldflags=-s -w "+
+ "-buildid= "+
"-X main.hakureiPath="+prefix+"/bin/hakurei",
- "./...",
+ "./cmd/hsu",
)
- log.Println()
+ log.Println()
if runTests {
log.Println("##### Testing Hakurei.")
mustRun(
- ctx, "go", "test",
+ ctx, nil, "go", "test",
"-ldflags=-buildid= -linkmode external -extldflags=-static",
"./...",
)