Driver: Handle magic -ccc- options.
- Follows ccc currently, but this functionality should eventually be
outside the Driver lib.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66575 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/ccc/ccclib/Driver.py b/tools/ccc/ccclib/Driver.py
index e6aba65..eee3ad3 100644
--- a/tools/ccc/ccclib/Driver.py
+++ b/tools/ccc/ccclib/Driver.py
@@ -30,7 +30,6 @@
self.cccHostSystem = self.cccHostRelease = None
self.cccCXX = False
self.cccEcho = False
- self.cccFallback = False
self.cccNoClang = self.cccNoClangCXX = self.cccNoClangPreprocessor = False
self.cccClangArchs = None
@@ -139,8 +138,6 @@
self.cccCXX = True
elif opt == 'echo':
self.cccEcho = True
- elif opt == 'fallback':
- self.cccFallback = True
elif opt == 'no-clang':
self.cccNoClang = True
diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp
index 31990a8..ad6c807 100644
--- a/tools/driver/driver.cpp
+++ b/tools/driver/driver.cpp
@@ -18,13 +18,20 @@
#include "clang/Driver/Options.h"
#include "llvm/ADT/OwningPtr.h"
+#include "llvm/System/Path.h"
#include "llvm/System/Signals.h"
using namespace clang::driver;
int main(int argc, const char **argv) {
llvm::sys::PrintStackTraceOnErrorSignal();
- llvm::OwningPtr<Driver> TheDriver(new Driver());
+ // FIXME: We should use GetMainExecutable here, probably, but we may
+ // want to handle symbolic links slightly differently. The problem
+ // is that the path derived from this will influence search paths.
+ llvm::sys::Path Path(argv[0]);
+
+ llvm::OwningPtr<Driver> TheDriver(new Driver(Path.getBasename().c_str(),
+ Path.getDirname().c_str()));
llvm::OwningPtr<Compilation> C(TheDriver->BuildCompilation(argc, argv));