|
8 | 8 |
|
9 | 9 | import functools
|
10 | 10 | import os
|
| 11 | +import platform |
11 | 12 | import shutil
|
12 | 13 | import subprocess
|
13 | 14 | import sys
|
@@ -74,7 +75,7 @@ def build_extension(self, ext):
|
74 | 75 | isa_l_build_dir = build_isa_l()
|
75 | 76 | if SYSTEM_IS_UNIX:
|
76 | 77 | ext.extra_objects = [
|
77 |
| - os.path.join(isa_l_build_dir, ".libs", "libisal.a")] |
| 78 | + os.path.join(isa_l_build_dir, "bin", "isa-l.a")] |
78 | 79 | elif SYSTEM_IS_WINDOWS:
|
79 | 80 | ext.extra_objects = [
|
80 | 81 | os.path.join(isa_l_build_dir, "isa-l_static.lib")]
|
@@ -106,16 +107,21 @@ def build_isa_l():
|
106 | 107 | # it.
|
107 | 108 | build_env = os.environ.copy()
|
108 | 109 | if SYSTEM_IS_UNIX:
|
109 |
| - build_env["CFLAGS"] = build_env.get("CFLAGS", "") + " -O2 -fPIC" |
| 110 | + build_env["CFLAGS"] = build_env.get("CFLAGS", "") + " -fPIC" |
110 | 111 | if hasattr(os, "sched_getaffinity"):
|
111 | 112 | cpu_count = len(os.sched_getaffinity(0))
|
112 | 113 | else: # sched_getaffinity not available on all platforms
|
113 | 114 | cpu_count = os.cpu_count() or 1 # os.cpu_count() can return None
|
114 | 115 | run_args = dict(cwd=build_dir, env=build_env)
|
115 | 116 | if SYSTEM_IS_UNIX:
|
116 |
| - subprocess.run(os.path.join(build_dir, "autogen.sh"), **run_args) |
117 |
| - subprocess.run([os.path.join(build_dir, "configure")], **run_args) |
118 |
| - subprocess.run(["make", "-j", str(cpu_count)], **run_args) |
| 117 | + if platform.machine() == "aarch64": |
| 118 | + cflags_param = "CFLAGS_aarch64" |
| 119 | + else: |
| 120 | + cflags_param = "CFLAGS_" |
| 121 | + subprocess.run(["make", "-j", str(cpu_count), "-f", "Makefile.unx", |
| 122 | + "isa-l.h", "bin/isa-l.a", |
| 123 | + f"{cflags_param}={build_env.get('CFLAGS', '')}"], |
| 124 | + **run_args) |
119 | 125 | elif SYSTEM_IS_WINDOWS:
|
120 | 126 | subprocess.run(["nmake", "/f", "Makefile.nmake"], **run_args)
|
121 | 127 | else:
|
|
0 commit comments