Kaydet (Commit) 1118f575 authored tarafından David Tardon's avatar David Tardon

mingw: avoid hardcoded dll versions and deps

The idea is to use libo_MINGW_CHECK_DLL for libs that must be available
(typically that would be the "main" library, e.g., libxml2 or libcurl)
and libo_MINGW_TRY_DLL for possible dependencies (that may not be the
same on different systems). All further references to the dlls are
exclusively through the configured variables or defines set from these
variables (e.g., instead of hardcoding libxml2-2.dll, use
$(MINGW_LIBXML2_DLL)).

The macros are documented in m4/mingw.m4 .

Files that must be changed when adding a new dll:
* configure.in
* config_host.mk.in
* external/mingw-dlls/makefile.mk
* scp2/source/ooo/makefile.mk
* scp2/source/ooo/mingw_dlls.scp
üst c7b319d2
......@@ -276,13 +276,52 @@ export MFC_INCLUDE=@MFC_INCLUDE@
export MFC_LIB=@MFC_LIB@
export MINGWCXX=@MINGWCXX@
export MINGWSTRIP=@MINGWSTRIP@
export MINGW_CAIRO_DLL=@MINGW_CAIRO_DLL@
export MINGW_CLIB_DIR=@MINGW_CLIB_DIR@
export MINGW_EXTERNAL_DLLS=@MINGW_EXTERNAL_DLLS@
export MINGW_CRYPTO_DLL=@MINGW_CRYPTO_DLL@
export MINGW_CURL_DLL=@MINGW_CURL_DLL@
export MINGW_DB_DLL=@MINGW_DB_DLL@
export MINGW_EXPAT_DLL=@MINGW_EXPAT_DLL@
export MINGW_FONTCONFIG_DLL=@MINGW_FONTCONFIG_DLL@
export MINGW_FREETYPE_DLL=@MINGW_FREETYPE_DLL@
export MINGW_GCCDLL=@MINGW_GCCDLL@
export MINGW_GCRYPT_DLL=@MINGW_GCRYPT_DLL@
export MINGW_GNUTLS_DLL=@MINGW_GNUTLS_DLL@
export MINGW_GPG_ERROR_DLL=@MINGW_GPG_ERROR_DLL@
export MINGW_GRAPHITE2_DLL=@MINGW_GRAPHITE2_DLL@
export MINGW_GXXDLL=@MINGW_GXXDLL@
export MINGW_HUNSPELL_DLL=@MINGW_HUNSPELL_DLL@
export MINGW_HYPHEN_DLL=@MINGW_HYPHEN_DLL@
export MINGW_ICUDATA_DLL=@MINGW_ICUDATA_DLL@
export MINGW_ICUI18N_DLL=@MINGW_ICUI18N_DLL@
export MINGW_ICUUC_DLL=@MINGW_ICUUC_DLL@
export MINGW_IDN_DLL=@MINGW_IDN_DLL@
export MINGW_INTL_DLL=@MINGW_INTL_DLL@
export MINGW_LCMS2_DLL=@MINGW_LCMS2_DLL@
export MINGW_LIBXML_DLL=@MINGW_LIBXML_DLL@
export MINGW_LIBXSLT_DLL=@MINGW_LIBXSLT_DLL@
export MINGW_LPSOLVE_DLL=@MINGW_LPSOLVE_DLL@
export MINGW_MYTHES_DLL=@MINGW_MYTHES_DLL@
export MINGW_NEON_DLL=@MINGW_NEON_DLL@
export MINGW_NSPR4_DLL=@MINGW_NSPR4_DLL@
export MINGW_NSS3_DLL=@MINGW_NSS3_DLL@
export MINGW_NSSUTIL3_DLL=@MINGW_NSSUTIL3_DLL@
export MINGW_PIXMAN_DLL=@MINGW_PIXMAN_DLL@
export MINGW_PLC4_DLL=@MINGW_PLC4_DLL@
export MINGW_PLDS4_DLL=@MINGW_PLDS4_DLL@
export MINGW_PNG15_DLL=@MINGW_PNG15_DLL@
export MINGW_RAPTOR_DLL=@MINGW_RAPTOR_DLL@
export MINGW_RASQAL_DLL=@MINGW_RASQAL_DLL@
export MINGW_REDLAND_DLL=@MINGW_REDLAND_DLL@
export MINGW_SHARED_GCCLIB=@MINGW_SHARED_GCCLIB@
export MINGW_SHARED_GXXLIB=@MINGW_SHARED_GXXLIB@
export MINGW_SHARED_LIBSTDCPP=@MINGW_SHARED_LIBSTDCPP@
export MINGW_SQLITE3_DLL=@MINGW_SQLITE3_DLL@
export MINGW_SSH2_DLL=@MINGW_SSH2_DLL@
export MINGW_SSL3_DLL=@MINGW_SSL3_DLL@
export MINGW_SSL_DLL=@MINGW_SSL_DLL@
export MINGW_TASN1_DLL=@MINGW_TASN1_DLL@
export MINGW_ZLIB_DLL=@MINGW_ZLIB_DLL@
export MKDEPENDSOLVER=TRUE
export ML_EXE=@ML_EXE@
export MOC4=@MOC4@
......
This diff is collapsed.
......@@ -41,7 +41,47 @@ dummy:
.ELSE
MINGW_DLLS:=$(MINGW_EXTERNAL_DLLS)
MINGW_DLLS:= \
$(MINGW_CAIRO_DLL) \
$(MINGW_CRYPTO_DLL) \
$(MINGW_CURL_DLL) \
$(MINGW_DB_DLL) \
$(MINGW_EXPAT_DLL) \
$(MINGW_FONTCONFIG_DLL) \
$(MINGW_FREETYPE_DLL) \
$(MINGW_GCRYPT_DLL) \
$(MINGW_GNUTLS_DLL) \
$(MINGW_GPG_ERROR_DLL) \
$(MINGW_GRAPHITE2_DLL) \
$(MINGW_HUNSPELL_DLL) \
$(MINGW_HYPHEN_DLL) \
$(MINGW_ICUDATA_DLL) \
$(MINGW_ICUI18N_DLL) \
$(MINGW_ICUUC_DLL) \
$(MINGW_IDN_DLL) \
$(MINGW_INTL_DLL) \
$(MINGW_LCMS2_DLL) \
$(MINGW_LIBXML_DLL) \
$(MINGW_LIBXSLT_DLL) \
$(MINGW_LPSOLVE_DLL) \
$(MINGW_MYTHES_DLL) \
$(MINGW_NEON_DLL) \
$(MINGW_NSPR4_DLL) \
$(MINGW_NSS3_DLL) \
$(MINGW_NSSUTIL3_DLL) \
$(MINGW_PIXMAN_DLL) \
$(MINGW_PLC4_DLL) \
$(MINGW_PLDS4_DLL) \
$(MINGW_PNG15_DLL) \
$(MINGW_RAPTOR_DLL) \
$(MINGW_RASQAL_DLL) \
$(MINGW_REDLAND_DLL) \
$(MINGW_SQLITE3_DLL) \
$(MINGW_SSH2_DLL) \
$(MINGW_SSL3_DLL) \
$(MINGW_SSL_DLL) \
$(MINGW_TASN1_DLL) \
$(MINGW_ZLIB_DLL)
.IF "$(MINGW_SHARED_GCCLIB)" == "YES"
MINGW_DLLS+=$(MINGW_GCCDLL)
......
# libo_FIND_MINGW_EXTERNAL_DLLS([library-names],[variable],[?exclude],[?default-value])
# uses: CC, SED, WITH_MINGW
# --------------------------------------------------------------------
AC_DEFUN([libo_FIND_MINGW_EXTERNAL_DLLS],
[if test "$WITH_MINGW" = yes -a -n "$CC"; then
_libo_mingw_libdir=`$CC -print-sysroot`/mingw/lib
_libo_mingw_found_la=
_libo_mingw_test_la([$1],[_libo_mingw_found_la],[$_libo_mingw_libdir])
if test "$_libo_mingw_found_la" = yes; then
_libo_mingw_find_dlls([$1],[$2],[$3],[$_libo_mingw_libdir])
else
# no .la files found, use defaults
$2="$4"
fi
fi[]dnl
]) # libo_FIND_MINGW_EXTERNAL_DLLS
dnl Version: MPL 1.1 / GPLv3+ / LGPLv3+
dnl
dnl The contents of this file are subject to the Mozilla Public License Version
dnl 1.1 (the "License"); you may not use this file except in compliance with
dnl the License or as specified alternatively below. You may obtain a copy of
dnl the License at http://www.mozilla.org/MPL/
dnl
dnl Software distributed under the License is distributed on an "AS IS" basis,
dnl WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
dnl for the specific language governing rights and limitations under the
dnl License.
dnl
dnl Major Contributor(s):
dnl Copyright (C) 2012 Red Hat, Inc., David Tardon <dtardon@redhat.com>
dnl (initial developer)
dnl
dnl All Rights Reserved.
dnl
dnl For minor contributions see the git repository.
dnl
dnl Alternatively, the contents of this file may be used under the terms of
dnl either the GNU General Public License Version 3 or later (the "GPLv3+"), or
dnl the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
dnl in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
dnl instead of those above.
# libo_ADD_MINGW_EXTERNAL_DLLS([library-names],[variable],[?default-value])
# uses: CC, SED, WITH_MINGW
# --------------------------------------------------------
AC_DEFUN([libo_ADD_MINGW_EXTERNAL_DLLS],
[libo_FIND_MINGW_EXTERNAL_DLLS([$1],[_libo_mingw_found_dlls],[$$2],[$3])
if test -n "$_libo_mingw_found_dlls"; then
$2="$$2 $_libo_mingw_found_dlls"
fi[]dnl
]) # libo_ADD_MINGW_EXTERNAL_DLLS
# libo_MINGW_CHECK_DLL(variable-infix,dll-name-stem,[action-if-found],[action-if-not-found])
#
# Checks for presence of dll dll-name-stem . Sets variable
# MINGW_variable-infix_DLL if found, issues an error otherwise.
#
# It recognizes these dll patterns (x, y match any character, but they
# are supposed to be numerals):
# * name-x.dll
# * name-xy.dll
# * name-x.y.dll
# * name.dll
#
#
# Example:
# libo_MINGW_CHECK_DLL([EXPAT], [libexpat])
# might result in MINGW_EXPAT_DLL=libexpat-1.dll being set.
#
# uses CC, WITH_MINGW
# ------------------------------------------------------------------------------------------
AC_DEFUN([libo_MINGW_CHECK_DLL],
[AC_ARG_VAR([MINGW_][$1][_DLL],[output variable containing the found dll name])dnl
# _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
if test -n "$WITH_MINGW"; then
dnl TODO move this to configure: there is no need to call $CC more than once
_libo_mingw_dlldir=`$CC -print-sysroot`/mingw/bin
_libo_mingw_dllname=
AC_MSG_CHECKING([for $2 dll])
# _libo_mingw_find_dll([library],[dlls],[out-var])
m4_define([_libo_mingw_find_dll],
[_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
dnl try one- or two-numbered version
_libo_mingw_try_dll([$2][-?.dll])
if test "$_libo_mingw_dllname" = ""; then
_libo_mingw_try_dll([$2][-??.dll])
fi
dnl maybe the version contains a dot (e.g., libdb)
if test "$_libo_mingw_dllname" = ""; then
_libo_mingw_try_dll([$2][-?.?.dll])
fi
dnl maybe it is not versioned
if test "$_libo_mingw_dllname" = ""; then
_libo_mingw_try_dll([$2][.dll])
fi
done
if test -z "$_libo_mingw_dll_present"; then
$3="$_libo_mingw_dlname"
fi[]dnl
]) # _libo_mingw_find_dll
# _libo_mingw_find_dlls([libraries],[dlls],[out-var],[libdir])
m4_define([_libo_mingw_find_dlls],
[_libo_mingw_new_dlls=
for _libo_mingw_lib in $1; do
_libo_mingw_lib="$4/$_libo_mingw_lib.la"
_libo_mingw_new_dll=
_libo_mingw_find_dll([$_libo_mingw_lib],[$3 $_libo_mingw_new_dlls],[_libo_mingw_new_dll])
if test -n "$_libo_mingw_new_dll"; then
_libo_mingw_new_dlls="$_libo_mingw_new_dlls $_libo_mingw_new_dll"
if test "$_libo_mingw_dllname" = ""; then
AC_MSG_RESULT([no])
m4_default([$4],[AC_MSG_ERROR([no dll found for $2])])
else
AC_MSG_RESULT([$_libo_mingw_dllname])
[MINGW_][$1][_DLL]="$_libo_mingw_dllname"
m4_default([$3],[])
fi
fi[]dnl
]) # libo_MINGW_CHECK_DLL
# libo_MINGW_TRY_DLL(variable-infix,dll-name-stem)
#
# Checks for presence of dll dll-name-stem . Sets variable
# MINGW_variable-infix_DLL if found, does nothing otherwise.
#
# See libo_MINGW_CHECK_DLL for further info.
#
# uses CC, WITH_MINGW
# ------------------------------------------------
AC_DEFUN([libo_MINGW_TRY_DLL],
[dnl shortcut: do not test for already found dlls
if test -z "$[MINGW_][$1][_DLL]"; then
libo_MINGW_CHECK_DLL([$1],[$2],[[]],[[]])
fi[]dnl
]) # libo_MINGW_TRY_DLL
_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_dlls],[_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
done
$2="$_libo_mingw_new_dlls"[]dnl
]) # _libo_mingw_find_dlls
# _libo_mingw_try_dll(dll-name,dll-dir)
m4_define([_libo_mingw_try_dll],
[_libo_mingw_trying_dll=`ls "[$_libo_mingw_dlldir]"/[$1] 2>/dev/null`
if test -f "$_libo_mingw_trying_dll"; then
_libo_mingw_dllname=`basename "$_libo_mingw_trying_dll"`
fi[]dnl
]) # _libo_mingw_try_dll
# _libo_mingw_test_la([libraries],[out-var],[libdir])
m4_define([_libo_mingw_test_la],
[for _libo_mingw_lib in $1; do
if test -f "$3/$_libo_mingw_lib.la"; then
$2=yes
break
fi
done[]dnl
]) # _libo_mingw_test_la
dnl vim:set shiftwidth=4 softtabstop=4 expandtab:
......@@ -257,6 +257,166 @@ SCPDEFS+=-DMINGW_GCCDLL=\""$(MINGW_GCCDLL)"\"
SCPDEFS+=-DMINGW_GXXDLL=\""$(MINGW_GXXDLL)"\"
.ENDIF
.IF "$(MINGW_CAIRO_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_CAIRO_DLL -DMINGW_CAIRO_DLL=\""$(MINGW_CAIRO_DLL)"\"
.ENDIF
.IF "$(MINGW_CURL_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_CURL_DLL -DMINGW_CURL_DLL=\""$(MINGW_CURL_DLL)"\"
.ENDIF
.IF "$(MINGW_CRYPTO_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_CRYPTO_DLL -DMINGW_CRYPTO_DLL=\""$(MINGW_CRYPTO_DLL)"\"
.ENDIF
.IF "$(MINGW_DB_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_DB_DLL -DMINGW_DB_DLL=\""$(MINGW_DB_DLL)"\"
.ENDIF
.IF "$(MINGW_EXPAT_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_EXPAT_DLL -DMINGW_EXPAT_DLL=\""$(MINGW_EXPAT_DLL)"\"
.ENDIF
.IF "$(MINGW_FONTCONFIG_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_FONTCONFIG_DLL -DMINGW_FONTCONFIG_DLL=\""$(MINGW_FONTCONFIG_DLL)"\"
.ENDIF
.IF "$(MINGW_FREETYPE_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_FREETYPE_DLL -DMINGW_FREETYPE_DLL=\""$(MINGW_FREETYPE_DLL)"\"
.ENDIF
.IF "$(MINGW_GCRYPT_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_GCRYPT_DLL -DMINGW_GCRYPT_DLL=\""$(MINGW_GCRYPT_DLL)"\"
.ENDIF
.IF "$(MINGW_GNUTLS_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_GNUTLS_DLL -DMINGW_GNUTLS_DLL=\""$(MINGW_GNUTLS_DLL)"\"
.ENDIF
.IF "$(MINGW_GPG_ERROR_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_GPG_ERROR_DLL -DMINGW_GPG_ERROR_DLL=\""$(MINGW_GPG_ERROR_DLL)"\"
.ENDIF
.IF "$(MINGW_GRAPHITE2_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_GRAPHITE2_DLL -DMINGW_GRAPHITE2_DLL=\""$(MINGW_GRAPHITE2_DLL)"\"
.ENDIF
.IF "$(MINGW_HUNSPELL_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_HUNSPELL_DLL -DMINGW_HUNSPELL_DLL=\""$(MINGW_HUNSPELL_DLL)"\"
.ENDIF
.IF "$(MINGW_HYPHEN_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_HYPHEN_DLL -DMINGW_HYPHEN_DLL=\""$(MINGW_HYPHEN_DLL)"\"
.ENDIF
.IF "$(MINGW_ICUDATA_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_ICUDATA_DLL -DMINGW_ICUDATA_DLL=\""$(MINGW_ICUDATA_DLL)"\"
.ENDIF
.IF "$(MINGW_ICUI18N_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_ICUI18N_DLL -DMINGW_ICUI18N_DLL=\""$(MINGW_ICUI18N_DLL)"\"
.ENDIF
.IF "$(MINGW_ICUUC_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_ICUUC_DLL -DMINGW_ICUUC_DLL=\""$(MINGW_ICUUC_DLL)"\"
.ENDIF
.IF "$(MINGW_IDN_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_IDN_DLL -DMINGW_IDN_DLL=\""$(MINGW_IDN_DLL)"\"
.ENDIF
.IF "$(MINGW_INTL_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_INTL_DLL -DMINGW_INTL_DLL=\""$(MINGW_INTL_DLL)"\"
.ENDIF
.IF "$(MINGW_LCMS2_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_LCMS2_DLL -DMINGW_LCMS2_DLL=\""$(MINGW_LCMS2_DLL)"\"
.ENDIF
.IF "$(MINGW_LIBXML_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_LIBXML_DLL -DMINGW_LIBXML_DLL=\""$(MINGW_LIBXML_DLL)"\"
.ENDIF
.IF "$(MINGW_LIBXSLT_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_LIBXSLT_DLL -DMINGW_LIBXSLT_DLL=\""$(MINGW_LIBXSLT_DLL)"\"
.ENDIF
.IF "$(MINGW_LPSOLVE_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_LPSOLVE_DLL -DMINGW_LPSOLVE_DLL=\""$(MINGW_LPSOLVE_DLL)"\"
.ENDIF
.IF "$(MINGW_MYTHES_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_MYTHES_DLL -DMINGW_MYTHES_DLL=\""$(MINGW_MYTHES_DLL)"\"
.ENDIF
.IF "$(MINGW_NEON_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_NEON_DLL -DMINGW_NEON_DLL=\""$(MINGW_NEON_DLL)"\"
.ENDIF
.IF "$(MINGW_NSPR4_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_NSPR4_DLL -DMINGW_NSPR4_DLL=\""$(MINGW_NSPR4_DLL)"\"
.ENDIF
.IF "$(MINGW_NSS3_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_NSS3_DLL -DMINGW_NSS3_DLL=\""$(MINGW_NSS3_DLL)"\"
.ENDIF
.IF "$(MINGW_NSSUTIL3_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_NSSUTIL3_DLL -DMINGW_NSSUTIL3_DLL=\""$(MINGW_NSSUTIL3_DLL)"\"
.ENDIF
.IF "$(MINGW_PIXMAN_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_PIXMAN_DLL -DMINGW_PIXMAN_DLL=\""$(MINGW_PIXMAN_DLL)"\"
.ENDIF
.IF "$(MINGW_PLC4_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_PLC4_DLL -DMINGW_PLC4_DLL=\""$(MINGW_PLC4_DLL)"\"
.ENDIF
.IF "$(MINGW_PLDS4_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_PLDS4_DLL -DMINGW_PLDS4_DLL=\""$(MINGW_PLDS4_DLL)"\"
.ENDIF
.IF "$(MINGW_PNG15_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_PNG15_DLL -DMINGW_PNG15_DLL=\""$(MINGW_PNG15_DLL)"\"
.ENDIF
.IF "$(MINGW_RAPTOR_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_RAPTOR_DLL -DMINGW_RAPTOR_DLL=\""$(MINGW_RAPTOR_DLL)"\"
.ENDIF
.IF "$(MINGW_RASQAL_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_RASQAL_DLL -DMINGW_RASQAL_DLL=\""$(MINGW_RASQAL_DLL)"\"
.ENDIF
.IF "$(MINGW_REDLAND_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_REDLAND_DLL -DMINGW_REDLAND_DLL=\""$(MINGW_REDLAND_DLL)"\"
.ENDIF
.IF "$(MINGW_SQLITE3_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_SQLITE3_DLL -DMINGW_SQLITE3_DLL=\""$(MINGW_SQLITE3_DLL)"\"
.ENDIF
.IF "$(MINGW_SSH2_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_SSH2_DLL -DMINGW_SSH2_DLL=\""$(MINGW_SSH2_DLL)"\"
.ENDIF
.IF "$(MINGW_SSL_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_SSL_DLL -DMINGW_SSL_DLL=\""$(MINGW_SSL_DLL)"\"
.ENDIF
.IF "$(MINGW_SSL3_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_SSL3_DLL -DMINGW_SSL3_DLL=\""$(MINGW_SSL3_DLL)"\"
.ENDIF
.IF "$(MINGW_TASN1_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_TASN1_DLL -DMINGW_TASN1_DLL=\""$(MINGW_TASN1_DLL)"\"
.ENDIF
.IF "$(MINGW_ZLIB_DLL)" != ""
SCPDEFS += -DNEEDS_MINGW_ZLIB_DLL -DMINGW_ZLIB_DLL=\""$(MINGW_ZLIB_DLL)"\"
.ENDIF
.IF "$(SYSTEM_GDKPIXBUF)" == "YES"
SCPDEFS+=-DSYSTEM_GDKPIXBUF
.ENDIF
......
......@@ -37,92 +37,175 @@
Styles = (PACKED); \
End
#define MINGW_DLL_COND(cond,id,name) \
#ifdef SYSTEM_EXPAT
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libexpat, libexpat-1.dll )
#ifdef NEEDS_MINGW_EXPAT_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libexpat, MINGW_EXPAT_DLL )
#endif
#endif
#ifdef SYSTEM_LIBXSLT
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libxslt, libxslt-1.dll )
#ifdef NEEDS_MINGW_LIBXSLT_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libxslt, MINGW_LIBXSLT_DLL )
#endif
#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 )
#ifdef NEEDS_MINGW_ZLIB_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Zlib, MINGW_ZLIB_DLL )
#endif
#ifdef NEEDS_MINGW_LIBXML_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libxml2, MINGW_LIBXML_DLL )
#endif
#endif
#ifdef SYSTEM_DB
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libdb, libdb-4.8.dll )
#ifdef NEEDS_MINGW_DB_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libdb, MINGW_DB_DLL )
#endif
#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 )
#ifdef NEEDS_MINGW_INTL_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libintl, MINGW_INTL_DLL )
#endif
#ifdef NEEDS_MINGW_IDN_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libdn, MINGW_IDN_DLL )
#endif
#ifdef NEEDS_MINGW_NSPR4_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libnspr, MINGW_NSPR4_DLL )
#endif
#ifdef NEEDS_MINGW_NSSUTIL3_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Nssutil, MINGW_NSSUTIL3_DLL )
#endif
#ifdef NEEDS_MINGW_PLC4_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libplc, MINGW_PLC4_DLL )
#endif
#ifdef NEEDS_MINGW_PLDS4_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libplds, MINGW_PLDS4_DLL )
#endif
#ifdef NEEDS_MINGW_NSS3_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_nss, MINGW_NSS3_DLL )
#endif
#ifdef NEEDS_MINGW_SSL3_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_ssl, MINGW_SSL3_DLL )
#endif
#ifdef NEEDS_MINGW_GPG_ERROR_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgpgerror, MINGW_GPG_ERROR_DLL )
#endif
#ifdef NEEDS_MINGW_GCRYPT_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgcrypt, MINGW_GCRYPT_DLL )
#endif
#ifdef NEEDS_MINGW_SSH2_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libssh, MINGW_SSH2_DLL )
#endif
#ifdef NEEDS_MINGW_CURL_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libcurl, MINGW_CURL_DLL )
#endif
#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)) )
#ifdef NEEDS_MINGW_ICUI18N_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Icui18n, MINGW_ICUI18N_DLL )
#endif
#ifdef NEEDS_MINGW_ICUUC_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Icuuc, MINGW_ICUUC_DLL )
#endif
#ifdef NEEDS_MINGW_ICUDATA_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Icudata, MINGW_ICUDATA_DLL )
#endif
#endif
#ifdef SYSTEM_GRAPHITE
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgrahpite, libgraphite2.dll )
#ifdef NEEDS_MINGW_GRAPHITE2_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgrahpite, MINGW_GRAPHITE2_DLL )
#endif
#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 )
#ifdef NEEDS_MINGW_TASN1_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libtasn, MINGW_TASN1_DLL )
#endif
#ifdef NEEDS_MINGW_GNUTLS_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgnutls, MINGW_GNUTLS_DLL )
#endif
#ifdef NEEDS_MINGW_NEON_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libneon, MINGW_NEON_DLL )
#endif
#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 )
#ifdef NEEDS_MINGW_SSL_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libssl, MINGW_SSL_DLL )
#endif
#ifdef NEEDS_MINGW_CRYPTO_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libcrypto, MINGW_CRYPTO_DLL )
#endif
#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 )
#ifdef NEEDS_MINGW_RAPTOR_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libraptor, MINGW_RAPTOR_DLL )
#endif
#ifdef NEEDS_MINGW_RASQAL_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Librasqal, MINGW_RASQAL_DLL )
#endif
#ifdef NEEDS_MINGW_SQLITE3_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libqslite, MINGW_SQLITE3_DLL )
#endif
#ifdef NEEDS_MINGW_REDLAND_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Librdf, MINGW_REDLAND_DLL )
#endif
#endif
#ifdef SYSTEM_HUNSPELL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libhunspell, libhunspell-1.3-0.dll )
#ifdef NEEDS_MINGW_HUNSPELL_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libhunspell, MINGW_HUNSPELL_DLL )
#endif
#endif
#ifdef SYSTEM_HYPH
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libhyphen, libhyphen-0.dll )
#ifdef NEEDS_MINGW_HYPHEN_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libhyphen, MINGW_HYPHEN_DLL )
#endif
#endif
#ifdef SYSTEM_MYTHES
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libmythes, libmythes-1.2-0.dll )
#ifdef NEEDS_MINGW_MYTHES_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libmythes, MINGW_MYTHES_DLL )
#endif
#endif
#ifdef SYSTEM_LPSOLVE
MINGW_DLL( gid_Brand_File_Lib_Mingw_Lpsolve, lpsolve55.dll )
#ifdef NEEDS_MINGW_LPSOLVE_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Lpsolve, MINGW_LPSOLVE_DLL )
#endif
#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 )
#ifdef NEEDS_MINGW_FONTCONFIG_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libfontconfig, MINGW_FONTCONFIG_DLL )
#endif
#ifdef NEEDS_MINGW_FREETYPE_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libfreetype, MINGW_FREETYPE_DLL )
#endif
#ifdef NEEDS_MINGW_PIXMAN_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libpixman, MINGW_PIXMAN_DLL )
#endif
#ifdef NEEDS_MINGW_PNG15_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libpng, MINGW_PNG15_DLL )
#endif
#ifdef NEEDS_MINGW_CAIRO_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libcairo, MINGW_CAIRO_DLL )
#endif
#endif
#ifdef SYSTEM_LCMS2
MINGW_DLL( gid_Brand_File_Lib_Mingw_Liblcms2, liblcms2-2.dll )
#ifdef NEEDS_MINGW_LCMS2_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Liblcms2, MINGW_LCMS2_DLL )
#endif
#endif
#if defined(MINGW_GCCDLL)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment