Skip to content

Commit 3a64536

Browse files
Allow compilation on Linux AArch64
1 parent 19ed810 commit 3a64536

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

setup.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,13 +302,24 @@ class BuildFailed(Exception):
302302
pass
303303

304304

305+
def get_arch_specific_objects():
306+
machine = cpuinfo.platform.machine()
307+
if machine == 'x86_64':
308+
return [S[:-1] + 'o' for S in glob("c-blosc/internal-complibs/zstd*/decompress/*amd64.S")]
309+
elif machine == 'aarch64':
310+
return [S[:-1] + 'o' for S in glob("c-blosc/internal-complibs/zstd*/decompress/*aarch64.S")]
311+
return []
312+
313+
305314
class ve_build_ext(build_ext):
306315
# This class allows C extension building to fail.
307316

308317
def run(self):
309318
try:
310-
if cpuinfo.platform.machine() == 'x86_64':
311-
S_files = glob('c-blosc/internal-complibs/zstd*/decompress/*amd64.S')
319+
machine = cpuinfo.platform.machine()
320+
if machine in ('x86_64', 'aarch64'):
321+
pattern = '*amd64.S' if machine == 'x86_64' else '*aarch64.S'
322+
S_files = glob(f'c-blosc/internal-complibs/zstd*/decompress/{pattern}')
312323
compiler = ccompiler.new_compiler()
313324
customize_compiler(compiler)
314325
compiler.src_extensions.append('.S')

0 commit comments

Comments
 (0)