diff --git a/build.ps1 b/build.ps1 new file mode 100644 index 000000000..cf6dd45c8 --- /dev/null +++ b/build.ps1 @@ -0,0 +1,41 @@ + param ( + [string]$SHA = "" + ) + +if ($SHA -eq ""){ + $SHA = (git rev-parse HEAD) | Out-String + $SHA = $SHA.Replace([System.Environment]::NewLine,"") +} + + +$PKG = "github.com/StackExchange/dnscontrol" +$DATE = [int][double]::Parse((Get-Date -UFormat %s)) +$FLAGS="-s -w -X main.SHA=$SHA -X main.BuildTime=$DATE" +Write-Host $FLAGS + +$OrigGOOS = $env:GOOS + +Write-Host 'Building Linux' +$env:GOOS = "linux" +go build -o dnscontrol-Linux -ldflags "$FLAGS" $PKG + +Write-Host 'Building Windows' +$env:GOOS = "windows" +go build -o dnscontrol.exe -ldflags "$FLAGS" $PKG + +Write-Host 'Building Darwin' +$env:GOOS = "darwin" +go build -o dnscontrol-Darwin -ldflags "$FLAGS" $PKG + +$env:GOOS = $OrigGOOS + +#No compression if building on windows +<# +if [ "$COMPRESS" = "1" ] +then + echo 'Compressing executables' + upx dnscontrol.exe + upx dnscontrol-Linux + upx dnscontrol-Darwin +fi +#> \ No newline at end of file