2009-01-13 19:25:35 -07:00
|
|
|
dnl Copyright © 2008 Dan Nicholson
|
|
|
|
dnl
|
|
|
|
dnl Permission to use, copy, modify, distribute, and sell this software and its
|
|
|
|
dnl documentation for any purpose is hereby granted without fee, provided that
|
|
|
|
dnl the above copyright notice appear in all copies and that both that
|
|
|
|
dnl copyright notice and this permission notice appear in supporting
|
|
|
|
dnl documentation, and that the name of Keith Packard not be used in
|
|
|
|
dnl advertising or publicity pertaining to distribution of the software without
|
|
|
|
dnl specific, written prior permission. Keith Packard makes no
|
|
|
|
dnl representations about the suitability of this software for any purpose. It
|
|
|
|
dnl is provided "as is" without express or implied warranty.
|
|
|
|
dnl
|
|
|
|
dnl DAN NICHOLSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
|
|
|
dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
|
|
|
dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
|
|
|
dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
|
|
dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
|
|
dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
|
|
dnl PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
dnl
|
|
|
|
dnl Process this file with autoconf to create configure.
|
|
|
|
|
2010-12-02 18:52:34 -07:00
|
|
|
# Initialize Autoconf
|
2010-12-02 18:35:35 -07:00
|
|
|
AC_PREREQ([2.60])
|
2009-01-13 19:25:35 -07:00
|
|
|
AC_INIT([libxkbcommon], [0.1.0],
|
|
|
|
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
|
2010-12-02 18:52:34 -07:00
|
|
|
AC_CONFIG_SRCDIR([Makefile.am])
|
2009-01-20 08:33:14 -07:00
|
|
|
AC_CONFIG_HEADERS([src/config.h])
|
2010-11-11 15:02:11 -07:00
|
|
|
AC_CONFIG_MACRO_DIR([m4])
|
2009-01-13 19:25:35 -07:00
|
|
|
|
2010-12-02 18:52:34 -07:00
|
|
|
# Initialize Automake
|
2012-03-23 20:48:31 -06:00
|
|
|
AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects])
|
2010-12-02 18:52:34 -07:00
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
|
|
|
|
# Initialize libtool
|
2009-01-13 19:25:35 -07:00
|
|
|
AC_PROG_LIBTOOL
|
2010-12-02 18:52:34 -07:00
|
|
|
|
2010-12-07 12:32:57 -07:00
|
|
|
# Require xorg-macros minimum of 1.8 for AM_SILENT_RULES
|
|
|
|
m4_ifndef([XORG_MACROS_VERSION],
|
|
|
|
[m4_fatal([must install xorg-macros 1.8 or later before running autoconf/autogen])])
|
|
|
|
XORG_MACROS_VERSION(1.8)
|
|
|
|
XORG_DEFAULT_OPTIONS
|
|
|
|
XORG_CHECK_MALLOC_ZERO
|
|
|
|
|
2012-03-27 09:59:01 -06:00
|
|
|
# Get _GNU_SOURCE and friends
|
|
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
|
|
|
2010-12-07 12:32:57 -07:00
|
|
|
# Check for programs
|
2010-10-19 19:57:59 -06:00
|
|
|
AC_PROG_LEX
|
2010-12-07 08:59:13 -07:00
|
|
|
AC_PROG_YACC
|
|
|
|
AC_PATH_PROG([YACC_INST], $YACC)
|
|
|
|
if test ! -f "src/xkbcomp/xkbparse.c"; then
|
|
|
|
if test -z "$YACC_INST"; then
|
|
|
|
AC_MSG_ERROR([yacc not found - unable to compile src/xkbcomp/xkbparse.y])
|
|
|
|
fi
|
|
|
|
fi
|
2009-01-13 19:25:35 -07:00
|
|
|
|
2010-12-07 16:17:29 -07:00
|
|
|
# Checks for library functions.
|
2012-03-27 07:06:56 -06:00
|
|
|
AC_CHECK_FUNCS([strcasecmp strncasecmp])
|
|
|
|
if test "x$ac_cv_func_strcasecmp" = xno || \
|
|
|
|
test "x$ac_cv_func_strncasecmp" = xno; then
|
|
|
|
AC_MSG_ERROR([C library does not support strcasecmp/strncasecmp])
|
|
|
|
fi
|
2010-12-07 16:17:29 -07:00
|
|
|
|
|
|
|
# Build native compiler needed for makekeys
|
2009-01-14 08:35:10 -07:00
|
|
|
AC_ARG_VAR([CC_FOR_BUILD], [Build native C compiler program])
|
2009-01-20 19:52:04 -07:00
|
|
|
if test "x$CC_FOR_BUILD" = x; then
|
2009-01-14 08:35:10 -07:00
|
|
|
if test "$cross_compiling" != no; then
|
|
|
|
AC_PATH_PROGS([CC_FOR_BUILD], [gcc cc], [cc])
|
|
|
|
else
|
|
|
|
CC_FOR_BUILD="$CC"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2011-01-29 12:06:39 -07:00
|
|
|
if test "x$GCC" = xyes ; then
|
|
|
|
CFLAGS="$CFLAGS -fvisibility=hidden"
|
|
|
|
fi
|
|
|
|
|
2010-12-07 16:22:38 -07:00
|
|
|
# Obtain protocols headers include directives
|
2011-03-17 22:33:48 -06:00
|
|
|
PKG_CHECK_MODULES([X11], [xproto kbproto >= 1.0.4])
|
2009-01-14 08:35:10 -07:00
|
|
|
|
2010-12-07 16:17:29 -07:00
|
|
|
# Obtain the path to the X Window System Core Protocol
|
2009-01-14 19:00:10 -07:00
|
|
|
AC_MSG_CHECKING([for X11 includedir])
|
2010-12-07 16:22:38 -07:00
|
|
|
includex11dir="`$PKG_CONFIG --variable=includex11dir xproto`"
|
|
|
|
AC_MSG_RESULT([$includex11dir])
|
2009-01-14 19:00:10 -07:00
|
|
|
|
2012-02-25 14:17:47 -07:00
|
|
|
AC_MSG_CHECKING([keysym definitions])
|
|
|
|
KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
|
|
|
|
FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
|
|
|
|
for i in $FILES; do
|
|
|
|
if test -f "$KEYSYMDEFDIR/$i"; then
|
|
|
|
KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
|
|
|
|
elif test "x$i" = "xkeysymdef.h"; then
|
|
|
|
AC_MSG_ERROR([Cannot find keysymdef.h])
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
AC_MSG_RESULT([$KEYSYMDEFS])
|
|
|
|
AC_SUBST(KEYSYMDEFS)
|
2009-01-14 19:00:10 -07:00
|
|
|
|
2010-12-07 16:17:29 -07:00
|
|
|
# Define a configuration option for the XKB config root
|
2010-12-11 16:56:21 -07:00
|
|
|
xkb_base=`$PKG_CONFIG --variable=xkb_base xkeyboard-config`
|
2009-03-27 07:55:32 -06:00
|
|
|
AC_ARG_WITH([xkb_config_root],
|
2010-11-11 15:05:33 -07:00
|
|
|
[AS_HELP_STRING([--with-xkb-config-root=<paths>],
|
2009-03-27 07:55:32 -06:00
|
|
|
[Set default XKB config root (default: ${datadir}/X11/xkb)])],
|
|
|
|
[XKBCONFIGROOT="$withval"],
|
2010-12-11 16:56:21 -07:00
|
|
|
[XKBCONFIGROOT="$xkb_base"])
|
2009-03-27 07:55:32 -06:00
|
|
|
AC_SUBST([XKBCONFIGROOT])
|
|
|
|
|
2010-11-11 15:05:33 -07:00
|
|
|
AC_CONFIG_FILES([
|
2012-03-23 20:48:31 -06:00
|
|
|
Makefile
|
|
|
|
test/Makefile
|
|
|
|
xkbcommon.pc])
|
2010-11-11 15:05:33 -07:00
|
|
|
AC_OUTPUT
|