@@ -24,7 +24,7 @@ class _MatlabFinder(build_py):
2424 MATLAB_REL = 'R2022b'
2525
2626 # MUST_BE_UPDATED_EACH_RELEASE (Search repo for this string)
27- MATLAB_VER = '9.13.2 '
27+ MATLAB_VER = '9.13.2a0 '
2828
2929 # MUST_BE_UPDATED_EACH_RELEASE (Search repo for this string)
3030 SUPPORTED_PYTHON_VERSIONS = set (['3.8' , '3.9' , '3.10' ])
@@ -82,6 +82,8 @@ def set_platform_and_arch(self):
8282 self .arch = 'glnxa64'
8383 elif self .platform == 'Darwin' :
8484 if platform .mac_ver ()[- 1 ] == 'arm64' :
85+ # We will change this value later in the script if we find that the user is
86+ # using an installation of MATLAB built for maci64, to be run under Rosetta.
8587 self .arch = 'maca64'
8688 else :
8789 self .arch = 'maci64'
@@ -234,6 +236,10 @@ def search_path_for_directory_unix(self):
234236 dir_to_find = os .path .join ('bin' , self .arch )
235237 # directory could end with slashes
236238 endings = [dir_to_find , dir_to_find + os .sep ]
239+ if self .arch == 'maca64' :
240+ addl_dir_to_find = 'maci64'
241+ endings .append (addl_dir_to_find )
242+ endings .append (addl_dir_to_find + os .sep )
237243
238244 matlab_root = ''
239245 dir_idx = 0
@@ -245,6 +251,13 @@ def search_path_for_directory_unix(self):
245251 if path .endswith (ending ):
246252 # _get_matlab_root_from_unix_bin will return an empty string if MATLAB is not found.
247253 # Non-empty string (MATLAB found) will break both loops.
254+ if self .arch == 'maca64' and ending [:6 ] == 'maci64' :
255+ # We found a maci64 installation. Use it (under Rosetta) rather than maca64.
256+ # This means that if the user wants to use maci64 on a maca64 machine,
257+ # they need to make sure that the maci64 installation is in the default
258+ # location if there is one, or if not, that it is earlier on the path than
259+ # any maca64 installations.
260+ self .arch = 'maci64'
248261 matlab_root = self ._get_matlab_root_from_unix_bin (path )
249262 ending_idx += 1
250263 dir_idx += 1
@@ -308,7 +321,7 @@ def run(self):
308321 setup (
309322 name = "matlabengine" ,
310323 # MUST_BE_UPDATED_EACH_RELEASE (Search repo for this string)
311- version = "9.13.2 " ,
324+ version = "9.13.2a0 " ,
312325 description = 'A module to call MATLAB from Python' ,
313326 author = 'MathWorks' ,
314327 license = "MathWorks XSLA License" ,
0 commit comments