[Lldb-commits] [lldb] r237632 - Make it possible to run dotest on Linux without any parameters

Vince Harron vince at nethacker.com
Mon May 18 16:07:18 PDT 2015


Author: vharron
Date: Mon May 18 18:07:18 2015
New Revision: 237632

URL: http://llvm.org/viewvc/llvm-project?rev=237632&view=rev
Log:
Make it possible to run dotest on Linux without any parameters

dotest will select clang-3.5 by default and fall back on clang/gcc
dotest will look for the lldb executable in the typical cmake
output locations:
{lldb}/../../../build/bin (next to llvm directory)
{lldb}/../../../build/host/bin (next to llvm directory)
{lldb}/../build/bin (next to lldb directory)
{lldb}/../build/host/bin (next to lldb directory)


Modified:
    lldb/trunk/test/dotest.py

Modified: lldb/trunk/test/dotest.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=237632&r1=237631&r2=237632&view=diff
==============================================================================
--- lldb/trunk/test/dotest.py (original)
+++ lldb/trunk/test/dotest.py Mon May 18 18:07:18 2015
@@ -523,7 +523,12 @@ def parseOptionsAndInitTestdirs():
         if platform_system == 'Darwin' and args.apple_sdk:
             compilers = [commands.getoutput('xcrun -sdk "%s" -find clang 2> /dev/null' % (args.apple_sdk))]
         else:
-            compilers = ['clang']
+            # 'clang' on ubuntu 14.04 is 3.4 so we try clang-3.5 first
+            candidateCompilers = ['clang-3.5', 'clang', 'gcc']
+            for candidate in candidateCompilers:
+                if which(candidate):
+                    compilers = [candidate]
+                    break
 
     if args.channels:
         lldbtest_config.channels = args.channels
@@ -845,13 +850,18 @@ def getOutputPaths(lldbRootDirectory):
     result = []
 
     if sys.platform == 'darwin':
-        result.extend(getXcodeOutputPaths(lldbRootDirectory))
+        result.append(getXcodeOutputPaths(lldbRootDirectory))
 
     # cmake builds?  look for build or build/host folder next to llvm directory
-    # lldb is located in llvm/tools/lldb
+    # lldb is located in llvm/tools/lldb so we need to go up three levels
     llvmParentDir = os.path.abspath(os.path.join(lldbRootDirectory, os.pardir, os.pardir, os.pardir))
-    result.extend(os.path.join(llvmParentDir, 'build', 'bin'))
-    result.extend(os.path.join(llvmParentDir, 'build', 'host', 'bin'))
+    result.append(os.path.join(llvmParentDir, 'build', 'bin'))
+    result.append(os.path.join(llvmParentDir, 'build', 'host', 'bin'))
+
+    # some cmake developers keep their build directory beside their lldb directory
+    lldbParentDir = os.path.abspath(os.path.join(lldbRootDirectory, os.pardir))
+    result.append(os.path.join(lldbParentDir, 'build', 'bin'))
+    result.append(os.path.join(lldbParentDir, 'build', 'host', 'bin'))
 
     return result
 





More information about the lldb-commits mailing list