130 lines
4.2 KiB
Plaintext
130 lines
4.2 KiB
Plaintext
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.
|
|
|
|
# Initialize Autoconf
|
|
AC_PREREQ([2.60])
|
|
AC_INIT([libxkbcommon], [0.1.0],
|
|
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
|
|
AC_CONFIG_SRCDIR([Makefile.am])
|
|
AC_CONFIG_HEADERS([src/config.h])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
# Initialize Automake
|
|
AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects color-tests parallel-tests])
|
|
AM_MAINTAINER_MODE
|
|
|
|
# Get _GNU_SOURCE and friends
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
|
|
# Initialize libtool
|
|
LT_INIT
|
|
|
|
# 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
|
|
|
|
# Check for compiler features
|
|
AC_C_INLINE
|
|
AC_C_TYPEOF
|
|
|
|
# Check for programs
|
|
AC_PROG_LEX
|
|
AC_PROG_YACC
|
|
AC_PATH_PROG([YACC_INST], $YACC)
|
|
if test ! -f "src/xkbcomp/parser.c"; then
|
|
if test -z "$YACC_INST"; then
|
|
AC_MSG_ERROR([yacc not found - unable to compile src/xkbcomp/parser.y])
|
|
fi
|
|
fi
|
|
|
|
# Checks for library functions.
|
|
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
|
|
|
|
AC_CHECK_FUNCS([eaccess euidaccess])
|
|
|
|
# Build native compiler needed for makekeys
|
|
AC_ARG_VAR([CC_FOR_BUILD], [Build native C compiler program])
|
|
if test "x$CC_FOR_BUILD" = x; then
|
|
if test "$cross_compiling" != no; then
|
|
AC_PATH_PROGS([CC_FOR_BUILD], [gcc cc], [cc])
|
|
else
|
|
CC_FOR_BUILD="$CC"
|
|
fi
|
|
fi
|
|
|
|
if test "x$GCC" = xyes ; then
|
|
CFLAGS="$CFLAGS -fvisibility=hidden"
|
|
fi
|
|
|
|
# Obtain protocols headers include directives
|
|
PKG_CHECK_MODULES([X11], [xproto kbproto >= 1.0.4])
|
|
|
|
# Obtain the path to the X Window System Core Protocol
|
|
AC_MSG_CHECKING([for X11 includedir])
|
|
AC_ARG_VAR([X11_INCLUDEDIR], [Path to X protocol keysym headers])
|
|
if test "x$X11_INCLUDEDIR" = x; then
|
|
X11_INCLUDEDIR="`$PKG_CONFIG --variable=includex11dir xproto`"
|
|
fi
|
|
if ! test -d "$X11_INCLUDEDIR"; then
|
|
AC_MSG_ERROR([invalid X11 include path $X11_INCLUDEDIR])
|
|
fi
|
|
AC_MSG_RESULT([$X11_INCLUDEDIR])
|
|
|
|
AC_MSG_CHECKING([keysym definition files])
|
|
FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
|
|
for i in $FILES; do
|
|
if test -f "$X11_INCLUDEDIR/$i"; then
|
|
KEYSYMDEFS="$KEYSYMDEFS $X11_INCLUDEDIR/$i"
|
|
else
|
|
AC_MSG_ERROR([cannot find $i in $X11_INCLUDEDIR])
|
|
fi
|
|
done
|
|
AC_MSG_RESULT([$KEYSYMDEFS])
|
|
AC_SUBST(KEYSYMDEFS)
|
|
|
|
# Define a configuration option for the XKB config root
|
|
xkb_base=`$PKG_CONFIG --variable=xkb_base xkeyboard-config`
|
|
if test "x$xkb_base" = x; then
|
|
xkb_base=$datadir/X11/xkb
|
|
fi
|
|
AC_ARG_WITH([xkb_config_root],
|
|
[AS_HELP_STRING([--with-xkb-config-root=<path>],
|
|
[Set default XKB config root (default: xkeyboard-config install path)])],
|
|
[XKBCONFIGROOT="$withval"],
|
|
[XKBCONFIGROOT="$xkb_base"])
|
|
AC_SUBST([XKBCONFIGROOT])
|
|
|
|
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
makekeys/Makefile
|
|
xkbcommon-uninstalled.pc
|
|
xkbcommon.pc])
|
|
AC_OUTPUT
|