Explorar o código

Produce a position independent executable (#4011)

* Produce a position independent executable

* Add OS detection to the main Makefile so we don't apply -pie on OS X
Aaron Wood %!s(int64=7) %!d(string=hai) anos
pai
achega
263203ec28
Modificáronse 2 ficheiros con 6 adicións e 1 borrados
  1. 5 0
      Makefile
  2. 1 1
      scripts/build_linux64.sh

+ 5 - 0
Makefile

@@ -5,8 +5,13 @@ DATA_FILES := $(shell find conf | sed 's/ /\\ /g')
 LESS_FILES := $(wildcard public/less/gogs.less public/less/_*.less)
 GENERATED  := modules/bindata/bindata.go public/css/gogs.css
 
+OS := $(shell uname)
+
 TAGS = ""
 BUILD_FLAGS = "-v"
+ifeq ($(OS),Linux)
+	BUILD_FLAGS += " -buildmode=pie"
+endif
 
 RELEASE_ROOT = "release"
 RELEASE_GOGS = "release/gogs"

+ 1 - 1
scripts/build_linux64.sh

@@ -5,7 +5,7 @@ outPath=./output_$outPlattform_$outArch
 rm -rf $outPath
 mkdir $outPath
 
-CGO_ENABLED=0 GOOS=$outPlattform GOARCH=$outArch go build ../gogs.go
+CGO_ENABLED=0 GOOS=$outPlattform GOARCH=$outArch go build -buildmode=pie ../gogs.go
 chmod +x gogs
 mv gogs $outPath/