X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=d2bd3c20d96b86afd714fd5e7f89d615ca7a7865;hb=d15fa57a4b1402a6a419ed34f0fc309f0a26df4f;hp=7669027c0727505624a127328ff36a3efe86b225;hpb=2b36543ab1e7ed4a2c7d49dce1da043e6984cded;p=profile%2Fivi%2Flibxkbcommon.git diff --git a/configure.ac b/configure.ac index 7669027..d2bd3c2 100644 --- a/configure.ac +++ b/configure.ac @@ -20,33 +20,51 @@ dnl PERFORMANCE OF THIS SOFTWARE. dnl dnl Process this file with autoconf to create configure. -AC_PREREQ([2.57]) +# Initialize Autoconf +AC_PREREQ([2.60]) AC_INIT([libxkbcommon], [0.1.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) -AM_INIT_AUTOMAKE([dist-bzip2 foreign]) -AM_SILENT_RULES([yes]) +AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([src/config.h]) AC_CONFIG_MACRO_DIR([m4]) -AC_PROG_LIBTOOL -AC_PROG_CC -AC_PROG_YACC -AC_PROG_LEX +# 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 -m4_ifndef([PKG_PROG_PKG_CONFIG], - [m4_fatal([Could not locate the pkg-config autoconf macros. - These are usually located in /usr/share/aclocal/pkg.m4. If your - macros are in a different location, try setting the environment - variable ACLOCAL="aclocal -I/other/macro/dir" before running - autoreconf/autogen.sh.])]) -PKG_PROG_PKG_CONFIG +# Initialize libtool +LT_INIT -# Require xorg-macros version 1.2.0 or newer for XORG_CHANGELOG macro +# Require xorg-macros minimum of 1.8 for AM_SILENT_RULES m4_ifndef([XORG_MACROS_VERSION], - [m4_fatal([must install xorg-macros before running autoconf/autogen.sh])]) -XORG_MACROS_VERSION([1.2.0]) + [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 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]) -dnl Build native compiler needed for makekeys +# 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 @@ -56,51 +74,52 @@ if test "x$CC_FOR_BUILD" = x; then fi fi -AC_CHECK_FUNCS([strcasecmp]) -XORG_CHECK_MALLOC_ZERO -XORG_CWARNFLAGS - -if test "x$GCC" = xyes ; then - CFLAGS="$CFLAGS -fvisibility=hidden" +if test "x$GCC" = xyes ; then + CFLAGS="$CFLAGS -fvisibility=hidden" fi -PKG_CHECK_MODULES([X11], [xproto kbproto >= 1.0.5]) +# Obtain protocols headers include directives +PKG_CHECK_MODULES([X11], [xproto kbproto >= 1.0.4]) -dnl Ensure we have keysym headers +# Obtain the path to the X Window System Core Protocol AC_MSG_CHECKING([for X11 includedir]) -x11includedir="`$PKG_CONFIG --variable=includedir xproto`/X11" -AC_MSG_RESULT([$x11includedir]) - -AC_MSG_CHECKING([for keysymdef.h]) -KEYSYMDEF_H="$x11includedir/keysymdef.h" -test -f "$KEYSYMDEF_H" || AC_MSG_ERROR([can't locate keysymdef.h in $x11includedir]) -AC_MSG_RESULT([$KEYSYMDEF_H]) -AC_SUBST([KEYSYMDEF_H]) - -AC_MSG_CHECKING([for XF86keysym.h]) -XF86KEYSYM_H="$x11includedir/XF86keysym.h" -test -f "$XF86KEYSYM_H" || AC_MSG_ERROR([can't locate XF86keysym.h in $x11includedir]) -AC_MSG_RESULT([$XF86KEYSYM_H]) -AC_SUBST([XF86KEYSYM_H]) +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_SUBST([KS_HEADERS], ['$(KEYSYMDEF_H) $(XF86KEYSYM_H)']) +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], - [AC_HELP_STRING([--with-xkb-config-root=], - [Set default XKB config root (default: ${datadir}/X11/xkb)])], + [AS_HELP_STRING([--with-xkb-config-root=], + [Set default XKB config root (default: xkeyboard-config install path)])], [XKBCONFIGROOT="$withval"], - [XKBCONFIGROOT='${datadir}/X11/xkb']) + [XKBCONFIGROOT="$xkb_base"]) AC_SUBST([XKBCONFIGROOT]) -XORG_RELEASE_VERSION -XORG_CHANGELOG - -AC_OUTPUT([ -Makefile -xkbcommon.pc -include/Makefile -src/Makefile -src/makekeys/Makefile -src/xkbcomp/Makefile -test/Makefile -]) + +AC_CONFIG_FILES([ + Makefile + makekeys/Makefile + xkbcommon-uninstalled.pc + xkbcommon.pc]) +AC_OUTPUT