X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=227026d55169b0432590e2551025e772ffd5df2e;hb=e0524296d2e07426c2979025c81bb261d59e74cd;hp=dbc48e77501f2bede1204542a0097a14cc6d851e;hpb=971d9a99556c66571b7eba3407c02178016248cd;p=profile%2Fivi%2Flibxkbcommon.git diff --git a/configure.ac b/configure.ac index dbc48e7..227026d 100644 --- a/configure.ac +++ b/configure.ac @@ -20,25 +20,23 @@ 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]) -AM_INIT_AUTOMAKE([dist-bzip2 foreign]) +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 minimum of 1.8 for AM_SILENT_RULES m4_ifndef([XORG_MACROS_VERSION], @@ -47,7 +45,30 @@ XORG_MACROS_VERSION(1.8) XORG_DEFAULT_OPTIONS XORG_CHECK_MALLOC_ZERO -dnl Build native compiler needed for makekeys +# 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 @@ -57,47 +78,52 @@ if test "x$CC_FOR_BUILD" = x; then fi fi -AC_CHECK_FUNCS([strcasecmp]) - -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], - [AS_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]) + AC_CONFIG_FILES([ -Makefile -xkbcommon.pc -include/Makefile -src/Makefile -src/makekeys/Makefile -src/xkbcomp/Makefile -test/Makefile -]) + Makefile + makekeys/Makefile + xkbcommon-uninstalled.pc + xkbcommon.pc]) AC_OUTPUT