Set a default build directory in the LLVMBuildFactory and then properly use it.

git-svn-id: https://llvm.org/svn/llvm-project/zorg/trunk@374740 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/zorg/buildbot/builders/UnifiedTreeBuilder.py b/zorg/buildbot/builders/UnifiedTreeBuilder.py
index 070e1ae..2cb9684 100644
--- a/zorg/buildbot/builders/UnifiedTreeBuilder.py
+++ b/zorg/buildbot/builders/UnifiedTreeBuilder.py
@@ -65,6 +65,9 @@
     else:
         cmake_args = list()
 
+    if obj_dir is None:
+        obj_dir = f.obj_dir
+
     # This is an incremental build, unless otherwise has been requested.
     # Remove obj and install dirs for a clean build.
     # TODO: Some Windows slaves do not handle RemoveDirectory command well.
@@ -242,7 +245,7 @@
 
     addNinjaSteps(
            f,
-           obj_dir=obj_dir,
+           obj_dir=f.obj_dir,
            checks=checks,
            install_dir=f.install_dir,
            env=env,
diff --git a/zorg/buildbot/process/factory.py b/zorg/buildbot/process/factory.py
index 1d184ba..35122b4 100644
--- a/zorg/buildbot/process/factory.py
+++ b/zorg/buildbot/process/factory.py
@@ -44,6 +44,10 @@
         if kwargs.get('llvm_srcdir', None) is None:
             self.llvm_srcdir = "llvm"
 
+        # Default build directory.
+        if kwargs.get('obj_dir', None) is None:
+            self.obj_dir = "build"
+
 
     @staticmethod
     def pathRelativeToBuild(path, buildPath):