@@ -206,23 +206,42 @@ def get_toolchain_version(self, ndk_root, compile_obj):
206
206
lines = versionFile .readlines ()
207
207
versionFile .close ()
208
208
209
- version_num = None
209
+ crystax_ndk = False
210
+ version_major = None
210
211
version_char = None
211
212
pattern = r'^[a-zA-Z]+(\d+)(\w)'
212
213
for line in lines :
213
214
str_line = line .lstrip ()
214
215
match = re .match (pattern , str_line )
215
216
if match :
216
- version_num = int (match .group (1 ))
217
+ version_major = int (match .group (1 ))
217
218
version_char = match .group (2 )
218
219
break
219
220
220
- if version_num is None :
221
+ if version_major is None :
222
+ pattern = r'^crystax-ndk-(\d+)\.(\d+)\.(\d+)'
223
+ for line in lines :
224
+ str_line = line .lstrip ()
225
+ match = re .match (pattern , str_line )
226
+ if match :
227
+ crystax_ndk = True
228
+ version_major = int (match .group (1 ))
229
+ version_minor = int (match .group (2 ))
230
+ version_patch = int (match .group (3 ))
231
+ break
232
+
233
+ if version_major is None :
221
234
cocos .Logging .warning (MultiLanguage .get_string ('COMPILE_WARNING_GET_NDK_VER_FAILED_FMT' ,
222
235
version_file_path ))
223
236
else :
224
- version_char = version_char .lower ()
225
- if version_num > 10 or (version_num == 10 and cmp (version_char , 'c' ) >= 0 ):
237
+ if crystax_ndk :
238
+ if version_major > 10 or (version_major == 10 and version_minor >= 3 ):
239
+ ret_version = "5"
240
+ elif version_major == 10 and version_minor < 3 :
241
+ ret_version = "4.9"
242
+ else :
243
+ compile_obj .add_warning_at_end (MultiLanguage .get_string ('COMPILE_WARNING_NDK_VERSION' ))
244
+ elif version_major > 10 or (version_major == 10 and cmp (version_char .lower (), 'c' ) >= 0 ):
226
245
ret_version = "4.9"
227
246
else :
228
247
compile_obj .add_warning_at_end (MultiLanguage .get_string ('COMPILE_WARNING_NDK_VERSION' ))
0 commit comments