[Libreoffice-commits] .: bootstrap.1 configure.in cross_toolset/prj .gitignore Makefile.in README.cross

Jan Holesovsky kendy at kemper.freedesktop.org
Fri Aug 19 06:36:27 PDT 2011


 .gitignore                  |    1 
 Makefile.in                 |   84 ++++----------------------------------------
 README.cross                |   15 +++++++
 bootstrap.1                 |    8 +++-
 configure.in                |   12 +++++-
 cross_toolset/prj/build.lst |    1 
 6 files changed, 43 insertions(+), 78 deletions(-)

New commits:
commit 81ca6d858b2e50ded7a4f713cc134a13c1fbf886
Author: Jan Holesovsky <kendy at suse.cz>
Date:   Fri Aug 19 15:01:17 2011 +0200

    Allow parallel build of the the cross build toolset.
    
    Plus various minor build tweaks.

diff --git a/.gitignore b/.gitignore
index ee39955..ddc5d80 100644
--- a/.gitignore
+++ b/.gitignore
@@ -55,6 +55,7 @@
 /ooo.lst
 
 # misc
+/cross-build-toolset.built
 /set_soenv.last
 /set_soenv.stamp
 /warn
diff --git a/Makefile.in b/Makefile.in
index b39b151..8090bcb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -8,86 +8,19 @@ else
 GBUILD_OPT:=--gmake
 endif
 
-ifeq (@CROSS_COMPILING@,YES)
-all: Makefile dmake/dmake at EXEEXT_FOR_BUILD@ src.downloaded cross-build-toolset
-else
-all: Makefile dmake/dmake at EXEEXT_FOR_BUILD@ src.downloaded
-endif
+all: Makefile dmake/dmake at EXEEXT_FOR_BUILD@ src.downloaded cross-build-toolset.built
 	@. ./Env.Host.sh && \
         cd instsetoo_native && \
         build.pl $(GBUILD_OPT) -P at BUILD_NCPUS@ --all -- -P at BUILD_MAX_JOBS@
 
+cross-build-toolset.built:
 ifeq (@CROSS_COMPILING@,YES)
-cross-build-toolset:
-# Build necessary modules for the *build* platform, i.e. those needed
-# by tools run at build time. Sure, in many of these modules only a
-# part of the produced binaries are actually used then in the build.
-# Once everything is handled by gbuild, this can hopefully be streamlined.
-	. ./Env.Build.sh && \
-	for D in \
-	  solenv \
-	  soltools \
-	  boost \
-	  external \
-	  cppunit \
-	  xml2cmp \
-	  lucene \
-	  sal \
-	  cosv \
-	  udm \
-	  autodoc \
-	  store \
-	  salhelper \
-	  registry \
-	  idlc \
-	  icu \
-	  codemaker \
-	  udkapi \
-	  expat \
-	  libxml2 \
-	  xml2cmp \
-	  libxslt \
-	  offapi \
-	  oovbaapi \
-	  cppu \
-	  cppuhelper \
-	  rdbmaker \
-	  cpputools \
-	  xmlreader \
-	  i18nutil \
-	  ridljar \
-	  jurt \
-	  jvmaccess \
-	  bridges \
-	  ucbhelper \
-	  comphelper \
-	  jvmfwk \
-	  regexp \
-	  berkeleydb \
-	  sax \
-	  stoc \
-	  i18npool \
-	  unodevtools \
-	  gettext \
-	  o3tl \
-	  basegfx \
-	  tools \
-	  idl \
-	  l10ntools \
-	  rsc \
-	  setup_native \
-	  icc \
-	  unoil \
-	  javaunohelper \
-	  unotools \
-	  xmlhelp \
-	  shell; do \
-	    if grep -q gb_Module_add_targets $$D/Module_$$D.mk 2>/dev/null; then \
-	      (cd $$D && make -sr -j at BUILD_MAX_JOBS@) || exit 1; \
-	    else \
-	      (cd $$D && build.pl $(GBUILD_OPT) -P at BUILD_NCPUS@ -- -P at BUILD_MAX_JOBS@ && deliver.pl) || exit 1; \
-	    fi; \
-	done
+	@. ./Env.Build.sh && \
+	cd cross_toolset && \
+	build.pl $(GBUILD_OPT) -P at BUILD_NCPUS@ --all -- -P at BUILD_MAX_JOBS@ && \
+	touch $@
+else
+	touch $@
 endif
 
 install:
@@ -147,6 +80,7 @@ endif
 
 dmake/dmake at EXEEXT_FOR_BUILD@:
 	./bootstrap
+	-rm cross-build-toolset.built
 
 src.downloaded: ooo.lst download
 ifeq (@DO_FETCH_TARBALLS@,YES)
diff --git a/README.cross b/README.cross
index 095a419..640b630 100644
--- a/README.cross
+++ b/README.cross
@@ -82,7 +82,20 @@ that the MSVC build under Cygwin works as nicely as it does.
 MinGW is available as cross-build toolchains pre-packaged in more or
 less official packages for many Linux distros including Debian, Fedora
 and openSUSE. Personally I use the mingw32 packages in the openSUSE
-Build Service, running on openSUSE.
+Build Service, running on openSUSE:
+
+http://download.opensuse.org/repositories/windows:/mingw:/win32/
+
+[You can install it like:
+
+zypper ar http://download.opensuse.org/repositories/windows:/mingw:/win32/SLE_11_SP1/windows:mingw:win32.repo
+zypper in mingw32-cross-gcc mingw32-python-devel mingw32-libexpat-devel \
+    mingw32-libexpat mingw32-boost-devel mingw32-libhyphen-devel \
+    mingw32-libhyphen mingw32-hyphen-en mingw32-liblpsolve-devel
+
+There might be more that are missing, please read carefully what autogen.sh
+tells you, and either remove one of the --with-system-*, or install the
+missing dependency. ]
 
 It is somewhat unclear how well thought-out the conditionals and code
 for MinGW inside the OOo-originated code in LibreOffice actually
diff --git a/bootstrap.1 b/bootstrap.1
index f49bf86..933b2db 100755
--- a/bootstrap.1
+++ b/bootstrap.1
@@ -1,6 +1,12 @@
 
 if test -z "${SOLARENV}"; then
-    if test -f ./Env.Host.sh; then . ./Env.Host.sh; fi
+    if test -f ./Env.Build.sh ; then
+        . ./Env.Build.sh
+    else
+        if test -f ./Env.Host.sh ; then
+            . ./Env.Host.sh
+        fi
+    fi
 fi
 if test -z "${SOLARENV}"; then
     echo "bootstrap: No environment set!"
diff --git a/configure.in b/configure.in
index 782d4cc..cbd835c 100755
--- a/configure.in
+++ b/configure.in
@@ -1538,6 +1538,12 @@ cygwin*|interix*|mingw32*)
 
     mingw32*)
         WITH_MINGW=yes
+        if test -z "$CC" ; then
+            CC="$host_cpu-$host_vendor-$host_os-gcc"
+        fi
+        if test -z "$CXX" ; then
+            CXX="$host_cpu-$host_vendor-$host_os-g++"
+        fi
         ;;
     esac
     ;;
@@ -4696,7 +4702,11 @@ if test $enable_python != no; then
     BUILD_TYPE="$BUILD_TYPE PYUNO"
 fi
 
-if test "$cross_compiling" != yes; then
+if test "$cross_compiling" = yes; then
+    if test $enable_python = auto; then
+        enable_python=system
+    fi
+else
     if test $enable_python = system; then
         dnl This causes an error if no Python found
         AM_PATH_PYTHON([2.6])
diff --git a/cross_toolset/prj/build.lst b/cross_toolset/prj/build.lst
new file mode 100644
index 0000000..e05ad81
--- /dev/null
+++ b/cross_toolset/prj/build.lst
@@ -0,0 +1 @@
+crs	cross_toolset	::	autodoc oovbaapi unodevtools gettext idl rsc setup_native icc xmlhelp shell	NULL


More information about the Libreoffice-commits mailing list