1 m4_define([upcase],`echo $1 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`)dnl
3 dnl love_FIND_FUNC(func, includes, arguments)
4 dnl kind of like AC_CHECK_FUNC, but with headerfiles
5 AC_DEFUN([love_FIND_FUNC], [
7 AC_MSG_CHECKING([for $1])
8 AC_CACHE_VAL(ac_cv_love_func_$1,
10 AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2]],[[$1($3)]])],
11 [eval "ac_cv_love_func_$1=yes"],[eval "ac_cv_love_func_$1=no"])])
13 eval "ac_res=\$ac_cv_love_func_$1"
19 eval "ac_tr_func=HAVE_[]upcase($1)"
23 AC_DEFINE_UNQUOTED($ac_tr_func)
98 love_FIND_FUNC(bswap16, [#ifdef HAVE_SYS_BSWAP_H
99 #include <sys/bswap.h>
102 love_FIND_FUNC(bswap32, [#ifdef HAVE_SYS_BSWAP_H
103 #include <sys/bswap.h>
107 dnl AC_HAVE_TYPE(TYPE,INCLUDES)
108 AC_DEFUN([AC_HAVE_TYPE], [
109 AC_REQUIRE([AC_HEADER_STDC])
110 cv=`echo "$1" | sed 'y%./+- %__p__%'`
111 AC_MSG_CHECKING(for $1)
112 AC_CACHE_VAL([ac_cv_type_$cv],
113 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
114 #include <sys/types.h>
121 [eval "ac_cv_type_$cv=yes"],
122 [eval "ac_cv_type_$cv=no"]))dnl
123 ac_foo=`eval echo \\$ac_cv_type_$cv`
124 AC_MSG_RESULT($ac_foo)
125 if test "$ac_foo" = yes; then
126 ac_tr_hdr=HAVE_`echo $1 | sed 'y%abcdefghijklmnopqrstuvwxyz./- %ABCDEFGHIJKLMNOPQRSTUVWXYZ____%'`
130 AC_DEFINE_UNQUOTED($ac_tr_hdr, 1, [Define if you have type `$1'])
134 AC_HAVE_TYPE([sa_family_t],[#include <sys/socket.h>])
135 AC_HAVE_TYPE([socklen_t],[#include <sys/socket.h>])
136 AC_HAVE_TYPE([struct sockaddr], [#include <sys/socket.h>])
137 AC_HAVE_TYPE([struct sockaddr_storage], [#include <sys/socket.h>])
138 AC_HAVE_TYPE([struct addrinfo], [#include <netdb.h>])
139 AC_HAVE_TYPE([struct ifaddrs], [#include <ifaddrs.h>])
142 AC_DEFUN([AC_KRB_STRUCT_WINSIZE], [
143 AC_MSG_CHECKING(for struct winsize)
144 AC_CACHE_VAL(ac_cv_struct_winsize, [
145 ac_cv_struct_winsize=no
146 for i in sys/termios.h sys/ioctl.h; do
148 struct[[ ]]*winsize,dnl
149 $i, ac_cv_struct_winsize=yes; break)dnl
152 if test "$ac_cv_struct_winsize" = "yes"; then
153 AC_DEFINE(HAVE_STRUCT_WINSIZE, 1, [define if struct winsize is declared in sys/termios.h])
155 AC_MSG_RESULT($ac_cv_struct_winsize)
156 AC_EGREP_HEADER(ws_xpixel, termios.h,
157 AC_DEFINE(HAVE_WS_XPIXEL, 1, [define if struct winsize has ws_xpixel]))
158 AC_EGREP_HEADER(ws_ypixel, termios.h,
159 AC_DEFINE(HAVE_WS_YPIXEL, 1, [define if struct winsize has ws_ypixel]))
162 AC_KRB_STRUCT_WINSIZE
165 if test "$ac_cv_type_signal" = "void" ; then
166 AC_DEFINE(VOID_RETSIGTYPE, 1, [Define if signal handlers return void.])
168 AC_SUBST(VOID_RETSIGTYPE)
171 sinclude(heimdal/cf/check-var.m4)
173 rk_CHECK_VAR(h_errno,
174 [#ifdef HAVE_SYS_TYPES_H
175 #include <sys/types.h>
181 sinclude(heimdal/cf/find-func.m4)
182 sinclude(heimdal/cf/find-func-no-libs.m4)
183 sinclude(heimdal/cf/find-func-no-libs2.m4)
184 sinclude(heimdal/cf/resolv.m4)
190 dnl This fills in the global LIBS...
193 dnl AC_CHECK_LIB_EXT(resolv, RESOLV_LIBS, res_search)
194 SMB_EXT_LIB_ENABLE(RESOLV,YES)
196 if test x"$LIBS" != "x"; then
202 SMB_EXT_LIB(RESOLV,[${RESOLV_LIBS}],[${RESOLV_CFLAGS}],[${RESOLV_CPPFLAGS}],[${RESOLV_LDFLAGS}])
205 # these are disabled unless heimdal is found below
206 SMB_SUBSYSTEM_ENABLE(KERBEROS_LIB, NO)
207 SMB_BINARY_ENABLE(asn1_compile, NO)
208 SMB_BINARY_ENABLE(compile_et, NO)
213 AC_CHECK_TYPES(u_int32_t)
214 AC_CHECK_TYPES(u_int16_t)
215 AC_CHECK_TYPES(u_int8_t)
217 # to enable kerberos, unpack a heimdal source tree in the heimdal directory
218 # of the samba source tree
219 if test -d heimdal; then
220 AC_DEFINE(HAVE_KRB5,1,[Whether kerberos is available])
221 CFLAGS="${CFLAGS} -Iheimdal_build -Iheimdal/lib/krb5 -Iheimdal/lib/gssapi -Iheimdal/lib/asn1 -Iheimdal/lib/com_err -Iheimdal/lib/hdb -Iheimdal/kdc -Iheimdal/lib/roken -Iheimdal/lib/des"
223 SMB_SUBSYSTEM_ENABLE(KERBEROS_LIB, YES)
224 SMB_BINARY_ENABLE(asn1_compile, YES)
225 SMB_BINARY_ENABLE(compile_et, YES)
228 # only add getaddrinfo and related functions if needed
229 SMB_SUBSYSTEM_ENABLE(HEIMDAL_ROKEN_ADDRINFO, NO)
230 if test t$ac_cv_func_getaddrinfo != tyes; then
231 SMB_SUBSYSTEM_ENABLE(HEIMDAL_ROKEN_ADDRINFO, YES)
234 # only add inet_aton if needed
235 SMB_SUBSYSTEM_ENABLE(HEIMDAL_ROKEN_INET_ATON, NO)
236 if test t$ac_cv_func_inet_aton != tyes; then
237 SMB_SUBSYSTEM_ENABLE(HEIMDAL_ROKEN_INET_ATON, YES)
240 # only add gai_strerror if needed
241 SMB_SUBSYSTEM_ENABLE(HEIMDAL_ROKEN_GAI_STRERROR, NO)
242 AC_CHECK_FUNC(gai_strerror)
243 if test t$ac_cv_func_gai_strerror != tyes; then
244 AC_SEARCH_LIBS_EXT(gai_strerror, [xnet], XNET_LIBS)
245 AC_CHECK_FUNC_EXT(gai_strerror, $XNET_LIBS)
246 if test t$ac_cv_func_ext_gai_strerror != tyes; then
247 SMB_SUBSYSTEM_ENABLE(HEIMDAL_ROKEN_GAI_STRERROR, YES)
249 AC_DEFINE(HAVE_GAI_STRERROR,1,[Whether gai_strerror() is available])
252 AC_DEFINE(HAVE_GAI_STRERROR,1,[Whether gai_strerror() is available])
254 SMB_EXT_LIB(XNET,[${XNET_LIBS}],[${XNET_CFLAGS}],[${XNET_CPPFLAGS}],[${XNET_LDFLAGS}])