m4_define([ibus_major_version], [1])
m4_define([ibus_minor_version], [4])
m4_define([ibus_micro_version], [99])
-m4_define([ibus_interface_age], [0])
-m4_define([ibus_binary_age],
+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],
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])
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)
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,
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_CC_STDC
-AM_PROG_VALAC([0.14])
+AM_PROG_VALAC([0.16])
AC_PROG_INSTALL
AC_PROG_MAKE_SET
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],
)
AM_CONDITIONAL([ENABLE_XIM], [test x"$enable_xim" = x"yes"])
-# --disable-vala option.
-AC_ARG_ENABLE(vala,
- AS_HELP_STRING([--disable-vala],
- [Do not build ibus vala binding]),
- [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)"
-fi
-
if test x"$enable_gtk2" = x"yes" -o x"$enable_xim" = x"yes" ; then
# check for gtk2
PKG_CHECK_MODULES(GTK2, [
fi
AC_SUBST(IBUS_GIR_SCANNERFLAGS)
+# Check vapigen.
+VAPIGEN_CHECK([0.16])
+
# Check for gtk-doc.
GTK_DOC_CHECK(1.9)
if test x"$enable_gtk_doc" = x"no"; 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
AM_PATH_PYTHON([2.5])
+PYGOBJECT_REQUIRED=3.0.0
+
+PKG_CHECK_EXISTS([pygobject-3.0 >= $PYGOBJECT_REQUIRED],
+ [enable_pygobject=yes],[enable_pygobject=no])
+
+if test "x$enable_pygobject" = "xyes"; then
+ PKG_CHECK_MODULES(PYTHON, [pygobject-3.0 >= $PYGOBJECT_REQUIRED])
+
+ pyoverridesdir=`$PYTHON -c "import gi; print(gi._overridesdir)"`
+ AC_SUBST(pyoverridesdir)
+fi
+
+AM_CONDITIONAL(ENABLE_PYGOBJECT, test x"$enable_pygobject" = "xyes")
+
if test x"$enable_python_library" = x"yes"; then
# Check python.
AC_PATH_PROG(PYTHON_CONFIG, python$PYTHON_VERSION-config)
# GNOME 3 uses the theme's icon.
AC_ARG_WITH(panel-icon-keyboard,
AS_HELP_STRING([--with-panel-icon-keyboard[=icon_name]],
- [Set the default panel icon (default: "input-keyboard-symbolic")]),
+ [Set the default panel icon (default: "ibus-keyboard")]),
[if test x"$with_panel_icon_keyboard" = x"yes" -o \
x"$with_panel_icon_keyboard" = x; then
with_panel_icon_keyboard="input-keyboard-symbolic"
fi
IBUS_ICON_KEYBOARD=$with_panel_icon_keyboard
],
- IBUS_ICON_KEYBOARD="input-keyboard-symbolic"
+ IBUS_ICON_KEYBOARD="ibus-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])
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
ibus/Makefile
ibus/interface/Makefile
ui/Makefile
-ui/gtk2/Makefile
-ui/gtk2/ibus-ui-gtk
-ui/gtk2/gtkpanel.xml.in
ui/gtk3/Makefile
ui/gtk3/gtkpanel.xml.in
setup/Makefile
setup/ibus-setup
bindings/Makefile
+bindings/pygobject/Makefile
bindings/vala/Makefile
conf/Makefile
conf/gconf/Makefile
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
])