dnl Compile in the exec prefix to help kstddirs in finding dynamic libs AC_DEFINE_UNQUOTED(__KDE_EXECPREFIX, "$exec_prefix", [execprefix or NONE if not set, for libloading]) dnl Compile in kde_bindir to safely find tdesu_stub. if test "$exec_prefix" = "NONE"; then bindir_str="\"$prefix/bin\"" else bindir_str="\"$exec_prefix/bin\"" fi AC_DEFINE_UNQUOTED(__TDE_BINDIR, $bindir_str, [TDE bindir]) dnl tests for openpty support AC_MSG_CHECKING(whether we can use openpty) AC_ARG_ENABLE(openpty, [ --disable-openpty disable openpty (UNIX98 terminals) support [default=enabled]], [ac_use_openpty=$enableval], [ac_use_openpty=yes]) if test "$ac_use_openpty" = "yes"; then kde_safe_LIBS=$LIBS LIBS="$LIBS $LIBUTIL" AC_TRY_RUN([ #include int main(int argc, char* argv) { int master_fd, slave_fd; int result; result = openpty(&master_fd, &slave_fd, 0, 0, 0); return 0; } ], [ac_use_openpty="yes"], [ac_use_openpty="no"]) LIBS=$kde_safe_LIBS fi if test "$ac_use_openpty" = "yes"; then AC_DEFINE(HAVE_OPENPTY, 1, [Defines whether we can use the openpty() function]) AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi dnl ------- dnl Test for libidn (IDNA support) dnl ------- AC_ARG_WITH(libidn, [AC_HELP_STRING(--with-libidn, [enable support for libidn @<:@default=check@:>@])], [], with_libidn=check) LIB_IDN= if test "x$with_libidn" != xno; then AC_CHECK_HEADERS([idna.h punycode.h stringprep.h]) KDE_CHECK_LIB(idn, idna_to_ascii_4i, [ AC_DEFINE_UNQUOTED(HAVE_LIBIDN, 1, [Defined if you have libidn in your system]) LIB_IDN=-lidn ]) if test "x$with_libidn" != xcheck && test -z "$LIB_IDN"; then AC_MSG_ERROR([--with-libidn was given, but test for libidn failed]) fi fi AC_SUBST(LIB_IDN) dnl -------- dnl KNetwork extra configuration dnl -------- netincludes="#include #include #include " kde_safe_LIBS="$LIBS" LIBS="$LIBS $all_libraries $X_EXTRA_LIBS" AC_CHECK_FUNCS([inet_ntop inet_pton getpeername getsockname getsockopt gethostbyname2_r gethostbyname_r gethostbyname2 if_nametoindex getprotobyname_r getservbyname_r getservbyport_r]) LIBS="$kde_safe_LIBS" dnl dnl Some systems, like OpenBSD 3.6, have getservbyname_r but don't declare it dnl if test "x$ac_cv_func_getservbyname_r" = "xyes"; then AC_CHECK_DECLS([getservbyname_r],,,[$netincludes]) fi KDE_CHECK_HEADERS([netinet/in.h net/if.h],,,[$netincludes]) KDE_CHECK_HEADERS([sys/filio.h]) AC_CHECK_FUNCS([usleep poll madvise]) dnl Check for struct addrinfo AC_CHECK_TYPES([struct addrinfo],,,[$netincludes]) kde_safe_LIBS="$LIBS" LIBS="$LIBS $LIBSOCKET" AC_CHECK_FUNCS([getaddrinfo], [ dnl Even though we now know that getaddrinfo is there, make sure getnameinfo is there too kde_gai_ok=true AC_CHECK_FUNCS([freeaddrinfo getnameinfo gai_strerror], : , [ kde_gai_ok=false AC_DEFINE(HAVE_BROKEN_GETADDRINFO, 1, [Define if getaddrinfo is broken and should be replaced]) AC_DEFINE(GETADDRINFO_RETURNS_UNIX, 1, [Define if getaddrinfo returns AF_UNIX sockets]) break ]) AC_MSG_CHECKING([if getaddrinfo works using numeric service with null host]) dnl On AIX (4.3), getaddrinfo returns NULL if the hint dnl is AF_INET/SOCK_STREAM/AI_PASSIVE. dnl The error code reports "Host not found". dnl It only seems to return non-NULL if the port is known (eg. in dnl /etc/services). AC_TRY_RUN(dnl [ #include #include #include #include int main() { struct addrinfo hint, *res; int err; memset(&hint, 0, sizeof(hint)); hint.ai_family = AF_INET; hint.ai_protocol = 0; hint.ai_socktype = SOCK_STREAM; hint.ai_flags = AI_PASSIVE; err = getaddrinfo(0, "18300", &hint, &res); /* kxmlrpc tries this */ if (err != 0 || res == 0 || res->ai_family != AF_INET) return 1; return 0; } ], [ AC_MSG_RESULT(yes) ], [ AC_MSG_RESULT(no) AC_DEFINE(HAVE_BROKEN_GETADDRINFO, 1, [Define if getaddrinfo is broken and should be replaced]) ], [ AC_MSG_RESULT(cross compiling. We hope so) ]) ] ) LIBS="$kde_safe_LIBS" AC_CHECK_MEMBERS([struct sockaddr.sa_len],,,[#include ]) AC_CHECK_TYPES([struct sockaddr_in6], [AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,[#include ])],, [#include #include ]) AC_MSG_CHECKING([for GLIBC function backtrace]) AC_TRY_LINK(dnl [ #include ], [ void* trace[256]; backtrace(trace, 256); ], [ AC_DEFINE(HAVE_BACKTRACE, 1, [Define if execinfo.h exists and defines backtrace (GLIBC >= 2.1)]) AC_MSG_RESULT(yes) ], AC_MSG_RESULT(no) ) AC_CHECK_HEADERS(sys/mount.h) dnl AC_OUTPUT(tdecore/tde-config.cpp) AM_CONFIG_HEADER(tdecore/kdemacros.h) SVGICONS= AC_ARG_WITH(libart, [AC_HELP_STRING(--with-libart, [enable support for libart @<:@default=check@:>@])], [], with_libart=check) if test "x$with_libart" != xno; then KDE_FIND_PATH(libart2-config, LIBART_CONFIG, [${prefix}/bin ${exec_prefix}/bin], [ AC_MSG_WARN([Could not find libart anywhere, check http://www.levien.com/libart/]) ]) if test -n "$LIBART_CONFIG"; then vers=`$LIBART_CONFIG --version 2>/dev/null | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'` if test -n "$vers" && test "$vers" -ge 2003008 then LIBART_LIBS="`$LIBART_CONFIG --libs`" LIBART_RPATH= for args in $LIBART_LIBS; do case $args in -L/usr/lib) ;; -L*) LIBART_RPATH="$LIBART_RPATH $args" ;; esac done LIBART_RPATH=`echo $LIBART_RPATH | sed -e "s/-L/-R/g"` LIBART_CFLAGS="`$LIBART_CONFIG --cflags`" SVGICONS=svgicons AC_DEFINE_UNQUOTED(HAVE_LIBART, 1, [Defines if your system has the libart library]) else AC_MSG_WARN([You need at least libart 2.3.8]) fi fi if test "x$with_libart" != xcheck && test -z "$LIBART_LIBS"; then AC_MSG_ERROR([--with-libart was given, but test for libart failed]) fi fi AC_SUBST(LIBART_LIBS) AC_SUBST(LIBART_CFLAGS) AC_SUBST(LIBART_RPATH) AM_CONDITIONAL(include_SVGICONS, test -n "$SVGICONS") AC_CHECK_HEADERS([sys/stropts.h sys/select.h libutil.h util.h termios.h pty.h termio.h]) AC_MSG_CHECKING([for revoke(tty) in unistd.h]) AC_TRY_LINK(dnl [ #include ], [ revoke("/dev/tty"); ], [ AC_DEFINE(HAVE_REVOKE, 1, [Define if revoke(tty) is present in unistd.h]) AC_MSG_RESULT(yes) ], AC_MSG_RESULT(no) )