allow to pass default dll list
This commit is contained in:
90
m4/mingw.m4
90
m4/mingw.m4
@@ -1,36 +1,25 @@
|
||||
# libo_FIND_MINGW_EXTERNAL_DLLS([library-names],[variable],[?exclude])
|
||||
# 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
|
||||
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
|
||||
_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
|
||||
|
||||
# libo_ADD_MINGW_EXTERNAL_DLLS([library-names],[variable])
|
||||
# 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])
|
||||
[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
|
||||
@@ -43,18 +32,51 @@ m4_define([_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"
|
||||
[_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[]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"
|
||||
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_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_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
|
||||
|
Reference in New Issue
Block a user