add edit user lua to main2.py
[platform/upstream/ibus-libpinyin.git] / configure.ac
1 # vim:set et ts=4:
2 #
3 # ibus-libpinyin - Intelligent Pinyin engine based on libpinyin for IBus
4 #
5 # Copyright (c) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
6 #
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2, or (at your option)
10 # any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
20
21 # if not 1, append datestamp to the version number.
22 m4_define([ibus_released], [1])
23 m4_define([ibus_major_version], [1])
24 m4_define([ibus_minor_version], [5])
25 m4_define([ibus_micro_version], [91])
26 m4_define(ibus_maybe_datestamp,
27     m4_esyscmd([if test x]ibus_released[ != x1; then date +.%Y%m%d | tr -d '\n\r'; fi]))
28
29 m4_define([ibus_version],
30     ibus_major_version.ibus_minor_version.ibus_micro_version[]ibus_maybe_datestamp)
31
32 AC_INIT([ibus-libpinyin], [ibus_version], [https://github.com/libpinyin/ibus-libpinyin/issues/new],[ibus-libpinyin])
33 AM_INIT_AUTOMAKE([1.10])
34 AC_GNU_SOURCE
35
36 AC_CONFIG_HEADERS([config.h])
37 AC_CONFIG_MACRO_DIR([m4])
38 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
39
40 # define PACKAGE_VERSION_* variables
41 AS_VERSION
42 AS_NANO
43 AM_SANITY_CHECK
44 AM_MAINTAINER_MODE
45 AM_DISABLE_STATIC
46 AC_PROG_CC
47 AC_PROG_CXX
48 AM_PROG_CC_C_O
49 AC_ISC_POSIX
50 AC_HEADER_STDC
51 IT_PROG_INTLTOOL([0.35.0])
52 AM_PROG_LIBTOOL
53 AC_PROG_SED
54
55 # check ibus
56 PKG_CHECK_MODULES(IBUS, [
57     ibus-1.0 >= 1.3.99
58 ])
59
60 # check sqlite
61 PKG_CHECK_MODULES(SQLITE, [
62     sqlite3
63 ])
64 AC_PATH_PROG(SQLITE3, sqlite3)
65
66 PKG_CHECK_MODULES(LIBPINYIN, [
67     libpinyin >= 0.8.91
68 ], [enable_libpinyin=yes])
69
70 AM_CONDITIONAL(IBUS_BUILD_LIBPINYIN, [test x"$enable_libpinyin" = x"yes"])
71
72 LIBPINYIN_DATADIR=`$PKG_CONFIG --variable=pkgdatadir libpinyin`
73
74 AC_SUBST(LIBPINYIN_DATADIR)
75
76 # check uuid
77 AC_CHECK_FUNCS([uuid_create], [], [
78     PKG_CHECK_MODULES(LIBUUID, uuid, [
79         # uuid.pc exist
80         AC_DEFINE(HAVE_LIBUUID, 1, [Define if found libuuid])
81         HAVE_LIBUUID=yes
82     ], [
83         # uuid.pc does not exist
84         uuid_old_LIBS=$LIBS
85         AC_CHECK_HEADERS(uuid/uuid.h, [
86             AC_SEARCH_LIBS(uuid_generate, uuid, [
87                 test x"$ac_cv_search_uuid_generate" != x"none required" && LIBUUID_LIBS=$ac_cv_search_uuid_generate
88                 AC_DEFINE(HAVE_LIBUUID, 1, [Define if found libuuid])
89                 HAVE_LIBUUID=yes
90             ], [
91                 AC_MSG_ERROR([Can not find uuid_create and uuid_generate in libc or libuuid])
92             ])
93         ], [
94             AC_MSG_ERROR([Can not find uuid_create and uuid_generate in libc or libuuid])
95         ])
96         LIBS=$uuid_old_LIBS
97     ])
98 ])
99
100 AM_CONDITIONAL(HAVE_LIBUUID, test x"$HAVE_LIBUUID" = x"yes")
101
102 # check if ibus_config_get_values, which is available in ibus-1.3.99+ (git master)
103 save_CFLAGS="$CFLAGS"
104 save_LIBS="$LIBS"
105 CFLAGS="$CFLAGS $IBUS_CFLAGS"
106 LIBS="$LIBS $IBUS_LIBS"
107 AC_CHECK_FUNCS([ibus_config_get_values])
108 CFLAGS="$save_CFLAGS"
109 LIBS="$save_LIBS"
110
111
112 # check env
113 AC_PATH_PROG(ENV, env)
114 AC_SUBST(ENV)
115
116 # check python
117 AM_PATH_PYTHON([2.5])
118
119 # --enable-boost
120 AC_ARG_ENABLE(boost,
121     AC_HELP_STRING([--enable-boost],
122         [Use boost to replace stdc++0x.]),
123         [enable_boost=$enableval],
124         [enable_boost=no]
125 )
126 if test x"$enable_boost" = x"yes"; then
127     # check boost
128     BOOST_REQUIRE([1.39])
129     BOOST_FIND_HEADER([boost/bind.hpp])
130     BOOST_FIND_HEADER([boost/signals2.hpp])
131 fi
132 AM_CONDITIONAL(HAVE_BOOST, test x"$enable_boost" = x"yes")
133
134 # --enable-opencc
135 AC_ARG_ENABLE(opencc,
136     AC_HELP_STRING([--enable-opencc],
137         [Use opencc for simplified and traditional Chinese conversion]),
138         [enable_opencc=$enableval],
139         [enable_opencc=no]
140 )
141 if test x"$enable_opencc" = x"yes"; then
142     # check opencc
143     PKG_CHECK_MODULES(OPENCC, [opencc], [
144         AC_DEFINE(HAVE_OPENCC, 1, [Define if found opencc])
145     ])
146 fi
147
148 # define GETTEXT_* variables
149 GETTEXT_PACKAGE=ibus-libpinyin
150 AC_SUBST(GETTEXT_PACKAGE)
151 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package])
152
153 AM_GLIB_GNU_GETTEXT
154
155 # --disable-lua-extension
156 AC_ARG_ENABLE(lua-extension,
157     AS_HELP_STRING([--disable-lua-extension],
158          [do not build lua extension]),
159     [enable_lua_extension=$enableval],
160     [enable_lua_extension=yes]
161 )
162
163 # check lua
164 PKG_CHECK_MODULES(LUA, [
165     lua >= 5.1
166 ], [],
167 [has_lua_extension=no]
168 )
169
170 if test x"$has_lua_extension" = x"no";
171 then
172     PKG_CHECK_MODULES(LUA, [
173         lua5.1
174     ], [],
175     [enable_lua_extension=no]
176     );
177 fi
178
179 AM_CONDITIONAL(IBUS_BUILD_LUA_EXTENSION, [test x"$enable_lua_extension" = x"yes"])
180
181 # --disable-english-input-mode
182 AC_ARG_ENABLE(english-input-mode,
183     AS_HELP_STRING([--disable-english-input-mode],
184     [do not build english input mode]),
185     [enable_english_input_mode=$enableval],
186     [enable_english_input_mode=yes]
187 )
188
189 AM_CONDITIONAL(IBUS_BUILD_ENGLISH_INPUT_MODE, [test x"$enable_english_input_mode" = x"yes"])
190
191 # --disable-stroke-input-mode
192 AC_ARG_ENABLE(stroke-input-mode,
193         AS_HELP_STRING([--disable-stroke-input-mode],
194         [do not build stroke input mode]),
195         [enable_stroke_input_mode=$enableval],
196         [enable_stroke_input_mode=yes]
197 )
198
199 AM_CONDITIONAL(IBUS_BUILD_STROKE_INPUT_MODE, [test x"$enable_stroke_input_mode" = x"yes"])
200
201 # OUTPUT files
202 AC_CONFIG_FILES([ po/Makefile.in
203 Makefile
204 ibus-libpinyin.spec
205 lua/Makefile
206 src/Makefile
207 src/libpinyin.xml.in
208 setup/Makefile
209 setup/ibus-setup-libpinyin
210 data/Makefile
211 data/icons/Makefile
212 m4/Makefile
213 ])
214
215 AC_OUTPUT
216
217 AC_MSG_RESULT([
218 Build options:
219     Version                     $VERSION
220     Install prefix              $prefix
221     Use boost                   $enable_boost
222     Use opencc                  $enable_opencc
223     Use libpinyin               $enable_libpinyin
224     Build lua extension         $enable_lua_extension
225     Build stroke input mode     $enable_stroke_input_mode
226     Build english input mode    $enable_english_input_mode
227 ])
228