write clearPinyinUserData
[platform/upstream/ibus-libpinyin.git] / configure.ac
index f2f353a..6df8f2c 100644 (file)
@@ -1,8 +1,8 @@
 # vim:set et ts=4:
 #
-# ibus-pinyin - The PinYin engine for IBus
+# ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus
 #
-# Copyright (c) 2007-2008 Huang Peng <shawn.p.huang@gmail.com>
+# Copyright (c) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
 # if not 1, append datestamp to the version number.
-m4_define([package_name], [ibus-pinyin])
-m4_define([ibus_released], [0])
-m4_define([ibus_major_version], [0])
-m4_define([ibus_minor_version], [1])
-m4_define([ibus_micro_version], [0])
+m4_define([ibus_released], [1])
+m4_define([ibus_major_version], [1])
+m4_define([ibus_minor_version], [5])
+m4_define([ibus_micro_version], [91])
 m4_define(ibus_maybe_datestamp,
     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)
 
-AC_INIT([package_name], [ibus_version], [http://code.google.com/p/ibus/issues/entry], [package_name])
+AC_INIT([ibus-libpinyin], [ibus_version], [https://github.com/libpinyin/ibus-libpinyin/issues/new],[ibus-libpinyin])
 AM_INIT_AUTOMAKE([1.10])
-AC_GNU_SOURCE
+AC_GNU_SOURCE
 
-AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_MACRO_DIR([m4])
+m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
 
 # define PACKAGE_VERSION_* variables
-# AS_VERSION
-# AS_NANO
-# AM_SANITY_CHECK
-# AM_MAINTAINER_MODE
-# AM_DISABLE_STATIC
-# AC_PROG_CC
-# AM_PROG_CC_C_O
-# AC_PROG_CXX
-# AC_ISC_POSIX
-# AC_HEADER_STDC
-# AM_PROG_LIBTOOL
-
-#check python
+AS_VERSION
+AS_NANO
+AM_SANITY_CHECK
+AM_MAINTAINER_MODE
+AM_DISABLE_STATIC
+AC_PROG_CC
+AC_PROG_CXX
+AM_PROG_CC_C_O
+AC_ISC_POSIX
+AC_HEADER_STDC
+IT_PROG_INTLTOOL([0.35.0])
+AM_PROG_LIBTOOL
+AC_PROG_SED
+
+# check ibus
+PKG_CHECK_MODULES(IBUS, [
+    ibus-1.0 >= 1.3.99
+])
+
+# check sqlite
+PKG_CHECK_MODULES(SQLITE, [
+    sqlite3
+])
+AC_PATH_PROG(SQLITE3, sqlite3)
+
+PKG_CHECK_MODULES(LIBPINYIN, [
+    libpinyin >= 0.8.91
+], [enable_libpinyin=yes])
+
+AM_CONDITIONAL(IBUS_BUILD_LIBPINYIN, [test x"$enable_libpinyin" = x"yes"])
+
+LIBPINYIN_DATADIR=`$PKG_CONFIG --variable=pkgdatadir libpinyin`
+
+AC_SUBST(LIBPINYIN_DATADIR)
+
+# check uuid
+AC_CHECK_FUNCS([uuid_create], [], [
+    PKG_CHECK_MODULES(LIBUUID, uuid, [
+        # uuid.pc exist
+        AC_DEFINE(HAVE_LIBUUID, 1, [Define if found libuuid])
+        HAVE_LIBUUID=yes
+    ], [
+        # uuid.pc does not exist
+        uuid_old_LIBS=$LIBS
+        AC_CHECK_HEADERS(uuid/uuid.h, [
+            AC_SEARCH_LIBS(uuid_generate, uuid, [
+                test x"$ac_cv_search_uuid_generate" != x"none required" && LIBUUID_LIBS=$ac_cv_search_uuid_generate
+                AC_DEFINE(HAVE_LIBUUID, 1, [Define if found libuuid])
+                HAVE_LIBUUID=yes
+            ], [
+                AC_MSG_ERROR([Can not find uuid_create and uuid_generate in libc or libuuid])
+            ])
+        ], [
+            AC_MSG_ERROR([Can not find uuid_create and uuid_generate in libc or libuuid])
+        ])
+        LIBS=$uuid_old_LIBS
+    ])
+])
+
+AM_CONDITIONAL(HAVE_LIBUUID, test x"$HAVE_LIBUUID" = x"yes")
+
+# check if ibus_config_get_values, which is available in ibus-1.3.99+ (git master)
+save_CFLAGS="$CFLAGS"
+save_LIBS="$LIBS"
+CFLAGS="$CFLAGS $IBUS_CFLAGS"
+LIBS="$LIBS $IBUS_LIBS"
+AC_CHECK_FUNCS([ibus_config_get_values])
+CFLAGS="$save_CFLAGS"
+LIBS="$save_LIBS"
+
+
+# check env
+AC_PATH_PROG(ENV, env)
+AC_SUBST(ENV)
+
+# check python
 AM_PATH_PYTHON([2.5])
 
+# --enable-boost
+AC_ARG_ENABLE(boost,
+    AC_HELP_STRING([--enable-boost],
+        [Use boost to replace stdc++0x.]),
+        [enable_boost=$enableval],
+        [enable_boost=no]
+)
+if test x"$enable_boost" = x"yes"; then
+    # check boost
+    BOOST_REQUIRE([1.39])
+    BOOST_FIND_HEADER([boost/bind.hpp])
+    BOOST_FIND_HEADER([boost/signals2.hpp])
+fi
+AM_CONDITIONAL(HAVE_BOOST, test x"$enable_boost" = x"yes")
+
+# --enable-opencc
+AC_ARG_ENABLE(opencc,
+    AC_HELP_STRING([--enable-opencc],
+        [Use opencc for simplified and traditional Chinese conversion]),
+        [enable_opencc=$enableval],
+        [enable_opencc=no]
+)
+if test x"$enable_opencc" = x"yes"; then
+    # check opencc
+    PKG_CHECK_MODULES(OPENCC, [opencc], [
+        AC_DEFINE(HAVE_OPENCC, 1, [Define if found opencc])
+    ])
+fi
+
 # define GETTEXT_* variables
-GETTEXT_PACKAGE="$PACKAGE_NAME"
+GETTEXT_PACKAGE=ibus-libpinyin
 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
+
+# --disable-lua-extension
+AC_ARG_ENABLE(lua-extension,
+    AS_HELP_STRING([--disable-lua-extension],
+         [do not build lua extension]),
+    [enable_lua_extension=$enableval],
+    [enable_lua_extension=yes]
+)
 
-AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION(0.16.1)
+# check lua
+PKG_CHECK_MODULES(LUA, [
+    lua >= 5.1
+], [],
+[has_lua_extension=no]
+)
+
+if test x"$has_lua_extension" = x"no";
+then
+    PKG_CHECK_MODULES(LUA, [
+        lua5.1
+    ], [],
+    [enable_lua_extension=no]
+    );
+fi
 
+AM_CONDITIONAL(IBUS_BUILD_LUA_EXTENSION, [test x"$enable_lua_extension" = x"yes"])
+
+# --disable-english-input-mode
+AC_ARG_ENABLE(english-input-mode,
+    AS_HELP_STRING([--disable-english-input-mode],
+    [do not build english input mode]),
+    [enable_english_input_mode=$enableval],
+    [enable_english_input_mode=yes]
+)
+
+AM_CONDITIONAL(IBUS_BUILD_ENGLISH_INPUT_MODE, [test x"$enable_english_input_mode" = x"yes"])
+
+# --disable-stroke-input-mode
+AC_ARG_ENABLE(stroke-input-mode,
+        AS_HELP_STRING([--disable-stroke-input-mode],
+        [do not build stroke input mode]),
+        [enable_stroke_input_mode=$enableval],
+        [enable_stroke_input_mode=yes]
+)
+
+AM_CONDITIONAL(IBUS_BUILD_STROKE_INPUT_MODE, [test x"$enable_stroke_input_mode" = x"yes"])
 
 # OUTPUT files
-AC_CONFIG_FILES(po/Makefile.in
+AC_CONFIG_FILES(po/Makefile.in
 Makefile
-ibus-pinyin.spec
-engine/Makefile
-engine/ibus-engine-pinyin
-engine/pinyin.engine
+ibus-libpinyin.spec
+lua/Makefile
+src/Makefile
+src/libpinyin.xml.in
 setup/Makefile
-setup/ibus-setup-pinyin
-icons/Makefile
+setup/ibus-setup-libpinyin
+data/Makefile
+data/icons/Makefile
 m4/Makefile
-)
+])
 
 AC_OUTPUT
+
+AC_MSG_RESULT([
+Build options:
+    Version                     $VERSION
+    Install prefix              $prefix
+    Use boost                   $enable_boost
+    Use opencc                  $enable_opencc
+    Use libpinyin               $enable_libpinyin
+    Build lua extension         $enable_lua_extension
+    Build stroke input mode     $enable_stroke_input_mode
+    Build english input mode    $enable_english_input_mode
+])
+