summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile.in84
-rw-r--r--README.cross15
-rwxr-xr-xbootstrap.18
-rwxr-xr-xconfigure.in12
-rw-r--r--cross_toolset/prj/build.lst1
6 files changed, 43 insertions, 78 deletions
diff --git a/.gitignore b/.gitignore
index ee399551705d..ddc5d8042ab4 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 b39b1512484f..8090bcb6e740 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -8,86 +8,19 @@ else
GBUILD_OPT:=--gmake
endif
-ifeq (@CROSS_COMPILING@,YES)
-all: Makefile dmake/dmake@EXEEXT_FOR_BUILD@ src.downloaded cross-build-toolset
-else
-all: Makefile dmake/dmake@EXEEXT_FOR_BUILD@ src.downloaded
-endif
+all: Makefile dmake/dmake@EXEEXT_FOR_BUILD@ src.downloaded cross-build-toolset.built
@. ./Env.Host.sh && \
cd instsetoo_native && \
build.pl $(GBUILD_OPT) -P@BUILD_NCPUS@ --all -- -P@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@BUILD_MAX_JOBS@) || exit 1; \
- else \
- (cd $$D && build.pl $(GBUILD_OPT) -P@BUILD_NCPUS@ -- -P@BUILD_MAX_JOBS@ && deliver.pl) || exit 1; \
- fi; \
- done
+ @. ./Env.Build.sh && \
+ cd cross_toolset && \
+ build.pl $(GBUILD_OPT) -P@BUILD_NCPUS@ --all -- -P@BUILD_MAX_JOBS@ && \
+ touch $@
+else
+ touch $@
endif
install:
@@ -147,6 +80,7 @@ endif
dmake/dmake@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 095a419bb43b..640b63055cc3 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 f49bf8633e66..933b2db7e71c 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 782d4ccd0821..cbd835c7e2eb 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 000000000000..e05ad81e5192
--- /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