15
15
from . import unix
16
16
from . import spawn
17
17
18
- unix .unix_cmd = [
19
- 'make' ,
20
- '' ,
21
- '' ,
22
- '-C' ,
23
- ]
18
+ from . import read_file , write_file
19
+
24
20
25
21
unix .REAL_PORT = 'macOS'
26
22
@@ -33,8 +29,6 @@ def parse_args(extra_args, lv_cflags, board):
33
29
34
30
35
31
def build_commands (not_sure , extra_args , script_dir , lv_cflags , board ):
36
-
37
-
38
32
return _build_commands (not_sure , extra_args , script_dir , lv_cflags , board )
39
33
40
34
@@ -98,6 +92,9 @@ def is_homebrew_arm(cmd):
98
92
return False , cmd [0 ][0 ]
99
93
100
94
95
+ EXTMOD_MK_PATH = 'lib/micropython/extmod/extmod.mk'
96
+
97
+
101
98
def submodules ():
102
99
is_arm , brew_path = is_homebrew_arm ([['brew' , 'config' ]])
103
100
@@ -150,8 +147,35 @@ def submodules():
150
147
if return_code != 0 :
151
148
sys .exit (return_code )
152
149
150
+ mbedtls = os .path .abspath ('lib/micropython/lib/mbedtls/README.md' )
151
+
152
+ if not os .path .exists (mbedtls ):
153
+ return_code , _ = unix .spawn (unix .submodules_cmd )
154
+
155
+ if return_code != 0 :
156
+ sys .exit (return_code )
153
157
154
158
def compile (* args ): # NOQA
159
+ data = read_file ('macOS' , EXTMOD_MK_PATH )
160
+ data = data .replace (
161
+ 'CFLAGS_EXTMOD += -DMICROPY_SSL_MBEDTLS=1 -I$(TOP)/$(MBEDTLS_DIR)/include' ,
162
+ 'CFLAGS_EXTMOD += -DMICROPY_SSL_MBEDTLS=1'
163
+ )
164
+ code = [
165
+ 'SRC_THIRDPARTY_C += lib/mbedtls_errors/mp_mbedtls_errors.c' ,
166
+ 'SRC_THIRDPARTY_C += $(wildcard \\ ' ,
167
+ ' $(MBEDTLS_DIR)/include/*/*.h \\ ' ,
168
+ ' $(MBEDTLS_DIR)/library/*.h \\ ' ,
169
+ ')'
170
+ ]
171
+
172
+ data = data .replace (
173
+ 'SRC_THIRDPARTY_C += lib/mbedtls_errors/mp_mbedtls_errors.c' ,
174
+ '\n ' .join (code )
175
+ )
176
+
177
+ write_file (EXTMOD_MK_PATH , data )
178
+
155
179
_compile (* args )
156
180
157
181
0 commit comments