mirror of
https://github.com/golang/go
synced 2024-11-23 21:10:05 -07:00
runtime: add GOROOT and Version
R=r CC=golang-dev https://golang.org/cl/608041
This commit is contained in:
parent
5e6203d28b
commit
0c3a93ceb7
@ -26,9 +26,13 @@ src/cmd/gc/yerr.h
|
||||
src/pkg/Make.deps
|
||||
src/pkg/exp/ogle/ogle
|
||||
src/pkg/os/signal/unix.go
|
||||
src/pkg/runtime/cgo2c
|
||||
src/pkg/runtime/*/asm.h
|
||||
src/pkg/runtime/cgo2c
|
||||
src/pkg/runtime/mkversion
|
||||
src/pkg/runtime/runtime.acid.*
|
||||
src/pkg/runtime/version.go
|
||||
src/pkg/github.com/
|
||||
src/pkg/*.googlecode.com/
|
||||
test/pass.out
|
||||
test/run.out
|
||||
test/times.out
|
||||
|
@ -23,6 +23,7 @@ CFLAGS=-I$(GOOS) -I$(GOOS)/$(GOARCH) -wF $(CFLAGS_$(SIZE)) $(CFLAGS_$(GOARCH)) $
|
||||
GOFILES=\
|
||||
extern.go\
|
||||
type.go\
|
||||
version.go\
|
||||
|
||||
GOFILES_pchw=\
|
||||
pchw/io.go\
|
||||
@ -111,7 +112,7 @@ $(pkgdir)/%.h: %.h
|
||||
clean: clean-local
|
||||
|
||||
clean-local:
|
||||
rm -f cgo2c */asm.h runtime.acid.*
|
||||
rm -f cgo2c mkversion version.go */asm.h runtime.acid.*
|
||||
|
||||
$(GOARCH)/asm.h: mkasmh.sh runtime.acid.$(GOARCH)
|
||||
./mkasmh.sh >$@.x
|
||||
@ -120,6 +121,12 @@ $(GOARCH)/asm.h: mkasmh.sh runtime.acid.$(GOARCH)
|
||||
cgo2c: cgo2c.c
|
||||
$(QUOTED_GOBIN)/quietgcc -o $@ $<
|
||||
|
||||
mkversion: mkversion.c
|
||||
$(QUOTED_GOBIN)/quietgcc -o $@ -I "$(GOROOT)/include" $< "$(GOROOT)/lib/lib9.a"
|
||||
|
||||
version.go: mkversion
|
||||
mkversion >version.go
|
||||
|
||||
%.c: %.cgo cgo2c
|
||||
./cgo2c $< > $@.tmp
|
||||
mv -f $@.tmp $@
|
||||
|
@ -150,3 +150,23 @@ func GC()
|
||||
// TODO(rsc): allow f to have (ignored) return values
|
||||
//
|
||||
func SetFinalizer(x, f interface{})
|
||||
|
||||
func getgoroot() string
|
||||
|
||||
// GOROOT returns the root of the Go tree.
|
||||
// It uses the GOROOT environment variable, if set,
|
||||
// or else the root used during the Go build.
|
||||
func GOROOT() string {
|
||||
s := getgoroot()
|
||||
if s != "" {
|
||||
return s
|
||||
}
|
||||
return defaultGoroot
|
||||
}
|
||||
|
||||
// Version returns the Go tree's version string.
|
||||
// It is either a sequence number or, when possible,
|
||||
// a release tag like "release.2010-03-04".
|
||||
// A trailing + indicates that the tree had local modifications
|
||||
// at the time of the build.
|
||||
func Version() string { return defaultVersion }
|
||||
|
15
src/pkg/runtime/mkversion.c
Normal file
15
src/pkg/runtime/mkversion.c
Normal file
@ -0,0 +1,15 @@
|
||||
#include <u.h>
|
||||
#include <libc.h>
|
||||
|
||||
char *template =
|
||||
"// generated by mkversion.c; do not edit.\n"
|
||||
"package runtime\n"
|
||||
"const defaultGoroot = \"%s\"\n"
|
||||
"const defaultVersion = \"%s\"\n";
|
||||
|
||||
void
|
||||
main(void)
|
||||
{
|
||||
print(template, getgoroot(), getgoversion());
|
||||
exits(0);
|
||||
}
|
@ -206,6 +206,15 @@ getenv(int8 *s)
|
||||
return nil;
|
||||
}
|
||||
|
||||
void
|
||||
·getgoroot(String out)
|
||||
{
|
||||
byte *p;
|
||||
|
||||
p = getenv("GOROOT");
|
||||
out = gostring(p);
|
||||
FLUSH(&out);
|
||||
}
|
||||
|
||||
int32
|
||||
atoi(byte *p)
|
||||
|
Loading…
Reference in New Issue
Block a user