aboutsummaryrefslogtreecommitdiff
path: root/libX11/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'libX11/configure.ac')
-rw-r--r--libX11/configure.ac483
1 files changed, 483 insertions, 0 deletions
diff --git a/libX11/configure.ac b/libX11/configure.ac
new file mode 100644
index 000000000..15d661406
--- /dev/null
+++ b/libX11/configure.ac
@@ -0,0 +1,483 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.57)
+AC_INIT([libX11],
+ 1.1.5,
+ [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
+ libX11)
+AC_CONFIG_SRCDIR([Makefile.am])
+AM_INIT_AUTOMAKE([dist-bzip2 foreign])
+
+AM_MAINTAINER_MODE
+
+AM_CONFIG_HEADER([src/config.h])
+AC_CONFIG_HEADER([include/X11/XlibConf.h])
+
+# Require xorg-macros version 1.1.0 or newer for XORG_WITH_LINT macro
+m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.1)
+
+# Checks for programs.
+AC_PROG_LIBTOOL
+AC_PROG_CC
+
+XORG_PROG_RAWCPP
+
+# Build with XCB support?
+AC_ARG_WITH(xcb,
+ AC_HELP_STRING([--with-xcb], [use XCB for low-level protocol implementation]),
+ [ac_cv_use_xcb=$withval], [ac_cv_use_xcb=yes])
+AC_CACHE_CHECK([whether to use XCB], [ac_cv_use_xcb], [ac_cv_use_xcb=yes])
+AM_CONDITIONAL(XCB, test x$ac_cv_use_xcb != xno)
+
+# Checks for pkg-config packages
+PKG_CHECK_MODULES(XPROTO, [xproto >= 7.0.6])
+AC_SUBST(XPROTO_CFLAGS)
+
+case "$ac_cv_use_xcb" in
+no)
+ X11_REQUIRES="xau xcmiscproto bigreqsproto"
+ PKG_CHECK_MODULES(XDMCP, xdmcp)
+ AC_CHECK_LIB(Xdmcp, XdmcpWrap, [xdmauth="yes"], [xdmauth="no"], [$XDMCP_LIBS])
+ AC_DEFINE(USE_XCB, 0, [Use XCB for low-level protocol implementation])
+ ;;
+*)
+ X11_REQUIRES="xcb-xlib >= 0.9.92"
+ X11_EXTRA_DEPS="xcb-xlib"
+ xdmauth="no" # XCB handles all auth
+ AC_DEFINE(USE_XCB, 1, [Use XCB for low-level protocol implementation])
+ ;;
+esac
+AC_SUBST(X11_EXTRA_DEPS)
+PKG_CHECK_MODULES(X11, xextproto xtrans $X11_REQUIRES)
+
+dnl Issue an error if xtrans.m4 was not found and XTRANS_CONNECTION_FLAGS macro
+dnl was not expanded, since libX11 with no transport types is rather useless.
+dnl
+dnl If you're seeing an error here, be sure you installed the lib/xtrans module
+dnl first and if it's not in the default location, that you set the ACLOCAL
+dnl environment variable to find it, such as:
+dnl ACLOCAL="aclocal -I ${PREFIX}/share/aclocal"
+m4_pattern_forbid(XTRANS_CONNECTION_FLAGS)
+
+# Transport selection macro from xtrans.m4
+XTRANS_CONNECTION_FLAGS
+
+# Secure RPC detection macro from xtrans.m4
+XTRANS_SECURE_RPC_FLAGS
+
+# Check for dlopen
+AC_MSG_CHECKING([if run-time linking is supported])
+AC_SEARCH_LIBS(dlopen,[dl svld])
+if test "x$ac_cv_search_dlopen" = xno; then
+ AC_SEARCH_LIBS(shl_load,[dld])
+ if test "x$ac_cv_search_shl_load" != xno; then
+ AC_DEFINE(HAVE_SHL_LOAD,1,
+ [Use shl_load to load shared libraries])
+ AC_CHECK_HEADERS([dl.h])
+ fi
+else
+ AC_DEFINE(HAVE_DLOPEN,1,[Use dlopen to load shared libraries])
+ AC_CHECK_HEADERS([dlfcn.h])
+fi
+if test x$ac_cv_header_dlcfn_h -o x$ac_cv_header_dl_h; then
+ HAVE_LOADABLE_MODULES=yes
+else
+ HAVE_LOADABLE_MODULES=no
+fi
+AC_MSG_RESULT($HAVE_LOADABLE_MODULES)
+
+AC_MSG_CHECKING([if loadable i18n module support should be enabled])
+AC_ARG_ENABLE(loadable-i18n,
+ AC_HELP_STRING([--enable-loadable-i18n],
+ [Controls loadable i18n module support]),
+ [XLIB_LOADABLE_I18N=$enableval],
+ [XLIB_LOADABLE_I18N="no"])
+if test x$XLIB_LOADABLE_I18N = xyes; then
+ if test x$HAVE_LOADABLE_MODULES = xno; then
+ AC_MSG_ERROR([Loadable module support is required to enable loadable i18n module support])
+ fi
+ AC_DEFINE(USE_DYNAMIC_LC,1,
+ [Split some i18n functions into loadable modules])
+ AC_SUBST(I18N_MODULE_LIBS,'${top_builddir}/src/libX11.la')
+fi
+AC_MSG_RESULT($XLIB_LOADABLE_I18N)
+
+AM_CONDITIONAL(XLIB_LOADABLE_I18N, test x$XLIB_LOADABLE_I18N = xyes)
+
+AC_MSG_CHECKING([if loadable Xcursor library support should be enabled])
+AC_ARG_ENABLE(loadable-xcursor,
+ AC_HELP_STRING([--disable-loadable-xcursor],
+ [Controls loadable xcursor library support]),
+ [XLIB_LOADABLE_XCURSOR=$enableval],
+ [XLIB_LOADABLE_XCURSOR=$HAVE_LOADABLE_MODULES])
+if test x$XLIB_LOADABLE_XCURSOR = xyes; then
+ AC_DEFINE(USE_DYNAMIC_XCURSOR,1,
+ [Use the X cursor library to load cursors])
+fi
+AC_MSG_RESULT($XLIB_LOADABLE_XCURSOR)
+
+# Checks for header files.
+AC_HEADER_STDC
+dnl AC_CHECK_HEADERS([stdio.h stdlib.h math.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+
+# Checks for library functions.
+AC_CHECK_FUNCS([strtol])
+# Used in lcFile.c (see also --enable-xlocaledir settings below)
+XLOCALEDIR_IS_SAFE="no"
+AC_CHECK_FUNC([issetugid], [XLOCALEDIR_IS_SAFE="yes"]
+ AC_DEFINE(HASSETUGID,1,[Has issetugid() function]))
+AC_CHECK_FUNC([getresuid], [XLOCALEDIR_IS_SAFE="yes"]
+ AC_DEFINE(HASGETRESUID,1,[Has getresuid() & getresgid() functions]))
+# Used in Font.c
+AC_CHECK_FUNC([shmat], AC_DEFINE(HAS_SHM,1,[Has shm*() functions]))
+
+# Checks for system services
+dnl AC_PATH_XTRA
+
+# arch specific things
+WCHAR32="1"
+case $target_alias in
+ *os2*) os2="true" ; WCHAR32="0" ;;
+ *) ;;
+esac
+AC_SUBST(WCHAR32)
+
+AM_CONDITIONAL(OS2, test x$os2 = xtrue)
+
+AC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto])
+if test "x$LAUNCHD" = xauto; then
+ unset LAUNCHD
+ AC_CHECK_PROG(LAUNCHD, [launchd], [yes], [no])
+fi
+
+if test "x$LAUNCHD" = xyes ; then
+ AC_DEFINE(HAVE_LAUNCHD, 1, [launchd support available])
+ AC_DEFINE(TRANS_REOPEN, 1, [launchd support available])
+fi
+
+AC_ARG_ENABLE(xthreads,
+ AC_HELP_STRING([--disable-xthreads],
+ [Disable Xlib support for Multithreading]),
+ [xthreads=$enableval],[xthreads=yes])
+
+AC_CHECK_LIB(c, getpwuid_r, [mtsafeapi="yes"], [mtsafeapi="no"])
+
+case x$xthreads in
+xyes)
+ AC_DEFINE(XTHREADS,[],[Whether libX11 is compiled with thread support])
+ if test x$mtsafeapi = xyes
+ then
+ AC_DEFINE(XUSE_MTSAFE_API,[],[Whether libX11 needs to use MT safe API's])
+ fi
+ ;;
+*)
+ ;;
+esac
+AC_SUBST(XTHREADS)
+AC_SUBST(XUSE_MTSAFE_API)
+
+AC_CHECK_LIB(c, pthread_self, [thrstubs="no"], [thrstubs="yes"])
+AM_CONDITIONAL(THRSTUBS, test x$thrstubs = xyes)
+
+dnl XXX incomplete, please fill this in
+if test x$xthreads = xyes ; then
+ case $host_os in
+ linux*|openbsd*|gnu*|k*bsd*-gnu)
+ XTHREADLIB=-lpthread ;;
+ netbsd*)
+ XTHREAD_CFLAGS="-D_POSIX_THREAD_SAFE_FUNCTIONS"
+ XTHREADLIB="-lpthread" ;;
+ freebsd*)
+ XTHREAD_CFLAGS="-D_THREAD_SAFE"
+ XTHREADLIB="-pthread" ;;
+ dragonfly*)
+ XTHREADLIB="-pthread" ;;
+ solaris*)
+ XTHREAD_CFLAGS="-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS" ;;
+ esac
+fi
+AC_SUBST(XTHREADLIB)
+AC_SUBST(XTHREAD_CFLAGS)
+X11_CFLAGS="$X11_CFLAGS $XTHREAD_CFLAGS"
+
+case x$xdmauth in
+xyes)
+ XDMCP_CFLAGS="$XDMCP_CFLAGS -DHASXDMAUTH"
+ ;;
+xno)
+ XDMCP_LIBS=""
+ ;;
+esac
+AC_SUBST(XDMCP_CFLAGS)
+AC_SUBST(XDMCP_LIBS)
+
+AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], )
+
+#
+# Find keysymdef.h
+#
+AC_MSG_CHECKING([keysymdef.h])
+dir=`pkg-config --variable=includedir xproto`
+KEYSYMDEF="$dir/X11/keysymdef.h"
+if test -f "$KEYSYMDEF"; then
+ AC_MSG_RESULT([$KEYSYMDEF])
+else
+ AC_MSG_ERROR([Cannot find keysymdef.h])
+fi
+AC_SUBST(KEYSYMDEF)
+
+AM_CONDITIONAL(UDC, test xfalse = xtrue)
+
+AC_ARG_ENABLE(xcms,
+ AC_HELP_STRING([--disable-xcms],
+ [Disable Xlib support for CMS *EXPERIMENTAL*]),
+ [XCMS=$enableval],[XCMS=yes])
+AM_CONDITIONAL(XCMS, [test x$XCMS = xyes ])
+if test x"$XCMS" = "xyes"; then
+ AC_DEFINE(XCMS,1,[Include support for XCMS])
+fi
+
+AC_ARG_ENABLE(xlocale,
+ AC_HELP_STRING([--disable-xlocale],
+ [Disable Xlib locale implementation *EXPERIMENTAL*]),
+ [XLOCALE=$enableval],[XLOCALE=yes])
+
+AM_CONDITIONAL(XLOCALE, [ test x$XLOCALE = xyes ])
+if test x"$XLOCALE" = "xyes"; then
+ AC_DEFINE(XLOCALE,1,[support for X Locales])
+fi
+
+# This disables XLOCALEDIR. Set it if you're using BuildLoadableXlibI18n,
+# don't have either issetugid() or getresuid(), and you need to protect
+# clients that are setgid or setuid to an id other than 0.
+AC_MSG_CHECKING([if XLOCALEDIR support should be enabled])
+AC_ARG_ENABLE(xlocaledir,
+ AC_HELP_STRING([--enable-xlocaledir],
+ [Enable XLOCALEDIR environment variable support]),
+ [ENABLE_XLOCALEDIR=$enableval],[ENABLE_XLOCALEDIR=$XLOCALEDIR_IS_SAFE])
+if test "x$ENABLE_XLOCALEDIR" = "xno"; then
+ AC_DEFINE(NO_XLOCALEDIR,1,[Disable XLOCALEDIR environment variable])
+fi
+AC_MSG_RESULT($ENABLE_XLOCALEDIR)
+
+AC_ARG_ENABLE(xf86bigfont,
+ AC_HELP_STRING([--disable-xf86bigfont],
+ [Disable XF86BigFont extension support]),
+ [XF86BIGFONT=$enableval],[XF86BIGFONT="yes"])
+if test "x$XF86BIGFONT" = "xyes"; then
+ PKG_CHECK_MODULES(BIGFONT, xf86bigfontproto,
+ AC_DEFINE(XF86BIGFONT,1,[Enable XF86BIGFONT extension]),XF86BIGFONT="no")
+ AC_SUBST(BIGFONT_CFLAGS)
+ AC_SUBST(BIGFONT_LIBS)
+fi
+
+AC_ARG_ENABLE(xkb,
+ AC_HELP_STRING([--disable-xkb],
+ [Disable XKB support *EXPERIMENTAL*]),
+ [XKB=$enableval],[XKB=yes])
+
+XORG_MANPAGE_SECTIONS
+
+AC_ARG_ENABLE(man-pages,
+ AC_HELP_STRING([--enable-man-pages=section],
+ [Choose manual section for installing man pages]),
+ [LIBMAN=$enableval],[LIBMAN=yes])
+
+if test "x$LIBMAN" != "xyes"; then
+ LIB_MAN_SUFFIX=$LIBMAN
+fi
+
+AM_CONDITIONAL(MANPAGES, [ test x$LIBMAN '!=' xno ])
+
+AM_CONDITIONAL(XKB, [ test x$XKB = xyes ])
+if test x"$XKB" = "xyes"; then
+ XKBPROTO_REQUIRES="kbproto"
+ PKG_CHECK_MODULES(XKBPROTO, kbproto inputproto)
+ AC_DEFINE(XKB,1,[Use XKB])
+ X11_CFLAGS="$X11_CFLAGS $XKBPROTO_CFLAGS"
+ X11_LIBS="$X11_LIBS $XKBPROTO_LIBS"
+else
+ XKBPROTO_REQUIRES=""
+fi
+AC_SUBST(XKBPROTO_REQUIRES)
+
+AC_FUNC_MMAP()
+composecache_default=$ac_cv_func_mmap_fixed_mapped
+AC_CHECK_FUNC(nl_langinfo, , [composecache_default=no])
+AC_ARG_ENABLE(composecache,
+ AC_HELP_STRING([--disable-composecache],
+ [Disable compose table cache support]),
+ [COMPOSECACHE=$enableval],[COMPOSECACHE=$composecache_default])
+if test x"$COMPOSECACHE" = "xyes"; then
+ AC_DEFINE(COMPOSECACHE,1,[Include compose table cache support])
+fi
+
+dnl Allow checking code with lint, sparse, etc.
+XORG_WITH_LINT
+XORG_LINT_LIBRARY([X11])
+LINT_FLAGS="${LINT_FLAGS} ${X11_CFLAGS} ${XPROTO_CFLAGS}"
+
+if test "x$GCC" = "xyes"; then
+ GCC_WARNINGS="-Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wnested-externs -fno-strict-aliasing"
+ X11_CFLAGS="$GCC_WARNINGS $X11_CFLAGS"
+fi
+
+AC_TRY_COMPILE([
+#include <features.h>
+#ifndef __GLIBC__
+#error not glibc
+#endif
+], [], [AC_DEFINE(_GNU_SOURCE, 1,
+ [ Enable GNU and other extensions to the C environment for glibc])])
+
+X11_DATADIR="${datadir}/X11"
+AC_DEFINE_DIR(X11_DATADIR, X11_DATADIR, [Location of libX11 data])
+AC_SUBST(X11_DATADIR)
+
+X11_LIBDIR="${libdir}/X11"
+AC_DEFINE_DIR(X11_LIBDIR, X11_LIBDIR, [Location of libX11 library data])
+AC_SUBST(X11_LIBDIR)
+
+X11_CFLAGS="$X11_CFLAGS $XPROTO_CFLAGS"
+
+AC_SUBST(X11_CFLAGS)
+AC_SUBST(X11_LIBS)
+
+#
+# Yes, it would be nice to put the locale data in
+# /usr/share, but the locale stuff includes loadable
+# libraries which must be located in the same directory
+# as the other locale data, so for now, everything lives
+# in ${libdir}
+#
+
+X11_LOCALEDATADIR="${X11_DATADIR}/locale"
+AC_DEFINE_DIR(XLOCALEDATADIR, X11_LOCALEDATADIR, [Location of libX11 locale data])
+AC_SUBST(X11_LOCALEDATADIR)
+
+X11_LOCALELIBDIR="${X11_LIBDIR}/locale"
+AC_DEFINE_DIR(XLOCALELIBDIR, X11_LOCALELIBDIR, [Location of libX11 locale libraries])
+AC_SUBST(X11_LOCALELIBDIR)
+
+X11_LOCALEDIR="${X11_LOCALEDATADIR}"
+AC_DEFINE_DIR(XLOCALEDIR, X11_LOCALEDIR, [Location of libX11 locale data])
+AC_SUBST(X11_LOCALEDIR)
+
+XKEYSYMDB="${X11_DATADIR}/XKeysymDB"
+AC_DEFINE_DIR(XKEYSYMDB, XKEYSYMDB, [Location of keysym database])
+
+XERRORDB="${X11_DATADIR}/XErrorDB"
+AC_DEFINE_DIR(XERRORDB, XERRORDB, [Location of error message database])
+
+
+XORG_CHECK_MALLOC_ZERO
+XORG_RELEASE_VERSION
+
+AC_OUTPUT([Makefile
+ include/Makefile
+ man/Makefile
+ man/xkb/Makefile
+ src/Makefile
+ src/util/Makefile
+ src/xcms/Makefile
+ src/xlibi18n/Makefile
+ modules/Makefile
+ modules/im/Makefile
+ modules/im/ximcp/Makefile
+ modules/lc/Makefile
+ modules/lc/def/Makefile
+ modules/lc/gen/Makefile
+ modules/lc/Utf8/Makefile
+ modules/lc/xlocale/Makefile
+ modules/om/Makefile
+ modules/om/generic/Makefile
+ src/xkb/Makefile
+ nls/Makefile
+ nls/am_ET.UTF-8/Makefile
+ nls/armscii-8/Makefile
+ nls/C/Makefile
+ nls/el_GR.UTF-8/Makefile
+ nls/en_US.UTF-8/Makefile
+ nls/georgian-academy/Makefile
+ nls/georgian-ps/Makefile
+ nls/ibm-cp1133/Makefile
+ nls/iscii-dev/Makefile
+ nls/isiri-3342/Makefile
+ nls/iso8859-1/Makefile
+ nls/iso8859-10/Makefile
+ nls/iso8859-11/Makefile
+ nls/iso8859-13/Makefile
+ nls/iso8859-14/Makefile
+ nls/iso8859-15/Makefile
+ nls/iso8859-2/Makefile
+ nls/iso8859-3/Makefile
+ nls/iso8859-4/Makefile
+ nls/iso8859-5/Makefile
+ nls/iso8859-6/Makefile
+ nls/iso8859-7/Makefile
+ nls/iso8859-8/Makefile
+ nls/iso8859-9/Makefile
+ nls/iso8859-9e/Makefile
+ nls/ja/Makefile
+ nls/ja.JIS/Makefile
+ nls/ja_JP.UTF-8/Makefile
+ nls/ja.S90/Makefile
+ nls/ja.SJIS/Makefile
+ nls/ja.U90/Makefile
+ nls/ko/Makefile
+ nls/koi8-c/Makefile
+ nls/koi8-r/Makefile
+ nls/koi8-u/Makefile
+ nls/ko_KR.UTF-8/Makefile
+ nls/microsoft-cp1251/Makefile
+ nls/microsoft-cp1255/Makefile
+ nls/microsoft-cp1256/Makefile
+ nls/mulelao-1/Makefile
+ nls/nokhchi-1/Makefile
+ nls/pt_BR.UTF-8/Makefile
+ nls/tatar-cyr/Makefile
+ nls/th_TH/Makefile
+ nls/th_TH.UTF-8/Makefile
+ nls/tscii-0/Makefile
+ nls/vi_VN.tcvn/Makefile
+ nls/vi_VN.viscii/Makefile
+ nls/zh_CN/Makefile
+ nls/zh_CN.gb18030/Makefile
+ nls/zh_CN.gbk/Makefile
+ nls/zh_CN.UTF-8/Makefile
+ nls/zh_HK.big5/Makefile
+ nls/zh_HK.big5hkscs/Makefile
+ nls/zh_HK.UTF-8/Makefile
+ nls/zh_TW/Makefile
+ nls/zh_TW.big5/Makefile
+ nls/zh_TW.UTF-8/Makefile
+ x11.pc
+ x11-xcb.pc])
+
+man_pages_suffix=$LIBMAN_SUFFIX
+if test -z "$man_pages_suffix"; then
+ man_pages_suffix=none
+fi
+
+echo ""
+echo "X11 will be built with the following settings:"
+echo " Loadable i18n module support: "$XLIB_LOADABLE_I18N
+echo " Loadable xcursor library support: "$XLIB_LOADABLE_XCURSOR
+echo " Use XCB: "$ac_cv_use_xcb
+echo " Threading support: "$xthreads
+echo " Use Threads safe API: "$mtsafeapi
+echo " Threads stubs in libX11: "$thrstubs
+echo " XCMS: "$XCMS
+echo " Internationalization support: "$XLOCALE
+echo " XF86BigFont support: "$XF86BIGFONT
+echo " XKB support: "$XKB
+echo " XLOCALEDIR environment variable support: "$ENABLE_XLOCALEDIR
+echo " Manual pages suffix: "$man_pages_suffix
+echo " Compose table cache enabled: "$COMPOSECACHE
+echo ""