Fix some build warnings.
[platform/upstream/ibus.git] / configure.ac
index f452666..cc7d0e0 100644 (file)
 
 
 # If ibus_released is 0, append datestamp to the version number.
-m4_define([ibus_released], [1])
+m4_define([ibus_released], [0])
 
 m4_define([ibus_major_version], [1])
 m4_define([ibus_minor_version], [4])
-m4_define([ibus_micro_version], [0])
-m4_define([ibus_interface_age], [0])
-m4_define([ibus_binary_age],
+m4_define([ibus_micro_version], [99])
+m4_define([ibus_abi_current], [5])
+m4_define([ibus_abi_revision],
           [m4_eval(100 * ibus_minor_version + ibus_micro_version)])
+m4_define([ibus_abi_age], [0])
 m4_define([ibus_maybe_datestamp],
     m4_esyscmd([test x]ibus_released[ != x1 && date +.%Y%m%d | tr -d '\n\r']))
 m4_define([ibus_version],
     ibus_major_version.ibus_minor_version.ibus_micro_version[]ibus_maybe_datestamp)
-m4_define([ibus_api_version], [1.0])
+m4_define([ibus_api_version], [ibus_major_version.0])
 
 AC_PREFEQ([2.62])
 AC_INIT([ibus], [ibus_version],
@@ -44,7 +45,10 @@ AC_INIT([ibus], [ibus_version],
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_MACRO_DIR([m4])
 
-m4_define([ibus_binary_version], [1.0.0])
+m4_define([ibus_abi_current_minus_age],
+          [m4_eval(ibus_abi_current - ibus_abi_age)])
+m4_define([ibus_binary_version],
+          [ibus_major_version.ibus_abi_current_minus_age.ibus_abi_age.ibus_abi_revision])
 
 # Required versions of other packages.
 m4_define([glib_required_version], [2.26.0])
@@ -64,25 +68,33 @@ AM_SILENT_RULES([yes])
 IBUS_MAJOR_VERSION=ibus_major_version
 IBUS_MINOR_VERSION=ibus_minor_version
 IBUS_MICRO_VERSION=ibus_micro_version
-IBUS_INTERFACE_AGE=ibus_interface_age
-IBUS_BINARY_AGE=ibus_binary_age
+IBUS_ABI_CURRENT=ibus_abi_current
+IBUS_ABI_REVISION=ibus_abi_revision
+IBUS_ABI_AGE=ibus_abi_age
 IBUS_VERSION=ibus_version
 IBUS_API_VERSION=ibus_api_version
 IBUS_BINARY_VERSION=ibus_binary_version
 AC_SUBST(IBUS_MAJOR_VERSION)
 AC_SUBST(IBUS_MINOR_VERSION)
 AC_SUBST(IBUS_MICRO_VERSION)
-AC_SUBST(IBUS_INTERFACE_AGE)
-AC_SUBST(IBUS_BINARY_AGE)
+AC_SUBST(IBUS_ABI_CURRENT)
+AC_SUBST(IBUS_ABI_REVISION)
+AC_SUBST(IBUS_ABI_AGE)
 AC_SUBST(IBUS_API_VERSION)
 AC_SUBST(IBUS_VERSION)
 AC_SUBST(IBUS_BINARY_VERSION)
 
 # libtool versioning
-m4_define([lt_current],
-          [m4_eval(100 * ibus_minor_version + ibus_micro_version - ibus_interface_age)])
-m4_define([lt_revision], [ibus_interface_age])
-m4_define([lt_age], [m4_eval(ibus_binary_age - ibus_interface_age)])
+#
+# If LT_VERSION_INFO="lt_current:lt_revision:lt_age", libibus is
+# libibus-ibus_api_version.so.(lt_current - lt_age).lt_age.lt_revision
+# If the abi is changed, but it is compatible with last version,
+# ibus_abi_current++, ibus_abi_age++;
+# If the abi is not compatible with last version,
+# ibus_abi_current++, ibus_abi_age = 0;
+m4_define([lt_current], [ibus_abi_current])
+m4_define([lt_revision], [ibus_abi_revision])
+m4_define([lt_age], [ibus_abi_age])
 LT_VERSION_INFO="lt_current:lt_revision:lt_age"
 LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
 AC_SUBST(LT_VERSION_INFO)
@@ -93,6 +105,9 @@ GETTEXT_PACKAGE=ibus10
 AC_SUBST(GETTEXT_PACKAGE)
 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
                    [The prefix for out gettext translation domains.])
+GLIB_DEFINE_LOCALEDIR(GLIB_LOCALE_DIR)
+GLIB_LOCALE_DIR=$localedir
+AC_SUBST(GLIB_LOCALE_DIR)
 
 # For dislpay date.
 m4_define(ibus_datedisplay,
@@ -105,6 +120,7 @@ AC_SUBST(DATE_DISPLAY)
 AC_PROG_CC
 AM_PROG_CC_C_O
 AC_PROG_CC_STDC
+AM_PROG_VALAC([0.14])
 AC_PROG_INSTALL
 AC_PROG_MAKE_SET
 
@@ -137,6 +153,18 @@ PKG_CHECK_MODULES(GTHREAD2, [
     gthread-2.0 >= glib_required_version
 ])
 
+# --disable-tests option.
+AC_ARG_ENABLE(tests,
+    AS_HELP_STRING([--disable-tests],
+                   [Do not run tests]),
+    [enable_tests=$enableval],
+    [enable_tests=yes]
+)
+AM_CONDITIONAL([ENABLE_TESTS], [test x"$enable_tests" = x"yes"])
+if test x"$enable_tests" != x"yes"; then
+    enable_tests="no (disabled, use --enable-tests to enable)"
+fi
+
 # --disable-gtk2 option.
 AC_ARG_ENABLE(gtk2,
     AS_HELP_STRING([--disable-gtk2],
@@ -149,7 +177,7 @@ AM_CONDITIONAL([ENABLE_GTK2], [test x"$enable_gtk2" = x"yes"])
 # --disable-gtk3 option.
 AC_ARG_ENABLE(gtk3,
     AS_HELP_STRING([--disable-gtk3],
-                   [Build gtk3 im module]),
+                   [Do not build gtk3 im module]),
     [enable_gtk3=$enableval],
     [enable_gtk3=yes]
 )
@@ -171,6 +199,9 @@ AC_ARG_ENABLE(vala,
     [enable_vala=$enableval],
     [enable_vala=yes]
 )
+if test x"$enable_vala" = x"yes"; then
+    AC_PATH_PROG([VAPIGEN], [vapigen], [false])
+fi
 AM_CONDITIONAL([ENABLE_VALA], [test x"$enable_vala" = x"yes"])
 if test x"$enable_vala" != x"yes"; then
     enable_vala="no (disabled, use --enable-vala to enable)"
@@ -296,6 +327,9 @@ if test x"$enable_dconf" = x"yes"; then
         [dconf >= 0.7.5], ,
         enable_dconf=no
     )
+    PKG_CHECK_EXISTS([dconf >= 0.13.4],
+        [AC_DEFINE(DCONF_0_13_4, TRUE, [dconf is 0.13.4 or later])],
+        [])
     # check glib-compile-schemas
     GLIB_GSETTINGS
 fi
@@ -305,19 +339,28 @@ AM_CONDITIONAL([ENABLE_DCONF], [test x"$enable_dconf" = x"yes"])
 AC_PATH_PROG(ENV_IBUS_TEST, env)
 AC_SUBST(ENV_IBUS_TEST)
 
-AC_ARG_ENABLE(python,
-    AS_HELP_STRING([--disable-python],
-                   [Do not use Python code]),
-    [enable_python=$enableval],
-    [enable_python=yes]
+AC_ARG_ENABLE(python-library,
+    AS_HELP_STRING([--enable-python-library],
+                   [Use ibus python library]),
+    [enable_python_library=$enableval],
+    [enable_python_library=no]
+)
+
+AC_ARG_ENABLE(setup,
+    AS_HELP_STRING([--disable-setup],
+                   [Do not use setup ui.]),
+    [enable_setup=$enableval],
+    [enable_setup=yes]
 )
 
-AM_CONDITIONAL([ENABLE_PYTHON], [test x"$enable_python" = x"yes"])
+AM_CONDITIONAL([ENABLE_PYTHON_LIBRARY], [test x"$enable_python_library" = x"yes"])
+AM_CONDITIONAL([ENABLE_SETUP], [test x"$enable_setup" = x"yes"])
 AM_CONDITIONAL([ENABLE_DAEMON], [true])
 
-if test x"$enable_python" = x"yes"; then
+AM_PATH_PYTHON([2.5])
+
+if test x"$enable_python_library" = x"yes"; then
     # Check python.
-    AM_PATH_PYTHON([2.5])
     AC_PATH_PROG(PYTHON_CONFIG, python$PYTHON_VERSION-config)
     if test x"$PYTHON_CONFIG" = x""; then
         AC_PATH_PROG(PYTHON_CONFIG, python-config)
@@ -334,7 +377,7 @@ if test x"$enable_python" = x"yes"; then
     AC_SUBST(PYTHON_INCLUDES)
     AC_SUBST(PYTHON_LIBS)
 else
-    enable_python="no (disabled, use --enable-python to enable)"
+    enable_python_library="no (disabled, use --enable-python-library to enable)"
 fi
 
 # Define gtk2 immodule dir.
@@ -416,12 +459,12 @@ AC_ARG_WITH(panel-icon-keyboard,
 )
 AC_SUBST(IBUS_ICON_KEYBOARD)
 
-# --enable-surrounding-text option.
+# --disable-surrounding-text option.
 AC_ARG_ENABLE(surrounding-text,
-    AS_HELP_STRING([--enable-surrounding-text],
+    AS_HELP_STRING([--disable-surrounding-text],
         [Enable surrounding-text support]),
     [enable_surrounding_text=$enableval],
-    [enable_surrounding_text=no]
+    [enable_surrounding_text=yes]
 )
 if test x"$enable_surrounding_text" = x"yes"; then
     AC_DEFINE(ENABLE_SURROUNDING, TRUE, [Enable surrounding-text support])
@@ -429,6 +472,30 @@ else
     enable_surrounding_text="no (disabled, use --enable-surrounding-text to enable)"
 fi
 
+# --disable-ui
+AC_ARG_ENABLE(ui,
+    AS_HELP_STRING([--disable-ui],
+                   [Disable ibus default user interface]),
+    [enable_ui=$enableval],
+    [enable_ui=yes]
+)
+AM_CONDITIONAL([ENABLE_UI], [test x"$enable_ui" = x"yes"])
+if test x"$enable_ui" = x"yes"; then
+    enable_ui="yes (enabled, use --disable-ui to disable)"
+fi
+
+# --disable-engine
+AC_ARG_ENABLE(engine,
+    AS_HELP_STRING([--disable-engine],
+                   [Disable ibus simple engine]),
+    [enable_engine=$enableval],
+    [enable_engine=yes]
+)
+AM_CONDITIONAL([ENABLE_ENGINE], [test x"$enable_engine" = x"yes"])
+if test x"$enable_engine" = x"yes"; then
+    enable_engine="yes (enabled, use --disable-engine to disable)"
+fi
+
 # Check iso-codes.
 PKG_CHECK_MODULES(ISOCODES, [
     iso-codes
@@ -441,9 +508,6 @@ AC_CONFIG_FILES([ po/Makefile.in
 Makefile
 ibus-1.0.pc
 ibus.spec
-xinput-ibus
-memconf/Makefile
-memconf/memconf.xml.in
 client/Makefile
 client/gtk2/Makefile
 client/gtk3/Makefile
@@ -452,6 +516,8 @@ src/Makefile
 src/ibusversion.h
 src/tests/Makefile
 bus/Makefile
+engine/Makefile
+engine/simple.xml.in
 util/Makefile
 util/IMdkit/Makefile
 data/Makefile
@@ -467,17 +533,20 @@ ibus/_config.py
 ibus/Makefile
 ibus/interface/Makefile
 ui/Makefile
-ui/gtk/Makefile
-ui/gtk/ibus-ui-gtk
-ui/gtk/gtkpanel.xml.in
+ui/gtk3/Makefile
+ui/gtk3/gtkpanel.xml.in
 setup/Makefile
 setup/ibus-setup
-gconf/Makefile
-gconf/gconf.xml.in
 bindings/Makefile
 bindings/vala/Makefile
-dconf/Makefile
-dconf/dconf.xml.in
+conf/Makefile
+conf/gconf/Makefile
+conf/gconf/gconf.xml.in
+conf/dconf/Makefile
+conf/dconf/dconf.xml.in
+conf/memconf/Makefile
+conf/memconf/memconf.xml.in
+tools/Makefile
 ])
 
 AC_OUTPUT
@@ -493,7 +562,7 @@ Build options:
   Build gtk2 immodule       $enable_gtk2
   Build gtk3 immodule       $enable_gtk3
   Build XIM agent server    $enable_xim
-  Build python modules      $enable_python
+  Build python library      $enable_python_library
   Build gconf modules       $enable_gconf
   Build memconf modules     $enable_memconf
   Build dconf modules       $enable_dconf
@@ -501,9 +570,12 @@ Build options:
   IBus-1.0.gir scannerflags "$IBUS_GIR_SCANNERFLAGS"
   Build vala binding        $enable_vala
   Build document            $enable_gtk_doc
+  Build UI                  $enable_ui
+  Build engine              $enable_engine
   Enable key snooper        $enable_key_snooper
   No snooper regexes        "$NO_SNOOPER_APPS"
   Panel icon                "$IBUS_ICON_KEYBOARD"
   Enable surrounding-text   $enable_surrounding_text
+  Run test cases            $enable_tests
 ])