xref: /aosp_15_r20/external/cronet/third_party/apache-portable-runtime/src/build/apr_win32.m4 (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1
2dnl if $2 contains '@dd', links against mingw symbols
3dnl otherwise calls AC_CHECK_LIB
4AC_DEFUN([APR_CHECK_DLL_FUNC],[
5m4_define($1_function_name,m4_substr($2,0,m4_index($2,[@])))
6m4_define($1_function_arglength,m4_substr($2,m4_incr(m4_index($2,[@]))))
7m4_define($1_[function_name]_arglength,m4_substr($2,m4_incr(m4_index($2,[@]))))
8dnl m4_define(apr_check_dll_id,$1_m4_defn($1_function_name))
9
10AC_CACHE_CHECK([for $2 in $1],[ac_cv_lib_$1_]$1_function_name,[
11
12ac_func_search_save_LIBS=$LIBS
13LIBS="$LIBS -l$1"
14
15AC_TRY_LINK([
16#pragma pack(1)
17struct x {
18]m4_for([byte_id], 1, m4_defn([$1_function_name_arglength]), 1,[[ char c]]byte_id;
19)[};
20__stdcall ]$1_function_name[(]struct x[);],[
21struct x s = {0};
22]$1_function_name[(s)],
23[ac_cv_lib_$1_]$1_function_name[=yes],[ac_cv_lib_$1_]$1_function_name[=no])
24LIBS=$ac_func_search_save_LIBS
25])dnl AC_CACHE_CHECK
26
27AS_IF([test $ac_cv_lib_$1_]$1_function_name[ = yes],
28      [m4_default([$3], [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1),,Enable if this library is available)
29  LIBS="-l$1 $LIBS"
30])],
31    [$4])dnl
32])
33
34