openoffice-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Herbert Duerr <>
Subject Removing output trees during the bootstrap step?
Date Thu, 23 Feb 2012 13:49:35 GMT
For a long time the old build system had the problem that build 
dependencies between modules had to be set manually and this was quite 
fragile, of course. It can result in obvious trouble like compile or 
link failures and what is more troubling are subtle problems, like 
struct changes going unnoticed by a source file depending on it. The 
result are hard to debug and "interesting" artifacts.

The gbuild process has many benefits one of which is its automatic 
handling of dependencies. Volunteers are very welcome to migrate the 
remaining modules. In the meantime we have to deal with the dual 
gbuild/oldbuild process which complicates the dependency problem more. 
The manually set dependencies of the old build system where also not 
perfectly debugged which showed when the build order was changed, e.g. 
by doing a highly parallel builds on beefy buildbots. Fixing all to the 
the old-build dependencies would help too, volunteers are very welcome.

Looking for a solution that works reliably for the very near future I'm 
considering to add a "clean output trees" to the bootstrap step. It 
would make sure that all is rebuilt when the configuration gets changed. 
Of course you could prevent that (by setting an environment variable 
DO_KEEP_OUTPUT_TREES) but the default should be to go the "better safe 
than sorry" way.

--- a/main/bootstrap.1
+++ b/main/bootstrap.1
@@ -22,3 +22,11 @@ if [ "$DO_FETCH_TARBALLS" = "yes" ]; then
         $SRC_ROOT/ $SRC_ROOT/ooo.lst

+# remove all output trees
+# TODO: this is no longer needed when all dependencies are perfect
+#       or when the switch to the gbuild system is complete
+if [[ -n "$DO_KEEP_OUTPUT_TREES" && -n $INPATH && -n $OUTDIR ]]; then
+    echo Removing the output trees
+    rm -rf "*/${INPATH}" "${OUTDIR}"


View raw message