summaryrefslogtreecommitdiffstats
path: root/kdecore/configure.in.in
diff options
context:
space:
mode:
Diffstat (limited to 'kdecore/configure.in.in')
-rw-r--r--kdecore/configure.in.in234
1 files changed, 234 insertions, 0 deletions
diff --git a/kdecore/configure.in.in b/kdecore/configure.in.in
new file mode 100644
index 000000000..b2fe9bd6e
--- /dev/null
+++ b/kdecore/configure.in.in
@@ -0,0 +1,234 @@
+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 kdesu_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(kdecore/kde-config.cpp)
+
+AM_CONFIG_HEADER(kdecore/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)
+)