AX_EXT_HAVE_LIB(<directories>, <library>, <function>, <extra libraries>) ,
2004年07月29日
dps@simpson.demon.co.uk
AllPermissive
Copying and distribution of this file, with or
without modification, are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. Users of this software should generally follow the
principles of the
MIT License includings its disclaimer.
cryp.to ac-archive's Installed Packages (released)
AX_EXT_HAVE_LIB is identical to AC_SEARCH_LIBS with the exception that will add -L<directory> when looking, and use a different variable for each directory.
Any required -L<directory> flags are added to LDFLAGS and located libraies are added to LIBS
Some libraries are unlinkable without other extra libraries, which can be specified in the 4th argument. The mysql client library needs -lz, for example.
Example:
AX_EXT_HAVE_LIB(/lib /usr/lib /usr/local/lib /usr/lib/mysql /usr/local/mysql/lib, mysqlclient, mysql_init, [-lz])
which finds the mysql client library if succeds system when it tries with -L/usr/lib/mysql then it adds -lmysqlclient to LIBS and -L/usr/lib/mysql to LDFLAGS.
The test itself is based on the autoconf 2.53 version of AC_SEARCH_LIBS.
AC_DEFUN([AX_EXT_HAVE_LIB],
[
new_ldflags=${LDFLAGS}
new_libs=$LIBS
AC_CHECK_LIB([2ドル], 3,ドル new_libs="-l2ドル"; ext_lib_found="yes", ext_lib_found="no")
for dir in 1ドル
do
if test $ext_lib_found = no
then
ext_haslib_cvdir=`echo $dir | $as_tr_sh`
AC_CACHE_CHECK([for 2ドル library with -L$dir], [ext_cv${ext_haslib_cvdir}_haslib_2ドル],
[ext_func_search_save_LIBS=$LIBS
ext_func_save_ldflags=${LDFLAGS}
LIBS="-l2ドル 4ドル ${ext_func_search_save_LIBS}"
LDFLAGS="-L$dir ${ext_func_save_ldflags}"
AC_TRY_LINK_FUNC([3ドル], [eval "ext_cv${ext_haslib_cvdir}_haslib_2ドル"="yes"],
[eval "ext_cv${ext_haslib_cvdir}_haslib_2ドル"="no"])
LIBS=$ext_func_search_save_LIBS
LDFLAGS=$ext_func_save_ldflags
])
if eval `echo 'test x${'ext_cv${ext_haslib_cvdir}_haslib_2ドル'}' = "xyes"`; then
new_libs="-l2ドル ${new_libs}"
new_ldflags="-L${dir} ${new_ldflags}"
ext_lib_found="yes"
fi
fi
done
LIBS=$new_libs
LDFLAGS=$new_ldflags
])