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