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.6702, 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=6702
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 if test "$ISF_HAS_VCONF" = "yes"; then
269 AC_DEFINE(HAVE_VCONF,1,[Have VConf functions.])
273 PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.4.0 pango >= 1.1.0 gdk-pixbuf-2.0 >= 2.4.0],
278 if test "$SCIM_HAS_GTK2" = "yes"; then
279 if $PKG_CONFIG --exists "gtk+-2.0 >= 2.2" ; then
282 AC_DEFINE(GDK_MULTIHEAD_SAFE,1,[Force use of GDK's multihead-safe APIs.])
284 if $PKG_CONFIG --exists "gtk+-2.0 >= 2.3.5" ; then
287 AC_DEFINE(HAVE_GTK_DRAW_INSERTION_CURSOR,1,[Have gtk_draw_insertion_cursor ().])
289 GTK_BINARY_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
290 GTK_LIBDIR=`$PKG_CONFIG --variable=libdir gtk+-2.0`
291 if test -z "$GTK_LIBDIR)"; then
294 GTK_IM_MODULEDIR=$GTK_LIBDIR/gtk-2.0/$GTK_BINARY_VERSION/immodules
296 AC_SUBST(GTK_IM_MODULEDIR)
297 AC_SUBST(GTK_VERSION)
298 AC_SUBST(GTK_BINARY_VERSION)
301 # Check if we have gthread
302 PKG_CHECK_MODULES(GTHREAD2,[gthread-2.0 >= 2.0.0],
303 [SCIM_HAS_GTHREAD2=yes],
304 [SCIM_HAS_GTHREAD2=no])
306 # Checks for X11 header files.
309 # Add -lX11 to X_LIBS
310 if test "$have_x" = "yes"; then
311 X_LIBS="$X_LIBS -lX11"
318 AM_CONDITIONAL(ARM, test x$TARGET = xARM)
320 ###########################################################
321 ## Definiation of compile args. ##
322 ###########################################################
323 AC_ARG_WITH(gtk-im-module-dir,
324 AS_HELP_STRING([--with-gtk-im-module-dir=dir],
325 [Select gtk immodule dir]),
326 GTK_IM_MODULEDIR=$with_gtk_im_module_dir)
328 AC_ARG_WITH(efl-im-module-dir,
329 AS_HELP_STRING([--with-efl-im-module-dir=dir],
330 [Select efl immodule dir]),
331 EFL_IM_MODULEDIR=$with_efl_im_module_dir)
333 AC_ARG_ENABLE(ld-version-script,
334 [ --enable-ld-version-script Use ld version script to limit exported symbols],
335 enable_ld_version_script=yes,
336 enable_ld_version_script=no)
339 [ --enable-debug Turn on debugging],
344 [ --enable-x86 Build for x86 host],
348 AC_ARG_ENABLE(hash-map,
349 [ --enable-hash-map Use hast_map instead of std::map internally],
353 AC_ARG_ENABLE(config-simple,
354 [ --disable-config-simple Do not build Simple Config module],
355 enable_config_simple=no,
356 enable_config_simple=yes)
358 AC_ARG_ENABLE(config-socket,
359 [ --disable-config-socket Do not build Socket Config module],
360 enable_config_socket=no,
361 enable_config_socket=yes)
363 AC_ARG_ENABLE(frontend-x11,
364 [ --disable-frontend-x11 Do not build X11 FrontEnd module],
365 enable_frontend_x11=no,
366 enable_frontend_x11=yes)
368 AC_ARG_ENABLE(frontend-socket,
369 [ --disable-frontend-socket Do not build Socket FrontEnd module],
370 enable_frontend_socket=no,
371 enable_frontend_socket=yes)
373 AC_ARG_ENABLE(im-socket,
374 [ --disable-im-socket Do not build Socket IMEngine module],
376 enable_im_socket=yes)
378 AC_ARG_ENABLE(filter-sctc,
379 [ --disable-filter-sctc Do not build Simplified/Traditional Chinese conversion Filter module],
380 enable_filter_sctc=no,
381 enable_filter_sctc=yes)
383 AC_ARG_ENABLE(gtk2-immodule,
384 [ --disable-gtk2-immodule Do not build GTK2 IMModule],
385 enable_gtk2_immodule=no,
386 enable_gtk2_immodule=yes)
388 AC_ARG_ENABLE(efl-immodule,
389 [ --disable-efl-immodule Do not build EFL IMModule],
390 enable_efl_immodule=no,
391 enable_efl_immodule=yes)
393 AC_ARG_ENABLE(panel-efl,
394 [ --disable-panel-efl Do not build EFL Panel],
396 enable_panel_efl=check)
398 AC_ARG_ENABLE(setting-efl,
399 [ --disable-setting-efl Do not build EFL Setting],
400 enable_setting_efl=no,
401 enable_setting_efl=check)
403 AC_ARG_ENABLE(tray-icon,
404 [ --disable-tray-icon Do not build Tray Icon],
406 enable_tray_icon=yes)
408 if test "$have_x" = "yes"; then
409 SCIM_BUILD_X11_UTILS=1
412 SCIM_BUILD_X11_UTILS=0
416 if test "$enable_hash_map" = "yes"; then
417 AC_DEFINE(ENABLE_HASH_MAP,1,[Use hash map instead of map in libscim])
420 if test "$enable_debug" = "yes"; then
421 AC_DEFINE(ENABLE_DEBUG,1,[Define this to enable the debug facility in libscim])
423 CXXFLAGS="$CXXFLAGS -g"
426 if test "$enable_x86" = "yes"; then
427 AC_DEFINE(ENABLE_X86_HOST,1,[Build for x86 host])
430 if test "$enable_tests" = "yes"; then
437 if test "$enable_config_simple" = "yes"; then
438 SCIM_BUILD_CONFIG_SIMPLE=1
440 SCIM_BUILD_CONFIG_SIMPLE=0
441 enable_config_simple=no
444 if test "$enable_config_socket" = "yes" -a "$socket_ok" = "yes"; then
445 SCIM_BUILD_CONFIG_SOCKET=1
447 SCIM_BUILD_CONFIG_SOCKET=0
448 enable_config_socket=no
451 if test "$enable_frontend_x11" = "yes" -a "$have_x" = "yes"; then
452 SCIM_BUILD_FRONTEND_X11=1
454 SCIM_BUILD_FRONTEND_X11=0
455 enable_frontend_x11=no
458 if test "$enable_frontend_socket" = "yes" -a "$socket_ok" = "yes"; then
459 SCIM_BUILD_FRONTEND_SOCKET=1
461 SCIM_BUILD_FRONTEND_SOCKET=0
462 enable_frontend_socket=no
465 if test "$enable_im_rawcode" = "yes"; then
466 SCIM_BUILD_IMENGINE_RAWCODE=1
468 SCIM_BUILD_IMENGINE_RAWCODE=0
472 if test "$enable_im_socket" = "yes" -a "$socket_ok" = "yes"; then
473 SCIM_BUILD_IMENGINE_SOCKET=1
475 SCIM_BUILD_IMENGINE_SOCKET=0
479 if test "$enable_filter_sctc" = "yes"; then
480 SCIM_BUILD_FILTER_SCTC=1
482 SCIM_BUILD_FILTER_SCTC=0
483 enable_filter_sctc=no
486 if test "$enable_gtk2_immodule" = "yes" -a "$SCIM_HAS_GTK2" = "yes"; then
487 SCIM_BUILD_GTK2_IMMODULE=1
489 SCIM_BUILD_GTK2_IMMODULE=0
490 enable_gtk2_immodule=no
493 if test "$SCIM_HAS_GTK2" = "yes"; then
495 SCIM_BUILD_GTK_UTILS=1
498 SCIM_BUILD_GTK_UTILS=0
501 if test "$enable_tray_icon" = "yes"; then
502 if test "$SCIM_HAS_GTK2_2" = "yes" -a "$no_x" != "yes"; then
504 AC_DEFINE(ENABLE_TRAY_ICON,1,[Enable the TrayIcon code.])
510 if test "$enable_efl_immodule" = "yes" -a "$ISF_HAS_EFL" = "yes"; then
511 ISF_BUILD_EFL_IMMODULE=1
513 ISF_BUILD_EFL_IMMODULE=0
514 enable_efl_immodule=no
517 ISF_BUILD_PANEL_EFL=0
518 if test "$enable_panel_efl" != "no"; then
520 if test "$ISF_HAS_EFL" = "yes"; then
521 ISF_BUILD_PANEL_EFL=1
526 ISF_BUILD_SETTING_EFL=0
527 if test "$enable_setting_efl" != "no"; then
528 enable_setting_efl=no
529 if test "$ISF_HAS_EFL" = "yes" -a "$ISF_HAS_VCONF" = "yes"; then
530 ISF_BUILD_SETTING_EFL=1
531 enable_setting_efl=yes
535 #if nothing needs libscim-gtkutils, just disable it
536 if test "$enable_panel_gtk" != "yes"; then
538 SCIM_BUILD_GTK_UTILS=0
541 AM_CONDITIONAL(SCIM_LD_VERSION_SCRIPT,
542 [test "$enable_ld_version_script" = "yes"])
544 AM_CONDITIONAL(SCIM_BUILD_TESTS,
545 [test "$enable_tests" = "yes"])
547 AM_CONDITIONAL(SCIM_BUILD_CONFIG_SIMPLE,
548 [test "$enable_config_simple" = "yes"])
550 AM_CONDITIONAL(SCIM_BUILD_CONFIG_SOCKET,
551 [test "$enable_config_socket" = "yes"])
553 AM_CONDITIONAL(SCIM_BUILD_FRONTEND_X11,
554 [test "$enable_frontend_x11" = "yes"])
556 AM_CONDITIONAL(SCIM_BUILD_FRONTEND_SOCKET,
557 [test "$enable_frontend_socket" = "yes"])
559 AM_CONDITIONAL(SCIM_BUILD_IMENGINE_SOCKET,
560 [test "$enable_im_socket" = "yes"])
562 AM_CONDITIONAL(SCIM_BUILD_IMENGINE_RAWCODE,
563 [test "$enable_im_rawcode" = "yes"])
565 AM_CONDITIONAL(SCIM_BUILD_GTK2_IMMODULE,
566 [test "$enable_gtk2_immodule" = "yes"])
568 AM_CONDITIONAL(SCIM_BUILD_FILTER_SCTC,
569 [test "$enable_filter_sctc" = "yes"])
571 AM_CONDITIONAL(SCIM_BUILD_GTK_UTILS,
572 [test "$enable_gtk_utils" = "yes"])
574 AM_CONDITIONAL(SCIM_BUILD_X11_UTILS,
575 [test "$enable_x11_utils" = "yes"])
577 AM_CONDITIONAL(SCIM_BUILD_TRAY_ICON,
578 [test "$enable_tray_icon" = "yes"])
580 AM_CONDITIONAL(ISF_BUILD_EFL_IMMODULE,
581 [test "$enable_efl_immodule" = "yes"])
583 AM_CONDITIONAL(ISF_BUILD_PANEL_EFL,
584 [test "$enable_panel_efl" = "yes"])
586 AM_CONDITIONAL(ISF_BUILD_SETTING_EFL,
587 [test "$enable_setting_efl" = "yes"])
589 AM_CONDITIONAL(ISF_BUILD_WITH_GCONF,
590 [test "$ISF_HAS_GCONF" = "yes"])
592 AC_SUBST(SCIM_BUILD_TESTS)
593 AC_SUBST(SCIM_BUILD_CONFIG_SIMPLE)
594 AC_SUBST(SCIM_BUILD_CONFIG_SOCKET)
595 AC_SUBST(SCIM_BUILD_FRONTEND_X11)
596 AC_SUBST(SCIM_BUILD_FRONTEND_SOCKET)
597 AC_SUBST(SCIM_BUILD_IMENGINE_RAWCODE)
598 AC_SUBST(SCIM_BUILD_IMENGINE_TABLE)
599 AC_SUBST(SCIM_BUILD_IMENGINE_SOCKET)
600 AC_SUBST(SCIM_BUILD_FILTER_SCTC)
601 AC_SUBST(SCIM_BUILD_GTK2_IMMODULE)
602 AC_SUBST(SCIM_BUILD_SCIM_SETUP)
603 AC_SUBST(SCIM_BUILD_GTK_UTILS)
604 AC_SUBST(SCIM_BUILD_X11_UTILS)
605 AC_SUBST(ISF_BUILD_EFL_IMMODULE)
606 AC_SUBST(ISF_BUILD_PANEL_EFL)
607 AC_SUBST(ISF_BUILD_SETTING_EFL)
608 AC_SUBST(ISF_BUILD_WITH_GCONF)
610 ISF_BUILDING_DLL="-DISF_BUILDING_DLL"
611 AC_SUBST(ISF_BUILDING_DLL)
613 # Output All necessary Paths.
614 SCIM_BINDIR="$prefix/bin"
615 SCIM_DATADIR="$datadir/scim"
616 SCIM_SYSCONFDIR="$sysconfdir"
617 SCIM_ICONDIR="$datadir/scim/icons"
618 SCIM_MODULE_PATH="$libdir/scim$SCIM_EPOCH"
619 SCIM_LIBEXECDIR="$libdir/scim$SCIM_EPOCH"
620 SCIM_LOCALEDIR="/usr/share/locale"
623 AC_SUBST(SCIM_BINDIR)
624 AC_SUBST(SCIM_DATADIR)
625 AC_SUBST(SCIM_SYSCONFDIR)
626 AC_SUBST(SCIM_ICONDIR)
627 AC_SUBST(SCIM_MODULE_PATH)
628 AC_SUBST(SCIM_LIBEXECDIR)
629 AC_SUBST(SCIM_LOCALEDIR)
630 AC_SUBST(SCIM_TEMPDIR)
632 ###########################################################
634 ###########################################################
636 AC_CONFIG_FILES([Makefile
639 po/isfsetting_efl/Makefile.in
644 ism/data/icons/Makefile
645 ism/data/pixmaps/Makefile
647 ism/modules/frontend/imdkit/Makefile
648 ism/modules/frontend/Makefile
649 ism/modules/imengine/Makefile
650 ism/modules/filter/Makefile
651 ism/modules/config/Makefile
654 ism/extras/gtk2_immodule/Makefile
655 ism/extras/efl_immodule/Makefile
656 ism/extras/efl_panel/Makefile
657 ism/extras/efl_setting/Makefile
671 Install prefix $prefix
672 Build shared libs $enable_shared
673 Build static libs $enable_static
674 Enable debug $enable_debug
675 Build for x86 host $enable_x86
676 Enable ld version script $enable_ld_version_script
679 Simple config module $enable_config_simple
680 Socket config module $enable_config_socket
682 X11 FrontEnd module $enable_frontend_x11
683 Socket FrontEnd module $enable_frontend_socket
685 Socket IMEngine module $enable_im_socket
687 SCTC Filter module $enable_filter_sctc
689 GTK2 Utility Library $enable_gtk_utils
690 X11 Utility Library $enable_x11_utils
692 GTK2 IMModule $enable_gtk2_immodule
693 GTK2 IMModule dir $GTK_IM_MODULEDIR
695 EFL IMModule $enable_efl_immodule
696 EFL IMModule dir $EFL_IM_MODULEDIR
697 EFL Panel GUI $enable_panel_efl
698 EFL Setting $enable_setting_efl
700 Enable TrayIcon $enable_tray_icon