svf-tools 1.0.918 → 1.0.920

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/build.sh +14 -13
  2. package/package.json +1 -1
package/build.sh CHANGED
@@ -20,9 +20,8 @@ LLVMVer=${MajorLLVMVer}.0.0
20
20
  UbuntuArmLLVM="https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVMVer}/clang+llvm-${LLVMVer}-aarch64-linux-gnu.tar.xz"
21
21
  UbuntuLLVM="https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVMVer}/clang+llvm-${LLVMVer}-x86_64-linux-gnu-ubuntu-18.04.tar.xz"
22
22
  SourceLLVM="https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-${LLVMVer}.zip"
23
- MacZ3="https://github.com/Z3Prover/z3/releases/download/z3-4.8.8/z3-4.8.8-x64-osx-10.14.6.zip"
24
- MacArmZ3="https://github.com/Z3Prover/z3/releases/download/z3-4.9.1/z3-4.9.1-arm64-osx-11.0.zip"
25
23
  UbuntuZ3="https://github.com/Z3Prover/z3/releases/download/z3-4.8.8/z3-4.8.8-x64-ubuntu-16.04.zip"
24
+ UbuntuZ3Arm="https://github.com/bjjwwang/z3-aarch64/archive/refs/tags/4.8.7.zip"
26
25
  SourceZ3="https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.8.8.zip"
27
26
 
28
27
  # Keep LLVM version suffix for version checking and better debugging
@@ -151,16 +150,14 @@ OSDisplayName=""
151
150
  if [[ $sysOS == "Darwin" ]]; then
152
151
  check_and_install_brew
153
152
  if [[ "$arch" == "arm64" ]]; then
154
- urlZ3="$MacArmZ3"
155
153
  OSDisplayName="macOS arm64"
156
154
  else
157
- urlZ3="$MacZ3"
158
155
  OSDisplayName="macOS x86"
159
156
  fi
160
157
  elif [[ $sysOS == "Linux" ]]; then
161
158
  if [[ "$arch" == "aarch64" ]]; then
162
159
  urlLLVM="$UbuntuArmLLVM"
163
- urlZ3="z3 does not have x86 arm pre-built libs"
160
+ urlZ3="$UbuntuZ3Arm"
164
161
  OSDisplayName="Ubuntu arm64"
165
162
  else
166
163
  urlLLVM="$UbuntuLLVM"
@@ -208,21 +205,25 @@ fi
208
205
  if [[ ! -d "$Z3_DIR" ]]; then
209
206
  if [[ ! -d "$Z3Home" ]]; then
210
207
  # M1 Macs give back arm64, some Linuxes can give aarch64.
211
- if [[ "$sysOS" = "Linux" && "$arch" = "aarch64" ]]; then
212
- # only linux arm build from source
213
- build_z3_from_source
208
+ if [[ "$sysOS" = "Darwin" ]]; then
209
+ echo "Downloading Z3 binary for $OSDisplayName"
210
+ brew install z3
211
+ if [ $? -eq 0 ]; then
212
+ echo "z3 binary installation completed."
213
+ else
214
+ echo "z3 binary installation failed."
215
+ exit 1
216
+ fi
217
+ mkdir -p $SVFHOME/$Z3Home
218
+ ln -s $(brew --prefix z3)/* $SVFHOME/$Z3Home
214
219
  else
215
- # everything else downloads pre-built lib includ osx "arm64"
220
+ # everything else downloads pre-built lib
216
221
  echo "Downloading Z3 binary for $OSDisplayName"
217
222
  generic_download_file "$urlZ3" z3.zip
218
223
  check_unzip
219
224
  echo "Unzipping z3 package..."
220
225
  unzip -q "z3.zip" && mv ./z3-* ./$Z3Home
221
226
  rm z3.zip
222
- if [[ "$sysOS" == "Darwin" ]]; then
223
- # Fix missing rpath information in libz3
224
- install_name_tool -id @rpath/libz3.dylib "$Z3Home/bin/libz3.dylib"
225
- fi
226
227
  fi
227
228
  fi
228
229
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.918",
3
+ "version": "1.0.920",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {