[Libreoffice-commits] .: bootstrap configure.in .gitignore solenv/bin solenv/gbuild

Norbert Thiebaud nthiebaud at kemper.freedesktop.org
Sat Dec 17 08:54:55 PST 2011


 .gitignore                  |    3 +++
 bootstrap                   |    4 ++++
 configure.in                |    2 +-
 solenv/bin/concat-deps.c    |    5 ++---
 solenv/gbuild/LinkTarget.mk |    2 +-
 5 files changed, 11 insertions(+), 5 deletions(-)

New commits:
commit e3e94f141e15f5501ed81402a70beb10b85ccd6f
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Sat Dec 17 10:54:24 2011 -0600

    use a c-version of concat-deps.pl
    
    This touch configure.in with a trivial space removal to force a
    ./bootstrap on the tinderboxes
    
    This make ./bootstrap build a 'build-side' executable concat-deps
    and modify LinkTarget.mk to use it instead of concat-deps.pl
    
    The impact is a conservative x10 times improvement in both elapsed and
    cpu time in overhead due to DEP generations.
    
    
    time make -sr build in tail_build after removing
    workdir/$INPATH/Dep/LinkTarget/Library/*
    
    (all on Intel X3360, 2.83GHz, 4-core)
    
    before:
    elapsed: 116.5 cpu: 115.9
    after
    elapsed: 24.3 cpu: 23.9
    base (no dep processing, i.e no rm of Dep/...)
    elapsed: 17.5 cpu: 17.4
    overhead ratio:
    elapsed: 14.5x cpu: 15x
    
    same with -j6
    before:
    elapsed: 47 cpu: 116
    after:
    elapsed: 20.8 cpu: 24
    base:
    elapsed: 17.5 cpu: 17.5
    overhead ratio:
    elapsed: 9x cpu: 15x
    
    Note: for now the executable is generated directly in the source tree
    (in solevn/bin ). That is not ideal. It and other similar polution
    should be moved, to workdir most likely..
    For now we just hide the mess under the .gitignore carpet

diff --git a/.gitignore b/.gitignore
index 3929c67..af084f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -108,6 +108,9 @@ TAGS
 /solenv/gdb/libreoffice/*.py[co]
 /solenv/gdb/libreoffice/util/*.py[co]
 
+# botstrap generated tool
+/solenv/bin/concat-deps
+
 # test output files
 test/user-template/user/psprint/pspfontcache
 
diff --git a/bootstrap b/bootstrap
index 1bf5068..da1192c 100755
--- a/bootstrap
+++ b/bootstrap
@@ -74,6 +74,10 @@ if test "$BUILD_DMAKE" != "NO"; then
     echo "dmake copied to $SOLARENV/$OUTPATH_FOR_BUILD/bin/dmake$EXEEXT"
 fi
 
+# build concat-deps
+echo "building concat-deps"
+$CC_FOR_BUILD -O2 "$SOLARENV/bin/concat-deps.c" -o "$SOLARENV/bin/concat-deps" || exit
+
 #make sure build.pl is executable
 
 chmod +x "$SRC_ROOT/solenv/bin/build.pl"
diff --git a/configure.in b/configure.in
index 433c523..1772116 100644
--- a/configure.in
+++ b/configure.in
@@ -1899,7 +1899,7 @@ fi
 
 dnl ===================================================================
 dnl Extra check for Windows. Cygwin builds need gcc to build dmake
-dnl although MSVC is used to build other build-time tools and 
+dnl although MSVC is used to build other build-time tools and
 dnl LibreOffice itself.
 dnl ===================================================================
 if test "$build_os" = "cygwin" ; then
diff --git a/solenv/bin/concat-deps.c b/solenv/bin/concat-deps.c
index f3ecdef..6cf9192 100644
--- a/solenv/bin/concat-deps.c
+++ b/solenv/bin/concat-deps.c
@@ -3,8 +3,8 @@
  *    License: GPLv3
  */
 
-//* define to activate stats reporting on hash usage
-#define HASH_STAT
+/* define to activate stats reporting on hash usage*/
+/* #define HASH_STAT */
 
 /* ===============================================
  * Set-up: defines to identify the system and system related properties
@@ -566,7 +566,6 @@ int cost = 0;
             {
                 hash->collisions += 1;
                 hash->cost += cost;
-//                fprintf(stderr, "key colision %s and %s\n", key, hash_elem->next->key);
             }
 #endif
             hash->array[hashed] = hash_elem;
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 4a7833c..eec7612 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -338,7 +338,7 @@ $(call gb_Helper_abbreviate_dirs,\
 		$(foreach object,$(8),$(call gb_GenCObject_get_dep_target,$(object))) \
 		$(foreach object,$(9),$(call gb_GenCxxObject_get_dep_target,$(object))) \
 		) && \
-	$(SOLARENV)/bin/concat-deps.pl $${RESPONSEFILE} > $(1)) && \
+	$(SOLARENV)/bin/concat-deps $${RESPONSEFILE} > $(1)) && \
 	rm -f $${RESPONSEFILE}
 
 endef


More information about the Libreoffice-commits mailing list