diff --git a/scripts/mk_unix_dist.py b/scripts/mk_unix_dist.py index 28d68a01b..f5cbf6504 100644 --- a/scripts/mk_unix_dist.py +++ b/scripts/mk_unix_dist.py @@ -72,6 +72,7 @@ def parse_options(): 'nojava', 'nodotnet', 'dotnet-key=', + 'arch=', 'githash', 'nopython' ]) @@ -96,6 +97,11 @@ def parse_options(): JAVA_ENABLED = False elif opt == '--githash': GIT_HASH = True + elif opt == '--arch': + if arg == "arm64": + mk_util.IS_ARCH_ARM64 = True + else: + raise MKException(f"Invalid architecture directive '{arg}'. Legal directives: arm64") else: raise MKException("Invalid command line option '%s'" % opt) set_build_dir(path) diff --git a/scripts/nightly.yaml b/scripts/nightly.yaml index e81135ab5..4296cab08 100644 --- a/scripts/nightly.yaml +++ b/scripts/nightly.yaml @@ -4,7 +4,6 @@ variables: Minor: '8' Patch: '16' NightlyVersion: $(Major).$(Minor).$(Patch).$(Build.BuildId)-$(Build.DefinitionName) - MacFlags: 'CXXFLAGS="-arch x86_64" LINK_EXTRA_FLAGS="-arch x86_64" SLINK_EXTRA_FLAGS="-arch x86_64"' stages: - stage: Build @@ -15,7 +14,7 @@ stages: pool: vmImage: "macOS-latest" steps: - - script: $(MacFlags) python scripts/mk_unix_dist.py --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk + - script: python scripts/mk_unix_dist.py --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk - script: git clone https://github.com/z3prover/z3test z3test - script: python z3test/scripts/test_benchmarks.py build-dist/z3 z3test/regressions/smt2 - script: cp dist/*.zip $(Build.ArtifactStagingDirectory)/. @@ -25,6 +24,21 @@ stages: targetPath: $(Build.ArtifactStagingDirectory) + - job: MacArm64 + displayName: "Mac ARM64 Build" + pool: + vmImage: "macOS-latest" + steps: + - script: python scripts/mk_unix_dist.py --dotnet-key=$(Build.SourcesDirectory)/resources/z3.snk --arch=arm64 + - script: git clone https://github.com/z3prover/z3test z3test + - script: python z3test/scripts/test_benchmarks.py build-dist/z3 z3test/regressions/smt2 + - script: cp dist/*.zip $(Build.ArtifactStagingDirectory)/. + - task: PublishPipelineArtifact@1 + inputs: + artifactName: 'MacArm64' + targetPath: $(Build.ArtifactStagingDirectory) + + - job: Ubuntu displayName: "Ubuntu build" pool: