[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