I think we've all gotten caught with this problem.

How about the following attached hack in build.pl so that if a normal
dmake fails when launched from build.pl, then do a dmake depend=t and
retry.

To reproduce the original problem do something like

a) cd tools/source/ref 
touch hacktest.hxx
edit pstm.cxx to include hacktest.hxx
build

all ok

b) now
rm hacktest.hxx
edit pstm.cxx to remove hacktest.hxx
build

"hacktest.hxx" not found and can't be made, due to the dependency
generation. All a bit nasty.

C.
diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
index 43c0188..d5b4609 100755
--- a/solenv/bin/build.pl
+++ b/solenv/bin/build.pl
@@ -783,6 +783,16 @@ sub dmake_dir {
         remove_from_dependencies($job_name, \%local_deps_hash) if (!$child);
         return if ($cmd_file || $show);
         $error_code = run_job($dmake, $job_name);
+
+	if ($error_code && ($ENV{nodep} eq '') && ($ENV{depend} eq '')) {
+            print "Forcing regeneration of dependency info\n";
+	    $ENV{depend} = 't';
+            run_job($dmake, $job_name);
+            print "Retrying $job_name\n";
+	    $ENV{depend} = '';
+            $error_code = run_job($dmake, $job_name);
+    	}
+
         html_store_job_info(\%local_deps_hash, $job_name, $error_code) if (!$child);
     };
     if ($error_code && $ignore) {
_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to