@@ -56,7 +56,7 @@ def _get_ldflags():
56
56
raise AssertionError ('Could not determine ldflags!' )
57
57
58
58
59
- def _print_cmd ( env , cmd ):
59
+ def _check_call ( cmd , cwd , env ):
60
60
envparts = [
61
61
'{}={}' .format (k , pipes .quote (v ))
62
62
for k , v in sorted (tuple (env .items ()))
@@ -65,6 +65,7 @@ def _print_cmd(env, cmd):
65
65
'$ {}' .format (' ' .join (envparts + [pipes .quote (p ) for p in cmd ])),
66
66
file = sys .stderr ,
67
67
)
68
+ subprocess .check_call (cmd , cwd = cwd , env = dict (os .environ , ** env ))
68
69
69
70
70
71
@contextlib .contextmanager
@@ -106,25 +107,19 @@ def _raise_error(msg):
106
107
shutil .copytree ('.' , root_path )
107
108
pkg_path = os .path .join (root_path , main_dir )
108
109
109
- env = {
110
- 'GOPATH' : tempdir ,
110
+ env = {'GOPATH' : tempdir }
111
+ cmd_get = ('go' , 'get' , '-d' )
112
+ _check_call (cmd_get , cwd = pkg_path , env = env )
113
+
114
+ env .update ({
111
115
'CGO_CFLAGS' : _get_cflags (self .compiler ),
112
116
'CGO_LDFLAGS' : _get_ldflags (),
113
- }
114
- cmd_get = ('go' , 'get' )
115
- _print_cmd (env , cmd_get )
116
- subprocess .check_call (
117
- cmd_get , cwd = pkg_path , env = dict (os .environ , ** env ),
118
- )
119
-
117
+ })
120
118
cmd_build = (
121
119
'go' , 'build' , '-buildmode=c-shared' ,
122
120
'-o' , os .path .abspath (self .get_ext_fullpath (ext .name )),
123
121
)
124
- _print_cmd (env , cmd_build )
125
- subprocess .check_call (
126
- cmd_build , cwd = pkg_path , env = dict (os .environ , ** env ),
127
- )
122
+ _check_call (cmd_build , cwd = pkg_path , env = env )
128
123
129
124
return build_extension
130
125
0 commit comments