Modify copying information
[platform/upstream/ibus.git] / configure.ac
index fb750e4..0b27825 100644 (file)
@@ -1,8 +1,9 @@
-# vim:set noet ts=4:
+# vim:set et ts=4:
 #
 # ibus - The Input Bus
 #
-# Copyright (c) 2007-2008 Huang Peng <shawn.p.huang@gmail.com>
+# Copyright (c) 2007-2009 Peng Huang <shawn.p.huang@gmail.com>
+# Copyright (c) 2007-2009 Red Hat, Inc.
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 
 # if not 1, append datestamp to the version number.
 m4_define([ibus_released], [0])
-m4_define([ibus_major_version], [0])
-m4_define([ibus_minor_version], [1])
+m4_define([ibus_major_version], [1])
+m4_define([ibus_minor_version], [2])
 m4_define([ibus_micro_version], [0])
 m4_define(ibus_maybe_datestamp,
-       m4_esyscmd([if test x]ibus_released[ != x1; then date +.%Y%m%d | tr -d '\n\r'; fi]))
+    m4_esyscmd([if test x]ibus_released[ != x1; then date +.%Y%m%d | tr -d '\n\r'; fi]))
 
 m4_define([ibus_version],
-       ibus_major_version.ibus_minor_version.ibus_micro_version[]ibus_maybe_datestamp)
+    ibus_major_version.ibus_minor_version.ibus_micro_version[]ibus_maybe_datestamp)
 
 AC_INIT([ibus], [ibus_version], [http://code.google.com/p/ibus/issues/entry],[ibus])
 AM_INIT_AUTOMAKE([1.10])
@@ -40,7 +41,6 @@ AC_CONFIG_MACRO_DIR([m4])
 # define PACKAGE_VERSION_* variables
 AS_VERSION
 AS_NANO
-AM_SANITY_CHECK
 AM_MAINTAINER_MODE
 AM_DISABLE_STATIC
 AC_PROG_CC
@@ -49,63 +49,119 @@ AC_PROG_CXX
 AC_ISC_POSIX
 AC_HEADER_STDC
 AM_PROG_LIBTOOL
+IT_PROG_INTLTOOL([0.35.0])
+
+# For dislpay Date
+m4_define(ibus_maybe_datedisplay,
+    m4_esyscmd([if test x]ibus_released[ != x1; then date '+%a %b %d %Y' | tr -d '\n\r'; fi]))
+m4_define([ibus_datedisplay], ibus_maybe_datedisplay)
+DATE_DISPLAY="ibus_datedisplay"
+AC_SUBST(DATE_DISPLAY)
+
+# If only source code changed, lt_revision + 1
+# If any interface added, lt_age + 1
+# If any interfaces changed or removed, lt_current + 1
+m4_define([lt_current], [1])
+m4_define([lt_revision], [0])
+m4_define([lt_age], [0])
+LT_VERSION_INFO="lt_current:lt_revision:lt_age"
+AC_SUBST(LT_VERSION_INFO)
 
 # check inotify
 AC_CHECK_HEADERS([sys/inotify.h])
 
+# check funcs
+AC_CHECK_FUNCS(daemon)
+
 # check glib2
 AM_PATH_GLIB_2_0
 PKG_CHECK_MODULES(GLIB2, [
-       glib-2.0
+    glib-2.0 >= 2.18
 ])
 PKG_CHECK_MODULES(GOBJECT2, [
-       gobject-2.0
+    gobject-2.0 >= 2.18
 ])
-PKG_CHECK_MODULES(PYGOBJECT2, [
-       pygobject-2.0
+PKG_CHECK_MODULES(GIO2, [
+    gio-2.0 >= 2.18
 ])
+# PKG_CHECK_MODULES(PYGOBJECT2, [
+#     pygobject-2.0 >= 2.14
+# ])
 
-
-# check gtk, gdk & pygtk
+# check for gtk, gdk & pygtk
 PKG_CHECK_MODULES(GTK2, [
-       gtk+-2.0
+    gtk+-2.0
 ])
 
+gtk_binary_version=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
+GTK_IM_MODULEDIR="$libdir"/gtk-2.0/$gtk_binary_version/immodules
+
 PKG_CHECK_MODULES(GDK2, [
-       gdk-2.0
+    gdk-2.0
 ])
 
-PKG_CHECK_MODULES(PYGTK2, [
-       pygtk-2.0
-])
+# check for gtk-doc
+GTK_DOC_CHECK(1.9)
 
-# check dbus-glib
+# check for dbus-glib
 PKG_CHECK_MODULES(DBUS, [
-       dbus-glib-1
+    dbus-1
 ])
-QMAKE=`$PKG_CONFIG --variable=qmake Qt`
-AC_SUBST(QMAKE)
 
+# check gconf
+PKG_CHECK_MODULES(GCONF,
+    [gconf-2.0 >= 2.12],
+)
 
-# Check for Qt4
-PKG_CHECK_MODULES(QT, [
-       Qt >= 4.3.5
-])
+AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
+if test x"$GCONFTOOL" = xno; then
+    AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
+fi
 
+AM_GCONF_SOURCE_2
+
+# GCONF_SERVERDIR=`$PKG_CONFIG --variable=gconf_serverdir gconf-2.0`
+# old_path=$PATH
+# if test x"$GCONF_SERVERDIR" != x; then
+#     PATH=$GCONF_SERVERDIR:$PATH
+# fi
+# 
+# AC_PATH_PROG(GCONF_SANITY_CHECK, gconf-sanity-check-2, no)
+# if test x"$GCONF_SANITY_CHECK" = xno; then
+#     AC_MSG_ERROR([gconf-sanity-check-2 executable not found in your path - should be installed with GConf])
+# fi
+# 
+# AC_SUBST(GCONF_SANITY_CHECK)
+# PATH=$old_path
+
+# Check for Qt4
+# PKG_CHECK_MODULES(QT,
+#     [QtCore >= 4.4.0 QtDBus >= 4.4.0],
+#     [IBUS_HAS_QT4=yes],
+#     [IBUS_HAS_QT4=no]
+# )
+# 
+# if test x"$IBUS_HAS_QT4" == x"yes"; then
+#     QMAKE=`$PKG_CONFIG --variable=qmake Qt`
+#     if test x"$QMAKE" == x""; then
+#         AC_PATH_PROG(QMAKE, qmake-qt4)
+#     fi
+#     if test x"$QMAKE" == x""; then
+#         AC_PATH_PROG(QMAKE, qmake)
+#     fi
+#     if test x"$QMAKE" == x""; then
+#         IBUS_HAS_QT4=no
+#         AC_MSG_WARN([Can not find qmake.])
+#     fi
+#     AC_SUBST(QMAKE)
+# fi
 
 # Check for x11
 PKG_CHECK_MODULES(X11, [
-       x11
+    x11
 ])
 
-
-# check swig
-AC_PATH_PROG(SWIG, swig)
-if test x"$SWIG" == x""; then
-        AC_MSG_ERROR([can not find swig])
-fi
-AC_SUBST(SWIG)
-
+AC_CHECK_HEADERS([X11/XKBlib.h])
 
 # check env
 AC_PATH_PROG(ENV, env)
@@ -114,51 +170,134 @@ AC_SUBST(ENV)
 
 # check python
 AM_PATH_PYTHON([2.5])
-PYTHON_CONFIG=`type -p python$PYTHON_VERSION-config`
-if test "$PYTHON_CONFIG" != ""; then
+AC_PATH_PROG(PYTHON_CONFIG, python$PYTHON_VERSION-config)
+if test x"$PYTHON_CONFIG" == x""; then
+    AC_PATH_PROG(PYTHON_CONFIG, python-config)
+fi
+if test x"$PYTHON_CONFIG" != x""; then
     PYTHON_CFLAGS=`$PYTHON_CONFIG --includes`
     PYTHON_LIBS=`$PYTHON_CONFIG --libs`
 else
     PYTHON_CFLAGS=`$PYTHON $srcdir/python-config.py --includes`
     PYTHON_LIBS=`$PYTHON $srcdir/python-config.py --libs`
 fi
+PYTHON_INCLUDES="$PYTHON_CFLAGS"
 AC_SUBST(PYTHON_CFLAGS)
+AC_SUBST(PYTHON_INCLUDES)
 AC_SUBST(PYTHON_LIBS)
 
+#
+# REBUILD = \#
+# AC_SUBST(REBUILD)
 
 # define GETTEXT_* variables
 GETTEXT_PACKAGE=ibus
 AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define to the read-only architecture-independent data directory.])
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package])
+
+AM_GLIB_GNU_GETTEXT
 
-AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION(0.16.1)
+# define configure arguments
+AC_ARG_WITH(gtk-im-module-dir,
+    AS_HELP_STRING([--with-gtk-im-module-dir[=DIR]],
+        [Select gtk immodule dir]),
+    GTK_IM_MODULEDIR=$with_gtk_im_module_dir
+)
+AC_SUBST(GTK_IM_MODULEDIR)
 
+# AC_ARG_ENABLE(qt4-immodule,
+#     AS_HELP_STRING([--disable-qt4-immodule],
+#         [do not build qt4 immodule]),
+#     [enable_qt4=$enableval],
+#     [enable_qt4=yes],
+# )
+# if test x"$IBUS_HAS_QT4" != x"yes"; then
+#     enable_qt4=no
+# fi
+# enable_qt4=no
+# AM_CONDITIONAL(IBUS_BUILD_QT4, [test x"$enable_qt4" = x"yes" ])
+
+# check for dbus-python
+AC_ARG_ENABLE(dbus-python-check,
+    AS_HELP_STRING([--disable-dbus-python-check],
+        [Do not check dbus-python]),
+    [enable_dbus_python_check=$enableval],
+    [enable_dbus_python_check=yes],
+)
+PKG_CHECK_MODULES(DBUS_PYTHON,
+    [dbus-python >= 0.83.0],
+    [IBUS_HAS_DBUS_PYTHON=yes],
+    [IBUS_HAS_DBUS_PYTHON=no]
+)
+if test x"$IBUS_HAS_DBUS_PYTHON" != x"yes"; then
+    if test x"$enable_dbus_python_check" != x"no"; then
+        AC_MSG_ERROR([can not find dbus-python >= 0.83.0. Please install or update dbus-python.])
+    else
+        AC_MSG_WARN([can not find dbus-python >= 0.83.0. It is required.])
+    fi
+fi
+
+# check iso-codes
+AC_ARG_ENABLE(iso-codes-check,
+    AS_HELP_STRING([--disable-iso-codes-check],
+        [Do not check iso-codes]),
+    [enable_iso_codes_check=$enableval],
+    [enable_iso_codes_check=yes],
+)
+PKG_CHECK_MODULES(ISOCODES,
+    iso-codes,
+    [IBUS_HAS_ISOCODES=yes],
+    [IBUS_HAS_ISOCODES=no],
+)
+if test x"$IBUS_HAS_ISOCODES" != x"yes"; then
+    if test x"$enable_iso_codes_check" != x"no"; then
+        AC_MSG_ERROR([can not find iso-codes. Please install iso-codes or configure with --disable-iso-codes-check])
+    else
+        AC_MSG_WARN([can not find iso-codes. It is required.])
+    fi
+fi
 
 # OUTPUT files
 AC_CONFIG_FILES([ po/Makefile.in
 Makefile
+ibus-1.0.pc
 ibus.spec
+ibus/_config.py
 ibus/Makefile
 ibus/interface/Makefile
-daemon/Makefile
-daemon/ibus-daemon
-launcher/ibus
-launcher/Makefile
-panel/Makefile
-panel/ibus-panel
+ui/Makefile
+ui/gtk/Makefile
+ui/gtk/ibus-ui-gtk
+ui/gtk/gtkpanel.xml.in
 gconf/Makefile
-gconf/ibus-gconf
-engine/Makefile
-gtk2/Makefile
-qt4/Makefile
-x11/Makefile
-x11/IMdkit/Makefile
+gconf/gconf.xml.in
+client/Makefile
+client/gtk2/Makefile
+client/x11/Makefile
 setup/Makefile
 setup/ibus-setup
-setup/ibus-setup.desktop
-icons/Makefile
+src/Makefile
+src/ibusversion.h
+bus/Makefile
+util/Makefile
+util/IMdkit/Makefile
+data/Makefile
+data/icons/Makefile
+data/keymaps/Makefile
+docs/Makefile
+docs/reference/Makefile
+docs/reference/ibus/Makefile
 m4/Makefile
 ])
 
 AC_OUTPUT
+AC_MSG_RESULT([
+Build options:
+  Version                  $VERSION
+  Install prefix           $prefix
+  Build shared libs        $enable_shared
+  Build static libs        $enable_static
+  Gtk immodule dir         $GTK_IM_MODULEDIR
+  Build document           $enable_gtk_doc
+])
+