mirror of
https://github.com/golang/go
synced 2024-11-26 17:07:09 -07:00
cmd/dist, build: support building statically linked toolchain
Added a new $GO_DISTFLAGS to make.bash, and while we're here, added mention $CXX in make.bash (CL 13704044). Fixes #6448. Update #3564 We can pass GO_DISTFLAGS=-s from misc/dist to make.bash so that it will build a statically linked toolchain. (Note: OS X doesn't have the concept of static linking, so don't pass GO_DISTFLAGS=-s for OS X builds) R=adg, rsc, iant CC=golang-dev https://golang.org/cl/13887043
This commit is contained in:
parent
57d37b55b8
commit
6b188ef57a
1
src/cmd/dist/a.h
vendored
1
src/cmd/dist/a.h
vendored
@ -112,6 +112,7 @@ void goc2c(char*, char*);
|
||||
|
||||
// main.c
|
||||
extern int vflag;
|
||||
extern int sflag;
|
||||
void usage(void);
|
||||
void xmain(int argc, char **argv);
|
||||
|
||||
|
8
src/cmd/dist/build.c
vendored
8
src/cmd/dist/build.c
vendored
@ -720,6 +720,8 @@ install(char *dir)
|
||||
vadd(&link, bpathf(&b, "%s/%s", tooldir, name));
|
||||
} else {
|
||||
vcopy(&link, gccargs.p, gccargs.len);
|
||||
if(sflag)
|
||||
vadd(&link, "-static");
|
||||
vadd(&link, "-o");
|
||||
targ = link.len;
|
||||
vadd(&link, bpathf(&b, "%s/%s%s", tooldir, name, exe));
|
||||
@ -1527,6 +1529,9 @@ cmdbootstrap(int argc, char **argv)
|
||||
case 'a':
|
||||
rebuildall = 1;
|
||||
break;
|
||||
case 's':
|
||||
sflag++;
|
||||
break;
|
||||
case 'v':
|
||||
vflag++;
|
||||
break;
|
||||
@ -1613,6 +1618,9 @@ cmdinstall(int argc, char **argv)
|
||||
int i;
|
||||
|
||||
ARGBEGIN{
|
||||
case 's':
|
||||
sflag++;
|
||||
break;
|
||||
case 'v':
|
||||
vflag++;
|
||||
break;
|
||||
|
1
src/cmd/dist/main.c
vendored
1
src/cmd/dist/main.c
vendored
@ -5,6 +5,7 @@
|
||||
#include "a.h"
|
||||
|
||||
int vflag;
|
||||
int sflag;
|
||||
char *argv0;
|
||||
|
||||
// cmdtab records the available commands.
|
||||
|
@ -37,6 +37,11 @@
|
||||
#
|
||||
# CC: Command line to run to get at host C compiler.
|
||||
# Default is "gcc". Also supported: "clang".
|
||||
# CXX: Command line to run to get at host C++ compiler, only recorded
|
||||
# for cgo use. Default is "g++". Also supported: "clang++".
|
||||
#
|
||||
# GO_DISTFLAGS: extra flags to provide to "dist bootstrap". Use "-s"
|
||||
# to build a statically linked toolchain.
|
||||
|
||||
set -e
|
||||
if [ ! -f run.bash ]; then
|
||||
@ -140,7 +145,7 @@ buildall="-a"
|
||||
if [ "$1" = "--no-clean" ]; then
|
||||
buildall=""
|
||||
fi
|
||||
./cmd/dist/dist bootstrap $buildall -v # builds go_bootstrap
|
||||
./cmd/dist/dist bootstrap $buildall $GO_DISTFLAGS -v # builds go_bootstrap
|
||||
# Delay move of dist tool to now, because bootstrap may clear tool directory.
|
||||
mv cmd/dist/dist "$GOTOOLDIR"/dist
|
||||
"$GOTOOLDIR"/go_bootstrap clean -i std
|
||||
|
Loading…
Reference in New Issue
Block a user