Skip to content

Commit

Permalink
Allow compilation on Linux AArch64
Browse files Browse the repository at this point in the history
  • Loading branch information
agriyakhetarpal committed Feb 18, 2025
1 parent 19ed810 commit 3a64536
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -302,13 +302,24 @@ class BuildFailed(Exception):
pass


def get_arch_specific_objects():
machine = cpuinfo.platform.machine()
if machine == 'x86_64':
return [S[:-1] + 'o' for S in glob("c-blosc/internal-complibs/zstd*/decompress/*amd64.S")]
elif machine == 'aarch64':
return [S[:-1] + 'o' for S in glob("c-blosc/internal-complibs/zstd*/decompress/*aarch64.S")]
return []


class ve_build_ext(build_ext):
# This class allows C extension building to fail.

def run(self):
try:
if cpuinfo.platform.machine() == 'x86_64':
S_files = glob('c-blosc/internal-complibs/zstd*/decompress/*amd64.S')
machine = cpuinfo.platform.machine()
if machine in ('x86_64', 'aarch64'):
pattern = '*amd64.S' if machine == 'x86_64' else '*aarch64.S'
S_files = glob(f'c-blosc/internal-complibs/zstd*/decompress/{pattern}')
compiler = ccompiler.new_compiler()
customize_compiler(compiler)
compiler.src_extensions.append('.S')
Expand Down

0 comments on commit 3a64536

Please sign in to comment.