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@ ...@@ -276,13 +276,52 @@ export MFC_INCLUDE=@MFC_INCLUDE@
export MFC_LIB=@MFC_LIB@ export MFC_LIB=@MFC_LIB@
export MINGWCXX=@MINGWCXX@ export MINGWCXX=@MINGWCXX@
export MINGWSTRIP=@MINGWSTRIP@ export MINGWSTRIP=@MINGWSTRIP@
export MINGW_CAIRO_DLL=@MINGW_CAIRO_DLL@
export MINGW_CLIB_DIR=@MINGW_CLIB_DIR@ 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_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_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_GCCLIB=@MINGW_SHARED_GCCLIB@
export MINGW_SHARED_GXXLIB=@MINGW_SHARED_GXXLIB@ export MINGW_SHARED_GXXLIB=@MINGW_SHARED_GXXLIB@
export MINGW_SHARED_LIBSTDCPP=@MINGW_SHARED_LIBSTDCPP@ 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 MKDEPENDSOLVER=TRUE
export ML_EXE=@ML_EXE@ export ML_EXE=@ML_EXE@
export MOC4=@MOC4@ export MOC4=@MOC4@
......
This diff is collapsed.
...@@ -41,7 +41,47 @@ dummy: ...@@ -41,7 +41,47 @@ dummy:
.ELSE .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" .IF "$(MINGW_SHARED_GCCLIB)" == "YES"
MINGW_DLLS+=$(MINGW_GCCDLL) MINGW_DLLS+=$(MINGW_GCCDLL)
......
# libo_FIND_MINGW_EXTERNAL_DLLS([library-names],[variable],[?exclude],[?default-value]) dnl Version: MPL 1.1 / GPLv3+ / LGPLv3+
# uses: CC, SED, WITH_MINGW dnl
# -------------------------------------------------------------------- dnl The contents of this file are subject to the Mozilla Public License Version
AC_DEFUN([libo_FIND_MINGW_EXTERNAL_DLLS], dnl 1.1 (the "License"); you may not use this file except in compliance with
[if test "$WITH_MINGW" = yes -a -n "$CC"; then dnl the License or as specified alternatively below. You may obtain a copy of
_libo_mingw_libdir=`$CC -print-sysroot`/mingw/lib dnl the License at http://www.mozilla.org/MPL/
_libo_mingw_found_la= dnl
_libo_mingw_test_la([$1],[_libo_mingw_found_la],[$_libo_mingw_libdir]) dnl Software distributed under the License is distributed on an "AS IS" basis,
if test "$_libo_mingw_found_la" = yes; then dnl WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
_libo_mingw_find_dlls([$1],[$2],[$3],[$_libo_mingw_libdir]) dnl for the specific language governing rights and limitations under the
else dnl License.
# no .la files found, use defaults dnl
$2="$4" dnl Major Contributor(s):
fi dnl Copyright (C) 2012 Red Hat, Inc., David Tardon <dtardon@redhat.com>
fi[]dnl dnl (initial developer)
]) # libo_FIND_MINGW_EXTERNAL_DLLS dnl
dnl All Rights Reserved.
# libo_ADD_MINGW_EXTERNAL_DLLS([library-names],[variable],[?default-value]) dnl
# uses: CC, SED, WITH_MINGW dnl For minor contributions see the git repository.
# -------------------------------------------------------- dnl
AC_DEFUN([libo_ADD_MINGW_EXTERNAL_DLLS], dnl Alternatively, the contents of this file may be used under the terms of
[libo_FIND_MINGW_EXTERNAL_DLLS([$1],[_libo_mingw_found_dlls],[$$2],[$3]) dnl either the GNU General Public License Version 3 or later (the "GPLv3+"), or
if test -n "$_libo_mingw_found_dlls"; then dnl the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
$2="$$2 $_libo_mingw_found_dlls" dnl in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
fi[]dnl dnl instead of those above.
]) # libo_ADD_MINGW_EXTERNAL_DLLS
# _libo_mingw_get_libtool_var([key],[lib],[out-var]) # libo_MINGW_CHECK_DLL(variable-infix,dll-name-stem,[action-if-found],[action-if-not-found])
m4_define([_libo_mingw_get_libtool_var], #
[$3=`$SED -n -e '/^$1=/{' -e "s/.*='//" -e "s/'//" -e p -e '}' $2`[]dnl # Checks for presence of dll dll-name-stem . Sets variable
]) # _libo_mingw_get_libtool_var # 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_find_dll([library],[dlls],[out-var]) if test -n "$WITH_MINGW"; then
m4_define([_libo_mingw_find_dll], dnl TODO move this to configure: there is no need to call $CC more than once
[_libo_mingw_get_libtool_var([dlname],[$1],[_libo_mingw_dlname]) _libo_mingw_dlldir=`$CC -print-sysroot`/mingw/bin
_libo_mingw_dlname=`basename $_libo_mingw_dlname` _libo_mingw_dllname=
_libo_mingw_dll_present= AC_MSG_CHECKING([for $2 dll])
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[]dnl
]) # _libo_mingw_find_dll
# _libo_mingw_find_dlls([libraries],[dlls],[out-var],[libdir]) dnl try one- or two-numbered version
m4_define([_libo_mingw_find_dlls], _libo_mingw_try_dll([$2][-?.dll])
[_libo_mingw_new_dlls= if test "$_libo_mingw_dllname" = ""; then
for _libo_mingw_lib in $1; do _libo_mingw_try_dll([$2][-??.dll])
_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"
fi fi
dnl maybe the version contains a dot (e.g., libdb)
_libo_mingw_get_libtool_var([dependency_libs],[$_libo_mingw_lib],[_libo_mingw_dep_libs]) if test "$_libo_mingw_dllname" = ""; then
for _libo_mingw_dep_lib in $_libo_mingw_dep_libs; do _libo_mingw_try_dll([$2][-?.?.dll])
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
dnl maybe it is not versioned
if test "$_libo_mingw_dllname" = ""; then
_libo_mingw_try_dll([$2][.dll])
fi fi
done
done
$2="$_libo_mingw_new_dlls"[]dnl
]) # _libo_mingw_find_dlls
# _libo_mingw_test_la([libraries],[out-var],[libdir]) if test "$_libo_mingw_dllname" = ""; then
m4_define([_libo_mingw_test_la], AC_MSG_RESULT([no])
[for _libo_mingw_lib in $1; do m4_default([$4],[AC_MSG_ERROR([no dll found for $2])])
if test -f "$3/$_libo_mingw_lib.la"; then else
$2=yes AC_MSG_RESULT([$_libo_mingw_dllname])
break [MINGW_][$1][_DLL]="$_libo_mingw_dllname"
m4_default([$3],[])
fi fi
done[]dnl fi[]dnl
]) # _libo_mingw_test_la ]) # 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_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
dnl vim:set shiftwidth=4 softtabstop=4 expandtab:
...@@ -257,6 +257,166 @@ SCPDEFS+=-DMINGW_GCCDLL=\""$(MINGW_GCCDLL)"\" ...@@ -257,6 +257,166 @@ SCPDEFS+=-DMINGW_GCCDLL=\""$(MINGW_GCCDLL)"\"
SCPDEFS+=-DMINGW_GXXDLL=\""$(MINGW_GXXDLL)"\" SCPDEFS+=-DMINGW_GXXDLL=\""$(MINGW_GXXDLL)"\"
.ENDIF .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" .IF "$(SYSTEM_GDKPIXBUF)" == "YES"
SCPDEFS+=-DSYSTEM_GDKPIXBUF SCPDEFS+=-DSYSTEM_GDKPIXBUF
.ENDIF .ENDIF
......
...@@ -37,92 +37,175 @@ ...@@ -37,92 +37,175 @@
Styles = (PACKED); \ Styles = (PACKED); \
End End
#define MINGW_DLL_COND(cond,id,name) \
#ifdef SYSTEM_EXPAT #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 #endif
#ifdef SYSTEM_LIBXSLT #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 #endif
#ifdef SYSTEM_LIBXML #ifdef SYSTEM_LIBXML
MINGW_DLL( gid_Brand_File_Lib_Mingw_Zlib, zlib1.dll ) #ifdef NEEDS_MINGW_ZLIB_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libxml2, libxml2-2.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 #endif
#ifdef SYSTEM_DB #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 #endif
#ifdef SYSTEM_CURL #ifdef SYSTEM_CURL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libintl, libintl-8.dll ) #ifdef NEEDS_MINGW_INTL_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libdn, libidn-11.dll ) MINGW_DLL( gid_Brand_File_Lib_Mingw_Libintl, MINGW_INTL_DLL )
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libnspr, libnspr4.dll ) #endif
MINGW_DLL( gid_Brand_File_Lib_Mingw_Nssutil, nssutil3.dll ) #ifdef NEEDS_MINGW_IDN_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libplc, libplc4.dll ) MINGW_DLL( gid_Brand_File_Lib_Mingw_Libdn, MINGW_IDN_DLL )
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libplds, libplds4.dll ) #endif
MINGW_DLL( gid_Brand_File_Lib_Mingw_nss, nss3.dll ) #ifdef NEEDS_MINGW_NSPR4_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_ssl, ssl3.dll ) MINGW_DLL( gid_Brand_File_Lib_Mingw_Libnspr, MINGW_NSPR4_DLL )
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgpgerror, libgpg-error-0.dll ) #endif
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgcrypt, libgcrypt-11.dll ) #ifdef NEEDS_MINGW_NSSUTIL3_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libssh, libssh2-1.dll ) MINGW_DLL( gid_Brand_File_Lib_Mingw_Nssutil, MINGW_NSSUTIL3_DLL )
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libcurl, libcurl-4.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 #endif
#ifdef SYSTEM_ICU #ifdef SYSTEM_ICU
MINGW_DLL( gid_Brand_File_Lib_Mingw_Icui18n, STRING(CONCAT4(icui18n,ICU_MAJOR,ICU_MINOR,.dll)) ) #ifdef NEEDS_MINGW_ICUI18N_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Icuuc, STRING(CONCAT4(icuuc,ICU_MAJOR,ICU_MINOR,.dll)) ) MINGW_DLL( gid_Brand_File_Lib_Mingw_Icui18n, MINGW_ICUI18N_DLL )
MINGW_DLL( gid_Brand_File_Lib_Mingw_Icudata, STRING(CONCAT4(icudata,ICU_MAJOR,ICU_MINOR,.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 #endif
#ifdef SYSTEM_GRAPHITE #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 #endif
#ifdef SYSTEM_NEON #ifdef SYSTEM_NEON
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libtasn, libtasn1-3.dll ) #ifdef NEEDS_MINGW_TASN1_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libgnutls, libgnutls-26.dll ) MINGW_DLL( gid_Brand_File_Lib_Mingw_Libtasn, MINGW_TASN1_DLL )
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libneon, libneon-27.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 #endif
#ifdef SYSTEM_OPENSSL #ifdef SYSTEM_OPENSSL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libssl, libssl-8.dll ) #ifdef NEEDS_MINGW_SSL_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libcrypto, libcrypto-8.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 #endif
#ifdef SYSTEM_REDLAND #ifdef SYSTEM_REDLAND
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libraptor, libraptor-1.dll ) #ifdef NEEDS_MINGW_RAPTOR_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Librasqal, librasqal-2.dll ) MINGW_DLL( gid_Brand_File_Lib_Mingw_Libraptor, MINGW_RAPTOR_DLL )
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libqslite, libsqlite3-0.dll ) #endif
MINGW_DLL( gid_Brand_File_Lib_Mingw_Librdf, librdf-0.dll ) #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 #endif
#ifdef SYSTEM_HUNSPELL #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 #endif
#ifdef SYSTEM_HYPH #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 #endif
#ifdef SYSTEM_MYTHES #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 #endif
#ifdef SYSTEM_LPSOLVE #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 #endif
#ifdef SYSTEM_CAIRO #ifdef SYSTEM_CAIRO
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libfontconfig, libfontconfig-1.dll ) #ifdef NEEDS_MINGW_FONTCONFIG_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libfreetype, libfreetype-6.dll ) MINGW_DLL( gid_Brand_File_Lib_Mingw_Libfontconfig, MINGW_FONTCONFIG_DLL )
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libpixman, libpixman-1-0.dll ) #endif
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libpng, libpng15-15.dll ) #ifdef NEEDS_MINGW_FREETYPE_DLL
MINGW_DLL( gid_Brand_File_Lib_Mingw_Libcairo, libcairo-2.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 #endif
#ifdef SYSTEM_LCMS2 #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 #endif
#if defined(MINGW_GCCDLL) #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