README.cross | 10 configure.in | 172 +++++++++-------- instsetoo_native/util/makefile.mk | 9 setup_native/source/win32/wintools/makecab/makefile.mk | 2 setup_native/source/win32/wintools/msidb/makefile.mk | 2 setup_native/source/win32/wintools/msiinfo/makefile.mk | 2 setup_native/source/win32/wintools/msimsp/makefile.mk | 2 setup_native/source/win32/wintools/msitran/makefile.mk | 2 solenv/bin/make_installer.pl | 2 9 files changed, 116 insertions(+), 87 deletions(-)
New commits: commit 22d551b3f636c15468e9411b93872f7ab3aecdea Author: Jan Holesovsky <[email protected]> Date: Tue Jul 24 13:42:06 2012 +0200 Check for makecab in case we are cross-building .msi. Change-Id: I57cb8cc9d0173c50f789533a479d55972bdb14b4 diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl index 06ff6b9..e58bd4d 100644 --- a/solenv/bin/make_installer.pl +++ b/solenv/bin/make_installer.pl @@ -261,7 +261,7 @@ if (!($installer::globals::is_copy_only_project)) { installer::ziplist::set_manu # Checking version of makecab.exe ############################################## -if ( $installer::globals::iswindowsbuild && (!defined($ENV{'CROSS_COMPILING'}) || $ENV{'CROSS_COMPILING'} ne 'YES')) { installer::control::check_makecab_version(); } +if ( $installer::globals::iswindowsbuild && (!defined($ENV{'CROSS_COMPILING'}) || $ENV{'CROSS_COMPILING'} ne 'YES' || $ENV{'PKGFORMAT'} eq 'msi')) { installer::control::check_makecab_version(); } ########################################################## # Getting the include path from the settings in zip list commit f7fd0e0198bd78c4af07918f5c900b898d4f13a6 Author: Jan Holesovsky <[email protected]> Date: Tue Jul 24 12:40:35 2012 +0200 Kill FORCE2ARCHIVE. Change-Id: Ie72dcc8ef9e82da1f0aa328648f20f9ed4a20482 diff --git a/configure.in b/configure.in index 2baafb4..ddbb22f 100644 --- a/configure.in +++ b/configure.in @@ -5953,7 +5953,12 @@ elif test "$enable_epm" = "yes"; then AC_MSG_ERROR([unknown system]) esac else - PKGFORMAT=native + if test "$WITH_MINGW" = "yes"; then + # when tested, we should default this to 'msi', instead of 'archive' + PKGFORMAT=archive + else + PKGFORMAT=native + fi fi AC_MSG_RESULT([$PKGFORMAT]) AC_SUBST(PKGFORMAT) diff --git a/instsetoo_native/util/makefile.mk b/instsetoo_native/util/makefile.mk index 54e399d..a4dc1f9 100644 --- a/instsetoo_native/util/makefile.mk +++ b/instsetoo_native/util/makefile.mk @@ -41,11 +41,6 @@ PYTHONPATH:=$(PWD)$/$(BIN):$(SOLARLIBDIR):$(SOLARLIBDIR)$/python:$(SOLARLIBDIR)$ .ENDIF # "$(GUI)"=="WNT" .EXPORT: PYTHONPATH -.IF "$(OS)$(COM)" == "WNTGCC" -# i.e. cross-compiling -FORCE2ARCHIVE=TRUE -.ENDIF - ENABLE_DOWNLOADSETS*=TRUE .EXPORT: ENABLE_DOWNLOADSETS @@ -128,10 +123,6 @@ ALLTAR : openofficedev_$(defaultlangiso) ooodevlanguagepack $(eq,$(OS),MACOSX $( .ENDIF # "$(ENABLE_RELEASE_BUILD)"=="TRUE" .ENDIF # "$(GUI)"!="WNT" && "$(EPM)"=="NO" -.IF "$(FORCE2ARCHIVE)" == "TRUE" -PKGFORMAT = archive -.END - .IF "$(MAKETARGETS:e)"!="" PKGFORMAT+=$(MAKETARGETS:e:s/.//) .ENDIF # "$(MAKETARGETS:e)"!="" commit cd93b227491a1e481452e79aee18b52fc558f368 Author: Jan Holesovsky <[email protected]> Date: Tue Jul 24 11:43:14 2012 +0200 Allow specification of --with-package-format=msi regardless of EPM setting. Change-Id: I32c80cb7ffd6cedee854d03f198f21afd94a664c diff --git a/configure.in b/configure.in index 73f07d0..2baafb4 100644 --- a/configure.in +++ b/configure.in @@ -2364,24 +2364,6 @@ if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then AC_PROG_CC fi -dnl We need winegcc when building MinGW build to be able to cross-build msi tools -AC_PATH_PROG(WINEGCC, winegcc) -if test "$WITH_MINGW" = "yes" ; then - if test "$WINEGCC" = ""; then - AC_MSG_ERROR([winegcc was not found, please install wine-devel, or wine-devel-32bit]) - fi - CC_save="$CC" - CC="$WINEGCC -m32" - AC_LINK_IFELSE([AC_LANG_PROGRAM([ -#include <stdio.h> - ],[ -printf ("hello world\n"); - ])],, - [AC_MSG_ERROR([winegcc cannot build 32bit binaries, please install glibc-devel-32bit and gcc-32bit])] - ) - CC="$CC_save" -fi - COMPATH=`dirname "$CC"` if test "$COMPATH" = "."; then AC_PATH_PROGS(COMPATH, $CC) @@ -5904,13 +5886,85 @@ else fi AC_SUBST(BUILD_DMAKE) +dnl =================================================================== +dnl Test which package format to use +dnl =================================================================== +AC_MSG_CHECKING([which package format to use]) +if test -n "$with_package_format"; then + for i in $with_package_format; do + case "$i" in + aix | bsd | deb | inst | tardist | osx | pkg | rpm | setld | native | portable | archive | dmg | installed | msi) + ;; + *) + AC_MSG_ERROR([unsupported format $i. Supported by EPM are: +aix - AIX software distribution +bsd - FreeBSD, NetBSD, or OpenBSD software distribution +deb - Debian software distribution +inst or tardist - IRIX software distribution +osx - MacOS X software distribution +pkg - Solaris software distribution +rpm - RedHat software distribution +setld - Tru64 (setld) software distribution +native - "Native" software distribution for the platform +portable - Portable software distribution + +LibreOffice additionally supports: +archive - .tar.gz or .zip +dmg - Mac OS X .dmg +installed - installation tree +msi - Windows .msi + ]) + ;; + esac + done + PKGFORMAT="$with_package_format" +elif test "$enable_epm" = "yes"; then + # defaults + case "$_os" in + Darwin) + PKGFORMAT=dmg + ;; + SunOS) + PKGFORMAT=pkg + ;; + Linux) + # if building on Debian, default should be deb... + if test -e /etc/debian_version; then + PKGFORMAT=deb + else + PKGFORMAT=rpm + fi + ;; + AIX) + PKGFORMAT=rpm + ;; + OpenBSD|DragonFly) + PKGFORMAT=portable + ;; + *BSD) + PKGFORMAT=bsd + ;; + WINNT) + PKGFORMAT=msi + ;; + # we never should get here since we check the arciecture/os at the beginning, + # but go sure... + *) + AC_MSG_ERROR([unknown system]) + esac +else + PKGFORMAT=native +fi +AC_MSG_RESULT([$PKGFORMAT]) +AC_SUBST(PKGFORMAT) + +dnl =================================================================== +dnl Check for epm (not needed for Windows) +dnl =================================================================== AC_MSG_CHECKING([whether to enable EPM for packing]) BUILD_EPM=NO if test "$enable_epm" = "yes"; then AC_MSG_RESULT([yes]) - dnl =================================================================== - dnl Check for epm - not needed for Windows - dnl =================================================================== if test "$_os" != "WINNT"; then if test -n "$with_epm"; then EPM=$with_epm @@ -5955,71 +6009,6 @@ if test "$enable_epm" = "yes"; then fi fi - # test which package format to use - AC_MSG_CHECKING([which package format to use]) - - # defaults - case "$_os" in - Darwin) - PKGFORMAT=dmg - ;; - SunOS) - PKGFORMAT=pkg - ;; - Linux) - # if building on Debian, default should be deb... - if test -e /etc/debian_version; then - PKGFORMAT=deb - else - PKGFORMAT=rpm - fi - ;; - AIX) - PKGFORMAT=rpm - ;; - OpenBSD|DragonFly) - PKGFORMAT=portable - ;; - *BSD) - PKGFORMAT=bsd - ;; - WINNT) - PKGFORMAT=msi - ;; - # we never should get here since we check the arciecture/os at the beginning, - # but go sure... - *) - AC_MSG_ERROR([unknown system]) - esac - if test -n "$with_package_format"; then - for i in $with_package_format; do - case "$i" in - aix | bsd | deb | inst | tardist | osx | pkg | rpm | setld | native | portable | archive | dmg | installed | msi) - ;; - *) - AC_MSG_ERROR([unsupported format $i. Supported by EPM are: -aix - AIX software distribution -bsd - FreeBSD, NetBSD, or OpenBSD software distribution -deb - Debian software distribution -inst or tardist - IRIX software distribution -osx - MacOS X software distribution -pkg - Solaris software distribution -rpm - RedHat software distribution -setld - Tru64 (setld) software distribution -native - "Native" software distribution for the platform -portable - Portable software distribution -LibreOffice additionally supports: -archive - .tar.gz or .zip -dmg - Mac OS X .dmg -installed - installation tree -msi - Windows .msi - ]) - ;; - esac - done - PKGFORMAT="$with_package_format" - fi - AC_MSG_RESULT([$PKGFORMAT]) if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null; then AC_MSG_CHECKING([for rpm]) for a in "$RPM" rpmbuild rpm; do @@ -6100,11 +6089,29 @@ msi - Windows .msi else AC_MSG_RESULT([no]) EPM=NO - PKGFORMAT=native fi AC_SUBST(EPM) AC_SUBST(BUILD_EPM) -AC_SUBST(PKGFORMAT) + +dnl =================================================================== +dnl We need winegcc when building MinGW build to be able to cross-build msi tools +dnl =================================================================== +if test "$WITH_MINGW" = "yes" -a "$PKGFORMAT" = "msi" ; then + AC_PATH_PROG(WINEGCC, winegcc) + if test "$WINEGCC" = ""; then + AC_MSG_ERROR([winegcc was not found, please install wine-devel, or wine-devel-32bit]) + fi + CC_save="$CC" + CC="$WINEGCC -m32" + AC_LINK_IFELSE([AC_LANG_PROGRAM([ +#include <stdio.h> + ],[ +printf ("hello world\n"); + ])],, + [AC_MSG_ERROR([winegcc cannot build 32bit binaries, please install glibc-devel-32bit and gcc-32bit])] + ) + CC="$CC_save" +fi dnl =================================================================== dnl Check for gperf commit 063afe5104a4db1d97a3bcaa215f5fe87698ed70 Author: Jan Holesovsky <[email protected]> Date: Mon Jul 23 18:16:46 2012 +0200 Check for the msi* build requirements in configure.in + update README.cross. Change-Id: I0da3e604ebd0665c5405174957d852677195126b diff --git a/README.cross b/README.cross index ee0b0f7..1142ab9 100644 --- a/README.cross +++ b/README.cross @@ -93,6 +93,16 @@ zypper in mingw32-cross-gcc mingw32-cross-gcc-c++ mingw32-python-devel \ mingw32-libcppunit-devel mingw32-libredland mingw32-libredland-devel \ mingw32-libmythes mingw32-libmythes-devel +You also need wine, ideally: + +zypper ar http://download.opensuse.org/repositories/Emulators:/Wine/<your_os>/Emulators:Wine.repo + +zypper in wine wine-devel wine-devel-32bit + +And in order to be able to use 'winegcc -m32', also + +zypper in glibc-devel-32bit gcc-32bit + 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. diff --git a/configure.in b/configure.in index 264c6c6..73f07d0 100644 --- a/configure.in +++ b/configure.in @@ -74,8 +74,6 @@ else fi AC_SUBST(CROSS_COMPILING) -AC_PATH_PROG(WINEGCC, winegcc) - AC_PROG_EGREP # AC_PROG_EGREP doesn't set GREP on all systems as well AC_PATH_PROG(GREP, grep) @@ -2366,6 +2364,24 @@ if test "$_os" != "WINNT" -o "$WITH_MINGW" = "yes"; then AC_PROG_CC fi +dnl We need winegcc when building MinGW build to be able to cross-build msi tools +AC_PATH_PROG(WINEGCC, winegcc) +if test "$WITH_MINGW" = "yes" ; then + if test "$WINEGCC" = ""; then + AC_MSG_ERROR([winegcc was not found, please install wine-devel, or wine-devel-32bit]) + fi + CC_save="$CC" + CC="$WINEGCC -m32" + AC_LINK_IFELSE([AC_LANG_PROGRAM([ +#include <stdio.h> + ],[ +printf ("hello world\n"); + ])],, + [AC_MSG_ERROR([winegcc cannot build 32bit binaries, please install glibc-devel-32bit and gcc-32bit])] + ) + CC="$CC_save" +fi + COMPATH=`dirname "$CC"` if test "$COMPATH" = "."; then AC_PATH_PROGS(COMPATH, $CC) diff --git a/setup_native/source/win32/wintools/makecab/makefile.mk b/setup_native/source/win32/wintools/makecab/makefile.mk index b30a520..c7f277b 100644 --- a/setup_native/source/win32/wintools/makecab/makefile.mk +++ b/setup_native/source/win32/wintools/makecab/makefile.mk @@ -27,7 +27,7 @@ TARGET=sn_makecab $(BIN)/makecab.exe.so: $(BIN)/makecab.exe $(BIN)/makecab.exe: - $(WINEGCC) -o $(BIN)/makecab.exe makecab.c parseddf.c -mconsole -lmsi + $(WINEGCC) -o $(BIN)/makecab.exe makecab.c parseddf.c -m32 -mconsole -lmsi # --- Targets -------------------------------------------------------------- diff --git a/setup_native/source/win32/wintools/msidb/makefile.mk b/setup_native/source/win32/wintools/msidb/makefile.mk index 6c1f0f3..96c100f 100644 --- a/setup_native/source/win32/wintools/msidb/makefile.mk +++ b/setup_native/source/win32/wintools/msidb/makefile.mk @@ -27,7 +27,7 @@ TARGET=sn_msidb $(BIN)/msidb.exe.so: $(BIN)/msidb.exe $(BIN)/msidb.exe: - $(WINEGCC) -o $(BIN)/msidb.exe msidb.c -municode -lmsi + $(WINEGCC) -o $(BIN)/msidb.exe msidb.c -m32 -municode -lmsi # --- Targets -------------------------------------------------------------- diff --git a/setup_native/source/win32/wintools/msiinfo/makefile.mk b/setup_native/source/win32/wintools/msiinfo/makefile.mk index d7aab3b..8faf933 100644 --- a/setup_native/source/win32/wintools/msiinfo/makefile.mk +++ b/setup_native/source/win32/wintools/msiinfo/makefile.mk @@ -27,7 +27,7 @@ TARGET=sn_msiinfo $(BIN)/msiinfo.exe.so: $(BIN)/msiinfo.exe $(BIN)/msiinfo.exe: - $(WINEGCC) -o $(BIN)/msiinfo.exe msiinfo.c -mconsole -municode -lmsi + $(WINEGCC) -o $(BIN)/msiinfo.exe msiinfo.c -m32 -mconsole -municode -lmsi # --- Targets -------------------------------------------------------------- diff --git a/setup_native/source/win32/wintools/msimsp/makefile.mk b/setup_native/source/win32/wintools/msimsp/makefile.mk index a793662..8ecb5fc 100644 --- a/setup_native/source/win32/wintools/msimsp/makefile.mk +++ b/setup_native/source/win32/wintools/msimsp/makefile.mk @@ -27,7 +27,7 @@ TARGET=sn_msimsp $(BIN)/msimsp.exe.so: $(BIN)/msimsp.exe $(BIN)/msimsp.exe: - $(WINEGCC) -o $(BIN)/msimsp.exe msimsp.c -mconsole -lmsi + $(WINEGCC) -o $(BIN)/msimsp.exe msimsp.c -m32 -mconsole -lmsi # --- Targets -------------------------------------------------------------- diff --git a/setup_native/source/win32/wintools/msitran/makefile.mk b/setup_native/source/win32/wintools/msitran/makefile.mk index 4b5ed73..910f8c5 100644 --- a/setup_native/source/win32/wintools/msitran/makefile.mk +++ b/setup_native/source/win32/wintools/msitran/makefile.mk @@ -27,7 +27,7 @@ TARGET=sn_msitran $(BIN)/msitran.exe.so: $(BIN)/msitran.exe $(BIN)/msitran.exe: - $(WINEGCC) -o $(BIN)/msitran.exe msitran.c -mconsole -lmsi + $(WINEGCC) -o $(BIN)/msitran.exe msitran.c -m32 -mconsole -lmsi # --- Targets -------------------------------------------------------------- _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
