You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/kdecore/configure.in.in

235 lines
6.6 KiB

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