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.4.6904, 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=6904
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="hy az eu bg ca zh_CN zh_HK zh_TW hr cs da nl_NL en en_US et fi fr_FR gl ka de_DE el_GR hu is ga it_IT ja_JP kk ko_KR lv lt mk nb pl pt_PT pt_BR ro ru_RU sr sk sl es_ES es_US es_MX sv tr_TR uk uz ar zh_SG hi en_PH fr_CA fa th ur"
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 gconf library
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.])
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)
233 # Check EFL assist library
234 PKG_CHECK_MODULES(EFL_ASSIST, [efl-assist])
237 PKG_CHECK_MODULES(X11, [x11])
239 # Check ui-gadget library
240 PKG_CHECK_MODULES(UIGADGET, [ui-gadget-1])
242 # Check pkgmgr-info library
243 PKG_CHECK_MODULES(PKGMGR_INFO, [pkgmgr-info])
245 # Check utilX library
246 PKG_CHECK_MODULES(UTILX, [utilX])
248 # Check appcore-efl library
249 PKG_CHECK_MODULES(APPCORE_EFL, [appcore-efl])
252 PKG_CHECK_MODULES(DLOG, [dlog >= 0])
254 # Check privilege control library
255 PKG_CHECK_MODULES(PRIVILEGE_CONTROL, [libprivilege-control >= 0])
257 # Check notification library
258 PKG_CHECK_MODULES(NOTIFICATION, [notification])
261 PKG_CHECK_MODULES(TTS, [tts])
263 # Check vconf library
264 PKG_CHECK_MODULES(VCONF, [vconf],
268 # Check feedback library
269 PKG_CHECK_MODULES(FEEDBACK, [feedback])
271 if test "$ISF_HAS_VCONF" = "yes"; then
272 AC_DEFINE(HAVE_VCONF,1,[Have VConf functions.])
276 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.4.0 pango >= 1.1.0 gdk-pixbuf-2.0 >= 2.4.0],
281 if test "$SCIM_HAS_GTK2" = "yes"; then
282 if $PKG_CONFIG --exists "gtk+-2.0 >= 2.2" ; then
285 AC_DEFINE(GDK_MULTIHEAD_SAFE,1,[Force use of GDK's multihead-safe APIs.])
287 if $PKG_CONFIG --exists "gtk+-2.0 >= 2.3.5" ; then
290 AC_DEFINE(HAVE_GTK_DRAW_INSERTION_CURSOR,1,[Have gtk_draw_insertion_cursor ().])
292 GTK_BINARY_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
293 GTK_LIBDIR=`$PKG_CONFIG --variable=libdir gtk+-2.0`
294 if test -z "$GTK_LIBDIR)"; then
297 GTK_IM_MODULEDIR=$GTK_LIBDIR/gtk-2.0/$GTK_BINARY_VERSION/immodules
299 AC_SUBST(GTK_IM_MODULEDIR)
300 AC_SUBST(GTK_VERSION)
301 AC_SUBST(GTK_BINARY_VERSION)
304 # Check if we have gthread
305 PKG_CHECK_MODULES(GTHREAD2,[gthread-2.0 >= 2.0.0],
306 [SCIM_HAS_GTHREAD2=yes],
307 [SCIM_HAS_GTHREAD2=no])
309 # Checks for X11 header files.
312 # Add -lX11 to X_LIBS
313 if test "$have_x" = "yes"; then
314 X_LIBS="$X_LIBS -lX11"
321 AM_CONDITIONAL(ARM, test x$TARGET = xARM)
323 ###########################################################
324 ## Definiation of compile args. ##
325 ###########################################################
326 AC_ARG_WITH(gtk-im-module-dir,
327 AS_HELP_STRING([--with-gtk-im-module-dir=dir],
328 [Select gtk immodule dir]),
329 GTK_IM_MODULEDIR=$with_gtk_im_module_dir)
331 AC_ARG_WITH(efl-im-module-dir,
332 AS_HELP_STRING([--with-efl-im-module-dir=dir],
333 [Select efl immodule dir]),
334 EFL_IM_MODULEDIR=$with_efl_im_module_dir)
336 AC_ARG_ENABLE(ld-version-script,
337 [ --enable-ld-version-script Use ld version script to limit exported symbols],
338 enable_ld_version_script=yes,
339 enable_ld_version_script=no)
342 [ --enable-debug Turn on debugging],
347 [ --enable-x86 Build for x86 host],
351 AC_ARG_ENABLE(hash-map,
352 [ --enable-hash-map Use hast_map instead of std::map internally],
356 AC_ARG_ENABLE(config-simple,
357 [ --disable-config-simple Do not build Simple Config module],
358 enable_config_simple=no,
359 enable_config_simple=yes)
361 AC_ARG_ENABLE(config-socket,
362 [ --disable-config-socket Do not build Socket Config module],
363 enable_config_socket=no,
364 enable_config_socket=yes)
366 AC_ARG_ENABLE(frontend-x11,
367 [ --disable-frontend-x11 Do not build X11 FrontEnd module],
368 enable_frontend_x11=no,
369 enable_frontend_x11=yes)
371 AC_ARG_ENABLE(frontend-socket,
372 [ --disable-frontend-socket Do not build Socket FrontEnd module],
373 enable_frontend_socket=no,
374 enable_frontend_socket=yes)
376 AC_ARG_ENABLE(im-socket,
377 [ --disable-im-socket Do not build Socket IMEngine module],
379 enable_im_socket=yes)
381 AC_ARG_ENABLE(filter-sctc,
382 [ --disable-filter-sctc Do not build Simplified/Traditional Chinese conversion Filter module],
383 enable_filter_sctc=no,
384 enable_filter_sctc=yes)
386 AC_ARG_ENABLE(gtk2-immodule,
387 [ --disable-gtk2-immodule Do not build GTK2 IMModule],
388 enable_gtk2_immodule=no,
389 enable_gtk2_immodule=yes)
391 AC_ARG_ENABLE(efl-immodule,
392 [ --disable-efl-immodule Do not build EFL IMModule],
393 enable_efl_immodule=no,
394 enable_efl_immodule=yes)
396 AC_ARG_ENABLE(panel-efl,
397 [ --disable-panel-efl Do not build EFL Panel],
399 enable_panel_efl=check)
401 AC_ARG_ENABLE(setting-efl,
402 [ --disable-setting-efl Do not build EFL Setting],
403 enable_setting_efl=no,
404 enable_setting_efl=check)
406 AC_ARG_ENABLE(tray-icon,
407 [ --disable-tray-icon Do not build Tray Icon],
409 enable_tray_icon=yes)
411 if test "$have_x" = "yes"; then
412 SCIM_BUILD_X11_UTILS=1
415 SCIM_BUILD_X11_UTILS=0
419 if test "$enable_hash_map" = "yes"; then
420 AC_DEFINE(ENABLE_HASH_MAP,1,[Use hash map instead of map in libscim])
423 if test "$enable_debug" = "yes"; then
424 AC_DEFINE(ENABLE_DEBUG,1,[Define this to enable the debug facility in libscim])
426 CXXFLAGS="$CXXFLAGS -g"
429 if test "$enable_x86" = "yes"; then
430 AC_DEFINE(ENABLE_X86_HOST,1,[Build for x86 host])
433 if test "$enable_tests" = "yes"; then
440 if test "$enable_config_simple" = "yes"; then
441 SCIM_BUILD_CONFIG_SIMPLE=1
443 SCIM_BUILD_CONFIG_SIMPLE=0
444 enable_config_simple=no
447 if test "$enable_config_socket" = "yes" -a "$socket_ok" = "yes"; then
448 SCIM_BUILD_CONFIG_SOCKET=1
450 SCIM_BUILD_CONFIG_SOCKET=0
451 enable_config_socket=no
454 if test "$enable_frontend_x11" = "yes" -a "$have_x" = "yes"; then
455 SCIM_BUILD_FRONTEND_X11=1
457 SCIM_BUILD_FRONTEND_X11=0
458 enable_frontend_x11=no
461 if test "$enable_frontend_socket" = "yes" -a "$socket_ok" = "yes"; then
462 SCIM_BUILD_FRONTEND_SOCKET=1
464 SCIM_BUILD_FRONTEND_SOCKET=0
465 enable_frontend_socket=no
468 if test "$enable_im_rawcode" = "yes"; then
469 SCIM_BUILD_IMENGINE_RAWCODE=1
471 SCIM_BUILD_IMENGINE_RAWCODE=0
475 if test "$enable_im_socket" = "yes" -a "$socket_ok" = "yes"; then
476 SCIM_BUILD_IMENGINE_SOCKET=1
478 SCIM_BUILD_IMENGINE_SOCKET=0
482 if test "$enable_filter_sctc" = "yes"; then
483 SCIM_BUILD_FILTER_SCTC=1
485 SCIM_BUILD_FILTER_SCTC=0
486 enable_filter_sctc=no
489 if test "$enable_gtk2_immodule" = "yes" -a "$SCIM_HAS_GTK2" = "yes"; then
490 SCIM_BUILD_GTK2_IMMODULE=1
492 SCIM_BUILD_GTK2_IMMODULE=0
493 enable_gtk2_immodule=no
496 if test "$SCIM_HAS_GTK2" = "yes"; then
498 SCIM_BUILD_GTK_UTILS=1
501 SCIM_BUILD_GTK_UTILS=0
504 if test "$enable_tray_icon" = "yes"; then
505 if test "$SCIM_HAS_GTK2_2" = "yes" -a "$no_x" != "yes"; then
507 AC_DEFINE(ENABLE_TRAY_ICON,1,[Enable the TrayIcon code.])
513 if test "$enable_efl_immodule" = "yes" -a "$ISF_HAS_EFL" = "yes"; then
514 ISF_BUILD_EFL_IMMODULE=1
516 ISF_BUILD_EFL_IMMODULE=0
517 enable_efl_immodule=no
520 ISF_BUILD_PANEL_EFL=0
521 if test "$enable_panel_efl" != "no"; then
523 if test "$ISF_HAS_EFL" = "yes"; then
524 ISF_BUILD_PANEL_EFL=1
529 ISF_BUILD_SETTING_EFL=0
530 if test "$enable_setting_efl" != "no"; then
531 enable_setting_efl=no
532 if test "$ISF_HAS_EFL" = "yes" -a "$ISF_HAS_VCONF" = "yes"; then
533 ISF_BUILD_SETTING_EFL=1
534 enable_setting_efl=yes
538 #if nothing needs libscim-gtkutils, just disable it
539 if test "$enable_panel_gtk" != "yes"; then
541 SCIM_BUILD_GTK_UTILS=0
544 AM_CONDITIONAL(SCIM_LD_VERSION_SCRIPT,
545 [test "$enable_ld_version_script" = "yes"])
547 AM_CONDITIONAL(SCIM_BUILD_TESTS,
548 [test "$enable_tests" = "yes"])
550 AM_CONDITIONAL(SCIM_BUILD_CONFIG_SIMPLE,
551 [test "$enable_config_simple" = "yes"])
553 AM_CONDITIONAL(SCIM_BUILD_CONFIG_SOCKET,
554 [test "$enable_config_socket" = "yes"])
556 AM_CONDITIONAL(SCIM_BUILD_FRONTEND_X11,
557 [test "$enable_frontend_x11" = "yes"])
559 AM_CONDITIONAL(SCIM_BUILD_FRONTEND_SOCKET,
560 [test "$enable_frontend_socket" = "yes"])
562 AM_CONDITIONAL(SCIM_BUILD_IMENGINE_SOCKET,
563 [test "$enable_im_socket" = "yes"])
565 AM_CONDITIONAL(SCIM_BUILD_IMENGINE_RAWCODE,
566 [test "$enable_im_rawcode" = "yes"])
568 AM_CONDITIONAL(SCIM_BUILD_GTK2_IMMODULE,
569 [test "$enable_gtk2_immodule" = "yes"])
571 AM_CONDITIONAL(SCIM_BUILD_FILTER_SCTC,
572 [test "$enable_filter_sctc" = "yes"])
574 AM_CONDITIONAL(SCIM_BUILD_GTK_UTILS,
575 [test "$enable_gtk_utils" = "yes"])
577 AM_CONDITIONAL(SCIM_BUILD_X11_UTILS,
578 [test "$enable_x11_utils" = "yes"])
580 AM_CONDITIONAL(SCIM_BUILD_TRAY_ICON,
581 [test "$enable_tray_icon" = "yes"])
583 AM_CONDITIONAL(ISF_BUILD_EFL_IMMODULE,
584 [test "$enable_efl_immodule" = "yes"])
586 AM_CONDITIONAL(ISF_BUILD_PANEL_EFL,
587 [test "$enable_panel_efl" = "yes"])
589 AM_CONDITIONAL(ISF_BUILD_SETTING_EFL,
590 [test "$enable_setting_efl" = "yes"])
592 AM_CONDITIONAL(ISF_BUILD_WITH_GCONF,
593 [test "$ISF_HAS_GCONF" = "yes"])
595 AC_SUBST(SCIM_BUILD_TESTS)
596 AC_SUBST(SCIM_BUILD_CONFIG_SIMPLE)
597 AC_SUBST(SCIM_BUILD_CONFIG_SOCKET)
598 AC_SUBST(SCIM_BUILD_FRONTEND_X11)
599 AC_SUBST(SCIM_BUILD_FRONTEND_SOCKET)
600 AC_SUBST(SCIM_BUILD_IMENGINE_RAWCODE)
601 AC_SUBST(SCIM_BUILD_IMENGINE_TABLE)
602 AC_SUBST(SCIM_BUILD_IMENGINE_SOCKET)
603 AC_SUBST(SCIM_BUILD_FILTER_SCTC)
604 AC_SUBST(SCIM_BUILD_GTK2_IMMODULE)
605 AC_SUBST(SCIM_BUILD_SCIM_SETUP)
606 AC_SUBST(SCIM_BUILD_GTK_UTILS)
607 AC_SUBST(SCIM_BUILD_X11_UTILS)
608 AC_SUBST(ISF_BUILD_EFL_IMMODULE)
609 AC_SUBST(ISF_BUILD_PANEL_EFL)
610 AC_SUBST(ISF_BUILD_SETTING_EFL)
611 AC_SUBST(ISF_BUILD_WITH_GCONF)
613 ISF_BUILDING_DLL="-DISF_BUILDING_DLL"
614 AC_SUBST(ISF_BUILDING_DLL)
616 # Output All necessary Paths.
617 SCIM_BINDIR="$prefix/bin"
618 SCIM_DATADIR="$datadir/scim"
619 SCIM_SYSCONFDIR="$sysconfdir"
620 SCIM_ICONDIR="$datadir/scim/icons"
621 SCIM_MODULE_PATH="$libdir/scim$SCIM_EPOCH"
622 SCIM_LIBEXECDIR="$libdir/scim$SCIM_EPOCH"
623 SCIM_LOCALEDIR="/usr/share/locale"
626 AC_SUBST(SCIM_BINDIR)
627 AC_SUBST(SCIM_DATADIR)
628 AC_SUBST(SCIM_SYSCONFDIR)
629 AC_SUBST(SCIM_ICONDIR)
630 AC_SUBST(SCIM_MODULE_PATH)
631 AC_SUBST(SCIM_LIBEXECDIR)
632 AC_SUBST(SCIM_LOCALEDIR)
633 AC_SUBST(SCIM_TEMPDIR)
635 ###########################################################
637 ###########################################################
639 AC_CONFIG_FILES([Makefile
642 po/isfsetting_efl/Makefile.in
647 ism/data/icons/Makefile
648 ism/data/pixmaps/Makefile
650 ism/modules/frontend/imdkit/Makefile
651 ism/modules/frontend/Makefile
652 ism/modules/imengine/Makefile
653 ism/modules/filter/Makefile
654 ism/modules/config/Makefile
657 ism/extras/gtk2_immodule/Makefile
658 ism/extras/efl_immodule/Makefile
659 ism/extras/efl_panel/Makefile
660 ism/extras/efl_setting/Makefile
674 Install prefix $prefix
675 Build shared libs $enable_shared
676 Build static libs $enable_static
677 Enable debug $enable_debug
678 Build for x86 host $enable_x86
679 Enable ld version script $enable_ld_version_script
682 Simple config module $enable_config_simple
683 Socket config module $enable_config_socket
685 X11 FrontEnd module $enable_frontend_x11
686 Socket FrontEnd module $enable_frontend_socket
688 Socket IMEngine module $enable_im_socket
690 SCTC Filter module $enable_filter_sctc
692 GTK2 Utility Library $enable_gtk_utils
693 X11 Utility Library $enable_x11_utils
695 GTK2 IMModule $enable_gtk2_immodule
696 GTK2 IMModule dir $GTK_IM_MODULEDIR
698 EFL IMModule $enable_efl_immodule
699 EFL IMModule dir $EFL_IM_MODULEDIR
700 EFL Panel GUI $enable_panel_efl
701 EFL Setting $enable_setting_efl
703 Enable TrayIcon $enable_tray_icon