mirror of https://gitee.com/openkylin/apr.git
34 lines
1.0 KiB
Plaintext
34 lines
1.0 KiB
Plaintext
|
|
dnl if $2 contains '@dd', links against mingw symbols
|
|
dnl otherwise calls AC_CHECK_LIB
|
|
AC_DEFUN([APR_CHECK_DLL_FUNC],[
|
|
m4_define($1_function_name,m4_substr($2,0,m4_index($2,[@])))
|
|
m4_define($1_function_arglength,m4_substr($2,m4_incr(m4_index($2,[@]))))
|
|
m4_define($1_[function_name]_arglength,m4_substr($2,m4_incr(m4_index($2,[@]))))
|
|
dnl m4_define(apr_check_dll_id,$1_m4_defn($1_function_name))
|
|
|
|
AC_CACHE_CHECK([for $2 in $1],[ac_cv_lib_$1_]$1_function_name,[
|
|
|
|
ac_func_search_save_LIBS=$LIBS
|
|
LIBS="$LIBS -l$1"
|
|
|
|
AC_TRY_LINK([
|
|
#pragma pack(1)
|
|
struct x {
|
|
]m4_for([byte_id], 1, m4_defn([$1_function_name_arglength]), 1,[[ char c]]byte_id;
|
|
)[};
|
|
__stdcall ]$1_function_name[(]struct x[);],[
|
|
struct x s = {0};
|
|
]$1_function_name[(s)],
|
|
[ac_cv_lib_$1_]$1_function_name[=yes],[ac_cv_lib_$1_]$1_function_name[=no])
|
|
LIBS=$ac_func_search_save_LIBS
|
|
])dnl AC_CACHE_CHECK
|
|
|
|
AS_IF([test $ac_cv_lib_$1_]$1_function_name[ = yes],
|
|
[m4_default([$3], [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1),,Enable if this library is available)
|
|
LIBS="-l$1 $LIBS"
|
|
])],
|
|
[$4])dnl
|
|
])
|
|
|