Blame configure.ac

Packit 0d0b0c
#
Packit 0d0b0c
#  Copyright © 2003 Keith Packard, Noah Levitt
Packit 0d0b0c
#
Packit 0d0b0c
#  Permission to use, copy, modify, distribute, and sell this software and its
Packit 0d0b0c
#  documentation for any purpose is hereby granted without fee, provided that
Packit 0d0b0c
#  the above copyright notice appear in all copies and that both that
Packit 0d0b0c
#  copyright notice and this permission notice appear in supporting
Packit 0d0b0c
#  documentation, and that the name of Keith Packard not be used in
Packit 0d0b0c
#  advertising or publicity pertaining to distribution of the software without
Packit 0d0b0c
#  specific, written prior permission.  Keith Packard makes no
Packit 0d0b0c
#  representations about the suitability of this software for any purpose.  It
Packit 0d0b0c
#  is provided "as is" without express or implied warranty.
Packit 0d0b0c
#
Packit 0d0b0c
#  KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
Packit 0d0b0c
#  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
Packit 0d0b0c
#  EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
Packit 0d0b0c
#  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
Packit 0d0b0c
#  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
Packit 0d0b0c
#  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
Packit 0d0b0c
#  PERFORMANCE OF THIS SOFTWARE.
Packit 0d0b0c
#
Packit 0d0b0c
Packit 0d0b0c
# Initialize Autoconf
Packit 0d0b0c
AC_PREREQ([2.60])
Packit 0d0b0c
AC_INIT([libXt], [1.1.5],
Packit 0d0b0c
        [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXt])
Packit 0d0b0c
AC_CONFIG_SRCDIR([Makefile.am])
Packit 0d0b0c
AC_CONFIG_HEADERS([config.h])
Packit 0d0b0c
AC_CONFIG_MACRO_DIR([m4])
Packit 0d0b0c
Packit 0d0b0c
# Initialize Automake
Packit 0d0b0c
AM_INIT_AUTOMAKE([foreign dist-bzip2])
Packit 0d0b0c
Packit 0d0b0c
# Initialize libtool
Packit 0d0b0c
AC_PROG_LIBTOOL
Packit 0d0b0c
Packit 0d0b0c
# Require X.Org macros 1.13 or later for XORG_ENABLE_UNIT_TESTS
Packit 0d0b0c
m4_ifndef([XORG_MACROS_VERSION],
Packit 0d0b0c
          [m4_fatal([must install xorg-macros 1.13 or later before running autoconf/autogen])])
Packit 0d0b0c
XORG_MACROS_VERSION(1.13)
Packit 0d0b0c
XORG_DEFAULT_OPTIONS
Packit 0d0b0c
XORG_CHECK_MALLOC_ZERO
Packit 0d0b0c
XORG_ENABLE_SPECS
Packit 0d0b0c
XORG_WITH_XMLTO(0.0.20)
Packit 0d0b0c
XORG_WITH_FOP
Packit 0d0b0c
XORG_WITH_XSLTPROC
Packit 0d0b0c
XORG_CHECK_SGML_DOCTOOLS(1.01)
Packit 0d0b0c
XORG_PROG_RAWCPP
Packit 0d0b0c
XORG_WITH_PERL
Packit 0d0b0c
Packit 0d0b0c
Packit 0d0b0c
# Checks for header files.
Packit 0d0b0c
AC_CHECK_HEADER([alloca.h], AC_DEFINE(INCLUDE_ALLOCA_H, 1, [Define to 1 if Xalloca.h should include <alloca.h>]))
Packit 0d0b0c
Packit 0d0b0c
# Obtain compiler/linker options for depedencies
Packit 0d0b0c
PKG_CHECK_MODULES(XT, sm ice x11 xproto kbproto)
Packit 0d0b0c
Packit 0d0b0c
# Set-up variables to use build machine compiler when cross-compiling
Packit 0d0b0c
if test x"$CC_FOR_BUILD" = x; then
Packit 0d0b0c
	if test x"$cross_compiling" = xyes; then
Packit 0d0b0c
		AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
Packit 0d0b0c
	else
Packit 0d0b0c
	        CC_FOR_BUILD="$CC"
Packit 0d0b0c
	fi
Packit 0d0b0c
fi
Packit 0d0b0c
AC_SUBST([CC_FOR_BUILD])
Packit 0d0b0c
DEFAULT_CPPFLAGS_FOR_BUILD="${CPPFLAGS}"
Packit 0d0b0c
AC_CHECK_FUNC(asprintf,
Packit 0d0b0c
  [DEFAULT_CPPFLAGS_FOR_BUILD="${DEFAULT_CPPFLAGS_FOR_BUILD} -DHAVE_ASPRINTF -D_GNU_SOURCE"])
Packit 0d0b0c
CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${DEFAULT_CPPFLAGS_FOR_BUILD}}
Packit 0d0b0c
AC_SUBST(CPPFLAGS_FOR_BUILD)
Packit 0d0b0c
DEFAULT_CFLAGS_FOR_BUILD="${CFLAGS} ${CWARNFLAGS}"
Packit 0d0b0c
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${DEFAULT_CFLAGS_FOR_BUILD}}
Packit 0d0b0c
AC_SUBST(CFLAGS_FOR_BUILD)
Packit 0d0b0c
LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
Packit 0d0b0c
AC_SUBST(LDFLAGS_FOR_BUILD)
Packit 0d0b0c
Packit 0d0b0c
# Map function checks to old Imake #defines
Packit 0d0b0c
case $host_os in
Packit 0d0b0c
	# darwin through Snow Leopard has poll() but can't be used to poll character devices.
Packit 0d0b0c
	darwin@<:@789@:>@*|darwin10*) ;;
Packit 0d0b0c
	darwin*)
Packit 0d0b0c
		_ac_xorg_macosx_version_min=""
Packit 0d0b0c
		if echo $CPPFLAGS $CFLAGS | grep -q mmacosx-version-min ; then
Packit 0d0b0c
			_ac_xorg_macosx_version_min=`echo $CPPFLAGS $CFLAGS | sed 's/^.*-mmacosx-version-min=\(@<:@^ @:>@*\).*$/\1/'`
Packit 0d0b0c
		else
Packit 0d0b0c
			_ac_xorg_macosx_version_min=$MACOSX_DEPLOYMENT_TARGET
Packit 0d0b0c
		fi
Packit 0d0b0c
		case $_ac_xorg_macosx_version_min in
Packit 0d0b0c
			10.@<:@0123456@:>@|10.@<:@0123456@:>@.*) ;;
Packit 0d0b0c
			*)
Packit 0d0b0c
				AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], )
Packit 0d0b0c
			;;
Packit 0d0b0c
		esac
Packit 0d0b0c
		unset _ac_xorg_macosx_version_min
Packit 0d0b0c
		;;
Packit 0d0b0c
	*)
Packit 0d0b0c
		AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], )
Packit 0d0b0c
	;;
Packit 0d0b0c
esac
Packit 0d0b0c
Packit 0d0b0c
# Link with winsock if mingw target
Packit 0d0b0c
case $host_os in
Packit 0d0b0c
	*mingw*)
Packit 0d0b0c
		AC_HAVE_LIBRARY(ws2_32)
Packit 0d0b0c
	;;
Packit 0d0b0c
	*)
Packit 0d0b0c
	;;
Packit 0d0b0c
esac
Packit 0d0b0c
Packit 0d0b0c
# Options
Packit 0d0b0c
AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Disable XKB support]),
Packit 0d0b0c
	XKB="$enableval", XKB="yes")
Packit 0d0b0c
if test "x$XKB" = "xyes" ; then
Packit 0d0b0c
	AC_DEFINE(XKB, 1, [Define to 1 to use XKB for keysym resolution.])
Packit 0d0b0c
fi
Packit 0d0b0c
Packit 0d0b0c
# --enable-unit-tests
Packit 0d0b0c
XORG_ENABLE_UNIT_TESTS
Packit 0d0b0c
XORG_WITH_GLIB([2.16])
Packit 0d0b0c
Packit 0d0b0c
# Memory checking support
Packit 0d0b0c
case $host_os in
Packit 0d0b0c
     solaris*)
Packit 0d0b0c
        AC_CHECK_LIB([umem], [umem_alloc],
Packit 0d0b0c
            [MALLOC_DEBUG_ENV='LD_PRELOAD=libumem.so UMEM_DEBUG=default'])
Packit 0d0b0c
        ;;
Packit 0d0b0c
     *-gnu*) # GNU libc - Value is used as a single byte bit pattern,
Packit 0d0b0c
        # both directly and inverted, so should not be 0 or 255.
Packit 0d0b0c
        MALLOC_DEBUG_ENV='MALLOC_PERTURB_=15'
Packit 0d0b0c
        ;;
Packit 0d0b0c
     *bsd*|darwin*)
Packit 0d0b0c
        MALLOC_DEBUG_ENV='MallocPreScribble=1 MallocScribble=1'
Packit 0d0b0c
        ;;
Packit 0d0b0c
esac
Packit 0d0b0c
AC_SUBST([MALLOC_DEBUG_ENV])
Packit 0d0b0c
Packit 0d0b0c
# Replaces XFileSearchPathDefault from Imake configs
Packit 0d0b0c
XFILESEARCHPATHDEFAULT='$(sysconfdir)/X11/%L/%T/%N%C%S:$(sysconfdir)/X11/%l/%T/%N%C%S:$(sysconfdir)/X11/%T/%N%C%S:$(sysconfdir)/X11/%L/%T/%N%S:$(sysconfdir)/X11/%l/%T/%N%S:$(sysconfdir)/X11/%T/%N%S:$(datadir)/X11/%L/%T/%N%C%S:$(datadir)/X11/%l/%T/%N%C%S:$(datadir)/X11/%T/%N%C%S:$(datadir)/X11/%L/%T/%N%S:$(datadir)/X11/%l/%T/%N%S:$(datadir)/X11/%T/%N%S:$(libdir)/X11/%L/%T/%N%C%S:$(libdir)/X11/%l/%T/%N%C%S:$(libdir)/X11/%T/%N%C%S:$(libdir)/X11/%L/%T/%N%S:$(libdir)/X11/%l/%T/%N%S:$(libdir)/X11/%T/%N%S'
Packit 0d0b0c
Packit 0d0b0c
AC_ARG_WITH(xfile-search-path,
Packit 0d0b0c
	AS_HELP_STRING([--with-xfile-search-path=<path>],
Packit 0d0b0c
		       [Set path to search for app-defaults and other files]),
Packit 0d0b0c
	[XFILESEARCHPATHDEFAULT="$withval"], [])
Packit 0d0b0c
AC_SUBST([XFILESEARCHPATHDEFAULT])
Packit 0d0b0c
Packit 0d0b0c
AC_ARG_WITH(appdefaultdir,
Packit 0d0b0c
	AS_HELP_STRING([--with-appdefaultdir=<path>],
Packit 0d0b0c
		       [Set app-default directory (default: ${datadir}/X11/app-defaults)]),
Packit 0d0b0c
	[appdefaultdir="$withval"],
Packit 0d0b0c
	[appdefaultdir=${datadir}/X11/app-defaults])
Packit 0d0b0c
AX_DEFINE_DIR([appdefaultdir], [appdefaultdir], [app default data directory])
Packit 0d0b0c
Packit 0d0b0c
# Replacement for Imake ToolkitStringsABIOptions, controls string tables
Packit 0d0b0c
# generated by util/string.list in StringDefs.h & Shell.h
Packit 0d0b0c
case $host_os in
Packit 0d0b0c
	solaris*)
Packit 0d0b0c
		# Solaris uses -intelabi even on SPARC
Packit 0d0b0c
  		STRINGSABIOPTIONS="-intelabi -solarisabinames"
Packit 0d0b0c
		;;
Packit 0d0b0c
	sco* | svr4*)
Packit 0d0b0c
		case $host_cpu in
Packit 0d0b0c
		    i*86) STRINGSABIOPTIONS="-intelabi" ;;
Packit 0d0b0c
		       *) STRINGSABIOPTIONS="" ;;
Packit 0d0b0c
		esac
Packit 0d0b0c
		;;
Packit 0d0b0c
esac
Packit 0d0b0c
AC_SUBST(STRINGSABIOPTIONS)
Packit 0d0b0c
Packit 0d0b0c
ERRORDBDIR=${datadir}/X11
Packit 0d0b0c
AC_SUBST(ERRORDBDIR)
Packit 0d0b0c
Packit 0d0b0c
case $host_os in
Packit 0d0b0c
    darwin*)
Packit 0d0b0c
        OS_CFLAGS="-Wl,-flat_namespace"
Packit 0d0b0c
	;;
Packit 0d0b0c
    *)
Packit 0d0b0c
        OS_CFLAGS=
Packit 0d0b0c
        ;;
Packit 0d0b0c
esac
Packit 0d0b0c
Packit 0d0b0c
XT_CFLAGS="$XT_CFLAGS $OS_CFLAGS"
Packit 0d0b0c
Packit 0d0b0c
AC_CONFIG_FILES([Makefile
Packit 0d0b0c
		src/Makefile
Packit 0d0b0c
		util/Makefile
Packit 0d0b0c
		include/Makefile
Packit 0d0b0c
		man/Makefile
Packit 0d0b0c
		specs/Makefile
Packit 0d0b0c
		test/Makefile
Packit 0d0b0c
		xt.pc])
Packit 0d0b0c
AC_OUTPUT