1
0
mirror of https://github.com/golang/go synced 2024-11-21 13:14:40 -07:00

*l/*c: add -V flag to display version number

R=rsc
CC=golang-dev
https://golang.org/cl/204044
This commit is contained in:
Andrew Gerrand 2010-02-08 09:46:53 -08:00
parent abe6a5b0f7
commit b4fb00b69b
11 changed files with 50 additions and 1 deletions

View File

@ -23,6 +23,8 @@ Options new in this version:
-L dir1,dir2,..
Search for libraries (package files) in the comma-separated list of directories.
The default is the single location $GOROOT/pkg/$GOOS_arm.
-V
Print the linker version.
*/
package documentation

View File

@ -141,6 +141,9 @@ main(int argc, char *argv[])
if(argv[1] != nil && argv[1][0] != '-' && !isobjfile(argv[1]))
readundefs(ARGF(), SIMPORT);
break;
case 'V':
print("%cl version %s\n", thechar, getgoversion());
errorexit();
} ARGEND
USED(argc);

View File

@ -35,6 +35,8 @@ Options new in this version:
-L dir1,dir2,..
Search for libraries (package files) in the comma-separated list of directories.
The default is the single location $GOROOT/pkg/$GOOS_amd64.
-V
Print the linker version.
*/

View File

@ -136,6 +136,9 @@ main(int argc, char *argv[])
if(argv[1] != nil && argv[1][0] != '-' && !isobjfile(argv[1]))
readundefs(ARGF(), SIMPORT);
break;
case 'V':
print("%cl version %s\n", thechar, getgoversion());
errorexit();
} ARGEND
if(argc != 1)

View File

@ -32,6 +32,8 @@ Options new in this version:
-L dir1,dir2,..
Search for libraries (package files) in the comma-separated list of directories.
The default is the single location $GOROOT/pkg/$GOOS_386.
-V
Print the linker version.
*/

View File

@ -142,6 +142,9 @@ main(int argc, char *argv[])
if(argv[1] != nil && argv[1][0] != '-' && !isobjfile(argv[1]))
readundefs(ARGF(), SIMPORT);
break;
case 'V':
print("%cl version %s\n", thechar, getgoversion());
errorexit();
} ARGEND
if(argc != 1)

View File

@ -38,6 +38,8 @@ Flags:
disable optimization
-S
write assembly language text to standard output
-V
print the compiler version
There are also a number of debugging flags; run the command with no arguments
to get a usage message.

View File

@ -65,6 +65,9 @@ main(int argc, char *argv[])
case 'I':
addidir(ARGF());
break;
case 'V':
print("%cg version %s\n", thechar, getgoversion());
errorexit();
} ARGEND
if(argc < 1)
@ -168,6 +171,7 @@ usage:
print(" -h panic on an error\n");
print(" -o file specify output file\n");
print(" -S print the assembly language\n");
print(" -V print the compiler version\n");
print(" -w print the parse tree after typing\n");
print(" -x print lex tokens\n");
exit(0);

View File

@ -117,7 +117,7 @@ $(LIB): $(OFILES)
$(CC) -c $(CFLAGS) $<
goos.$O: goos.c
$(CC) -c $(CFLAGS) -DGOOS='"$(GOOS)"' -DGOARCH='"$(GOARCH)"' -DGOROOT='"$(GOROOT)"' $<
$(CC) -c $(CFLAGS) -DGOOS='"$(GOOS)"' -DGOARCH='"$(GOARCH)"' -DGOROOT='"$(GOROOT)"' -DGOVERSION='"'"$$(../version.bash)"'"' $<
clean:
rm -f *.$O *.6 6.out $(LIB)

View File

@ -33,3 +33,9 @@ getgoroot(void)
{
return defgetenv("GOROOT", GOROOT);
}
char*
getgoversion(void)
{
return GOVERSION;
}

22
src/version.bash Executable file
View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Copyright 2010 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
# Check that we can use 'hg'
if ! hg version > /dev/null 2>&1; then
echo 'hg not installed' 1>&2
exit 2
fi
# Get numerical revision
VERSION="`hg identify -n`"
# Append tag if not 'tip'
TAG=$(hg identify -t | sed 's!/release!!')
if [[ "$TAG" != "tip" ]]; then
VERSION="$VERSION $TAG"
fi
echo $VERSION