ibus-x11 can work now.
[platform/upstream/ibus.git] / configure.ac
1 # vim:set et ts=4:
2 #
3 # ibus - The Input Bus
4 #
5 # Copyright (c) 2007-2008 Huang Peng <shawn.p.huang@gmail.com>
6 #
7 # This library is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU Lesser General Public
9 # License as published by the Free Software Foundation; either
10 # version 2 of the License, or (at your option) any later version.
11 #
12 # This library 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 Lesser General Public License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public
18 # License along with this program; if not, write to the
19 # Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20 # Boston, MA  02111-1307  USA
21
22 # if not 1, append datestamp to the version number.
23 m4_define([ibus_released], [0])
24 m4_define([ibus_major_version], [0])
25 m4_define([ibus_minor_version], [1])
26 m4_define([ibus_micro_version], [1])
27 m4_define(ibus_maybe_datestamp,
28     m4_esyscmd([if test x]ibus_released[ != x1; then date +.%Y%m%d | tr -d '\n\r'; fi]))
29
30 m4_define([ibus_version],
31     ibus_major_version.ibus_minor_version.ibus_micro_version[]ibus_maybe_datestamp)
32
33 AC_INIT([ibus], [ibus_version], [http://code.google.com/p/ibus/issues/entry],[ibus])
34 AM_INIT_AUTOMAKE([1.10])
35 AC_GNU_SOURCE
36
37 AC_CONFIG_HEADERS([config.h])
38 AC_CONFIG_MACRO_DIR([m4])
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 AM_PROG_CC_C_O
48 AC_PROG_CXX
49 AC_ISC_POSIX
50 AC_HEADER_STDC
51 AM_PROG_LIBTOOL
52
53 # check inotify
54 AC_CHECK_HEADERS([sys/inotify.h])
55
56 # check glib2
57 AM_PATH_GLIB_2_0
58 PKG_CHECK_MODULES(GLIB2, [
59     glib-2.0
60 ])
61 PKG_CHECK_MODULES(GOBJECT2, [
62     gobject-2.0
63 ])
64
65
66 # check gtk, gdk & pygtk
67 PKG_CHECK_MODULES(GTK2, [
68     gtk+-2.0
69 ])
70
71 GTK_BINARY_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
72 GTK_IM_MODULEDIR="$libdir"/gtk-2.0/immodules
73
74 PKG_CHECK_MODULES(GDK2, [
75     gdk-2.0
76 ])
77
78 # check dbus-glib
79 PKG_CHECK_MODULES(DBUS, [
80     dbus-glib-1
81 ])
82
83
84 # Check for Qt4
85 PKG_CHECK_MODULES(QT,
86 [QtCore >= 4.3.5 QtDBus >= 4.3.5],
87 [IBUS_HAS_QT4=yes],
88 [IBUS_HAS_QT4=no]
89 )
90
91 if test x"$IBUS_HAS_QT4" == x"yes"; then
92     QMAKE=`$PKG_CONFIG --variable=qmake Qt`
93     if test x"$QMAKE" == x""; then
94         AC_PATH_PROG(QMAKE, qmake-qt4)
95     fi
96     if test x"$QMAKE" == x""; then
97         AC_PATH_PROG(QMAKE, qmake)
98     fi
99     if test x"$QMAKE" == x""; then
100         IBUS_HAS_QT4=no
101         AC_MSG_WARN([Can not find qmake.])
102     fi
103     AC_SUBST(QMAKE)
104 fi
105
106 # Check for x11
107 PKG_CHECK_MODULES(X11, [
108     x11
109 ])
110
111 # check env
112 AC_PATH_PROG(ENV, env)
113 AC_SUBST(ENV)
114
115
116 # check python
117 AM_PATH_PYTHON([2.5])
118 AC_PATH_PROG(PYTHON_CONFIG, python$PYTHON_VERSION-config)
119 if test x"$PYTHON_CONFIG" == x""; then
120     AC_PATH_PROG(PYTHON_CONFIG, python-config)
121 fi
122 if test x"$PYTHON_CONFIG" != x""; then
123     PYTHON_CFLAGS=`$PYTHON_CONFIG --includes`
124     PYTHON_LIBS=`$PYTHON_CONFIG --libs`
125 else
126     PYTHON_CFLAGS=`$PYTHON $srcdir/python-config.py --includes`
127     PYTHON_LIBS=`$PYTHON $srcdir/python-config.py --libs`
128 fi
129 AC_SUBST(PYTHON_CFLAGS)
130 AC_SUBST(PYTHON_LIBS)
131
132
133 # define GETTEXT_* variables
134 GETTEXT_PACKAGE=ibus
135 AC_SUBST(GETTEXT_PACKAGE)
136 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define to the read-only architecture-independent data directory.])
137
138 AM_GNU_GETTEXT([external])
139 AM_GNU_GETTEXT_VERSION(0.16.1)
140
141
142 # define configure arguments
143 AC_ARG_WITH(gtk-im-module-dir,
144     AS_HELP_STRING([--with-gtk-im-module-dir[=DIR]],
145         [Select gtk immodule dir]),
146     GTK_IM_MODULEDIR=$with_gtk_im_module_dir
147 )
148 AC_SUBST(GTK_IM_MODULEDIR)
149
150 AC_ARG_ENABLE(qt4-immodule,
151     AS_HELP_STRING([--disable-qt4-immodule],
152         [do not build qt4 immodule]),
153     [enable_qt4=$enableval],
154     [enable_qt4=yes],
155 )
156 if test x"$IBUS_HAS_QT4" != x"yes"; then
157     enable_qt4=no
158 fi
159 AM_CONDITIONAL(IBUS_BUILD_QT4, [test x"$enable_qt4" = x"yes" ])
160
161
162 # OUTPUT files
163 AC_CONFIG_FILES([ po/Makefile.in
164 Makefile
165 ibus.spec
166 ibus/Makefile
167 ibus/interface/Makefile
168 daemon/Makefile
169 daemon/ibus-daemon
170 launcher/ibus
171 launcher/ibus.desktop
172 launcher/Makefile
173 panel/Makefile
174 panel/ibus-panel
175 gconf/Makefile
176 gconf/ibus-gconf
177 lib/Makefile
178 lib/gtk2/Makefile
179 client/Makefile
180 client/gtk2/Makefile
181 client/qt4/Makefile
182 client/x11/Makefile
183 setup/Makefile
184 setup/ibus-setup
185 setup/ibus-setup.desktop
186 util/Makefile
187 util/IMdkit/Makefile
188 icons/Makefile
189 m4/Makefile
190 ])
191
192 AC_OUTPUT
193 AC_MSG_RESULT([
194 Build options:
195   Version                  $VERSION
196   Install prefix           $prefix
197   Build shared libs        $enable_shared
198   Build static libs        $enable_static
199   Gtk immodule dir         $GTK_IM_MODULEDIR
200   Enable Qt4 IM module     $enable_qt4
201 ])
202