@@ -11,21 +11,21 @@ package main
11
11
12
12
import (
13
13
"fmt"
14
- "io/ioutil"
15
14
"os"
16
15
"os/exec"
17
- "path/filepath"
18
16
"strings"
19
17
)
20
18
21
- var tmpDir string
22
-
23
19
func cleanup () {
24
- os .RemoveAll (tmpDir )
20
+ os .Remove ("linkmain.o" )
21
+ os .Remove ("linkmain.a" )
22
+ os .Remove ("linkmain1.o" )
23
+ os .Remove ("linkmain1.a" )
24
+ os .Remove ("linkmain.exe" )
25
25
}
26
26
27
- func run (cmdline ... string ) {
28
- args := strings .Fields (strings . Join ( cmdline , " " ) )
27
+ func run (cmdline string ) {
28
+ args := strings .Fields (cmdline )
29
29
cmd := exec .Command (args [0 ], args [1 :]... )
30
30
out , err := cmd .CombinedOutput ()
31
31
if err != nil {
@@ -37,8 +37,8 @@ func run(cmdline ...string) {
37
37
}
38
38
}
39
39
40
- func runFail (cmdline ... string ) {
41
- args := strings .Fields (strings . Join ( cmdline , " " ) )
40
+ func runFail (cmdline string ) {
41
+ args := strings .Fields (cmdline )
42
42
cmd := exec .Command (args [0 ], args [1 :]... )
43
43
out , err := cmd .CombinedOutput ()
44
44
if err == nil {
@@ -51,26 +51,16 @@ func runFail(cmdline ...string) {
51
51
}
52
52
53
53
func main () {
54
- var err error
55
- tmpDir , err = ioutil .TempDir ("" , "" )
56
- if err != nil {
57
- fmt .Println (err )
58
- os .Exit (1 )
59
- }
60
- tmp := func (name string ) string {
61
- return filepath .Join (tmpDir , name )
62
- }
63
-
64
54
// helloworld.go is package main
65
- run ("go tool compile -o" , tmp ( " linkmain.o" ), " helloworld.go" )
66
- run ("go tool compile -pack -o" , tmp ( " linkmain.a" ), " helloworld.go" )
67
- run ("go tool link -o" , tmp ( " linkmain.exe" ), tmp ( " linkmain.o") )
68
- run ("go tool link -o" , tmp ( " linkmain.exe" ), tmp ( " linkmain.a") )
55
+ run ("go tool compile -o linkmain.o helloworld.go" )
56
+ run ("go tool compile -pack -o linkmain.a helloworld.go" )
57
+ run ("go tool link -o linkmain.exe linkmain.o" )
58
+ run ("go tool link -o linkmain.exe linkmain.a" )
69
59
70
60
// linkmain.go is not
71
- run ("go tool compile -o" , tmp ( " linkmain1.o" ), " linkmain.go" )
72
- run ("go tool compile -pack -o" , tmp ( " linkmain1.a" ), " linkmain.go" )
73
- runFail ("go tool link -o" , tmp ( " linkmain.exe" ), tmp ( " linkmain1.o") )
74
- runFail ("go tool link -o" , tmp ( " linkmain.exe" ), tmp ( " linkmain1.a") )
61
+ run ("go tool compile -o linkmain1.o linkmain.go" )
62
+ run ("go tool compile -pack -o linkmain1.a linkmain.go" )
63
+ runFail ("go tool link -o linkmain.exe linkmain1.o" )
64
+ runFail ("go tool link -o linkmain.exe linkmain1.a" )
75
65
cleanup ()
76
66
}
0 commit comments