configure.ac revision 339a7c43
1bdf0f55dSmrg# 2bdf0f55dSmrg# Copyright © 2003 Keith Packard, Noah Levitt 3bdf0f55dSmrg# 4bdf0f55dSmrg# Permission to use, copy, modify, distribute, and sell this software and its 5bdf0f55dSmrg# documentation for any purpose is hereby granted without fee, provided that 6bdf0f55dSmrg# the above copyright notice appear in all copies and that both that 7bdf0f55dSmrg# copyright notice and this permission notice appear in supporting 8bdf0f55dSmrg# documentation, and that the name of Keith Packard not be used in 9bdf0f55dSmrg# advertising or publicity pertaining to distribution of the software without 10bdf0f55dSmrg# specific, written prior permission. Keith Packard makes no 11bdf0f55dSmrg# representations about the suitability of this software for any purpose. It 12bdf0f55dSmrg# is provided "as is" without express or implied warranty. 13bdf0f55dSmrg# 14bdf0f55dSmrg# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 15bdf0f55dSmrg# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 16bdf0f55dSmrg# EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 17bdf0f55dSmrg# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 18bdf0f55dSmrg# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 19bdf0f55dSmrg# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 20bdf0f55dSmrg# PERFORMANCE OF THIS SOFTWARE. 21bdf0f55dSmrg# 22bdf0f55dSmrg 23bdf0f55dSmrg# Initialize Autoconf 24249c3046SmrgAC_PREREQ([2.60]) 25339a7c43SmrgAC_INIT([libXt], [1.1.5], 26249c3046Smrg [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXt]) 27bdf0f55dSmrgAC_CONFIG_SRCDIR([Makefile.am]) 28bdf0f55dSmrgAC_CONFIG_HEADERS([config.h]) 29249c3046SmrgAC_CONFIG_MACRO_DIR([m4]) 30bdf0f55dSmrg 31bdf0f55dSmrg# Initialize Automake 321477040fSmrgAM_INIT_AUTOMAKE([foreign dist-bzip2]) 33444c061aSmrg 34bdf0f55dSmrg# Initialize libtool 35bdf0f55dSmrgAC_PROG_LIBTOOL 36bdf0f55dSmrg 379e7bcd65Smrg# Require X.Org macros 1.13 or later for XORG_ENABLE_UNIT_TESTS 381477040fSmrgm4_ifndef([XORG_MACROS_VERSION], 399e7bcd65Smrg [m4_fatal([must install xorg-macros 1.13 or later before running autoconf/autogen])]) 409e7bcd65SmrgXORG_MACROS_VERSION(1.13) 411477040fSmrgXORG_DEFAULT_OPTIONS 42bdf0f55dSmrgXORG_CHECK_MALLOC_ZERO 439e7bcd65SmrgXORG_ENABLE_SPECS 449e7bcd65SmrgXORG_WITH_XMLTO(0.0.20) 459e7bcd65SmrgXORG_WITH_FOP 469e7bcd65SmrgXORG_WITH_XSLTPROC 479e7bcd65SmrgXORG_CHECK_SGML_DOCTOOLS(1.01) 489e7bcd65SmrgXORG_PROG_RAWCPP 499e7bcd65SmrgXORG_WITH_PERL 509e7bcd65Smrg 51444c061aSmrg 52bdf0f55dSmrg# Checks for header files. 53bdf0f55dSmrgAC_CHECK_HEADER([alloca.h], AC_DEFINE(INCLUDE_ALLOCA_H, 1, [Define to 1 if Xalloca.h should include <alloca.h>])) 54bdf0f55dSmrg 55bdf0f55dSmrg# Obtain compiler/linker options for depedencies 56bdf0f55dSmrgPKG_CHECK_MODULES(XT, sm ice x11 xproto kbproto) 572265a131Smrg 58bdf0f55dSmrg# Set-up variables to use build machine compiler when cross-compiling 592265a131Smrgif test x"$CC_FOR_BUILD" = x; then 602265a131Smrg if test x"$cross_compiling" = xyes; then 612265a131Smrg AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc) 622265a131Smrg else 632265a131Smrg CC_FOR_BUILD="$CC" 642265a131Smrg fi 652265a131Smrgfi 662265a131SmrgAC_SUBST([CC_FOR_BUILD]) 67339a7c43SmrgDEFAULT_CPPFLAGS_FOR_BUILD="${CPPFLAGS}" 68339a7c43SmrgAC_CHECK_FUNC(asprintf, 69339a7c43Smrg [DEFAULT_CPPFLAGS_FOR_BUILD="${DEFAULT_CPPFLAGS_FOR_BUILD} -DHAVE_ASPRINTF -D_GNU_SOURCE"]) 70339a7c43SmrgCPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${DEFAULT_CPPFLAGS_FOR_BUILD}} 71339a7c43SmrgAC_SUBST(CPPFLAGS_FOR_BUILD) 72339a7c43SmrgDEFAULT_CFLAGS_FOR_BUILD="${CFLAGS} ${CWARNFLAGS}" 73339a7c43SmrgCFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${DEFAULT_CFLAGS_FOR_BUILD}} 742ae83157SmrgAC_SUBST(CFLAGS_FOR_BUILD) 752ae83157SmrgLDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} 762ae83157SmrgAC_SUBST(LDFLAGS_FOR_BUILD) 77444c061aSmrg 78444c061aSmrg# Map function checks to old Imake #defines 792265a131Smrgcase $host_os in 80bdf0f55dSmrg # darwin through Snow Leopard has poll() but can't be used to poll character devices. 81bdf0f55dSmrg darwin@<:@789@:>@*|darwin10*) ;; 82bdf0f55dSmrg darwin*) 83bdf0f55dSmrg _ac_xorg_macosx_version_min="" 84bdf0f55dSmrg if echo $CPPFLAGS $CFLAGS | grep -q mmacosx-version-min ; then 85bdf0f55dSmrg _ac_xorg_macosx_version_min=`echo $CPPFLAGS $CFLAGS | sed 's/^.*-mmacosx-version-min=\(@<:@^ @:>@*\).*$/\1/'` 86bdf0f55dSmrg else 87bdf0f55dSmrg _ac_xorg_macosx_version_min=$MACOSX_DEPLOYMENT_TARGET 88bdf0f55dSmrg fi 89bdf0f55dSmrg case $_ac_xorg_macosx_version_min in 90bdf0f55dSmrg 10.@<:@0123456@:>@|10.@<:@0123456@:>@.*) ;; 91bdf0f55dSmrg *) 92bdf0f55dSmrg AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) 93bdf0f55dSmrg ;; 94bdf0f55dSmrg esac 95bdf0f55dSmrg unset _ac_xorg_macosx_version_min 96bdf0f55dSmrg ;; 972265a131Smrg *) 98bdf0f55dSmrg AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], ) 992265a131Smrg ;; 1002265a131Smrgesac 1012265a131Smrg 1029e7bcd65Smrg# Link with winsock if mingw target 1039e7bcd65Smrgcase $host_os in 1049e7bcd65Smrg *mingw*) 1059e7bcd65Smrg AC_HAVE_LIBRARY(ws2_32) 1069e7bcd65Smrg ;; 1079e7bcd65Smrg *) 1089e7bcd65Smrg ;; 1099e7bcd65Smrgesac 110444c061aSmrg 111444c061aSmrg# Options 112bdf0f55dSmrgAC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Disable XKB support]), 113444c061aSmrg XKB="$enableval", XKB="yes") 114444c061aSmrgif test "x$XKB" = "xyes" ; then 115444c061aSmrg AC_DEFINE(XKB, 1, [Define to 1 to use XKB for keysym resolution.]) 116444c061aSmrgfi 117444c061aSmrg 1189e7bcd65Smrg# --enable-unit-tests 1199e7bcd65SmrgXORG_ENABLE_UNIT_TESTS 1209e7bcd65SmrgXORG_WITH_GLIB([2.16]) 1219e7bcd65Smrg 1229e7bcd65Smrg# Memory checking support 1239e7bcd65Smrgcase $host_os in 1249e7bcd65Smrg solaris*) 1259e7bcd65Smrg AC_CHECK_LIB([umem], [umem_alloc], 1269e7bcd65Smrg [MALLOC_DEBUG_ENV='LD_PRELOAD=libumem.so UMEM_DEBUG=default']) 1279e7bcd65Smrg ;; 1289e7bcd65Smrg *-gnu*) # GNU libc - Value is used as a single byte bit pattern, 1299e7bcd65Smrg # both directly and inverted, so should not be 0 or 255. 1309e7bcd65Smrg MALLOC_DEBUG_ENV='MALLOC_PERTURB_=15' 1319e7bcd65Smrg ;; 1329e7bcd65Smrg *bsd*|darwin*) 1339e7bcd65Smrg MALLOC_DEBUG_ENV='MallocPreScribble=1 MallocScribble=1' 1349e7bcd65Smrg ;; 1359e7bcd65Smrgesac 1369e7bcd65SmrgAC_SUBST([MALLOC_DEBUG_ENV]) 1379e7bcd65Smrg 138444c061aSmrg# Replaces XFileSearchPathDefault from Imake configs 139444c061aSmrgXFILESEARCHPATHDEFAULT='$(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' 140444c061aSmrg 141444c061aSmrgAC_ARG_WITH(xfile-search-path, 142bdf0f55dSmrg AS_HELP_STRING([--with-xfile-search-path=<path>], 143444c061aSmrg [Set path to search for app-defaults and other files]), 144444c061aSmrg [XFILESEARCHPATHDEFAULT="$withval"], []) 145444c061aSmrgAC_SUBST([XFILESEARCHPATHDEFAULT]) 146444c061aSmrg 147444c061aSmrgAC_ARG_WITH(appdefaultdir, 148bdf0f55dSmrg AS_HELP_STRING([--with-appdefaultdir=<path>], 149444c061aSmrg [Set app-default directory (default: ${datadir}/X11/app-defaults)]), 150444c061aSmrg [appdefaultdir="$withval"], 151444c061aSmrg [appdefaultdir=${datadir}/X11/app-defaults]) 1522ae83157SmrgAX_DEFINE_DIR([appdefaultdir], [appdefaultdir], [app default data directory]) 153444c061aSmrg 154444c061aSmrg# Replacement for Imake ToolkitStringsABIOptions, controls string tables 155444c061aSmrg# generated by util/string.list in StringDefs.h & Shell.h 156444c061aSmrgcase $host_os in 157444c061aSmrg solaris*) 1582265a131Smrg # Solaris uses -intelabi even on SPARC 1592265a131Smrg STRINGSABIOPTIONS="-intelabi -solarisabinames" 160444c061aSmrg ;; 161444c061aSmrg sco* | svr4*) 162444c061aSmrg case $host_cpu in 163444c061aSmrg i*86) STRINGSABIOPTIONS="-intelabi" ;; 164444c061aSmrg *) STRINGSABIOPTIONS="" ;; 165444c061aSmrg esac 166444c061aSmrg ;; 167444c061aSmrgesac 168444c061aSmrgAC_SUBST(STRINGSABIOPTIONS) 169444c061aSmrg 1709e7bcd65SmrgERRORDBDIR=${datadir}/X11 1719e7bcd65SmrgAC_SUBST(ERRORDBDIR) 1729e7bcd65Smrg 1732265a131Smrgcase $host_os in 1742265a131Smrg darwin*) 1752265a131Smrg OS_CFLAGS="-Wl,-flat_namespace" 1762265a131Smrg ;; 1772265a131Smrg *) 1782265a131Smrg OS_CFLAGS= 1792265a131Smrg ;; 1802265a131Smrgesac 1812265a131Smrg 1822ae83157SmrgXT_CFLAGS="$XT_CFLAGS $OS_CFLAGS" 1832265a131Smrg 184bdf0f55dSmrgAC_CONFIG_FILES([Makefile 185bdf0f55dSmrg src/Makefile 186bdf0f55dSmrg util/Makefile 187bdf0f55dSmrg include/Makefile 188bdf0f55dSmrg man/Makefile 189bdf0f55dSmrg specs/Makefile 1909e7bcd65Smrg test/Makefile 191bdf0f55dSmrg xt.pc]) 192bdf0f55dSmrgAC_OUTPUT 193