1 # Process this file with autoconf to produce a configure script
2 #AC_INIT(scim, 1.4.7, suzhe@tsinghua.org.cn)
3 AC_INIT(isf, 2.3.5617, isf@samsung.com)
4 AC_CONFIG_SRCDIR([ism/src/scim.h])
5 m4_pattern_allow([^AS_])
7 ###########################################################
8 ## Some definitions of Version macros. ##
9 ###########################################################
14 ISF_MICRO_VERSION=5617
16 ISF_VERSION=$ISF_MAJOR_VERSION.$ISF_MINOR_VERSION.$ISF_MICRO_VERSION
18 AC_SUBST(ISF_MAJOR_VERSION)
19 AC_SUBST(ISF_MINOR_VERSION)
20 AC_SUBST(ISF_MICRO_VERSION)
28 SCIM_VERSION=$SCIM_MAJOR_VERSION.$SCIM_MINOR_VERSION.$SCIM_MICRO_VERSION
30 AC_SUBST(SCIM_MAJOR_VERSION)
31 AC_SUBST(SCIM_MINOR_VERSION)
32 AC_SUBST(SCIM_MICRO_VERSION)
33 AC_SUBST(SCIM_VERSION)
35 # libtool versioning for SCIM
37 # increment if the interface has additions, changes, removals.
40 # increment any time the source changes; set to 0 if you increment CURRENT
43 # increment if any interfaces have been added; set to 0
44 # if any interfaces have been removed. removal has
45 # precedence over adding, so set to 0 if both happened.
48 AC_SUBST(SCIM_CURRENT)
49 AC_SUBST(SCIM_REVISION)
52 # Define a string for the earliest version that this release cannot
53 # coexist with. This is used for directory hierarchies.
58 # Define a string for the earliest version that this release has
59 # binary compatibility with. This is used for module locations.
61 SCIM_BINARY_VERSION=1.4.0
62 AC_SUBST(SCIM_BINARY_VERSION)
64 AC_DEFINE_UNQUOTED(SCIM_BINARY_VERSION, "$SCIM_BINARY_VERSION", [The binary version of SCIM library.])
65 AC_DEFINE_UNQUOTED(SCIM_VERSION, "$SCIM_VERSION", [The release version of SCIM library.])
66 AC_DEFINE_UNQUOTED(SCIM_MAJOR_VERSION, $SCIM_MAJOR_VERSION, [The Major version of SCIM library.])
67 AC_DEFINE_UNQUOTED(SCIM_MINOR_VERSION, $SCIM_MINOR_VERSION, [The Minor version of SCIM library.])
68 AC_DEFINE_UNQUOTED(SCIM_MICRO_VERSION, $SCIM_MICRO_VERSION, [The Micro version of SCIM library.])
71 AC_SUBST(GETTEXT_PACKAGE)
72 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [The gettext domain])
74 ###########################################################
75 ## Start Configuration. ##
76 ###########################################################
81 AM_CONFIG_HEADER([config.h])
87 ALL_LINGUAS="de_DE el_GR en es_ES fr_FR it_IT ja_JP ko_KR nl_NL pt_PT ru_RU tr_TR zh_CN zh_HK zh_TW"
94 AC_SUBST(LIBTOOL_DEPS)
96 # libtool option to control which symbols are exported
97 # right now, symbols starting with _ are not exported
98 # !!! DO NOT USE IT !!!
99 LIBTOOL_EXPORT_OPTIONS=''
100 AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
102 # Checks for programs.
107 # Checks if doxygen is avaiable
110 if test "x$with_doxygen" != "xno"; then
111 AC_PATH_PROG(DOXYGEN, doxygen, no)
114 AM_CONDITIONAL(HAVE_DOXYGEN, test x$DOXYGEN != xno)
117 # Checks if graphviz is available
118 AC_CHECK_PROG(HAVE_GRAPHVIZ, dot, YES, NO)
119 AC_PATH_PROG(DOT, dot)
123 AC_PATH_PROG(PERL, perl)
127 IT_PROG_INTLTOOL([0.33], [no-xml])
129 # Checks for libraries.
132 AC_CHECK_HEADERS([langinfo.h libintl.h string.h dirent.h hash_map ext/hash_map])
133 AC_CHECK_HEADERS([stdio.h ctype.h errno.h assert.h])
135 # Checks for typedefs, structures, and compiler characteristics.
140 if test x$ac_cv_type_size_t != xyes; then
141 AC_MSG_ERROR([No type size_t, but SCIM needs it!])
144 AC_CHECK_SIZEOF(char)
145 AC_CHECK_SIZEOF(unsigned short int)
146 AC_CHECK_SIZEOF(unsigned int)
147 AC_CHECK_SIZEOF(unsigned long int)
148 AC_CHECK_SIZEOF(unsigned long long int)
149 AC_CHECK_HEADERS([stdint.h],[has_stdint=yes],[has_stdint=no])
151 if test x$ac_cv_sizeof_unsigned_short_int = x2 && test x$ac_cv_sizeof_char = x1 ; then
156 *** sizeof (unsigned short int) == 2
157 *** sizeof (char) == 1
158 *** You might want to consider using the GNU C compiler.
162 if test x$ac_cv_sizeof_wchar_t = x0 ; then
164 *** SCIM requires a compiler that supports wchar_t,
165 *** You might want to consider using the GNU C compiler.
169 if test x$has_stdint = xyes; then
170 INCLUDE_STDINT="#include <stdint.h>"
175 INCLUDE_STDINT="//#include <stdint.h>"
176 UINT16="unsigned short int"
177 if test x$ac_cv_sizeof_unsigned_int = x4; then
178 UINT32="unsigned int"
180 if test x$ac_cv_sizeof_unsigned_long_int = x4; then
181 UINT32="unsigned long int"
183 AC_MSG_ERROR([*** No suitable integer type for uint32 found.])
186 if test x$ac_cv_sizeof_unsigned_long_long_int = x8; then
187 UINT64="unsigned long long int"
189 AC_MSG_ERROR([*** No suitable integer type for uint64 found.])
192 AC_SUBST(INCLUDE_STDINT)
197 # Checks for library functions.
199 AC_CHECK_FUNCS([gettimeofday memmove memset nl_langinfo setlocale daemon])
200 AC_CHECK_FUNCS([memcpy strcmp strchr strrchr])
201 AC_CHECK_FUNCS([opendir closedir readdir])
202 AC_CHECK_FUNCS([usleep nanosleep])
203 AC_CHECK_FUNCS([gethostbyname gethostbyname_r socket bind accept connect listen],
209 # Check if we should build scim-panel-gtk with gconf
210 PKG_CHECK_MODULES(GCONF, [gconf-2.0 phonestatus noti-service],
214 if test "$ISF_HAS_GCONF" = "yes"; then
215 AC_DEFINE(HAVE_GCONF,1,[Have GConf functions.])
218 # Check if we should build isf-panel-efl daemon
219 PKG_CHECK_MODULES(EFL, [elementary ecore-x evas ecore ecore-evas ecore-file edje ecore-input ecore-imf],
223 if test "$ISF_HAS_EFL" = "yes"; then
224 EFL_LIBDIR=`$PKG_CONFIG --variable=libdir ecore-imf`
225 if test -z "$EFL_LIBDIR)"; then
228 EFL_IM_MODULEDIR=$EFL_LIBDIR/ecore/immodules
230 AC_SUBST(EFL_IM_MODULEDIR)
234 PKG_CHECK_MODULES(X11, [x11])
236 # Check ui-gadget library
237 PKG_CHECK_MODULES(UIGADGET, [ui-gadget-1])
239 # Check utilX library
240 PKG_CHECK_MODULES(UTILX, [utilX])
242 # Check appcore-efl library
243 PKG_CHECK_MODULES(APPCORE_EFL, [appcore-efl])
245 # Check HEYNOTI library
246 PKG_CHECK_MODULES(HEYNOTI, [heynoti])
249 PKG_CHECK_MODULES(DLOG, [dlog >= 0])
251 # Check privilege control library
252 PKG_CHECK_MODULES(PRIVILEGE_CONTROL, [libprivilege-control >= 0])
254 # Check if we should build isf-setting-efl
255 PKG_CHECK_MODULES(VCONF, [vconf],
259 if test "$ISF_HAS_VCONF" = "yes"; then
260 AC_DEFINE(HAVE_VCONF,1,[Have VConf functions.])
263 # Check if we should build scim-panel-gtk daemon
264 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.4.0 pango >= 1.1.0 gdk-pixbuf-2.0 >= 2.4.0],
269 if test "$SCIM_HAS_GTK2" = "yes"; then
270 if $PKG_CONFIG --exists "gtk+-2.0 >= 2.2" ; then
273 AC_DEFINE(GDK_MULTIHEAD_SAFE,1,[Force use of GDK's multihead-safe APIs.])
275 if $PKG_CONFIG --exists "gtk+-2.0 >= 2.3.5" ; then
278 AC_DEFINE(HAVE_GTK_DRAW_INSERTION_CURSOR,1,[Have gtk_draw_insertion_cursor ().])
280 GTK_BINARY_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
281 GTK_LIBDIR=`$PKG_CONFIG --variable=libdir gtk+-2.0`
282 if test -z "$GTK_LIBDIR)"; then
285 GTK_IM_MODULEDIR=$GTK_LIBDIR/gtk-2.0/immodules
287 AC_SUBST(GTK_IM_MODULEDIR)
288 AC_SUBST(GTK_VERSION)
289 AC_SUBST(GTK_BINARY_VERSION)
292 # Check if we have gthread
293 PKG_CHECK_MODULES(GTHREAD2,[gthread-2.0 >= 2.0.0],
294 [SCIM_HAS_GTHREAD2=yes],
295 [SCIM_HAS_GTHREAD2=no])
297 # Checks for X11 header files.
300 # Add -lX11 to X_LIBS
301 if test "$have_x" = "yes"; then
302 X_LIBS="$X_LIBS -lX11"
309 AM_CONDITIONAL(ARM, test x$TARGET = xARM)
311 ###########################################################
312 ## Definiation of compile args. ##
313 ###########################################################
314 AC_ARG_WITH(gtk-im-module-dir,
315 AS_HELP_STRING([--with-gtk-im-module-dir=dir],
316 [Select gtk immodule dir]),
317 GTK_IM_MODULEDIR=$with_gtk_im_module_dir)
319 AC_ARG_WITH(efl-im-module-dir,
320 AS_HELP_STRING([--with-efl-im-module-dir=dir],
321 [Select efl immodule dir]),
322 EFL_IM_MODULEDIR=$with_efl_im_module_dir)
324 AC_ARG_ENABLE(ld-version-script,
325 [ --enable-ld-version-script Use ld version script to limit exported symbols],
326 enable_ld_version_script=yes,
327 enable_ld_version_script=no)
330 [ --enable-debug Turn on debugging],
335 [ --enable-x86 Build for x86 host],
339 AC_ARG_ENABLE(hash-map,
340 [ --enable-hash-map Use hast_map instead of std::map internally],
344 AC_ARG_ENABLE(config-simple,
345 [ --disable-config-simple Do not build Simple Config module],
346 enable_config_simple=no,
347 enable_config_simple=yes)
349 AC_ARG_ENABLE(config-socket,
350 [ --disable-config-socket Do not build Socket Config module],
351 enable_config_socket=no,
352 enable_config_socket=yes)
354 AC_ARG_ENABLE(frontend-x11,
355 [ --disable-frontend-x11 Do not build X11 FrontEnd module],
356 enable_frontend_x11=no,
357 enable_frontend_x11=yes)
359 AC_ARG_ENABLE(frontend-socket,
360 [ --disable-frontend-socket Do not build Socket FrontEnd module],
361 enable_frontend_socket=no,
362 enable_frontend_socket=yes)
364 AC_ARG_ENABLE(im-socket,
365 [ --disable-im-socket Do not build Socket IMEngine module],
367 enable_im_socket=yes)
369 AC_ARG_ENABLE(filter-sctc,
370 [ --disable-filter-sctc Do not build Simplified/Traditional Chinese conversion Filter module],
371 enable_filter_sctc=no,
372 enable_filter_sctc=yes)
374 AC_ARG_ENABLE(gtk2-immodule,
375 [ --disable-gtk2-immodule Do not build GTK2 IMModule],
376 enable_gtk2_immodule=no,
377 enable_gtk2_immodule=yes)
379 AC_ARG_ENABLE(panel-gtk,
380 [ --disable-panel-gtk Do not build GTK2 Panel],
382 enable_panel_gtk=check)
384 AC_ARG_ENABLE(efl-immodule,
385 [ --disable-efl-immodule Do not build EFL IMModule],
386 enable_efl_immodule=no,
387 enable_efl_immodule=yes)
389 AC_ARG_ENABLE(panel-efl,
390 [ --disable-panel-efl Do not build EFL Panel],
392 enable_panel_efl=check)
394 AC_ARG_ENABLE(setting-efl,
395 [ --disable-setting-efl Do not build EFL Setting],
396 enable_setting_efl=no,
397 enable_setting_efl=check)
399 AC_ARG_ENABLE(tray-icon,
400 [ --disable-tray-icon Do not build Tray Icon],
402 enable_tray_icon=yes)
404 if test "$have_x" = "yes"; then
405 SCIM_BUILD_X11_UTILS=1
408 SCIM_BUILD_X11_UTILS=0
412 if test "$enable_hash_map" = "yes"; then
413 AC_DEFINE(ENABLE_HASH_MAP,1,[Use hash map instead of map in libscim])
416 if test "$enable_debug" = "yes"; then
417 AC_DEFINE(ENABLE_DEBUG,1,[Define this to enable the debug facility in libscim])
419 CXXFLAGS="$CXXFLAGS -g"
422 if test "$enable_x86" = "yes"; then
423 AC_DEFINE(ENABLE_X86_HOST,1,[Build for x86 host])
426 if test "$enable_tests" = "yes"; then
433 if test "$enable_config_simple" = "yes"; then
434 SCIM_BUILD_CONFIG_SIMPLE=1
436 SCIM_BUILD_CONFIG_SIMPLE=0
437 enable_config_simple=no
440 if test "$enable_config_socket" = "yes" -a "$socket_ok" = "yes"; then
441 SCIM_BUILD_CONFIG_SOCKET=1
443 SCIM_BUILD_CONFIG_SOCKET=0
444 enable_config_socket=no
447 if test "$enable_frontend_x11" = "yes" -a "$have_x" = "yes"; then
448 SCIM_BUILD_FRONTEND_X11=1
450 SCIM_BUILD_FRONTEND_X11=0
451 enable_frontend_x11=no
454 if test "$enable_frontend_socket" = "yes" -a "$socket_ok" = "yes"; then
455 SCIM_BUILD_FRONTEND_SOCKET=1
457 SCIM_BUILD_FRONTEND_SOCKET=0
458 enable_frontend_socket=no
461 if test "$enable_im_rawcode" = "yes"; then
462 SCIM_BUILD_IMENGINE_RAWCODE=1
464 SCIM_BUILD_IMENGINE_RAWCODE=0
468 if test "$enable_im_socket" = "yes" -a "$socket_ok" = "yes"; then
469 SCIM_BUILD_IMENGINE_SOCKET=1
471 SCIM_BUILD_IMENGINE_SOCKET=0
475 if test "$enable_filter_sctc" = "yes"; then
476 SCIM_BUILD_FILTER_SCTC=1
478 SCIM_BUILD_FILTER_SCTC=0
479 enable_filter_sctc=no
482 if test "$enable_gtk2_immodule" = "yes" -a "$SCIM_HAS_GTK2" = "yes"; then
483 SCIM_BUILD_GTK2_IMMODULE=1
485 SCIM_BUILD_GTK2_IMMODULE=0
486 enable_gtk2_immodule=no
489 if test "$SCIM_HAS_GTK2" = "yes"; then
491 SCIM_BUILD_GTK_UTILS=1
494 SCIM_BUILD_GTK_UTILS=0
497 if test "$enable_tray_icon" = "yes"; then
498 if test "$SCIM_HAS_GTK2_2" = "yes" -a "$no_x" != "yes"; then
500 AC_DEFINE(ENABLE_TRAY_ICON,1,[Enable the TrayIcon code.])
506 SCIM_BUILD_PANEL_GTK=0
507 if test "$enable_panel_gtk" != "no"; then
509 if test "$SCIM_HAS_GTHREAD2" = "yes" -a "$SCIM_HAS_GTK2" = "yes"; then
510 SCIM_BUILD_PANEL_GTK=1
515 if test "$enable_efl_immodule" = "yes" -a "$ISF_HAS_EFL" = "yes"; then
516 ISF_BUILD_EFL_IMMODULE=1
518 ISF_BUILD_EFL_IMMODULE=0
519 enable_efl_immodule=no
522 ISF_BUILD_PANEL_EFL=0
523 if test "$enable_panel_efl" != "no"; then
525 if test "$ISF_HAS_EFL" = "yes"; then
526 ISF_BUILD_PANEL_EFL=1
531 ISF_BUILD_SETTING_EFL=0
532 if test "$enable_setting_efl" != "no"; then
533 enable_setting_efl=no
534 if test "$ISF_HAS_EFL" = "yes" -a "$ISF_HAS_VCONF" = "yes"; then
535 ISF_BUILD_SETTING_EFL=1
536 enable_setting_efl=yes
540 #if nothing needs libscim-gtkutils, just disable it
541 if test "$enable_panel_gtk" != "yes"; then
543 SCIM_BUILD_GTK_UTILS=0
546 AM_CONDITIONAL(SCIM_LD_VERSION_SCRIPT,
547 [test "$enable_ld_version_script" = "yes"])
549 AM_CONDITIONAL(SCIM_BUILD_TESTS,
550 [test "$enable_tests" = "yes"])
552 AM_CONDITIONAL(SCIM_BUILD_CONFIG_SIMPLE,
553 [test "$enable_config_simple" = "yes"])
555 AM_CONDITIONAL(SCIM_BUILD_CONFIG_SOCKET,
556 [test "$enable_config_socket" = "yes"])
558 AM_CONDITIONAL(SCIM_BUILD_FRONTEND_X11,
559 [test "$enable_frontend_x11" = "yes"])
561 AM_CONDITIONAL(SCIM_BUILD_FRONTEND_SOCKET,
562 [test "$enable_frontend_socket" = "yes"])
564 AM_CONDITIONAL(SCIM_BUILD_IMENGINE_SOCKET,
565 [test "$enable_im_socket" = "yes"])
567 AM_CONDITIONAL(SCIM_BUILD_IMENGINE_RAWCODE,
568 [test "$enable_im_rawcode" = "yes"])
570 AM_CONDITIONAL(SCIM_BUILD_GTK2_IMMODULE,
571 [test "$enable_gtk2_immodule" = "yes"])
573 AM_CONDITIONAL(SCIM_BUILD_FILTER_SCTC,
574 [test "$enable_filter_sctc" = "yes"])
576 AM_CONDITIONAL(SCIM_BUILD_GTK_UTILS,
577 [test "$enable_gtk_utils" = "yes"])
579 AM_CONDITIONAL(SCIM_BUILD_X11_UTILS,
580 [test "$enable_x11_utils" = "yes"])
582 AM_CONDITIONAL(SCIM_BUILD_TRAY_ICON,
583 [test "$enable_tray_icon" = "yes"])
585 AM_CONDITIONAL(SCIM_BUILD_PANEL_GTK,
586 [test "$enable_panel_gtk" = "yes"])
588 AM_CONDITIONAL(ISF_BUILD_EFL_IMMODULE,
589 [test "$enable_efl_immodule" = "yes"])
591 AM_CONDITIONAL(ISF_BUILD_PANEL_EFL,
592 [test "$enable_panel_efl" = "yes"])
594 AM_CONDITIONAL(ISF_BUILD_SETTING_EFL,
595 [test "$enable_setting_efl" = "yes"])
597 AM_CONDITIONAL(ISF_BUILD_WITH_GCONF,
598 [test "$ISF_HAS_GCONF" = "yes"])
600 AC_SUBST(SCIM_BUILD_TESTS)
601 AC_SUBST(SCIM_BUILD_CONFIG_SIMPLE)
602 AC_SUBST(SCIM_BUILD_CONFIG_SOCKET)
603 AC_SUBST(SCIM_BUILD_FRONTEND_X11)
604 AC_SUBST(SCIM_BUILD_FRONTEND_SOCKET)
605 AC_SUBST(SCIM_BUILD_IMENGINE_RAWCODE)
606 AC_SUBST(SCIM_BUILD_IMENGINE_TABLE)
607 AC_SUBST(SCIM_BUILD_IMENGINE_SOCKET)
608 AC_SUBST(SCIM_BUILD_FILTER_SCTC)
609 AC_SUBST(SCIM_BUILD_GTK2_IMMODULE)
610 AC_SUBST(SCIM_BUILD_SCIM_SETUP)
611 AC_SUBST(SCIM_BUILD_PANEL_GTK)
612 AC_SUBST(SCIM_BUILD_GTK_UTILS)
613 AC_SUBST(SCIM_BUILD_X11_UTILS)
614 AC_SUBST(ISF_BUILD_EFL_IMMODULE)
615 AC_SUBST(ISF_BUILD_PANEL_EFL)
616 AC_SUBST(ISF_BUILD_SETTING_EFL)
617 AC_SUBST(ISF_BUILD_WITH_GCONF)
619 # Output All necessary Paths.
620 SCIM_BINDIR="$prefix/bin"
621 SCIM_DATADIR="$datadir/scim"
622 SCIM_SYSCONFDIR="$sysconfdir"
623 SCIM_ICONDIR="$datadir/scim/icons"
624 SCIM_MODULE_PATH="$libdir/scim$SCIM_EPOCH"
625 SCIM_LIBEXECDIR="$libdir/scim$SCIM_EPOCH"
626 SCIM_LOCALEDIR="/usr/share/locale"
629 AC_SUBST(SCIM_BINDIR)
630 AC_SUBST(SCIM_DATADIR)
631 AC_SUBST(SCIM_SYSCONFDIR)
632 AC_SUBST(SCIM_ICONDIR)
633 AC_SUBST(SCIM_MODULE_PATH)
634 AC_SUBST(SCIM_LIBEXECDIR)
635 AC_SUBST(SCIM_LOCALEDIR)
636 AC_SUBST(SCIM_TEMPDIR)
638 ###########################################################
640 ###########################################################
642 AC_CONFIG_FILES([Makefile
645 po/isfsetting_efl/Makefile.in
646 po/kbwizard_efl/Makefile.in
651 ism/data/icons/Makefile
652 ism/data/pixmaps/Makefile
654 ism/modules/frontend/imdkit/Makefile
655 ism/modules/frontend/Makefile
656 ism/modules/imengine/Makefile
657 ism/modules/filter/Makefile
658 ism/modules/config/Makefile
661 ism/extras/gtk2_immodule/Makefile
662 ism/extras/gtk_panel/Makefile
663 ism/extras/efl_immodule/Makefile
664 ism/extras/efl_panel/Makefile
665 ism/extras/efl_setting/Makefile
679 Install prefix $prefix
680 Build shared libs $enable_shared
681 Build static libs $enable_static
682 Enable debug $enable_debug
683 Build for x86 host $enable_x86
684 Enable ld version script $enable_ld_version_script
687 Simple config module $enable_config_simple
688 Socket config module $enable_config_socket
690 X11 FrontEnd module $enable_frontend_x11
691 Socket FrontEnd module $enable_frontend_socket
693 Socket IMEngine module $enable_im_socket
695 SCTC Filter module $enable_filter_sctc
697 GTK2 Utility Library $enable_gtk_utils
698 X11 Utility Library $enable_x11_utils
700 GTK2 IMModule $enable_gtk2_immodule
701 GTK2 IMModule dir $GTK_IM_MODULEDIR
702 GTK2 Panel GUI $enable_panel_gtk
704 EFL IMModule $enable_efl_immodule
705 EFL IMModule dir $EFL_IM_MODULEDIR
706 EFL Panel GUI $enable_panel_efl
707 EFL Setting $enable_setting_efl
709 Enable TrayIcon $enable_tray_icon