autogen.sh | 6 +++ configure.in | 52 +++++++++++++++++++++++++++++----- external/mingw-dlls/makefile.mk | 4 +- m4/mingw.m4 | 61 ++++++++++++++++++++++++++++++++++++++++ redland/raptor/makefile.mk | 2 - 5 files changed, 114 insertions(+), 11 deletions(-)
New commits: commit 80b94e54d8861d32c608d8831037b48d6418f57b Author: David Tardon <dtar...@redhat.com> Date: Fri Feb 17 13:55:56 2012 +0100 do not hardcode mingw path diff --git a/configure.in b/configure.in index afce205..2459b76 100644 --- a/configure.in +++ b/configure.in @@ -7231,7 +7231,7 @@ if test "$with_system_icu" = "yes"; then ICUPATH="$PATH" if test "$WITH_MINGW" = "yes" ; then - ICUPATH="/usr/i686-w64-mingw32/sys-root/mingw/bin:$ICUPATH" + ICUPATH=`$CC -print-sysroot`/mingw/bin:"$ICUPATH" fi AC_PATH_PROG(ICUCONFIG,icu-config,,[$ICUPATH]) commit 41522fc7752acd25829a9d3b5ec9e89898777106 Author: David Tardon <dtar...@redhat.com> Date: Fri Feb 17 13:54:10 2012 +0100 avoid hardcoded dll names diff --git a/configure.in b/configure.in index 1b7bce3..afce205 100644 --- a/configure.in +++ b/configure.in @@ -5631,7 +5631,7 @@ if test "$with_system_expat" = "yes"; then [AC_MSG_ERROR(expat.h not found. install expat)], []) AC_CHECK_LIB([expat], [XML_ParserCreate], [:], [AC_MSG_RESULT(expat library not found or functional.)], []) - MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libexpat-1.dll" + libo_ADD_MINGW_EXTERNAL_DLLS([libexpat],[MINGW_EXTERNAL_DLLS]) else AC_MSG_RESULT([internal]) SYSTEM_EXPAT=NO @@ -5823,7 +5823,7 @@ if test "$with_system_libxml" = "yes"; then AC_MSG_ERROR([xsltproc is required]) fi - MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libxslt-1.dll" + libo_ADD_MINGW_EXTERNAL_DLLS([libxslt],[MINGW_EXTERNAL_DLLS]) else AC_MSG_RESULT([internal]) SYSTEM_LIBXSLT=NO @@ -5873,7 +5873,7 @@ if test "$with_system_libxml" = "yes"; then AC_MSG_ERROR([xmllint is required]) fi - MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS zlib1.dll libxml2-2.dll" + libo_ADD_MINGW_EXTERNAL_DLLS([libxml2],[MINGW_EXTERNAL_DLLS]) else AC_MSG_RESULT([internal]) SYSTEM_LIBXML=NO @@ -6674,7 +6674,7 @@ if test "$with_system_curl" = "yes"; then ;; esac - MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libintl-8.dll libidn-11.dll libnspr4.dll nssutil3.dll libplc4.dll libplds4.dll nss3.dll ssl3.dll libgpg-error-0.dll libgcrypt-11.dll libssh2-1.dll libcurl-4.dll" + libo_ADD_MINGW_EXTERNAL_DLLS([libcurl],[MINGW_EXTERNAL_DLLS]) else AC_MSG_RESULT([internal]) SYSTEM_CURL=NO @@ -7572,7 +7572,7 @@ if test "$with_system_hunspell" = "yes"; then HUNSPELL_LIBS=-lhunspell fi AC_LANG_POP([C++]) - MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libhunspell-1.3-0.dll" + libo_ADD_MINGW_EXTERNAL_DLLS([libhunspell],[MINGW_EXTERNAL_DLLS]) else AC_MSG_RESULT([internal]) SYSTEM_HUNSPELL=NO @@ -9759,7 +9759,7 @@ if test "$with_system_cairo" = "yes"; then AC_LANG_POP([C]) fi fi - MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libfontconfig-1.dll libfreetype-6.dll libpixman-1-0.dll libpng15-15.dll libcairo-2.dll" + libo_ADD_MINGW_EXTERNAL_DLLS([libcairo],[MINGW_EXTERNAL_DLLS]) else AC_MSG_RESULT([no]) commit 12c35f511e7d2ff74113f307212b6b422898b0f2 Author: David Tardon <dtar...@redhat.com> Date: Fri Feb 17 13:10:14 2012 +0100 add macro for extracting mingw dll names from libtool files Hardcoding dll names from SuSE Linux in configure.in is not good, because they might be slightly different on other systems (notably Fedora :-), or the libraries might be compiled with different dependencies. diff --git a/autogen.sh b/autogen.sh index f423fe1..d41ccdd 100755 --- a/autogen.sh +++ b/autogen.sh @@ -125,7 +125,11 @@ sanity_checks ($system) unless($system eq 'Darwin'); my $aclocal_flags = $ENV{ACLOCAL_FLAGS}; -$aclocal_flags = "-I ./m4/mac" if (($aclocal_flags eq "") && ($system eq 'Darwin')); +if ($aclocal_flags eq "") +{ + $aclocal_flags = "-I ./m4"; + $aclocal_flags .= " -I ./m4/mac" if ($system eq 'Darwin'); +} $ENV{AUTOMAKE_EXTRA_FLAGS} = '--warnings=no-portability' if (!($system eq 'Darwin')); diff --git a/m4/mingw.m4 b/m4/mingw.m4 new file mode 100644 index 0000000..cd0f38f --- /dev/null +++ b/m4/mingw.m4 @@ -0,0 +1,61 @@ +# libo_FIND_MINGW_EXTERNAL_DLLS([library-names],[variable],[?exclude]) +# uses: CC, WITH_MINGW +# -------------------------------------------------------------------- +AC_DEFUN([libo_FIND_MINGW_EXTERNAL_DLLS], +[AC_REQUIRE([AC_PROG_SED])dnl +if test "$WITH_MINGW" = yes -a -n "$CC"; then + _libo_mingw_libdir=`$CC -print-sysroot`/mingw/lib + for _libo_mingw_lib in $1; do + _libo_mingw_lib="$_libo_mingw_libdir/$_libo_mingw_lib.la" + _libo_mingw_find_dll([$_libo_mingw_lib],[$3],[_libo_mingw_new_dll]) + if test -n "$_libo_mingw_new_dll"; then + _libo_mingw_new_dlls="$_libo_mingw_new_dll" + fi + + _libo_mingw_get_libtool_var([dependency_libs],[$_libo_mingw_lib],[_libo_mingw_dep_libs]) + for _libo_mingw_dep_lib in $_libo_mingw_dep_libs; do + if test "${_libo_mingw_dep_lib%.la}" != "$_libo_mingw_dep_lib"; then + _libo_mingw_new_dll='' + _libo_mingw_find_dll([$_libo_mingw_dep_lib],[$3],[_libo_mingw_new_dll]) + if test -n "$_libo_mingw_new_dll"; then + _libo_mingw_new_dlls="$_libo_mingw_new_dlls $_libo_mingw_new_dll" + fi + fi + done + $2="$_libo_mingw_new_dlls" + done +fi[]dnl +]) # libo_FIND_MINGW_EXTERNAL_DLLS + +# libo_ADD_MINGW_EXTERNAL_DLLS([library-names],[variable]) +# uses: CC, WITH_MINGW +# -------------------------------------------------------- +AC_DEFUN([libo_ADD_MINGW_EXTERNAL_DLLS], +[libo_FIND_MINGW_EXTERNAL_DLLS([$1],[_libo_mingw_found_dlls],[$$2]) +if test -n "$_libo_mingw_found_dlls"; then + $2="$$2 $_libo_mingw_found_dlls" +fi[]dnl +]) # libo_ADD_MINGW_EXTERNAL_DLLS + +# _libo_mingw_get_libtool_var([key],[lib],[out-var]) +m4_define([_libo_mingw_get_libtool_var], +[$3=`$SED -n -e '/^$1=/{' -e "s/.*='//" -e "s/'//" -e p -e '}' $2`[]dnl +]) # _libo_mingw_get_libtool_var + +# _libo_mingw_find_dll([library],[dlls],[out-var]) +m4_define([_libo_mingw_find_dll], +[if test -f "$1"; then + _libo_mingw_get_libtool_var([dlname],[$1],[_libo_mingw_dlname]) + _libo_mingw_dlname=`basename $_libo_mingw_dlname` + _libo_mingw_dll_present= + for _libo_mingw_dll in $2; do + if test "$_libo_mingw_dlname" = "$_libo_mingw_dll"; then + _libo_mingw_dll_present=yes + break + fi + done + if test -z "$_libo_mingw_dll_present"; then + $3="$_libo_mingw_dlname" + fi +fi[]dnl +]) # _libo_mingw_find_dll commit 1a1c6f8f8e7850741d7d8a31c0f62beae7820a37 Author: David Tardon <dtar...@redhat.com> Date: Fri Feb 17 09:51:41 2012 +0100 allow using system icu in cross-compilation build diff --git a/configure.in b/configure.in index 110c1b2..1b7bce3 100644 --- a/configure.in +++ b/configure.in @@ -1949,6 +1949,10 @@ AC_ARG_WITH(system-expat-for-build, AS_HELP_STRING([--with-system-expat-for-build], [Use expat/libxslt already on system for build tools (cross-compilation only).])) +AC_ARG_WITH(system-icu-for-build, + AS_HELP_STRING([--with-system-icu-for-build], + [Use icu/libxslt already on system for build tools (cross-compilation only).])) + AC_ARG_WITH(system-libxml-for-build, AS_HELP_STRING([--with-system-libxml-for-build], [Use libxml/libxslt already on system for build tools (cross-compilation only).])) @@ -3191,6 +3195,7 @@ if test "$cross_compiling" = "yes"; then test -n "$with_system_cppunit_for_build" && sub_conf_opts="$sub_conf_opts --with-system-cppunit" test -n "$with_system_db_for_build" && sub_conf_opts="$sub_conf_opts --with-system-db" test -n "$with_system_expat_for_build" && sub_conf_opts="$sub_conf_opts --with-system-expat" + test -n "$with_system_icu_for_build" && sub_conf_opts="$sub_conf_opts --with-system-icu" test -n "$with_system_libxml_for_build" && sub_conf_opts="$sub_conf_opts --with-system-libxml" ./configure \ --disable-mozilla \ commit b60aedc17c12db865f5994a579facb10a3e9343e Author: David Tardon <dtar...@redhat.com> Date: Fri Feb 17 09:51:08 2012 +0100 allow using system expat in cross-compilation build diff --git a/configure.in b/configure.in index bbb36e2..110c1b2 100644 --- a/configure.in +++ b/configure.in @@ -1945,6 +1945,10 @@ AC_ARG_WITH(system-db-for-build, AS_HELP_STRING([--with-system-db-for-build], [Use db/libxslt already on system for build tools (cross-compilation only).])) +AC_ARG_WITH(system-expat-for-build, + AS_HELP_STRING([--with-system-expat-for-build], + [Use expat/libxslt already on system for build tools (cross-compilation only).])) + AC_ARG_WITH(system-libxml-for-build, AS_HELP_STRING([--with-system-libxml-for-build], [Use libxml/libxslt already on system for build tools (cross-compilation only).])) @@ -3186,6 +3190,7 @@ if test "$cross_compiling" = "yes"; then test -n "$with_system_boost_for_build" && sub_conf_opts="$sub_conf_opts --with-system-boost" test -n "$with_system_cppunit_for_build" && sub_conf_opts="$sub_conf_opts --with-system-cppunit" test -n "$with_system_db_for_build" && sub_conf_opts="$sub_conf_opts --with-system-db" + test -n "$with_system_expat_for_build" && sub_conf_opts="$sub_conf_opts --with-system-expat" test -n "$with_system_libxml_for_build" && sub_conf_opts="$sub_conf_opts --with-system-libxml" ./configure \ --disable-mozilla \ commit 50c5c10ac3cb03c10a25cf07d75f6cce75571ec0 Author: David Tardon <dtar...@redhat.com> Date: Fri Feb 17 09:50:36 2012 +0100 allow using system db in cross-compilation build diff --git a/configure.in b/configure.in index 5d50dbb..bbb36e2 100644 --- a/configure.in +++ b/configure.in @@ -1941,6 +1941,10 @@ AC_ARG_WITH(system-cppunit-for-build, AS_HELP_STRING([--with-system-cppunit-for-build], [Use cppunit/libxslt already on system for build tools (cross-compilation only).])) +AC_ARG_WITH(system-db-for-build, + AS_HELP_STRING([--with-system-db-for-build], + [Use db/libxslt already on system for build tools (cross-compilation only).])) + AC_ARG_WITH(system-libxml-for-build, AS_HELP_STRING([--with-system-libxml-for-build], [Use libxml/libxslt already on system for build tools (cross-compilation only).])) @@ -3181,6 +3185,7 @@ if test "$cross_compiling" = "yes"; then test -n "$TARFILE_LOCATION" && sub_conf_opts="$sub_conf_opts --with-external-tar=$TARFILE_LOCATION" test -n "$with_system_boost_for_build" && sub_conf_opts="$sub_conf_opts --with-system-boost" test -n "$with_system_cppunit_for_build" && sub_conf_opts="$sub_conf_opts --with-system-cppunit" + test -n "$with_system_db_for_build" && sub_conf_opts="$sub_conf_opts --with-system-db" test -n "$with_system_libxml_for_build" && sub_conf_opts="$sub_conf_opts --with-system-libxml" ./configure \ --disable-mozilla \ commit 2afa9317cd2a137154c1ea06a2449308d26db8ea Author: David Tardon <dtar...@redhat.com> Date: Fri Feb 17 09:49:27 2012 +0100 allow using system boost in cross-compilation build diff --git a/configure.in b/configure.in index b3c2258..5d50dbb 100644 --- a/configure.in +++ b/configure.in @@ -1933,6 +1933,10 @@ dnl =================================================================== dnl options for stuff used during cross-compilation build dnl =================================================================== +AC_ARG_WITH(system-boost-for-build, + AS_HELP_STRING([--with-system-boost-for-build], + [Use boost/libxslt already on system for build tools (cross-compilation only).])) + AC_ARG_WITH(system-cppunit-for-build, AS_HELP_STRING([--with-system-cppunit-for-build], [Use cppunit/libxslt already on system for build tools (cross-compilation only).])) @@ -3175,6 +3179,7 @@ if test "$cross_compiling" = "yes"; then test $with_java = no && sub_conf_opts="$sub_conf_opts --without-java" test $with_junit = no && sub_conf_opts="$sub_conf_opts --without-junit" test -n "$TARFILE_LOCATION" && sub_conf_opts="$sub_conf_opts --with-external-tar=$TARFILE_LOCATION" + test -n "$with_system_boost_for_build" && sub_conf_opts="$sub_conf_opts --with-system-boost" test -n "$with_system_cppunit_for_build" && sub_conf_opts="$sub_conf_opts --with-system-cppunit" test -n "$with_system_libxml_for_build" && sub_conf_opts="$sub_conf_opts --with-system-libxml" ./configure \ commit e1462d24f47c56cc5e4d8cbec09fb755ce4b08fe Author: David Tardon <dtar...@redhat.com> Date: Fri Feb 17 09:47:37 2012 +0100 allow using system cppunit in cross-compilation build diff --git a/configure.in b/configure.in index 56cbbce..b3c2258 100644 --- a/configure.in +++ b/configure.in @@ -1933,6 +1933,10 @@ dnl =================================================================== dnl options for stuff used during cross-compilation build dnl =================================================================== +AC_ARG_WITH(system-cppunit-for-build, + AS_HELP_STRING([--with-system-cppunit-for-build], + [Use cppunit/libxslt already on system for build tools (cross-compilation only).])) + AC_ARG_WITH(system-libxml-for-build, AS_HELP_STRING([--with-system-libxml-for-build], [Use libxml/libxslt already on system for build tools (cross-compilation only).])) @@ -3160,6 +3164,7 @@ if test "$cross_compiling" = "yes"; then unset CC CXX SYSBASE CFLAGS unset PYTHON_CFLAGS PYTHON_LIBS unset AR NM OBJDUMP PKG_CONFIG RANLIB STRIP + unset CPPUNIT_CFLAGS CPPUNIT_LIBS unset LIBXML_CFLAGS LIBXML_LIBS LIBXSLT_CFLAGS LIBXSLT_LIBS XSLTPROC test -n "$CC_FOR_BUILD" && export CC="$CC_FOR_BUILD" test -n "$CXX_FOR_BUILD" && export CXX="$CXX_FOR_BUILD" @@ -3170,6 +3175,7 @@ if test "$cross_compiling" = "yes"; then test $with_java = no && sub_conf_opts="$sub_conf_opts --without-java" test $with_junit = no && sub_conf_opts="$sub_conf_opts --without-junit" test -n "$TARFILE_LOCATION" && sub_conf_opts="$sub_conf_opts --with-external-tar=$TARFILE_LOCATION" + test -n "$with_system_cppunit_for_build" && sub_conf_opts="$sub_conf_opts --with-system-cppunit" test -n "$with_system_libxml_for_build" && sub_conf_opts="$sub_conf_opts --with-system-libxml" ./configure \ --disable-mozilla \ commit 4b95a8f30707c49e735d346cc21ca0afa719d123 Author: David Tardon <dtar...@redhat.com> Date: Fri Feb 17 09:38:36 2012 +0100 allow using system libxml in cross-compilation build This uses the same pattern that is already used to discriminate env. vars for host and build (i.e., the new option specific for build platform has -for-build suffix). diff --git a/configure.in b/configure.in index c6385e2..56cbbce 100644 --- a/configure.in +++ b/configure.in @@ -1930,6 +1930,15 @@ AC_ARG_WITH(macosx-version-max-allowed, dnl =================================================================== +dnl options for stuff used during cross-compilation build +dnl =================================================================== + +AC_ARG_WITH(system-libxml-for-build, + AS_HELP_STRING([--with-system-libxml-for-build], + [Use libxml/libxslt already on system for build tools (cross-compilation only).])) + + +dnl =================================================================== dnl check for required programs (grep, awk, sed, bash) dnl =================================================================== AC_PROG_EGREP @@ -3151,6 +3160,7 @@ if test "$cross_compiling" = "yes"; then unset CC CXX SYSBASE CFLAGS unset PYTHON_CFLAGS PYTHON_LIBS unset AR NM OBJDUMP PKG_CONFIG RANLIB STRIP + unset LIBXML_CFLAGS LIBXML_LIBS LIBXSLT_CFLAGS LIBXSLT_LIBS XSLTPROC test -n "$CC_FOR_BUILD" && export CC="$CC_FOR_BUILD" test -n "$CXX_FOR_BUILD" && export CXX="$CXX_FOR_BUILD" test -n "$PKG_CONFIG_FOR_BUILD" && export PKG_CONFIG="$PKG_CONFIG_FOR_BUILD" @@ -3160,6 +3170,7 @@ if test "$cross_compiling" = "yes"; then test $with_java = no && sub_conf_opts="$sub_conf_opts --without-java" test $with_junit = no && sub_conf_opts="$sub_conf_opts --without-junit" test -n "$TARFILE_LOCATION" && sub_conf_opts="$sub_conf_opts --with-external-tar=$TARFILE_LOCATION" + test -n "$with_system_libxml_for_build" && sub_conf_opts="$sub_conf_opts --with-system-libxml" ./configure \ --disable-mozilla \ --disable-build-mozilla \ commit 6fcf0c9c6b0d99b01003edf4ee896c6b3995a0f8 Author: David Tardon <dtar...@redhat.com> Date: Fri Feb 17 09:56:39 2012 +0100 pass --without-java to configure for build platform diff --git a/configure.in b/configure.in index 5f6a4f2..c6385e2 100644 --- a/configure.in +++ b/configure.in @@ -3157,6 +3157,7 @@ if test "$cross_compiling" = "yes"; then cd CONF-FOR-BUILD sub_conf_opts="" test -n "$with_ant_home" && sub_conf_opts="$sub_conf_opts --with-ant-home=$with_ant_home" + test $with_java = no && sub_conf_opts="$sub_conf_opts --without-java" test $with_junit = no && sub_conf_opts="$sub_conf_opts --without-junit" test -n "$TARFILE_LOCATION" && sub_conf_opts="$sub_conf_opts --with-external-tar=$TARFILE_LOCATION" ./configure \ commit 222f04c90b5f2226eb13f66ee36f2da8f4ff1733 Author: David Tardon <dtar...@redhat.com> Date: Fri Feb 17 09:22:44 2012 +0100 add missing quotes diff --git a/redland/raptor/makefile.mk b/redland/raptor/makefile.mk index 4a731b5..214ee2d 100644 --- a/redland/raptor/makefile.mk +++ b/redland/raptor/makefile.mk @@ -89,7 +89,7 @@ raptor_LIBS+=$(MINGW_SHARED_LIBSTDCPP) CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure # do not enable grddl parser (#i93768#) -CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-openssl-digests --with-xml-parser=libxml --enable-parsers="rdfxml ntriples turtle trig guess rss-tag-soup" --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(raptor_CC)" CPPFLAGS="-nostdinc $(INCLUDE)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2,--export-all-symbols -L$(ILIB:s/;/ -L/)" LIBS="$(raptor_LIBS)" OBJDUMP="$(WRAPCMD) objdump" LIBXML2LIB=$(LIBXML2LIB) XSLTLIB="$(XSLTLIB)" +CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-openssl-digests --with-xml-parser=libxml --enable-parsers="rdfxml ntriples turtle trig guess rss-tag-soup" --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(raptor_CC)" CPPFLAGS="-nostdinc $(INCLUDE)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2,--export-all-symbols -L$(ILIB:s/;/ -L/)" LIBS="$(raptor_LIBS)" OBJDUMP="$(WRAPCMD) objdump" LIBXML2LIB="$(LIBXML2LIB)" XSLTLIB="$(XSLTLIB)" BUILD_ACTION=$(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) commit 398721c280bf53ab2f1e698cd2bf869486229d50 Author: David Tardon <dtar...@redhat.com> Date: Wed Feb 15 06:40:24 2012 +0100 use configured HOST_PLATFORM instread of hardcoded triplet diff --git a/external/mingw-dlls/makefile.mk b/external/mingw-dlls/makefile.mk index 5635a57..e2e51a0 100644 --- a/external/mingw-dlls/makefile.mk +++ b/external/mingw-dlls/makefile.mk @@ -54,8 +54,8 @@ MINGW_DLLS+=$(MINGW_GXXDLL) # Guesstimate where the DLLs can be POTENTIAL_MINGW_RUNTIME_BINDIRS = \ - $(COMPATH)/i686-w64-mingw32/sys-root/mingw/bin \ - /usr/i686-w64-mingw32/sys-root/mingw/bin \ + $(COMPATH)/$(HOST_PLATFORM)/sys-root/mingw/bin \ + /usr/$(HOST_PLATFORM)/sys-root/mingw/bin \ all: @for DLL in $(MINGW_DLLS) ; do \ _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits