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 +13 -15
- package/cmake/SVFConfig.cmake.in +0 -1
- package/package.json +1 -1
- package/svf-llvm/CMakeLists.txt +3 -3
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 "
|
|
95
|
-
option(
|
|
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: ${
|
|
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:${
|
|
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:${
|
|
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}"
|
package/cmake/SVFConfig.cmake.in
CHANGED
|
@@ -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.
|
|
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": {
|
package/svf-llvm/CMakeLists.txt
CHANGED
|
@@ -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
|
|
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 $
|
|
15
|
+
"forcing $SVF_ENABLE_EXCEPTIONS to ON!"
|
|
16
16
|
)
|
|
17
|
-
set(
|
|
17
|
+
set(SVF_ENABLE_EXCEPTIONS
|
|
18
18
|
ON
|
|
19
19
|
CACHE BOOL "" FORCE
|
|
20
20
|
)
|