about summary refs log tree commit diff homepage
path: root/scripts/klee-clang
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/klee-clang')
-rwxr-xr-xscripts/klee-clang74
1 files changed, 0 insertions, 74 deletions
diff --git a/scripts/klee-clang b/scripts/klee-clang
deleted file mode 100755
index 7b98a97d..00000000
--- a/scripts/klee-clang
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/env python
-
-# ===-- klee-clang --------------------------------------------------------===##
-# 
-#                      The KLEE Symbolic Virtual Machine
-# 
-#  This file is distributed under the University of Illinois Open Source
-#  License. See LICENSE.TXT for details.
-# 
-# ===----------------------------------------------------------------------===##
-
-import os, sys
-import subprocess
-import re
-
-
-def isLinkCommand():
-    # Look for '-Wl,' as a signal that we are calling the linker. What a hack.
-    for arg in sys.argv:
-        if arg.startswith('-Wl,'):
-            return True
-
-link_exact_filter = ['-g', '-W', '-O', '-D', '-f',
-                     '-fnested-functions', '-pthread', '-fPIC', '-g',
-                     '-pedantic', '-shared', '-rdynamic', '-nodefaultlibs']
-
-link_regexp_filter_patts = ['^-Wl.*', '^-l.*', '^-W.*', '^-O\d', '^-gg.*',
-                            '^-mtune.*', '^-std=c.*', '^-f.*frame-pointer',
-                            '^-fvisibility.*']
-link_regexp_filters = []
-for patt in link_regexp_filter_patts:
-    prog = re.compile(patt)
-    link_regexp_filters.append(prog)
-
-
-def main():
-    llvm_path = subprocess.Popen(["llvm-config", "--bindir"], stdout=subprocess.PIPE).communicate()[0].strip()
-
-    if not isLinkCommand():
-        os.execvp(llvm_path+"/clang", ["clang", "-emit-llvm", "-c"] + sys.argv[1:])
-        return 1
-
-    # Otherwise, strip out arguments that llvm-ld doesn't understand. I don't
-    # want my previous explicit declaration of hackyness to imply that this bit
-    # of code here is not also a complete and total hack, it is.
-    args = sys.argv[1:]
-    linkArgs = []
-    for a in args:
-        a = a.strip()
-        if a in link_exact_filter:
-            continue
-
-        match = False
-        for filt in link_regexp_filters:
-            # print "matching %s on filter" % a
-            if filt.match(a):
-                # print "MATCHED %s" % a
-                match = True
-                break
-
-        if match:
-            continue
-
-        if a in linkArgs:
-            continue
-
-        linkArgs.append(a)
-
-    os.execvp(llvm_path+"/llvm-link", [llvm_path+"/llvm-link"] + linkArgs)
-    return 1
-
-
-if __name__ == '__main__':
-    main()