[Libreoffice-commits] .: configure.in external/gcc3_specific external/prj scp2/source scp2/util set_soenv.in solenv/bin

Jan Holesovsky kendy at kemper.freedesktop.org
Fri Sep 30 12:11:42 PDT 2011


 configure.in                            |   57 ++++++++++--
 external/gcc3_specific/makefile.mk      |   44 ---------
 external/prj/build.lst                  |    1 
 external/prj/d.lst                      |    3 
 scp2/source/ooo/common_brand.scp        |   26 -----
 scp2/source/ooo/file_library_ooo.scp    |    4 
 scp2/source/ooo/makefile.mk             |   32 ++++++
 scp2/source/ooo/mingw_dlls.scp          |  147 ++++++++++++++++++++++++++++++++
 scp2/util/makefile.mk                   |    2 
 set_soenv.in                            |    1 
 solenv/bin/modules/installer/control.pm |    1 
 11 files changed, 230 insertions(+), 88 deletions(-)

New commits:
commit 3927d9bd2af2511679120effdc790c99180fdf83
Author: Jan Holesovsky <kendy at suse.cz>
Date:   Fri Sep 30 21:09:30 2011 +0200

    Add support for bundling the -system .dll's into the MinGW builds.

diff --git a/configure.in b/configure.in
index 5d418e2..e49b885 100644
--- a/configure.in
+++ b/configure.in
@@ -1452,6 +1452,7 @@ AC_ARG_WITH(macosx-version-max-allowed,
 BUILD_TYPE="LibO"
 SCPDEFS=""
 GIT_REPO_NAMES=""
+MINGW_EXTERNAL_DLLS=""
 
 if test -n "$SOLARENV" ; then
     AC_MSG_ERROR([You have sourced Env.Host.sh in this shell.  This may lead to trouble, please run in a fresh (login) shell.])
@@ -2367,13 +2368,14 @@ AC_SUBST(DISABLE_STRIP)
 
 dnl check for cups support
 dnl ===================================================================
-AC_MSG_CHECKING([whether cups support is present])
 if test "$test_cups" = "yes"; then
+    AC_MSG_CHECKING([whether cups support is present])
     AC_CHECK_LIB(cups, cupsPrintFiles)
     AC_CHECK_HEADER(cups/cups.h, AC_DEFINE(HAVE_CUPS_H))
     if test "$ac_cv_lib_cups_cupsPrintFiles" != "yes" -a "$ac_cv_header_cups_cups_h" != "yes"; then
         AC_MSG_ERROR([Could not find CUPS. Install libcupsys2-dev or cups???-devel.])
     fi
+    AC_MSG_RESULT([yes])
 fi
 
 
@@ -4594,6 +4596,7 @@ if test -n "$with_system_expat" -o -n "$with_system_libs" && \
         [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"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_EXPAT=NO
@@ -4763,6 +4766,8 @@ if test -n "$with_system_libxslt" -o -n "$with_system_libs" -o \
     if test "$XSLTPROC" = "no"; then
         AC_MSG_ERROR([xsltproc is required])
     fi
+
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libxslt-1.dll"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_LIBXSLT=NO
@@ -4803,6 +4808,7 @@ if test -n "$with_system_libxml" -o -n "$with_system_libs" -o \
         PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= 2.0)
     fi
     BUILD_TYPE="$BUILD_TYPE LIBXMLSEC"
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS zlib1.dll libxml2-2.dll"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_LIBXML=NO
@@ -5068,6 +5074,7 @@ or install the Berkeley db development package.])
     fi
 
     SCPDEFS="$SCPDEFS -DSYSTEM_DB"
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libdb-4.8.dll"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_DB=NO
@@ -5489,6 +5496,8 @@ if test -n "$with_system_curl" -o -n "$with_system_libs" && \
         AC_MSG_ERROR([no, you have $curl_version])
         ;;
     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"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_CURL=NO
@@ -6016,30 +6025,36 @@ if test -n "$with_system_icu" -o -n "$with_system_libs" && \
     AC_LANG_POP([C++])
     AC_PATH_PROG(SYSTEM_GENBRK, genbrk, [], [$PATH:/usr/sbin:/sbin])
     if test -z "$SYSTEM_GENBRK"; then
-        AC_MSG_ERROR([\"genbrk\" not found in \$PATH, install the icu development tool \"genbrk\"])
+        AC_MSG_ERROR([\'genbrk\' not found in \$PATH, install the icu development tool \'genbrk\'])
     fi
     AC_PATH_PROG(SYSTEM_GENCCODE, genccode, [], [$PATH:/usr/sbin:/sbin:/usr/local/sbin])
     if test -z "$SYSTEM_GENCCODE"; then
-        AC_MSG_ERROR([\"genccode\" not found in \$PATH, install the icu development tool \"genccode\"])
+        AC_MSG_ERROR([\'genccode\' not found in \$PATH, install the icu development tool \'genccode\'])
     fi
     AC_PATH_PROG(SYSTEM_GENCMN, gencmn, [], [$PATH:/usr/sbin:/sbin:/usr/local/sbin])
     if test -z "$SYSTEM_GENCMN"; then
-        AC_MSG_ERROR([\"gencmn\" not found in \$PATH, install the icu development tool \"gencmn\"])
+        AC_MSG_ERROR([\'gencmn\' not found in \$PATH, install the icu development tool \'gencmn\'])
+    fi
+
+    ICUPATH="$PATH"
+    if test "$WITH_MINGW" = "yes" ; then
+        ICUPATH="/usr/i686-w64-mingw32/sys-root/mingw/bin:$ICUPATH"
     fi
+    AC_PATH_PROG(ICUCONFIG,icu-config,,[$ICUPATH])
 
-    AC_PATH_PROG( ICUCONFIG, icu-config)
     AC_MSG_CHECKING([ICU version])
-    ICU_VERSION=`$ICUCONFIG --version`
-    ICU_MAJOR=`$ICUCONFIG --version | cut -d"." -f1`
-    ICU_MINOR=`$ICUCONFIG --version | cut -d"." -f2`
-    ICU_MICRO=`$ICUCONFIG --version | cut -d"." -f3`
+    ICU_VERSION=`$ICUCONFIG --noverify --version`
+    ICU_MAJOR=`echo $ICU_VERSION | cut -d"." -f1`
+    ICU_MINOR=`echo $ICU_VERSION | cut -d"." -f2`
+    ICU_MICRO=`echo $ICU_VERSION | cut -d"." -f3`
 
     if test "$ICU_MAJOR" -ge "4"; then
-        AC_MSG_RESULT([OK])
+        AC_MSG_RESULT([OK, $ICU_VERSION])
     else
         AC_MSG_ERROR([not suitable, only >= 4.0 supported currently])
     fi
 
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS icui18n$ICU_MAJOR$ICU_MINOR.dll icuuc$ICU_MAJOR$ICU_MINOR.dll icudata$ICU_MAJOR$ICU_MINOR.dll"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_ICU=NO
@@ -6067,6 +6082,7 @@ if test "$_os" = "WINNT" -o "$_os" = "Linux" && test "z$enable_graphite" = "z" -
         AC_MSG_RESULT([external])
         SYSTEM_GRAPHITE=YES
         PKG_CHECK_MODULES( GRAPHITE, graphite2 >= 0.9.3 )
+        MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libgraphite2.dll"
     else
         AC_MSG_RESULT([internal])
         SYSTEM_GRAPHITE=NO
@@ -6255,6 +6271,7 @@ if test -n "$with_system_neon" -o -n "$with_system_libs" && \
     NEON_VERSION="`$PKG_CONFIG --modversion neon | $SED 's/\.//g'`"
     NEON_CFLAGS="$NEON_CFLAGS -DSYSTEM_NEON -DUSE_DAV_LOCKS=1"
     SYSTEM_NEON=YES
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libtasn1-3.dll libgnutls-26.dll libneon-27.dll"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_NEON=NO
@@ -6289,6 +6306,7 @@ if test -n "$with_system_openssl" -o -n "$with_system_libs" && \
         PKG_CHECK_MODULES( OPENSSL, openssl )
     fi
     SYSTEM_OPENSSL=YES
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libssl-8.dll libcrypto-8.dll"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_OPENSSL=NO
@@ -6308,6 +6326,7 @@ if test -n "$with_system_redland" -o -n "$with_system_libs" && \
     SYSTEM_REDLAND=YES
     dnl versions before 1.0.8 write RDF/XML that is useless for ODF (@xml:base)
     PKG_CHECK_MODULES(REDLAND, redland >= 1.0.8)
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libraptor-1.dll librasqal-2.dll libsqlite3-0.dll librdf-0.dll"
 else
     AC_MSG_RESULT([internal])
     BUILD_TYPE="$BUILD_TYPE REDLAND"
@@ -6338,6 +6357,7 @@ if test -n "$with_system_hunspell" -o -n "$with_system_libs" && \
         HUNSPELL_LIBS=-lhunspell
     fi
     AC_LANG_POP([C++])
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libhunspell-1.3-0.dll"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_HUNSPELL=NO
@@ -6370,6 +6390,7 @@ if test -n "$with_system_altlinuxhyph" -o -n "$with_system_libs" && \
         AC_CHECK_LIB(hnj, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhnj],
            [ AC_MSG_ERROR(altlinuxhyph library not found or too old.)], [])
     fi
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libhyphen-0.dll"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_HYPH=NO
@@ -6402,6 +6423,7 @@ if test -n "$with_system_mythes" -o -n "$with_system_libs" && \
     fi
     fi
     AC_LANG_POP([C++])
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libmythes-1.2-0.dll"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_MYTHES=NO
@@ -6426,6 +6448,7 @@ if test -n "$with_system_lpsolve" -o -n "$with_system_libs" && \
     AC_CHECK_LIB(dl, dlopen)
     AC_CHECK_LIB(lpsolve55, make_lp, ,
         [ AC_MSG_ERROR(lpsolve library not found or too old.)], [])
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS lpsolve55.dll"
 else
     AC_MSG_RESULT([internal])
     SYSTEM_LPSOLVE=NO
@@ -8519,6 +8542,7 @@ int main(int argc, char **argv) {
         ]])],[AC_MSG_RESULT([yes])],[AC_MSG_ERROR([no, X headers too old.])
         ],[])
     fi
+    MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS libfontconfig-1.dll libfreetype-6.dll libpixman-1-0.dll libpng15-15.dll libcairo-2.dll"
 else
     AC_MSG_RESULT([no])
 
@@ -9444,6 +9468,19 @@ AC_SUBST(LOCAL_SOLVER)
 
 AC_SUBST(BUILD_TYPE)
 
+if test "$WITH_MINGW" != "yes" ; then
+    MINGW_EXTERNAL_DLLS=
+else
+    for DLL in $MINGW_EXTERNAL_DLLS ; do
+        AC_MSG_CHECKING([for $DLL])
+        if ! test -f "/usr/i686-w64-mingw32/sys-root/mingw/bin/$DLL" ; then
+            AC_MSG_ERROR([Could not find $DLL, install the appropriate mingw32-<package>, not only mingw32-<package>-devel.])
+        fi
+        AC_MSG_RESULT([/usr/i686-w64-mingw32/sys-root/mingw/bin/$DLL])
+    done
+fi
+AC_SUBST(MINGW_EXTERNAL_DLLS)
+
 # make sure config.guess is +x; we execute config.guess, so it has to be so;
 chmod +x ./config.guess
 
diff --git a/external/gcc3_specific/makefile.mk b/external/gcc3_specific/makefile.mk
index fd45273..501acfa 100644
--- a/external/gcc3_specific/makefile.mk
+++ b/external/gcc3_specific/makefile.mk
@@ -6,48 +6,6 @@ TARGET=gcc3_specific
 .INCLUDE: settings.mk
 # ------------------------------------------------------------------
 
-
-.IF "$(GUI)" == "WNT"
-
-.IF "$(COM)" == "GCC"
-
-.IF "$(MINGW_SHARED_GCCLIB)" == "YES"
-MINGWGCCDLL=$(BIN)$/$(MINGW_GCCDLL)
-.ENDIF
-
-.IF "$(MINGW_SHARED_GXXLIB)" == "YES"
-MINGWGXXDLL=$(BIN)$/$(MINGW_GXXDLL)
-.ENDIF
-
-all : $(MINGWGCCDLL) $(MINGWGXXDLL)
-
-# Guesstimate where $(MINGW_GCCDLL) and $(MINGW_GXXDLL) might be
-
-POTENTIAL_MINGW_RUNTIME_BINDIRS = \
-	$(COMPATH)/i686-w64-mingw32/sys-root/mingw/bin \
-	/usr/i686-w64-mingw32/sys-root/mingw/bin \
-
-.IF "$(MINGW_SHARED_GCCLIB)" == "YES"
-$(MINGWGCCDLL) :
-    @for D in $(POTENTIAL_MINGW_RUNTIME_BINDIRS); do \
-        test -f $$D/$(MINGW_GCCDLL) && $(COPY) -p $$D/$(MINGW_GCCDLL) $(BIN)$/ && break; \
-    done
-    @test -f $@ || (echo Could not find $(MINGW_GCCDLL) && exit 1)
-.ENDIF
-
-$(MINGWGXXDLL) :
-.IF "$(MINGW_SHARED_GXXLIB)" == "YES"
-    @for D in $(POTENTIAL_MINGW_RUNTIME_BINDIRS); do \
-        test -f $$D/$(MINGW_GXXDLL) && $(COPY) -p $$D/$(MINGW_GXXDLL) $(BIN)$/ && break; \
-    done
-    @test -f $@ || (echo Could not find $(MINGW_GXXDLL) && exit 1)
-
-.ENDIF
-
-.ENDIF
-
-.ELSE
-
 .IF "$(SYSTEM_STDLIBS)" != "YES" && "$(COMID)"=="gcc3"
 
 .IF "$(OS)"!="MACOSX" && "$(OS)"!="IOS" && "$(OS)"!="ANDROID" && "$(OS)"!="FREEBSD" && "$(OS)"!="NETBSD" && "$(OS)"!="OPENBSD" && "$(OS)"!="DRAGONFLY"
@@ -81,7 +39,5 @@ $(LB)$/libgcc_s.so.$(SHORTSTDC3) :
 
 .ENDIF
 
-.ENDIF
-
 .INCLUDE: target.mk
 
diff --git a/external/prj/build.lst b/external/prj/build.lst
index 7847f24..65665db 100644
--- a/external/prj/build.lst
+++ b/external/prj/build.lst
@@ -3,5 +3,6 @@ el	external					usr1 - all el_mkout NULL
 el	external\glibc		nmake	-	all	el_glibc NULL
 el	external\gcc3_specific	nmake	-	all	el_gcc3 NULL
 el	external\mingwheaders		nmake	-	w	el_mingwheaders NULL
+el	external\mingw-dlls		nmake	-	w	el_mingwdlls NULL
 el	external\jawt		nmake	-	w	el_jawt NULL
 el	external\wine		nmake	-	w	el_wine NULL
diff --git a/external/prj/d.lst b/external/prj/d.lst
index b2edb8f..d24455b 100644
--- a/external/prj/d.lst
+++ b/external/prj/d.lst
@@ -48,8 +48,7 @@ mkdir: %_DEST%\inc\external\wine
 ..\vcredist\vcredist_x86.exe %_DEST%\bin\vcredist_x86.exe
 ..\vcredist\vcredist_x64.exe %_DEST%\bin\vcredist_x64.exe
 
-..\%__SRC%\bin\libgcc*.dll %_DEST%\bin\libgcc*.dll
-..\%__SRC%\bin\libstdc++*.dll %_DEST%\bin\libstdc++*.dll
+..\%__SRC%\bin\*.dll %_DEST%\bin\*.dll
 
 ..\%__SRC%\lib\libmsvcrt*.* %_DEST%\lib\lib*.*
 
diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index 80b8668..bffd5bc 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -810,32 +810,6 @@ End
 #endif
 
 
-#if defined(WNT) && defined( _gcc3 )
-
-#if defined(MINGW_GCCDLL)
-
-File gid_Brand_File_Lib_Mingw_GccS
-    TXT_FILE_BODY;
-    Dir = gid_Brand_Dir_Program;
-    Name = MINGW_GCCDLL;
-    Styles = (PACKED);
-End
-
-#endif
-
-#if defined(MINGW_GXXDLL)
-
-File gid_Brand_File_Lib_Mingw_Stdcpp
-    TXT_FILE_BODY;
-    Dir = gid_Brand_Dir_Program;
-    Name = MINGW_GXXDLL;
-    Styles = (PACKED);
-End
-
-#endif
-
-#endif
-
 // Profiles
 
 Profile gid_Brand_Profile_Bootstrap_Ini
diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp
index 44a85f8..568ab94 100644
--- a/scp2/source/ooo/file_library_ooo.scp
+++ b/scp2/source/ooo/file_library_ooo.scp
@@ -1528,7 +1528,7 @@ File gid_File_Lib_Onlinecheck
 End
 #endif
 
-#ifdef OPENSSL
+#ifndef SYSTEM_OPENSSL
 File gid_File_Lib_Openssl
     TXT_FILE_BODY;
     Styles = (PACKED);
@@ -1539,7 +1539,7 @@ File gid_File_Lib_Openssl
 End
 #endif
 
-#ifdef OPENSSL
+#ifndef SYSTEM_OPENSSL
 File gid_File_Lib_Crypto
     TXT_FILE_BODY;
     Styles = (PACKED);
diff --git a/scp2/source/ooo/makefile.mk b/scp2/source/ooo/makefile.mk
index 391348a..ce2ab52 100644
--- a/scp2/source/ooo/makefile.mk
+++ b/scp2/source/ooo/makefile.mk
@@ -103,6 +103,10 @@ SCPDEFS+=-DENABLE_CAIROCANVAS
 .ENDIF
 .ENDIF
 
+.IF "$(SYSTEM_EXPAT)" == "YES"
+SCPDEFS+=-DSYSTEM_EXPAT
+.ENDIF
+
 .IF "$(SYSTEM_CAIRO)" == "YES"
 SCPDEFS+=-DSYSTEM_CAIRO
 .ENDIF
@@ -158,6 +162,18 @@ SCPDEFS+=-DSYSTEM_PORTAUDIO
 SCPDEFS+=-DSYSTEM_HUNSPELL
 .ENDIF
 
+.IF "$(SYSTEM_HYPH)" == "YES"
+SCPDEFS+=-DSYSTEM_HYPH
+.ENDIF
+
+.IF "$(SYSTEM_MYTHES)" == "YES"
+SCPDEFS+=-DSYSTEM_MYTHES
+.ENDIF
+
+.IF "$(SYSTEM_LPSOLVE)" == "YES"
+SCPDEFS+=-DSYSTEM_LPSOLVE
+.ENDIF
+
 .IF "$(SYSTEM_REDLAND)" == "YES"
 SCPDEFS+=-DSYSTEM_REDLAND
 .ELSE
@@ -189,7 +205,11 @@ SCPDEFS+=-DSYSTEM_LUCENE
 .ENDIF
 
 .IF "$(SYSTEM_ICU)" == "YES"
-SCPDEFS+=-DSYSTEM_ICU
+SCPDEFS+=\
+    -DSYSTEM_ICU \
+    -DICU_MAJOR=$(ICU_MAJOR) \
+    -DICU_MINOR=$(ICU_MINOR) \
+    -DICU_MICRO=$(ICU_MICRO)
 .ELSE
 .INCLUDE :  icuversion.mk
 SCPDEFS+=\
@@ -198,6 +218,10 @@ SCPDEFS+=\
     -DICU_MICRO=$(ICU_MICRO)
 .ENDIF
 
+.IF "$(SYSTEM_GRAPHITE)" == "YES"
+SCPDEFS+=-DSYSTEM_GRAPHITE
+.ENDIF
+
 SCPDEFS+=-DISOLANG_MAJOR=$(ISOLANG_MAJOR)
 
 .IF "$(DISABLE_NEON)" == "TRUE"
@@ -207,9 +231,8 @@ SCPDEFS+=-DDISABLE_NEON
 SCPDEFS+=-DSYSTEM_NEON
 .ENDIF
 
-# if yes or unset (neon not used) -> do not install openssl library!
-.IF "$(SYSTEM_OPENSSL)" != "YES"
-SCPDEFS+=-DOPENSSL
+.IF "$(SYSTEM_OPENSSL)" == "YES"
+SCPDEFS+=-DSYSTEM_OPENSSL
 .ENDIF
 
 .IF "$(DISABLE_ATL)"!=""
@@ -329,6 +352,7 @@ PARFILES +=                        \
         folderitem_ooo.par         \
         registryitem_ooo.par       \
         vc_redist.par              \
+        mingw_dlls.par             \
         windowscustomaction_ooo.par
 .ENDIF
 
diff --git a/scp2/source/ooo/mingw_dlls.scp b/scp2/source/ooo/mingw_dlls.scp
new file mode 100644
index 0000000..a6ace0d
--- /dev/null
+++ b/scp2/source/ooo/mingw_dlls.scp
@@ -0,0 +1,147 @@
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Jan Holesovsky <kendy at suse.cz> (initial developer) ]
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include "macros.inc"
+
+#if defined(WNT) && defined( _gcc3 )
+
+#define MINGW_DLL(id,name) \
+    File id \
+        PACKED_LIB_FILE_BODY; \
+        Dir = gid_Brand_Dir_Program; \
+        Name = name; \
+        Styles = (PACKED); \
+    End
+
+#ifdef SYSTEM_EXPAT
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libexpat, libexpat-1.dll )
+#endif
+
+#ifdef SYSTEM_LIBXSLT
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libxslt, libxslt-1.dll )
+#endif
+
+#ifdef SYSTEM_LIBXML
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Zlib,    zlib1.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libxml2, libxml2-2.dll )
+#endif
+
+#ifdef SYSTEM_DB
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libdb, libdb-4.8.dll )
+#endif
+
+#ifdef SYSTEM_CURL
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libintl,     libintl-8.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libdn,       libidn-11.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libnspr,     libnspr4.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Nssutil,     nssutil3.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libplc,      libplc4.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libplds,     libplds4.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_nss,         nss3.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_ssl,         ssl3.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgpgerror, libgpg-error-0.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgcrypt,   libgcrypt-11.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libssh,      libssh2-1.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libcurl,     libcurl-4.dll )
+#endif
+
+#ifdef SYSTEM_ICU
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Icui18n, STRING(CONCAT4(icui18n,ICU_MAJOR,ICU_MINOR,.dll)) )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Icuuc,   STRING(CONCAT4(icuuc,ICU_MAJOR,ICU_MINOR,.dll)) )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Icudata, STRING(CONCAT4(icudata,ICU_MAJOR,ICU_MINOR,.dll)) )
+#endif
+
+#ifdef SYSTEM_GRAPHITE
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgrahpite, libgraphite2.dll )
+#endif
+
+#ifdef SYSTEM_NEON
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libtasn,   libtasn1-3.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgnutls, libgnutls-26.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libneon,   libneon-27.dll )
+#endif
+
+#ifdef SYSTEM_OPENSSL
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libssl, libssl-8.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libcrypto, libcrypto-8.dll )
+#endif
+
+#ifdef SYSTEM_REDLAND
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libraptor, libraptor-1.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Librasqal, librasqal-2.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libqslite, libsqlite3-0.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Librdf,    librdf-0.dll )
+#endif
+
+#ifdef SYSTEM_HUNSPELL
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libhunspell, libhunspell-1.3-0.dll )
+#endif
+
+#ifdef SYSTEM_HYPH
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libhyphen, libhyphen-0.dll )
+#endif
+
+#ifdef SYSTEM_MYTHES
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libmythes, libmythes-1.2-0.dll )
+#endif
+
+#ifdef SYSTEM_LPSOLVE
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Lpsolve, lpsolve55.dll )
+#endif
+
+#ifdef SYSTEM_CAIRO
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libfontconfig, libfontconfig-1.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libfreetype,   libfreetype-6.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libpixman,     libpixman-1-0.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libpng,        libpng15-15.dll )
+MINGW_DLL( gid_Brand_File_Lib_Mingw_Libcairo,      libcairo-2.dll )
+#endif
+
+#if defined(MINGW_GCCDLL)
+
+File gid_Brand_File_Lib_Mingw_GccS
+    TXT_FILE_BODY;
+    Dir = gid_Brand_Dir_Program;
+    Name = MINGW_GCCDLL;
+    Styles = (PACKED);
+End
+
+#endif
+
+#if defined(MINGW_GXXDLL)
+
+File gid_Brand_File_Lib_Mingw_Stdcpp
+    TXT_FILE_BODY;
+    Dir = gid_Brand_Dir_Program;
+    Name = MINGW_GXXDLL;
+    Styles = (PACKED);
+End
+
+#endif
+
+#endif
+
diff --git a/scp2/util/makefile.mk b/scp2/util/makefile.mk
index 5b611c3..7d5a4cc 100644
--- a/scp2/util/makefile.mk
+++ b/scp2/util/makefile.mk
@@ -152,6 +152,7 @@ SCP1FILES +=                           \
              folderitem_ooo.par        \
              windowscustomaction_ooo.par \
              vc_redist.par             \
+             mingw_dlls.par            \
              registryitem_writer.par   \
              folderitem_writer.par     \
              registryitem_calc.par     \
@@ -340,6 +341,7 @@ SCP2FILES +=                           \
              folderitem_ooo.par        \
              windowscustomaction_ooo.par \
              vc_redist.par             \
+             mingw_dlls.par            \
              registryitem_writer.par   \
              folderitem_writer.par     \
              registryitem_calc.par     \
diff --git a/set_soenv.in b/set_soenv.in
index 036e282..f4477d6 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1848,6 +1848,7 @@ ToFile( "WITHOUT_AFMS",      "@WITHOUT_AFMS@",     "e" );
 ToFile( "WITHOUT_PPDS",      "@WITHOUT_PPDS@",     "e" );
 ToFile( "WITH_BINFILTER",    "@WITH_BINFILTER@",   "e" );
 ToFile( "BUILD_TYPE",        "$BUILD_TYPE",       "e" );
+ToFile( "MINGW_EXTERNAL_DLLS","@MINGW_EXTERNAL_DLLS@","e");
 ToFile( "VERBOSE",           "@VERBOSE@",          "e" );
 ToFile( "ENABLE_ZENITY",           "@ENABLE_ZENITY@",          "e" );
 ToFile( "ENABLE_EVOAB2",     "@ENABLE_EVOAB2@",    "e" );
diff --git a/solenv/bin/modules/installer/control.pm b/solenv/bin/modules/installer/control.pm
index def9869..316bf17 100644
--- a/solenv/bin/modules/installer/control.pm
+++ b/solenv/bin/modules/installer/control.pm
@@ -337,6 +337,7 @@ sub check_logfile
         $compareline =~ s/Error\.ulf//g;    # removing all occurrences of "Error.ulf"
         $compareline =~ s/Error\.idl//g;    # removing all occurrences of "Error.idl"
         $compareline =~ s/Error\.html//g;   # removing all occurrences of "Error.html"
+        $compareline =~ s/libgpg-error-0.dll//g;
 
         if ( $compareline =~ /\bError\b/i )
         {


More information about the Libreoffice-commits mailing list