|
|
|
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(__KDE_BINDIR, $bindir_str, [KDE 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 <pty.h>
|
|
|
|
|
|
|
|
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 <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <netdb.h>"
|
|
|
|
|
|
|
|
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 <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <netdb.h>
|
|
|
|
#include <string.h>
|
|
|
|
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 <sys/socket.h>])
|
|
|
|
AC_CHECK_TYPES([struct sockaddr_in6],
|
|
|
|
[AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,[#include <netinet/in.h>])],,
|
|
|
|
[#include <sys/types.h>
|
|
|
|
#include <netinet/in.h>])
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([for GLIBC function backtrace])
|
|
|
|
AC_TRY_LINK(dnl
|
|
|
|
[
|
|
|
|
#include <execinfo.h>
|
|
|
|
],
|
|
|
|
[
|
|
|
|
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/kde-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 <unistd.h>
|
|
|
|
],
|
|
|
|
[
|
|
|
|
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)
|
|
|
|
)
|