diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile.in | 84 | ||||
-rw-r--r-- | README.cross | 15 | ||||
-rwxr-xr-x | bootstrap.1 | 8 | ||||
-rwxr-xr-x | configure.in | 12 | ||||
-rw-r--r-- | cross_toolset/prj/build.lst | 1 |
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 |