summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in57
-rw-r--r--external/gcc3_specific/makefile.mk44
-rw-r--r--external/prj/build.lst1
-rw-r--r--external/prj/d.lst3
-rw-r--r--scp2/source/ooo/common_brand.scp26
-rw-r--r--scp2/source/ooo/file_library_ooo.scp4
-rw-r--r--scp2/source/ooo/makefile.mk32
-rw-r--r--scp2/source/ooo/mingw_dlls.scp147
-rw-r--r--scp2/util/makefile.mk2
-rwxr-xr-xset_soenv.in1
-rw-r--r--solenv/bin/modules/installer/control.pm1
11 files changed, 230 insertions, 88 deletions
diff --git a/configure.in b/configure.in
index 5d418e21507a..e49b885e21b5 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 fd45273cd475..501acfab69d6 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 7847f2431c5d..65665db53608 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 b2edb8f3a647..d24455bc17ee 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 80b866839c19..bffd5bcfb48b 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 44a85f82f38d..568ab94e3a65 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 391348a51124..ce2ab526fb22 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 000000000000..a6ace0dcc41c
--- /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@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 5b611c35803c..7d5a4cccb868 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 036e2826adfd..f4477d616248 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 def9869ba706..316bf175bcc2 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 )
{