mirror of
https://github.com/Z3Prover/z3
synced 2026-02-22 08:17:37 +00:00
When macos-latest changed to ARM64 runners, the mac-build-x64 job started producing arm64 libz3.dylib inside x86_64-tagged wheels, causing import failures on macOS x86_64. Root cause: mk_make.py subprocess detects the ARM64 host at module level (IS_ARCH_ARM64=True), and without --arm64=false override it adds -arch arm64 to SLIBEXTRAFLAGS, overriding the -arch x86_64 set via environment variables. Fix 1 (mk_unix_dist.py): Pass --arm64=false to mk_make.py subprocess when building x64 on an ARM64 host, preventing the arm64 flag inheritance. Fix 2 (mk_util.py): When IS_ARCH_ARM64=False on an ARM64 macOS host, add -arch x86_64 to SLIBEXTRAFLAGS so the shared library linker also targets x86_64 (LDFLAGS already receives this flag from the env var). Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| build-win-signed-cmake.yml | ||
| build-win-signed.yml | ||
| build_libcxx_msan.sh | ||
| coverage.yml | ||
| find_non_defined_param_eval_patterns.py | ||
| generate-doc.yml | ||
| jsdoctest.yml | ||
| mk_consts_files.py | ||
| mk_copyright.py | ||
| mk_def_file.py | ||
| mk_exception.py | ||
| mk_genfile_common.py | ||
| mk_gparams_register_modules_cpp.py | ||
| mk_install_tactic_cpp.py | ||
| mk_make.py | ||
| mk_mem_initializer_cpp.py | ||
| mk_nuget_task.py | ||
| mk_pat_db.py | ||
| mk_project.py | ||
| mk_unix_dist.py | ||
| mk_unix_dist_cmake.py | ||
| mk_util.py | ||
| mk_win_dist.py | ||
| mk_win_dist_cmake.py | ||
| policy.json | ||
| pyg2hpp.py | ||
| README | ||
| test-examples-cmake.yml | ||
| test-java-cmake.yml | ||
| test-jupyter.yml | ||
| test-regressions-coverage.yml | ||
| test-regressions.yml | ||
| test-z3.yml | ||
| trackall.sh | ||
| update_api.py | ||
| update_header_guards.py | ||
| update_include.py | ||
| update_version.py | ||
| VERSION.txt | ||
| vsts-mac.sh | ||
| vsts-vs2013.cmd | ||
| vsts-vs2017.cmd | ||
Instructions for updating external Z3 API ----------------------------------------- The python "macros": def_Type() and def_API() are used to add new types and function definitions to the Z3 API. The .h files provided to `mk_bindings(API_files)` contain these definitions. See src\api\z3_api.h for many examples. The bindings for .Net and Python are generated when mk_make.py is invoked.