release 1.3.11
[platform/upstream/ibus-libpinyin.git] / configure.ac
1 # vim:set et ts=4:
2 #
3 # ibus-pinyin - The Chinese PinYin engine 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., 675 Mass Ave, Cambridge, MA 02139, 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], [3])
25 m4_define([ibus_micro_version], [11])
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-pinyin], [ibus_version], [http://code.google.com/p/ibus/issues/entry],[ibus-pinyin])
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
54 # check ibus
55 PKG_CHECK_MODULES(IBUS, [
56     ibus-1.0
57 ])
58
59 # check sqlite
60 PKG_CHECK_MODULES(SQLITE, [
61     sqlite3
62 ])
63 AC_PATH_PROG(SQLITE3, sqlite3)
64
65 # check uuid
66 AC_CHECK_FUNCS([uuid_create], [], [
67     PKG_CHECK_MODULES(LIBUUID, uuid, [
68         # uuid.pc exist
69         AC_DEFINE(HAVE_LIBUUID, 1, [Define if found libuuid])
70         HAVE_LIBUUID=yes
71     ], [
72         # uuid.pc does not exist
73         uuid_old_LIBS=$LIBS
74         AC_CHECK_HEADERS(uuid/uuid.h, [
75             AC_SEARCH_LIBS(uuid_generate, uuid, [
76                 test x"$ac_cv_search_uuid_generate" != x"none required" && LIBUUID_LIBS=$ac_cv_search_uuid_generate
77                 AC_DEFINE(HAVE_LIBUUID, 1, [Define if found libuuid])
78                 HAVE_LIBUUID=yes
79             ], [
80                 AC_MSG_ERROR([Can not find uuid_create and uuid_generate in libc or libuuid])
81             ])
82         ], [
83             AC_MSG_ERROR([Can not find uuid_create and uuid_generate in libc or libuuid])
84         ])
85         LIBS=$uuid_old_LIBS
86     ])
87 ])
88
89 AM_CONDITIONAL(HAVE_LIBUUID, test x"$HAVE_LIBUUID" = x"yes")
90
91 # check boost
92 BOOST_REQUIRE([1.39])
93 BOOST_FIND_HEADER([boost/signals2.hpp])
94 # BOOST_FIND_HEADER([boost/signals2.hpp], [
95 #     HAVE_BOOST_SIGNALS2=no
96 #     BOOST_SIGNALS([s])
97 # ], [
98 #     AC_DEFINE(HAVE_BOOST_SIGNALS2_HPP, 1, [Define if found boost.signals2])
99 #     HAVE_BOOST_SGINALS2=yes
100 # ])
101
102 # AM_CONDITIONAL(HAVE_BOOST_SIGNALS2, test x"$HAVE_BOOST_SIGNALS2" = x"yes")
103
104 # check sigc
105 # PKG_CHECK_MODULES(SIGC, [
106 #     sigc++-2.0
107 # ])
108
109 # check env
110 AC_PATH_PROG(ENV, env)
111 AC_SUBST(ENV)
112
113 # check python
114 AM_PATH_PYTHON([2.5])
115
116 # --enable-opencc
117 AC_ARG_ENABLE(opencc,
118     AC_HELP_STRING([--enable-opencc],
119         [Use opencc for simplified and traditional Chinese conversion]),
120         [enable_opencc=$enableval],
121         [enable_opencc=no]
122 )
123 if test x"$enable_opencc" = x"yes"; then
124     # check opencc
125     PKG_CHECK_MODULES(OPENCC, [opencc], [
126         AC_DEFINE(HAVE_OPENCC, 1, [Define if found opencc])
127     ])
128 fi
129
130 # define GETTEXT_* variables
131 GETTEXT_PACKAGE=ibus-pinyin
132 AC_SUBST(GETTEXT_PACKAGE)
133 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package])
134
135 AM_GLIB_GNU_GETTEXT
136
137 # --enable-db-android
138 AC_ARG_ENABLE(db-android,
139     AS_HELP_STRING([--disable-db-android],
140         [do not build database from pinyin in android]),
141     [enable_db_android=$enableval],
142     [enable_db_android=yes]
143 )
144 AM_CONDITIONAL(IBUS_BUILD_DB_ANDROID, [test x"$enable_db_android" = x"yes" ])
145
146 # --enable-db-open-phrase
147 AC_ARG_ENABLE(db-open-phrase,
148     AS_HELP_STRING([--enable-db-open-phrase],
149         [build open-phrase database]),
150     [enable_db_open_phrase=$enableval],
151     [enable_db_open_phrase=no]
152 )
153 AM_CONDITIONAL(IBUS_BUILD_DB_OPEN_PHRASE, [test x"$enable_db_open_phrase" = x"yes" ])
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
180 AM_CONDITIONAL(IBUS_BUILD_LUA_EXTENSION, [test x"$enable_lua_extension" = x"yes"])
181
182 # OUTPUT files
183 AC_CONFIG_FILES([ po/Makefile.in
184 Makefile
185 ibus-pinyin.spec
186 lua/Makefile
187 src/Makefile
188 src/pinyin.xml.in
189 setup/Makefile
190 setup/ibus-setup-pinyin
191 setup/version.py
192 data/Makefile
193 data/db/Makefile
194 data/db/android/Makefile
195 data/db/open-phrase/Makefile
196 data/icons/Makefile
197 m4/Makefile
198 ])
199
200 AC_OUTPUT
201
202 AC_MSG_RESULT([
203 Build options:
204     Version                     $VERSION
205     Install prefix              $prefix
206     Use opencc                  $enable_opencc
207     Build database android      $enable_db_android
208     Build database open-phrase  $enable_db_open_phrase
209     Build lua extension         $enable_lua_extension
210 ])
211