diff options
Diffstat (limited to 'src/cmd/dist/build.c')
-rw-r--r-- | src/cmd/dist/build.c | 49 |
1 files changed, 44 insertions, 5 deletions
diff --git a/src/cmd/dist/build.c b/src/cmd/dist/build.c index 31c4da381..8fd2e998a 100644 --- a/src/cmd/dist/build.c +++ b/src/cmd/dist/build.c @@ -39,7 +39,7 @@ static void dopack(char*, char*, char**, int); static char *findgoversion(void); // The known architecture letters. -static char *gochars = "5668"; +static char *gochars = "566899"; // The known architectures. static char *okgoarch[] = { @@ -48,6 +48,8 @@ static char *okgoarch[] = { "amd64", "amd64p32", "386", + "power64", + "power64le", }; // The known operating systems. @@ -344,6 +346,7 @@ static char *oldtool[] = { "5a", "5c", "5g", "5l", "6a", "6c", "6g", "6l", "8a", "8c", "8g", "8l", + "9a", "9c", "9g", "9l", "6cov", "6nm", "6prof", @@ -521,6 +524,7 @@ static struct { "anames5.c", "anames6.c", "anames8.c", + "anames9.c", }}, {"cmd/cc", { "-pgen.c", @@ -549,6 +553,11 @@ static struct { "../cc/pswt.c", "$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libcc.a", }}, + {"cmd/9c", { + "../cc/pgen.c", + "../cc/pswt.c", + "$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libcc.a", + }}, {"cmd/5g", { "../gc/cplx.c", "../gc/pgen.c", @@ -573,6 +582,14 @@ static struct { "../gc/popt.h", "$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libgc.a", }}, + {"cmd/9g", { + "../gc/cplx.c", + "../gc/pgen.c", + "../gc/plive.c", + "../gc/popt.c", + "../gc/popt.h", + "$GOROOT/pkg/obj/$GOHOSTOS_$GOHOSTARCH/libgc.a", + }}, {"cmd/5l", { "../ld/*", }}, @@ -582,6 +599,9 @@ static struct { {"cmd/8l", { "../ld/*", }}, + {"cmd/9l", { + "../ld/*", + }}, {"cmd/go", { "zdefaultcc.go", }}, @@ -618,6 +638,7 @@ static struct { {"anames5.c", mkanames}, {"anames6.c", mkanames}, {"anames8.c", mkanames}, + {"anames9.c", mkanames}, {"zasm_", mkzasm}, {"zdefaultcc.go", mkzdefaultcc}, {"zsys_", mkzsys}, @@ -1163,12 +1184,26 @@ shouldbuild(char *file, char *dir) // Check file name for GOOS or GOARCH. name = lastelem(file); - for(i=0; i<nelem(okgoos); i++) - if(contains(name, okgoos[i]) && !streq(okgoos[i], goos)) + for(i=0; i<nelem(okgoos); i++) { + if(streq(okgoos[i], goos)) + continue; + p = xstrstr(name, okgoos[i]); + if(p == nil) + continue; + p += xstrlen(okgoos[i]); + if(*p == '.' || *p == '_' || *p == '\0') return 0; - for(i=0; i<nelem(okgoarch); i++) - if(contains(name, okgoarch[i]) && !streq(okgoarch[i], goarch)) + } + for(i=0; i<nelem(okgoarch); i++) { + if(streq(okgoarch[i], goarch)) + continue; + p = xstrstr(name, okgoarch[i]); + if(p == nil) + continue; + p += xstrlen(okgoarch[i]); + if(*p == '.' || *p == '_' || *p == '\0') return 0; + } // Omit test files. if(contains(name, "_test")) @@ -1367,6 +1402,10 @@ static char *cleantab[] = { "cmd/8c", "cmd/8g", "cmd/8l", + "cmd/9a", + "cmd/9c", + "cmd/9g", + "cmd/9l", "cmd/cc", "cmd/gc", "cmd/go", |