about summary refs log tree commit diff homepage
path: root/runtime/klee-libc
diff options
context:
space:
mode:
authorDan Liew <daniel.liew@imperial.ac.uk>2015-04-25 19:48:22 +0100
committerDan Liew <daniel.liew@imperial.ac.uk>2015-04-25 20:21:20 +0100
commit91f389ab46fb29656600a11a373a54ddf896d821 (patch)
tree24962f80c49c634c73ee3a71c9dcabba8834c3ab /runtime/klee-libc
parent47b4608a033a6b6c05f8798ab675baa120d15a7f (diff)
downloadklee-91f389ab46fb29656600a11a373a54ddf896d821.tar.gz
Clean up the installation/building of the runtime libraries.
* We don't need to build the native versions so that is now disabled
* We don't need to install (and hence build) the bytecode archive
  library versions of klee-libc or kleeRuntimeIntrinsic for new versions
  of LLVM right now (this is kind of messy).
Diffstat (limited to 'runtime/klee-libc')
-rwxr-xr-xruntime/klee-libc/Makefile15
1 files changed, 12 insertions, 3 deletions
diff --git a/runtime/klee-libc/Makefile b/runtime/klee-libc/Makefile
index eca63169..d059ba8a 100755
--- a/runtime/klee-libc/Makefile
+++ b/runtime/klee-libc/Makefile
@@ -9,14 +9,23 @@
 
 LEVEL=../..
 
-LIBRARYNAME=klee-libc
+# Needed for LLVM version
+include $(LEVEL)/Makefile.config
+
+ifeq ($(shell python -c "print($(LLVM_VERSION_MAJOR).$(LLVM_VERSION_MINOR) >= 3.3)"), True)
+# For these versions of LLVM KLEE expects klee-libc to be a LLVM module rather than an archive
 MODULE_NAME=klee-libc
-#DONT_BUILD_RELINKED=1
+else
+# KLEE built against older versions of LLVM expect a library archive instead
 BYTECODE_LIBRARY=1
-MODULE_NAME=klee-libc
+LIBRARYNAME=klee-libc
+endif
+
+#DONT_BUILD_RELINKED=1
 # Don't strip debug info from the module.
 DEBUG_RUNTIME=1
 #NO_PEDANTIC=1
+NO_BUILD_ARCHIVE=1
 
 # Add __NO_INLINE__ to prevent glibc from using inline definitions of some
 # builtins.