svf-tools 1.0.1107 → 1.0.1109

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.
package/CMakeLists.txt CHANGED
@@ -91,11 +91,8 @@ option(SVF_DEBUG_INFO "Enable & explicitly preserve debug info (-g3); also in re
91
91
  option(SVF_WARN_AS_ERROR "Treat all compiler warnings as errors when building SVF (default: on)" ON)
92
92
  option(SVF_EXPORT_DYNAMIC "Export all (not only the actually used) symbols to dynamic symbol table" OFF)
93
93
  option(SVF_ENABLE_ASSERTIONS "Always enable debugging assertions, also if the build type is a release build")
94
- option(SVF_ENABLE_RTTI "Disables runtime type information generation by adding the -fno-rtti build flag" ON)
95
- option(SVF_ENABLE_EH "Disables handling of thrown exceptions by adding the -fno-exceptions build flag" ON)
96
-
97
- # For convenience, also declare SVF_ENABLE_EXCEPTIONS as a local variable (for config)
98
- set(SVF_ENABLE_EXCEPTIONS ${SVF_ENABLE_EH})
94
+ option(SVF_ENABLE_RTTI "Adds -fno-rtti to disable runtime type information (RTTI)" OFF)
95
+ option(SVF_ENABLE_EXCEPTIONS "Adds -fno-exceptions to disable exception handling" OFF)
99
96
 
100
97
  # If building dynamic libraries, always enable PIC
101
98
  if(SVF_SHARED_LIBS AND NOT SVF_USE_PIC)
@@ -184,7 +181,7 @@ message(
184
181
 
185
182
  SVF option - Build type: ${SVF_BUILD_TYPE}
186
183
  SVF option - Building shared libs: ${SVF_SHARED_LIBS}
187
- SVF option - Enabled exception handling: ${SVF_ENABLE_EH}
184
+ SVF option - Enabled exception handling: ${SVF_ENABLE_EXCEPTIONS}
188
185
  SVF option - Enabled runtime type information: ${SVF_ENABLE_RTTI}
189
186
  SVF option - Enabling position-independent code: ${SVF_USE_PIC}
190
187
  SVF option - Enabling link-time optimisations: ${SVF_USE_LTO}
@@ -304,7 +301,7 @@ target_compile_options(
304
301
  INTERFACE $<BUILD_INTERFACE:$<$<BOOL:${SVF_WARN_AS_ERROR}>:-Werror>>
305
302
  INTERFACE $<BUILD_INTERFACE:$<$<BOOL:${SVF_WARN_AS_ERROR}>:-Wno-deprecated-declarations>>
306
303
  INTERFACE $<BUILD_INTERFACE:$<$<BOOL:${SVF_ENABLE_ASSERTIONS}>:-UNDEBUG>>
307
- INTERFACE $<BUILD_INTERFACE:$<$<NOT:$<BOOL:${SVF_ENABLE_EH}>>:-fno-exceptions>>
304
+ INTERFACE $<BUILD_INTERFACE:$<$<NOT:$<BOOL:${SVF_ENABLE_EXCEPTIONS}>>:-fno-exceptions>>
308
305
  INTERFACE $<BUILD_INTERFACE:$<$<OR:$<BOOL:${SVF_COVERAGE}>,$<BOOL:$ENV{SVF_COVERAGE}>>:-fprofile-arcs>>
309
306
  INTERFACE $<BUILD_INTERFACE:$<$<OR:$<BOOL:${SVF_COVERAGE}>,$<BOOL:$ENV{SVF_COVERAGE}>>:-ftest-coverage>>
310
307
  INTERFACE $<BUILD_INTERFACE:$<$<STREQUAL:${SVF_SANITIZE},thread>:-fsanitize=thread>>
@@ -321,7 +318,7 @@ target_link_options(
321
318
  INTERFACE $<BUILD_INTERFACE:$<$<BOOL:${SVF_EXPORT_DYNAMIC}>:-rdynamic>>
322
319
  INTERFACE $<BUILD_INTERFACE:$<$<BOOL:${SVF_EXPORT_DYNAMIC}>:-Wl,--export-dynamic>>
323
320
  INTERFACE $<BUILD_INTERFACE:$<$<BOOL:${SVF_ENABLE_ASSERTIONS}>:-UNDEBUG>>
324
- INTERFACE $<BUILD_INTERFACE:$<$<NOT:$<BOOL:${SVF_ENABLE_EH}>>:-fno-exceptions>>
321
+ INTERFACE $<BUILD_INTERFACE:$<$<NOT:$<BOOL:${SVF_ENABLE_EXCEPTIONS}>>:-fno-exceptions>>
325
322
  INTERFACE $<BUILD_INTERFACE:$<$<OR:$<BOOL:${SVF_COVERAGE}>,$<BOOL:$ENV{SVF_COVERAGE}>>:-fprofile-arcs>>
326
323
  INTERFACE $<BUILD_INTERFACE:$<$<OR:$<BOOL:${SVF_COVERAGE}>,$<BOOL:$ENV{SVF_COVERAGE}>>:-ftest-coverage>>
327
324
  INTERFACE $<BUILD_INTERFACE:$<$<STREQUAL:${SVF_SANITIZE},thread>:-fsanitize=thread>>
@@ -340,8 +337,8 @@ install(FILES ${SVF_BINARY_DIR}/include/Util/config.h DESTINATION ${SVF_INSTALL_
340
337
  # SVF pkgconf package configuration
341
338
  # =================================================================================
342
339
 
343
- configure_file(cmake/SVF.pc.in ${SVF_BINARY_DIR}/SVF.pc @ONLY)
344
- install(FILES ${SVF_BINARY_DIR}/SVF.pc DESTINATION ${SVF_INSTALL_PKGCONFDIR})
340
+ configure_file(cmake/SVF.pc.in ${SVF_BINARY_DIR}/lib/pkgconfig/SVF.pc @ONLY)
341
+ install(FILES ${SVF_BINARY_DIR}/lib/pkgconfig/SVF.pc DESTINATION ${SVF_INSTALL_PKGCONFDIR})
345
342
 
346
343
  # =================================================================================
347
344
  # SVF CMake package configuration
@@ -351,7 +348,7 @@ install(FILES ${SVF_BINARY_DIR}/SVF.pc DESTINATION ${SVF_INSTALL_PKGCONFDIR})
351
348
  export(
352
349
  EXPORT SVFTargets
353
350
  NAMESPACE SVF::
354
- FILE ${SVF_BINARY_DIR}/SVFTargets.cmake
351
+ FILE ${SVF_BINARY_DIR}/lib/cmake/SVF/SVFTargets.cmake
355
352
  )
356
353
 
357
354
  # Install the SVFTargets.cmake file along with the package
@@ -363,7 +360,7 @@ install(
363
360
 
364
361
  # Create the CMake configuration file (to find SVF with find_package(SVF))
365
362
  configure_package_config_file(
366
- cmake/SVFConfig.cmake.in ${SVF_BINARY_DIR}/SVFConfig.cmake
363
+ cmake/SVFConfig.cmake.in ${SVF_BINARY_DIR}/lib/cmake/SVF/SVFConfig.cmake
367
364
  INSTALL_DESTINATION ${SVF_INSTALL_CMAKECONFIGDIR}
368
365
  PATH_VARS SVF_INSTALL_BINDIR
369
366
  SVF_INSTALL_LIBDIR
@@ -376,16 +373,17 @@ configure_package_config_file(
376
373
 
377
374
  # Create the CMake version configuration package (to support finding specific SVF versions)
378
375
  write_basic_package_version_file(
379
- ${SVF_BINARY_DIR}/SVFConfigVersion.cmake
376
+ ${SVF_BINARY_DIR}/lib/cmake/SVF/SVFConfigVersion.cmake
380
377
  VERSION ${SVF_VERSION}
381
378
  COMPATIBILITY AnyNewerVersion
382
379
  )
383
380
 
384
381
  # Install the generated configuration files
385
- install(FILES ${SVF_BINARY_DIR}/SVFConfig.cmake DESTINATION ${SVF_INSTALL_CMAKECONFIGDIR})
386
- install(FILES ${SVF_BINARY_DIR}/SVFConfigVersion.cmake DESTINATION ${SVF_INSTALL_CMAKECONFIGDIR})
382
+ install(FILES ${SVF_BINARY_DIR}/lib/cmake/SVF/SVFConfig.cmake DESTINATION ${SVF_INSTALL_CMAKECONFIGDIR})
383
+ install(FILES ${SVF_BINARY_DIR}/lib/cmake/SVF/SVFConfigVersion.cmake DESTINATION ${SVF_INSTALL_CMAKECONFIGDIR})
387
384
 
388
385
  # Also install the extra module finding package definitions (e.g., FindZ3.cmake)
386
+ configure_file(cmake/Modules/FindZ3.cmake ${SVF_BINARY_DIR}/lib/cmake/SVF/FindZ3.cmake @ONLY)
389
387
  install(
390
388
  DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/cmake/Modules"
391
389
  DESTINATION "${SVF_INSTALL_CMAKECONFIGDIR}"
@@ -29,7 +29,6 @@ set(SVF_EXPORT_DYNAMIC @SVF_EXPORT_DYNAMIC@)
29
29
  set(SVF_ENABLE_ASSERTIONS @SVF_ENABLE_ASSERTIONS@)
30
30
  set(SVF_ENABLE_EXCEPTIONS @SVF_ENABLE_EXCEPTIONS@)
31
31
  set(SVF_ENABLE_RTTI @SVF_ENABLE_RTTI@)
32
- set(SVF_ENABLE_EH @SVF_ENABLE_EH@)
33
32
 
34
33
  # Set the basic SVF paths based on the installed location (relocatable)
35
34
  set_and_check(SVF_INSTALL_ROOT "${PACKAGE_PREFIX_DIR}")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.1107",
3
+ "version": "1.0.1109",
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": {
@@ -10,11 +10,11 @@ list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_DIR}")
10
10
  include(AddLLVM)
11
11
 
12
12
  # If exceptions are disabled, verify the LLVM instance could never raise them
13
- if(LLVM_ENABLE_EH AND NOT SVF_ENABLE_EH)
13
+ if(LLVM_ENABLE_EH AND NOT SVF_ENABLE_EXCEPTIONS)
14
14
  message(WARNING "LLVM could throw exceptions but SVF configured to disable exception handling; "
15
- "forcing $SVF_ENABLE_EH to ON!"
15
+ "forcing $SVF_ENABLE_EXCEPTIONS to ON!"
16
16
  )
17
- set(SVF_ENABLE_EH
17
+ set(SVF_ENABLE_EXCEPTIONS
18
18
  ON
19
19
  CACHE BOOL "" FORCE
20
20
  )