2 m4_define([upcase],`echo $1 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`)dnl
4 dnl love_FIND_FUNC(func, includes, arguments)
5 dnl kind of like AC_CHECK_FUNC, but with headerfiles
6 AC_DEFUN([love_FIND_FUNC], [
8 AC_MSG_CHECKING([for $1])
9 AC_CACHE_VAL(ac_cv_love_func_$1,
11 AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2]],[[$1($3)]])],
12 [eval "ac_cv_love_func_$1=yes"],[eval "ac_cv_love_func_$1=no"])])
14 eval "ac_res=\$ac_cv_love_func_$1"
20 eval "ac_tr_func=HAVE_[]upcase($1)"
24 AC_DEFINE_UNQUOTED($ac_tr_func)
95 love_FIND_FUNC(bswap16, [#ifdef HAVE_SYS_BSWAP_H
96 #include <sys/bswap.h>
99 love_FIND_FUNC(bswap32, [#ifdef HAVE_SYS_BSWAP_H
100 #include <sys/bswap.h>
104 dnl AC_HAVE_TYPE(TYPE,INCLUDES)
105 AC_DEFUN([AC_HAVE_TYPE], [
106 AC_REQUIRE([AC_HEADER_STDC])
107 cv=`echo "$1" | sed 'y%./+- %__p__%'`
108 AC_MSG_CHECKING(for $1)
109 AC_CACHE_VAL([ac_cv_type_$cv],
110 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
111 #include <sys/types.h>
118 [eval "ac_cv_type_$cv=yes"],
119 [eval "ac_cv_type_$cv=no"]))dnl
120 ac_foo=`eval echo \\$ac_cv_type_$cv`
121 AC_MSG_RESULT($ac_foo)
122 if test "$ac_foo" = yes; then
123 ac_tr_hdr=HAVE_`echo $1 | sed 'y%abcdefghijklmnopqrstuvwxyz./- %ABCDEFGHIJKLMNOPQRSTUVWXYZ____%'`
127 AC_DEFINE_UNQUOTED($ac_tr_hdr, 1, [Define if you have type `$1'])
131 AC_HAVE_TYPE([sa_family_t],[#include <sys/socket.h>])
132 AC_HAVE_TYPE([socklen_t],[#include <sys/socket.h>])
133 AC_HAVE_TYPE([struct sockaddr], [#include <sys/socket.h>])
134 AC_HAVE_TYPE([struct sockaddr_storage], [#include <sys/socket.h>])
135 AC_HAVE_TYPE([struct addrinfo], [#include <netdb.h>])
136 AC_HAVE_TYPE([struct ifaddrs], [#include <ifaddrs.h>])
139 AC_DEFUN([AC_KRB_STRUCT_WINSIZE], [
140 AC_MSG_CHECKING(for struct winsize)
141 AC_CACHE_VAL(ac_cv_struct_winsize, [
142 ac_cv_struct_winsize=no
143 for i in sys/termios.h sys/ioctl.h; do
145 struct[[ ]]*winsize,dnl
146 $i, ac_cv_struct_winsize=yes; break)dnl
149 if test "$ac_cv_struct_winsize" = "yes"; then
150 AC_DEFINE(HAVE_STRUCT_WINSIZE, 1, [define if struct winsize is declared in sys/termios.h])
152 AC_MSG_RESULT($ac_cv_struct_winsize)
153 AC_EGREP_HEADER(ws_xpixel, termios.h,
154 AC_DEFINE(HAVE_WS_XPIXEL, 1, [define if struct winsize has ws_xpixel]))
155 AC_EGREP_HEADER(ws_ypixel, termios.h,
156 AC_DEFINE(HAVE_WS_YPIXEL, 1, [define if struct winsize has ws_ypixel]))
159 AC_KRB_STRUCT_WINSIZE
162 AC_CHECK_DECL(h_errno,
163 [AC_DEFINE(HAVE_DECL_H_ERRNO,1,whether h_errno is declared)], [], [
164 #ifdef HAVE_SYS_TYPES_H
165 #include <sys/types.h>
171 # these are disabled unless heimdal is found below
172 SMB_MODULE_DEFAULT(KERBEROS_LIB, NOT)
173 SMB_BINARY_ENABLE(asn1_compile, NO)
174 SMB_BINARY_ENABLE(compile_et, NO)
179 AC_CHECK_TYPES(u_int32_t)
180 AC_CHECK_TYPES(u_int16_t)
181 AC_CHECK_TYPES(u_int8_t)
183 # to enable kerberos, unpack a heimdal source tree in the heimdal directory
184 # of the samba source tree
185 if test -d heimdal; then
186 AC_DEFINE(HAVE_KRB5,1,[Whether kerberos is available])
187 CFLAGS="${CFLAGS} -Iheimdal_build -Iheimdal/lib/krb5 -Iheimdal/lib/gssapi -Iheimdal/lib/asn1 -Iheimdal/lib/com_err -Iheimdal/lib/hdb -Iheimdal/kdc"
189 SMB_MODULE_DEFAULT(KERBEROS_LIB, STATIC)
190 SMB_BINARY_ENABLE(asn1_compile, YES)
191 SMB_BINARY_ENABLE(compile_et, YES)