File: apr_win32.m4

package info (click to toggle)
apr 1.6.5-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 7,132 kB
  • sloc: ansic: 60,108; sh: 3,610; perl: 900; awk: 393; makefile: 366; python: 142
file content (33 lines) | stat: -rw-r--r-- 1,055 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

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
])