1AC_INIT(keybinder, 0.3.1, 2 []) 3AC_CONFIG_SRCDIR(libkeybinder/bind.c) 4AC_CONFIG_MACRO_DIR([m4]) 5 6AC_PREREQ(2.62) 7AM_INIT_AUTOMAKE([-Wno-portability]) 8 9# Libtool version 10# For any change: increment revision 11# If interfaces are added/changed/removed: increment current, reset revision 12# If library changed but is backwards-compatible: increment age 13# If library changed backwards-incompatibly: reset age 14m4_define([keybinder_lt_current], [1]) 15m4_define([keybinder_lt_revision], [0]) 16m4_define([keybinder_lt_age], [1]) 17LT_CURRENT=keybinder_lt_current 18LT_REVISION=keybinder_lt_revision 19LT_AGE=keybinder_lt_age 20AC_SUBST(LT_CURRENT) 21AC_SUBST(LT_REVISION) 22AC_SUBST(LT_AGE) 23 24GNOME_COMMON_INIT 25 26AM_MAINTAINER_MODE 27AM_DISABLE_STATIC 28AM_PROG_LIBTOOL 29AC_SUBST(ACLOCAL_AMFLAGS, "$ACLOCAL_FLAGS -I m4") 30AC_PROG_CC 31 32dnl **************************************************************************** 33dnl * Enable Automake 1.11 silent rules 34dnl **************************************************************************** 35m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) 36 37dnl **************************************************************************** 38dnl * Pkg-Config 39dnl **************************************************************************** 40AC_CHECK_PROG(HAVE_PKGCONFIG, pkg-config, yes, no) 41if test "x$HAVE_PKGCONFIG" = "xno"; then 42 AC_MSG_ERROR(you need to have pkgconfig installed !) 43fi 44 45dnl **************************************************************************** 46dnl * Write the values of various paths in defs.py 47dnl **************************************************************************** 48AC_SUBST(VERSION) 49PACKAGE=$PACKAGE_NAME 50PACKAGE_TARNAME=$PACKAGE_NAME 51AC_SUBST(PACKAGE) 52AC_SUBST(PACKAGE_TARNAME) 53 54AS_AC_EXPAND(DATADIR, $datarootdir) 55AC_SUBST(DATADIR) 56 57AS_AC_EXPAND(LIBDIR, $libdir) 58AC_SUBST(LIBDIR) 59 60dnl **************************************************************************** 61dnl * GTK 62dnl **************************************************************************** 63gtk_version="gtk+-2.0" 64PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.20]) 65 66AC_SUBST(GTK_CFLAGS) 67AC_SUBST(GTK_LIBS) 68 69 70dnl ** 71dnl * Required gtk package (for keybinder.pc) 72dnl ** 73AS_AC_EXPAND(GTKPACKAGEDEP, $gtk_version) 74AC_SUBST(GTKPACKAGEDEP) 75 76dnl * gobject-introspection 77GOBJECT_INTROSPECTION_CHECK([0.6.7]) 78 79dnl *********************************** 80dnl * Require XKB 81dnl *********************************** 82X_LIBS="`$PKG_CONFIG --libs x11 xext xrender`" 83X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`" 84old_cflags="$CFLAGS" 85CFLAGS="$CFLAGS $X_CFLAGS" 86LIBS="$X_LIBS $LIBS" 87 88AC_CHECK_FUNC(XkbQueryExtension, [], AC_MSG_ERROR(Could not find XKB)) 89 90CFLAGS="$old_cflags" 91 92X_LDFLAGS="$X_LIBS" 93 94AC_SUBST(X_CFLAGS) 95AC_SUBST(X_LDFLAGS) 96 97dnl **************************************************************************** 98dnl * Python 99dnl **************************************************************************** 100AC_ARG_ENABLE(python, 101 AS_HELP_STRING([--disable-python], 102 [disable python bindings [default=yes]]), 103 , 104 [enable_python=yes]) 105 106AC_ARG_ENABLE(lua, 107 AS_HELP_STRING([--disable-lua], 108 [disable lua bindings [default=if found]]), 109 [enable_lua=no], 110 [enable_lua=yes]) 111 112if test "x$enable_python" != "xno"; then 113 dnl **************************************************************************** 114 dnl * Python 2.5 115 dnl **************************************************************************** 116 have_python="yes" 117 AM_PATH_PYTHON(2.5) 118 AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)]) 119 120 PKG_CHECK_MODULES(PYGTK, 121 pygtk-2.0 >= 2.12 122 pygobject-2.0 >= 2.15.3 123 ) 124 AC_SUBST(PYGTK_CFLAGS) 125 AC_SUBST(PYGTK_LIBS) 126 127 dnl ****************** 128 dnl * Python modules 129 dnl ****************** 130 AM_CHECK_PYMOD(glib) 131 AM_CHECK_PYMOD(gobject) 132 AM_CHECK_PYMOD(gtk) 133 AM_CHECK_PYMOD(gtk.gdk) 134 135 dnl Python violates C99 rules, by casting between incompatible 136 dnl pointer types. GCC may generate bad code as a result of that, 137 dnl so use -fno-strict-aliasing if supported. 138 AC_MSG_CHECKING(whether $CC accepts -fno-strict-aliasing) 139 ac_save_cc="$CC" 140 CC="$CC -fno-strict-aliasing" 141 AC_CACHE_VAL(ac_cv_no_strict_aliasing_ok, 142 AC_TRY_COMPILE([],[], 143 ac_cv_no_strict_aliasing_ok=yes, 144 ac_cv_no_strict_aliasing_ok=no)) 145 CC="$ac_save_cc" 146 AC_MSG_RESULT($ac_cv_no_strict_aliasing_ok) 147 if test $ac_cv_no_strict_aliasing_ok = yes 148 then 149 PYEXTRAFLAGS="-fno-strict-aliasing" 150 fi 151 152 AC_SUBST(PYEXTRAFLAGS) 153 154 155 dnl **************************************************************************** 156 dnl * PyGTK Codegen and defs files 157 dnl **************************************************************************** 158 AC_PATH_PROG(PYGOBJECT_CODEGEN, pygobject-codegen-2.0, no) 159 if test "x$PYGOBJECT_CODEGEN" = xno; then 160 AC_MSG_ERROR(could not find pygobject-codegen-2.0 script) 161 fi 162 163 AC_MSG_CHECKING(for pygtk defs) 164 PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0` 165 AC_SUBST(PYGTK_DEFSDIR) 166 AC_MSG_RESULT($PYGTK_DEFSDIR) 167else 168 have_python="no" 169fi 170 171AM_CONDITIONAL(HAVE_PYTHON, test "x$enable_python" != "xno") 172 173dnl **************************************************************************** 174dnl Check for Lua 5.1 175dnl **************************************************************************** 176 177if test "x$enable_lua" != "xno"; then 178 AX_LUA_HEADERS 179 if test "x$ac_cv_header_lua_h" = "xyes" ; then 180 AX_LUA_LIB_VERSION([501], [502]) 181 LUA_VERSION=[5.1] 182 AC_SUBST(LUA_VERSION) 183 AC_SUBST(LUA_INCLUDE) 184 have_lua="yes" 185 else 186 have_lua="no" 187 fi 188else 189 have_lua="no" 190fi 191AM_CONDITIONAL(HAVE_LUA, test "x$have_lua" = "xyes") 192 193dnl *** 194dnl * GTK DOC 195dnl *** 196 197GTK_DOC_CHECK([1.14], [--flavour no-tmpl]) 198 199dnl **************************************************************************** 200dnl * -------------------------------------------------------------------------- 201dnl **************************************************************************** 202AC_OUTPUT([ 203Makefile 204libkeybinder/Makefile 205libkeybinder/$PACKAGE_NAME.pc 206lua-keybinder/Makefile 207python-keybinder/__init__.py 208python-keybinder/Makefile 209docs/Makefile 210docs/version.info 211]) 212 213echo 214echo $PACKAGE v$VERSION 215echo 216 217echo Prefix............... : $prefix 218echo GTK version ......... : $gtk_version 219echo libkeybinder ........ : yes 220echo gobject-introspection : $found_introspection 221echo gtk-doc ............. : $enable_gtk_doc 222echo python-keybinder .... : $have_python 223echo lua-keybinder ....... : $have_lua 224echo 225 226echo "Now type make to compile" 227echo "Then su to root and type: make install" 228echo 229