dnl dnl This file is part of the LibreOffice project. dnl dnl This Source Code Form is subject to the terms of the Mozilla Public dnl License, v. 2.0. If a copy of the MPL was not distributed with this dnl file, You can obtain one at http://mozilla.org/MPL/2.0/. dnl # libo_MINGW_CHECK_DLL(dll-name-stem,[action-if-found],[action-if-not-found]) # # Checks for presence of dll dll-name-stem . Appends the dll name to # variable MINGW_DLLS 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: # MINGW_DLLS= # libo_MINGW_CHECK_DLL([libexpat]) # might result in MINGW_DLLS containing libexpat-1.dll . # # uses MINGW_SYSROOT, WITH_MINGW # changes MINGW_DLLS # ------------------------------------------------------------------------------------------ AC_DEFUN([libo_MINGW_CHECK_DLL], [dnl if test -n "$WITH_MINGW"; then _libo_mingw_dlldir="[$MINGW_SYSROOT]"/bin _libo_mingw_dllname= AC_MSG_CHECKING([for $1 dll]) dnl try one- or two-numbered version _libo_mingw_try_dll([$1][-?.dll]) if test "$_libo_mingw_dllname" = ""; then _libo_mingw_try_dll([$1][-??.dll]) fi dnl maybe the version contains a dot (e.g., libdb) if test "$_libo_mingw_dllname" = ""; then _libo_mingw_try_dll([$1][-?.?.dll]) fi dnl maybe the version contains a dash (e.g., libpixman) if test "$_libo_mingw_dllname" = ""; then _libo_mingw_try_dll([$1][-?-?.dll]) fi dnl maybe it is not versioned if test "$_libo_mingw_dllname" = ""; then _libo_mingw_try_dll([$1][.dll]) fi if test "$_libo_mingw_dllname" = ""; then AC_MSG_RESULT([no]) m4_default([$3],[AC_MSG_ERROR([no dll found for $1])]) else AC_MSG_RESULT([$_libo_mingw_dllname]) MINGW_DLLS="$MINGW_DLLS $_libo_mingw_dllname" m4_default([$2],[]) fi fi[]dnl ]) # libo_MINGW_CHECK_DLL # libo_MINGW_TRY_DLL(dll-name-stem) # # Checks for presence of dll dll-name-stem . Appends the dll name to # variable MINGW_DLLS if found, does nothing otherwise. # # See libo_MINGW_CHECK_DLL for further info. # # uses MINGW_SYSROOT, WITH_MINGW # changes MINGW_DLLS # ------------------------------------------------ AC_DEFUN([libo_MINGW_TRY_DLL], [dnl TODO: ignore already tested for dlls libo_MINGW_CHECK_DLL([$1],[[]],[[]])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: