3 dnl This file is part of the KDE libraries/packages
4 dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu)
5 dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org)
7 dnl This file is free software; you can redistribute it and/or
8 dnl modify it under the terms of the GNU Library General Public
9 dnl License as published by the Free Software Foundation; either
10 dnl version 2 of the License, or (at your option) any later version.
12 dnl This library is distributed in the hope that it will be useful,
13 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
14 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 dnl Library General Public License for more details.
17 dnl You should have received a copy of the GNU Library General Public License
18 dnl along with this library; see the file COPYING.LIB. If not, write to
19 dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 dnl Boston, MA 02111-1307, USA.
23 dnl Please do not modify this file unless you expect your modifications to be
24 dnl carried into every other module in the repository. If you decide that you
25 dnl really want to modify it, contact coolo@kde.org mentioning that you have
26 dnl and that the modified file should be committed to every module.
28 dnl Single-module modifications are best placed in configure.in for kdelibs
29 dnl and kdebase or configure.in.in if present.
31 dnl ------------------------------------------------------------------------
32 dnl Forward compatibility macros (make autoconf 2.13 look like 2.50),
33 dnl thanks to Raja R Harinath.
34 dnl ------------------------------------------------------------------------
36 ifdef([_AC_PATH_X_XMKMF],[],
37 [AC_DEFUN([_AC_PATH_X_XMKMF],[AC_PATH_X_XMKMF])])
38 ifdef([AC_OUTPUT_SUBDIRS],[],
39 [AC_DEFUN([AC_OUTPUT_SUBDIRS],[subdirs=$1; _AC_OUTPUT_SUBDIRS])])
42 dnl Internal subroutine of AC_PATH_X.
43 dnl Set ac_x_includes and/or ac_x_libraries.
44 AC_DEFUN(KDE_PATH_X_DIRECT,
45 [if test "$ac_x_includes" = NO; then
46 # Guess where to find include files, by looking for this one X11 .h file.
47 test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
49 # First, try using that file with no special directory specified.
50 AC_TRY_CPP([#include <$x_direct_test_include>],
51 [# We can compile using X headers with no special include directory.
53 [# Look for the header file in a standard set of common directories.
54 # Check X11 before X11Rn because it is often a symlink to the current release.
66 /usr/local/X11/include \
67 /usr/local/X11R6/include \
68 /usr/local/X11R5/include \
69 /usr/local/X11R4/include \
71 /usr/local/include/X11 \
72 /usr/local/include/X11R6 \
73 /usr/local/include/X11R5 \
74 /usr/local/include/X11R4 \
78 /usr/XFree86/include/X11 \
82 /usr/unsupported/include \
84 /usr/local/x11r5/include \
85 /usr/lpp/Xamples/include \
87 /usr/openwin/include \
88 /usr/openwin/share/include \
91 if test -r "$ac_dir/$x_direct_test_include"; then
96 fi # $ac_x_includes = NO
98 if test "$ac_x_libraries" = NO; then
99 # Check for the libraries.
101 test -z "$x_direct_test_library" && x_direct_test_library=Xt
102 test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
104 # See if we find them without any special options.
105 # Don't add to $LIBS permanently.
107 LIBS="-l$x_direct_test_library $LIBS"
108 AC_TRY_LINK(, [${x_direct_test_function}()],
109 [LIBS="$ac_save_LIBS"
110 # We can link X programs with no special library path.
112 [LIBS="$ac_save_LIBS"
113 # First see if replacing the include by lib works.
114 # Check X11 before X11Rn because it is often a symlink to the current release.
115 for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
127 /usr/local/X11R6/lib \
128 /usr/local/X11R5/lib \
129 /usr/local/X11R4/lib \
132 /usr/local/lib/X11R6 \
133 /usr/local/lib/X11R5 \
134 /usr/local/lib/X11R4 \
138 /usr/XFree86/lib/X11 \
142 /usr/unsupported/lib \
144 /usr/local/x11r5/lib \
145 /usr/lpp/Xamples/lib \
149 /usr/openwin/share/lib \
152 dnl Don't even attempt the hair of trying to link an X program!
153 for ac_extension in a so sl; do
154 if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
155 ac_x_libraries=$ac_dir
160 fi # $ac_x_libraries = NO
164 dnl ------------------------------------------------------------------------
165 dnl Find a file (or one of more files in a list of dirs)
166 dnl ------------------------------------------------------------------------
168 AC_DEFUN(AC_FIND_FILE,
175 echo "configure: __oline__: $i/$j" >&AC_FD_CC
176 if test -r "$i/$j"; then
177 echo "taking that" >&AC_FD_CC
185 dnl KDE_FIND_PATH(programm-name, variable-name, list of directories,
186 dnl if-not-found, test-parameter)
187 AC_DEFUN(KDE_FIND_PATH,
189 AC_MSG_CHECKING([for $1])
190 if test -n "$$2"; then
193 kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
195 AC_CACHE_VAL(kde_cv_path_$kde_cache,
207 if test -x "$dir/$1"; then
210 evalstr="$dir/$1 $5 2>&1 "
211 if eval $evalstr; then
212 kde_cv_path="$dir/$1"
216 kde_cv_path="$dir/$1"
222 eval "kde_cv_path_$kde_cache=$kde_cv_path"
226 eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
230 if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
231 AC_MSG_RESULT(not found)
234 AC_MSG_RESULT($kde_cv_path)
240 AC_DEFUN(KDE_MOC_ERROR_MESSAGE,
242 AC_MSG_ERROR([No Qt meta object compiler (moc) found!
243 Please check whether you installed Qt correctly.
244 You need to have a running moc binary.
245 configure tried to run $ac_cv_path_moc and the test didn't
246 succeed. If configure shouldn't have tried this one, set
247 the environment variable MOC to the right one before running
252 AC_DEFUN(KDE_UIC_ERROR_MESSAGE,
254 AC_MSG_WARN([No Qt ui compiler (uic) found!
255 Please check whether you installed Qt correctly.
256 You need to have a running uic binary.
257 configure tried to run $ac_cv_path_uic and the test didn't
258 succeed. If configure shouldn't have tried this one, set
259 the environment variable UIC to the right one before running
265 AC_DEFUN(KDE_CHECK_UIC_FLAG,
267 AC_MSG_CHECKING([whether uic supports -$1 ])
268 kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
269 AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache,
271 cat >conftest.ui <<EOT
272 <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
274 ac_uic_testrun="$UIC -$1 $2 conftest.ui >/dev/null"
275 if AC_TRY_EVAL(ac_uic_testrun); then
276 eval "kde_cv_prog_uic_$kde_cache=yes"
278 eval "kde_cv_prog_uic_$kde_cache=no"
283 if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
295 dnl ------------------------------------------------------------------------
296 dnl Find the meta object compiler and the ui compiler in the PATH,
297 dnl in $QTDIR/bin, and some more usual places
298 dnl ------------------------------------------------------------------------
300 AC_DEFUN(AC_PATH_QT_MOC_UIC,
303 for dir in $kde_qt_dirs; do
304 qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
306 qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
307 if test ! "$ac_qt_bindir" = "NO"; then
308 qt_bindirs="$ac_qt_bindir $qt_bindirs"
311 KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
312 if test -z "$UIC_NOT_NEEDED"; then
313 KDE_FIND_PATH(uic, UIC, [$qt_bindirs], [UIC=""])
314 if test -z "$UIC" ; then
315 KDE_UIC_ERROR_MESSAGE
317 elif test $kde_qtver = 3; then
318 KDE_CHECK_UIC_FLAG(L,[/nonexistant],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no)
319 KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no)
321 if test x$ac_uic_supports_libpath = xyes; then
322 UIC="$UIC -L \$(kde_widgetdir)"
324 if test x$ac_uic_supports_nounload = xyes; then
329 UIC="echo uic not available: "
336 if test $kde_qtver = 3; then
343 AC_DEFUN(KDE_1_CHECK_PATHS,
345 KDE_1_CHECK_PATH_HEADERS
349 if test -n "$USE_RPATH"; then
351 if test -n "$kde_libraries"; then
352 KDE_TEST_RPATH="-R $kde_libraries"
355 if test -n "$qt_libraries"; then
356 KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
359 if test -n "$x_libraries"; then
360 KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
363 KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
366 AC_MSG_CHECKING([for KDE libraries installed])
367 ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5'
369 if AC_TRY_EVAL(ac_link) && test -s conftest; then
372 AC_MSG_ERROR([your system fails at linking a small KDE application!
373 Check, if your compiler is installed correctly and if you have used the
374 same compiler to compile Qt and kdelibs as you did use now.
375 For more details about this problem, look at the end of config.log.])
378 if eval `KDEDIR= ./conftest 2>&5`; then
384 KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
385 kde_have_all_paths=yes
387 KDE_SET_PATHS($kde_result)
391 AC_DEFUN(KDE_SET_PATHS,
393 kde_cv_all_paths="kde_have_all_paths=\"yes\" \
394 kde_htmldir=\"$kde_htmldir\" \
395 kde_appsdir=\"$kde_appsdir\" \
396 kde_icondir=\"$kde_icondir\" \
397 kde_sounddir=\"$kde_sounddir\" \
398 kde_datadir=\"$kde_datadir\" \
399 kde_locale=\"$kde_locale\" \
400 kde_cgidir=\"$kde_cgidir\" \
401 kde_confdir=\"$kde_confdir\" \
402 kde_mimedir=\"$kde_mimedir\" \
403 kde_toolbardir=\"$kde_toolbardir\" \
404 kde_wallpaperdir=\"$kde_wallpaperdir\" \
405 kde_templatesdir=\"$kde_templatesdir\" \
406 kde_bindir=\"$kde_bindir\" \
407 kde_servicesdir=\"$kde_servicesdir\" \
408 kde_servicetypesdir=\"$kde_servicetypesdir\" \
409 kde_moduledir=\"$kde_moduledir\" \
410 kde_styledir=\"$kde_styledir\" \
411 kde_widgetdir=\"$kde_widgetdir\" \
415 AC_DEFUN(KDE_SET_DEFAULT_PATHS,
417 if test "$1" = "default"; then
419 if test -z "$kde_htmldir"; then
420 kde_htmldir='\${prefix}/share/doc/HTML'
422 if test -z "$kde_appsdir"; then
423 kde_appsdir='\${prefix}/share/applnk'
425 if test -z "$kde_icondir"; then
426 kde_icondir='\${prefix}/share/icons'
428 if test -z "$kde_sounddir"; then
429 kde_sounddir='\${prefix}/share/sounds'
431 if test -z "$kde_datadir"; then
432 kde_datadir='\${prefix}/share/apps'
434 if test -z "$kde_locale"; then
435 kde_locale='\${prefix}/share/locale'
437 if test -z "$kde_cgidir"; then
438 kde_cgidir='\${exec_prefix}/cgi-bin'
440 if test -z "$kde_confdir"; then
441 kde_confdir='\${prefix}/share/config'
443 if test -z "$kde_mimedir"; then
444 kde_mimedir='\${prefix}/share/mimelnk'
446 if test -z "$kde_toolbardir"; then
447 kde_toolbardir='\${prefix}/share/toolbar'
449 if test -z "$kde_wallpaperdir"; then
450 kde_wallpaperdir='\${prefix}/share/wallpapers'
452 if test -z "$kde_templatesdir"; then
453 kde_templatesdir='\${prefix}/share/templates'
455 if test -z "$kde_bindir"; then
456 kde_bindir='\${exec_prefix}/bin'
458 if test -z "$kde_servicesdir"; then
459 kde_servicesdir='\${prefix}/share/services'
461 if test -z "$kde_servicetypesdir"; then
462 kde_servicetypesdir='\${prefix}/share/servicetypes'
464 if test -z "$kde_moduledir"; then
465 if test "$kde_qtver" = "2"; then
466 kde_moduledir='\${libdir}/kde2'
468 kde_moduledir='\${libdir}/kde3'
471 if test -z "$kde_styledir"; then
472 kde_styledir='\${libdir}/kde3/plugins/styles'
474 if test -z "$kde_widgetdir"; then
475 kde_widgetdir='\${libdir}/kde3/plugins/designer'
478 KDE_SET_PATHS(defaults)
482 if test $kde_qtver = 1; then
483 AC_MSG_RESULT([compiling])
486 AC_MSG_ERROR([path checking not yet supported for KDE 2])
492 AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS,
493 [ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
494 test -z "$kde_icondir" || test -z "$kde_sounddir" ||
495 test -z "$kde_datadir" || test -z "$kde_locale" ||
496 test -z "$kde_cgidir" || test -z "$kde_confdir" ||
497 test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
498 test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
499 test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
500 test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
501 test -z "$kde_styledir" || test -z "kde_widgetdir"
502 test "x$kde_have_all_paths" != "xyes"; then
503 kde_have_all_paths=no
507 AC_DEFUN(KDE_MISSING_PROG_ERROR,
509 AC_MSG_ERROR([The important program $1 was not found!
510 Please check whether you installed KDE correctly.
514 AC_DEFUN(KDE_SUBST_PROGRAMS,
517 kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
518 if test -n "$KDEDIRS"; then
521 for dir in $KDEDIRS; do
522 kde_default_bindirs="$dir/bin $kde_default_bindirs "
526 kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs"
527 KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
528 KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
529 KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(mcopidl)])
530 KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(artsc-config)])
531 KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs])
532 KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
534 if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then
535 kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
536 test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
537 AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
538 if test "$KDE_XSL_STYLESHEET" = "NO"; then
539 KDE_XSL_STYLESHEET=""
541 KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl"
545 DCOP_DEPENDENCIES='$(DCOPIDL)'
547 AC_SUBST(DCOPIDL2CPP)
548 AC_SUBST(DCOP_DEPENDENCIES)
550 AC_SUBST(ARTSCCONFIG)
553 AC_SUBST(KDE_XSL_STYLESHEET)
555 if test -x "$KDECONFIG"; then # it can be "compiled"
556 kde_libs_prefix=`$KDECONFIG --prefix`
557 if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
558 AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
559 This means it has been moved since you installed it.
560 This won't work. Please recompile kdelibs for the new prefix.
563 kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
565 kde_libs_prefix='$(prefix)'
566 kde_libs_htmldir='$(kde_htmldir)'
568 AC_SUBST(kde_libs_prefix)
569 AC_SUBST(kde_libs_htmldir)
572 AC_DEFUN(AC_CREATE_KFSSTND,
574 AC_REQUIRE([AC_CHECK_RPATH])
576 AC_MSG_CHECKING([for KDE paths])
579 AC_CACHE_VAL(kde_cv_all_paths,
581 KDE_SET_DEFAULT_PATHS($1)
584 eval "$kde_cv_all_paths"
585 KDE_CHECK_PATHS_FOR_COMPLETENESS
586 if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
587 # wrong values were cached, may be, we can set better ones
589 kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
590 kde_datadir= kde_locale= kde_cgidir= kde_confdir=
591 kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
592 kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
596 KDE_SET_DEFAULT_PATHS($1)
597 eval "$kde_cv_all_paths"
598 KDE_CHECK_PATHS_FOR_COMPLETENESS
599 kde_result="$kde_result (cache overridden)"
601 if test "$kde_have_all_paths" = "no"; then
602 AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
603 Since it had compiled and linked before, it must be a strange problem on your system.
604 Look at config.log for details. If you are not able to fix this, look at
605 http://www.kde.org/faq/installation.html or any www.kde.org mirror.
606 (If you're using an egcs version on Linux, you may update binutils!)
610 AC_MSG_RESULT($kde_result)
619 AC_DEFUN(AC_SUBST_KFSSTND,
621 AC_SUBST(kde_htmldir)
622 AC_SUBST(kde_appsdir)
623 AC_SUBST(kde_icondir)
624 AC_SUBST(kde_sounddir)
625 AC_SUBST(kde_datadir)
627 AC_SUBST(kde_confdir)
628 AC_SUBST(kde_mimedir)
629 AC_SUBST(kde_wallpaperdir)
632 AC_SUBST(kde_templatesdir)
633 AC_SUBST(kde_servicesdir)
634 AC_SUBST(kde_servicetypesdir)
635 AC_SUBST(kde_moduledir)
636 AC_SUBST(kde_styledir)
637 AC_SUBST(kde_widgetdir)
638 if test "$kde_qtver" = 1; then
639 kde_minidir="$kde_icondir/mini"
641 # for KDE 1 - this breaks KDE2 apps using minidir, but
642 # that's the plan ;-/
643 kde_minidir="/dev/null"
645 dnl AC_SUBST(kde_minidir)
646 dnl AC_SUBST(kde_cgidir)
647 dnl AC_SUBST(kde_toolbardir)
650 AC_DEFUN(KDE_MISC_TESTS,
653 dnl Checks for libraries.
654 AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD
656 AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD
659 AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
660 AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
661 AC_MSG_WARN([you have no crypt in either libcrypt or libc.
662 You should install libcrypt from another source or configure with PAM
667 if test $kde_have_crypt = yes; then
668 AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
672 AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
673 if test $ac_cv_lib_dnet_dnet_ntoa = no; then
674 AC_CHECK_LIB(dnet_stub, dnet_ntoa,
675 [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
677 AC_CHECK_FUNC(inet_ntoa)
678 if test $ac_cv_func_inet_ntoa = no; then
679 AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
681 AC_CHECK_FUNC(connect)
682 if test $ac_cv_func_connect = no; then
683 AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
687 AC_CHECK_FUNC(remove)
688 if test $ac_cv_func_remove = no; then
689 AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
692 # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
693 AC_CHECK_FUNC(shmat, ,
694 AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
696 # Solaris 2.6 and others need -lresolv for res_init
697 AC_CHECK_FUNCS(res_init, , [
698 kde_libs_safe="$LIBS"
699 LIBS="$LIBS $X_EXTRA_LIBS -lresolv"
708 X_EXTRA_LIBS="$X_EXTRA_LIBS $LIBRESOLV"
709 AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
714 LIBSOCKET="$X_EXTRA_LIBS"
717 AC_SUBST(X_EXTRA_LIBS)
718 AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
721 case $host in dnl this *is* LynxOS specific
723 AC_MSG_CHECKING([LynxOS header file wrappers])
724 [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
725 AC_MSG_RESULT(disabled)
726 AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
734 dnl ------------------------------------------------------------------------
735 dnl Find the header files and libraries for X-Windows. Extended the
737 dnl ------------------------------------------------------------------------
741 AC_REQUIRE([KDE_MISC_TESTS])dnl
745 [ --enable-embedded link to Qt-embedded, don't use X],
746 kde_use_qt_emb=$enableval,
752 [ --enable-qtopia link to Qt-embedded, link to the Qtopia Environment],
753 kde_use_qt_emb_palm=$enableval,
754 kde_use_qt_emb_palm=no
757 if test "$kde_use_qt_emb" = "no"; then
759 AC_MSG_CHECKING(for X)
762 AC_CACHE_VAL(kde_cv_have_x,
763 [# One or both of the vars are not set, and there is no cached value.
764 if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
767 kde_x_includes=$x_includes
769 if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
772 kde_x_libraries=$x_libraries
775 # below we use the standard autoconf calls
776 ac_x_libraries=$kde_x_libraries
777 ac_x_includes=$kde_x_includes
780 dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
781 dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
782 dnl location. The correct location is /usr/lib32 or an undefined value
783 dnl (the linker is smart enough to pick the correct default library).
784 dnl Things work just fine if you use just AC_PATH_X_DIRECT.
785 dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to
786 dnl /usr/openwin/include, which doesn't work. /usr/include does work, so
787 dnl x_includes should be left alone.
795 if test -z "$ac_x_includes"; then
798 if test -z "$ac_x_libraries"; then
799 ac_x_libraries="/usr/lib"
802 #from now on we use our own again
804 # when the user already gave --x-includes, we ignore
805 # what the standard autoconf macros told us.
806 if test "$kde_x_includes" = NO; then
807 kde_x_includes=$ac_x_includes
810 # for --x-libraries too
811 if test "$kde_x_libraries" = NO; then
812 kde_x_libraries=$ac_x_libraries
815 if test "$kde_x_includes" = NO; then
816 AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
819 if test "$kde_x_libraries" = NO; then
820 AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
823 # Record where we found X for the cache.
824 kde_cv_have_x="have_x=yes \
825 kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
828 eval "$kde_cv_have_x"
830 if test "$have_x" != yes; then
831 AC_MSG_RESULT($have_x)
834 AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
837 if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
839 x_includes="."; dnl better than nothing :-
841 x_includes=$kde_x_includes
842 X_INCLUDES="-I$x_includes"
845 if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then
847 x_libraries="/usr/lib"; dnl better than nothing :-
849 x_libraries=$kde_x_libraries
850 X_LDFLAGS="-L$x_libraries"
852 all_includes="$X_INCLUDES"
853 all_libraries="$X_LDFLAGS"
857 AC_SUBST(x_libraries)
860 # Check for libraries that X11R6 Xt/Xaw programs need.
861 ac_save_LDFLAGS="$LDFLAGS"
862 LDFLAGS="$LDFLAGS $X_LDFLAGS"
863 # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
864 # check for ICE first), but we must link in the order -lSM -lICE or
865 # we get undefined symbols. So assume we have SM if we have ICE.
866 # These have to be linked with before -lX11, unlike the other
867 # libraries we check for below, so use a different variable.
868 # --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
869 AC_CHECK_LIB(ICE, IceConnectionNumber,
870 [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
872 LDFLAGS="$ac_save_LDFLAGS"
876 LIB_X11='-lX11 $(LIBSOCKET)'
879 AC_MSG_CHECKING(for libXext)
880 AC_CACHE_VAL(kde_cv_have_libXext,
882 kde_ldflags_safe="$LDFLAGS"
883 kde_libs_safe="$LIBS"
885 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
886 LIBS="-lXext -lX11 $LIBSOCKET"
895 printf("hello Xext\n");
897 kde_cv_have_libXext=yes,
898 kde_cv_have_libXext=no
901 LDFLAGS=$kde_ldflags_safe
905 AC_MSG_RESULT($kde_cv_have_libXext)
907 if test "$kde_cv_have_libXext" = "no"; then
908 AC_MSG_ERROR([We need a working libXext to proceed. Since configure
909 can't find it itself, we stop here assuming that make wouldn't find
917 dnl We're using QT Embedded
918 CXXFLAGS="$CXXFLAGS -fno-rtti -DQWS"
919 CFLAGS="$CFLAGS -DQWS"
920 LDFLAGS="$LDFLAGS -DQWS"
921 QTE_NORTTI="-fno-rtti -DQWS"
936 AC_SUBST(x_libraries)
946 AC_DEFUN(KDE_PRINT_QT_PROGRAM,
948 AC_REQUIRE([KDE_USE_QT])
949 cat > conftest.$ac_ext <<EOF
950 #include "confdefs.h"
952 #include <qapplication.h>
954 if test "$kde_qtver" = "2"; then
955 cat >> conftest.$ac_ext <<EOF
961 if test $kde_qtsubver -gt 0; then
962 cat >> conftest.$ac_ext <<EOF
963 #include <qiconview.h>
968 if test "$kde_qtver" = "3"; then
969 cat >> conftest.$ac_ext <<EOF
971 #include <qstylefactory.h>
972 #include <private/qucomextra_p.h>
976 echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
977 cat >> conftest.$ac_ext <<EOF
983 if test "$kde_qtver" = "2"; then
984 cat >> conftest.$ac_ext <<EOF
985 QStringList *t = new QStringList();
988 if test $kde_qtsubver -gt 0; then
989 cat >> conftest.$ac_ext <<EOF
991 iv.setWordWrapIconText(false);
993 s.setLatin1("Elvis is alive", 14);
997 if test "$kde_qtver" = "3"; then
998 cat >> conftest.$ac_ext <<EOF
999 (void)QStyleFactory::create(QString::null);
1000 QCursor c(Qt::WhatsThisCursor);
1003 cat >> conftest.$ac_ext <<EOF
1009 AC_DEFUN(KDE_USE_QT,
1011 if test -z "$1"; then
1015 kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
1016 # following is the check if subversion isn´t found in passed argument
1017 if test "$kde_qtsubver" = "$1"; then
1020 kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
1021 if test "$kde_qtver" = "1"; then
1026 if test -z "$2"; then
1027 if test "$kde_qtver" = "2"; then
1028 if test $kde_qtsubver -gt 0; then
1029 kde_qt_minversion=">= Qt 2.2.2"
1031 kde_qt_minversion=">= Qt 2.0.2"
1034 if test "$kde_qtver" = "3"; then
1035 kde_qt_minversion=">= Qt 3.0.3"
1037 if test "$kde_qtver" = "1"; then
1038 kde_qt_minversion=">= 1.42 and < 2.0"
1041 kde_qt_minversion=$2
1044 if test -z "$3"; then
1045 if test $kde_qtver = 3; then
1046 kde_qt_verstring="QT_VERSION >= 303"
1048 if test $kde_qtver = 2; then
1049 if test $kde_qtsubver -gt 0; then
1050 kde_qt_verstring="QT_VERSION >= 222"
1052 kde_qt_verstring="QT_VERSION >= 200"
1055 if test $kde_qtver = 1; then
1056 kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
1062 if test $kde_qtver = 3; then
1063 kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt"
1065 if test $kde_qtver = 2; then
1066 kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
1068 if test $kde_qtver = 1; then
1069 kde_qt_dirs="$QTDIR /usr/lib/qt"
1073 AC_DEFUN(KDE_CHECK_QT_DIRECT,
1075 AC_REQUIRE([KDE_USE_QT])
1076 AC_MSG_CHECKING([if Qt compiles without flags])
1077 AC_CACHE_VAL(kde_cv_qt_direct,
1081 ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
1082 ac_LIBRARY_PATH="$LIBRARY_PATH"
1083 ac_cxxflags_safe="$CXXFLAGS"
1084 ac_ldflags_safe="$LDFLAGS"
1085 ac_libs_safe="$LIBS"
1087 CXXFLAGS="$CXXFLAGS -I$qt_includes"
1088 LDFLAGS="$LDFLAGS $X_LDFLAGS"
1089 if test "x$kde_use_qt_emb" != "xyes"; then
1090 LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
1092 LIBS="$LIBQT $LIBSOCKET"
1095 export LD_LIBRARY_PATH
1099 KDE_PRINT_QT_PROGRAM
1101 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1102 kde_cv_qt_direct="yes"
1104 kde_cv_qt_direct="no"
1105 echo "configure: failed program was:" >&AC_FD_CC
1106 cat conftest.$ac_ext >&AC_FD_CC
1110 CXXFLAGS="$ac_cxxflags_safe"
1111 LDFLAGS="$ac_ldflags_safe"
1112 LIBS="$ac_libs_safe"
1114 LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
1115 export LD_LIBRARY_PATH
1116 LIBRARY_PATH="$ac_LIBRARY_PATH"
1121 if test "$kde_cv_qt_direct" = "yes"; then
1130 dnl ------------------------------------------------------------------------
1131 dnl Try to find the Qt headers and libraries.
1132 dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
1133 dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
1134 dnl ------------------------------------------------------------------------
1136 AC_DEFUN(AC_PATH_QT_1_3,
1138 AC_REQUIRE([K_PATH_X])
1139 AC_REQUIRE([KDE_USE_QT])
1141 dnl ------------------------------------------------------------------------
1142 dnl Add configure flag to enable linking to MT version of Qt library.
1143 dnl ------------------------------------------------------------------------
1147 [ --disable-mt link to non-threaded Qt (deprecated)],
1148 kde_use_qt_mt=$enableval,
1150 if test $kde_qtver = 3; then
1160 dnl ------------------------------------------------------------------------
1161 dnl If we not get --disable-qt-mt then adjust some vars for the host.
1162 dnl ------------------------------------------------------------------------
1166 if test "x$kde_use_qt_mt" = "xyes"; then
1168 if test "x$kde_use_threading" = "xyes"; then
1169 CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS"
1170 KDE_MT_LDFLAGS="$USE_THREADS"
1171 KDE_MT_LIBS="$LIBPTHREAD"
1176 AC_SUBST(KDE_MT_LDFLAGS)
1177 AC_SUBST(KDE_MT_LIBS)
1179 kde_qt_was_given=yes
1181 dnl ------------------------------------------------------------------------
1182 dnl If we haven't been told how to link to Qt, we work it out for ourselves.
1183 dnl ------------------------------------------------------------------------
1184 if test -z "$LIBQT_GLOB"; then
1185 if test "x$kde_use_qt_emb" = "xyes"; then
1186 LIBQT_GLOB="libqte.*"
1188 LIBQT_GLOB="libqt.*"
1192 if test -z "$LIBQT"; then
1193 dnl ------------------------------------------------------------
1194 dnl If we got --enable-embedded then adjust the Qt library name.
1195 dnl ------------------------------------------------------------
1196 if test "x$kde_use_qt_emb" = "xyes"; then
1202 kde_int_qt="-l$qtlib"
1208 if test -z "$LIBQPE"; then
1209 dnl ------------------------------------------------------------
1210 dnl If we got --enable-palmtop then add -lqpe to the link line
1211 dnl ------------------------------------------------------------
1212 if test "x$kde_use_qt_emb" = "xyes"; then
1213 if test "x$kde_use_qt_emb_palm" = "xyes"; then
1223 dnl ------------------------------------------------------------------------
1224 dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
1225 dnl ------------------------------------------------------------------------
1227 if test "x$kde_use_qt_mt" = "xyes"; then
1228 if test -z "$LIBQT"; then
1230 kde_int_qt="-l$qtlib-mt"
1233 kde_int_qt="$qtlib-mt"
1235 LIBQT_GLOB="lib$qtlib-mt.*"
1236 USING_QT_MT="using -mt"
1241 if test $kde_qtver != 1; then
1243 AC_REQUIRE([AC_FIND_PNG])
1244 AC_REQUIRE([AC_FIND_JPEG])
1245 LIBQT="$LIBQT $LIBPNG $LIBJPEG"
1248 if test $kde_qtver = 3; then
1249 AC_REQUIRE([KDE_CHECK_LIBDL])
1250 LIBQT="$LIBQT $LIBDL"
1253 AC_MSG_CHECKING([for Qt])
1255 if test "x$kde_use_qt_emb" != "xyes"; then
1256 LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
1258 ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
1262 [ --with-qt-dir=DIR where the root of Qt is installed ],
1263 [ ac_qt_includes="$withval"/include
1264 ac_qt_libraries="$withval"/lib
1265 ac_qt_bindir="$withval"/bin
1268 AC_ARG_WITH(qt-includes,
1269 [ --with-qt-includes=DIR where the Qt includes are. ],
1271 ac_qt_includes="$withval"
1274 kde_qt_libs_given=no
1276 AC_ARG_WITH(qt-libraries,
1277 [ --with-qt-libraries=DIR where the Qt library is installed.],
1278 [ ac_qt_libraries="$withval"
1279 kde_qt_libs_given=yes
1282 AC_CACHE_VAL(ac_cv_have_qt,
1283 [#try to guess Qt locations
1286 for dir in $kde_qt_dirs; do
1287 qt_incdirs="$qt_incdirs $dir/include $dir"
1289 qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 $x_includes"
1290 if test ! "$ac_qt_includes" = "NO"; then
1291 qt_incdirs="$ac_qt_includes $qt_incdirs"
1294 if test "$kde_qtver" != "1"; then
1295 kde_qt_header=qstyle.h
1297 kde_qt_header=qglobal.h
1300 AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
1301 ac_qt_includes="$qt_incdir"
1304 for dir in $kde_qt_dirs; do
1305 qt_libdirs="$qt_libdirs $dir/lib $dir"
1307 qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
1308 if test ! "$ac_qt_libraries" = "NO"; then
1309 qt_libdir=$ac_qt_libraries
1311 qt_libdirs="$ac_qt_libraries $qt_libdirs"
1312 # if the Qt was given, the chance is too big that libqt.* doesn't exist
1314 for dir in $qt_libdirs; do
1315 try="ls -1 $dir/${LIBQT_GLOB}"
1316 if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
1320 ac_qt_libraries="$qt_libdir"
1325 ac_cxxflags_safe="$CXXFLAGS"
1326 ac_ldflags_safe="$LDFLAGS"
1327 ac_libs_safe="$LIBS"
1329 CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
1330 LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
1331 LIBS="$LIBS $LIBQT $KDE_MT_LIBS"
1333 KDE_PRINT_QT_PROGRAM
1335 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1338 echo "configure: failed program was:" >&AC_FD_CC
1339 cat conftest.$ac_ext >&AC_FD_CC
1340 ac_qt_libraries="NO"
1343 CXXFLAGS="$ac_cxxflags_safe"
1344 LDFLAGS="$ac_ldflags_safe"
1345 LIBS="$ac_libs_safe"
1348 if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
1349 ac_cv_have_qt="have_qt=no"
1352 if test "$ac_qt_includes" = NO; then
1353 if test "$ac_qt_libraries" = NO; then
1354 ac_qt_notfound="(headers and libraries)";
1356 ac_qt_notfound="(headers)";
1359 if test "x$kde_use_qt_mt" = "xyes"; then
1361 Make sure that you have compiled Qt with thread support!"
1362 ac_qt_notfound="(library $qtlib-mt)";
1364 ac_qt_notfound="(library $qtlib)";
1368 AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
1369 For more details about this problem, look at the end of config.log.$missing_qt_mt])
1375 eval "$ac_cv_have_qt"
1377 if test "$have_qt" != yes; then
1378 AC_MSG_RESULT([$have_qt]);
1380 ac_cv_have_qt="have_qt=yes \
1381 ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
1382 AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
1384 qt_libraries="$ac_qt_libraries"
1385 qt_includes="$ac_qt_includes"
1388 if test ! "$kde_qt_libs_given" = "yes"; then
1389 KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
1392 AC_SUBST(qt_libraries)
1393 AC_SUBST(qt_includes)
1395 if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
1398 QT_INCLUDES="-I$qt_includes"
1399 all_includes="$QT_INCLUDES $all_includes"
1402 if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
1405 QT_LDFLAGS="-L$qt_libraries"
1406 all_libraries="$all_libraries $QT_LDFLAGS"
1408 test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
1410 AC_SUBST(QT_INCLUDES)
1411 AC_SUBST(QT_LDFLAGS)
1416 if test "x$kde_use_qt_emb" != "xyes"; then
1417 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG) -lXext $(LIB_X11) $(LIBSM)'
1419 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG)'
1421 test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
1429 AC_DEFUN(AC_PATH_QT,
1434 AC_DEFUN(KDE_CHECK_FINAL,
1436 AC_ARG_ENABLE(final, [ --enable-final build size optimized apps (experimental - needs lots of memory)],
1437 kde_use_final=$enableval, kde_use_final=no)
1440 if test "x$kde_use_final" = "xyes"; then
1441 KDE_USE_FINAL_TRUE=""
1442 KDE_USE_FINAL_FALSE="#"
1444 KDE_USE_FINAL_TRUE="#"
1445 KDE_USE_FINAL_FALSE=""
1447 AC_SUBST(KDE_USE_FINAL_TRUE)
1448 AC_SUBST(KDE_USE_FINAL_FALSE)
1450 AC_ARG_ENABLE(closure, [ --disable-closure don't delay template instantiation],
1451 kde_use_closure=$enableval, kde_use_closure=yes)
1453 if test "x$kde_use_closure" = "xyes"; then
1454 KDE_USE_CLOSURE_TRUE=""
1455 KDE_USE_CLOSURE_FALSE="#"
1456 # CXXFLAGS="$CXXFLAGS $REPO"
1458 KDE_USE_CLOSURE_TRUE="#"
1459 KDE_USE_CLOSURE_FALSE=""
1461 AC_SUBST(KDE_USE_CLOSURE_TRUE)
1462 AC_SUBST(KDE_USE_CLOSURE_FALSE)
1465 dnl ------------------------------------------------------------------------
1466 dnl Now, the same with KDE
1467 dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
1468 dnl and $(kde_includes) will be the kdehdrlocation (if needed)
1469 dnl ------------------------------------------------------------------------
1471 AC_DEFUN(AC_BASE_PATH_KDE,
1474 AC_REQUIRE([AC_PATH_QT])dnl
1476 AC_MSG_CHECKING([for KDE])
1478 if test "${prefix}" != NONE; then
1479 kde_includes=${prefix}/include
1480 ac_kde_includes=$prefix/include
1482 if test "${exec_prefix}" != NONE; then
1483 kde_libraries=${libdir}
1484 ac_kde_libraries=$libdir
1486 kde_libraries=${prefix}/lib
1487 ac_kde_libraries=$prefix/lib
1496 AC_CACHE_VAL(ac_cv_have_kde,
1497 [#try to guess kde locations
1499 if test "$kde_qtver" = 1; then
1500 kde_check_header="ksock.h"
1501 kde_check_lib="libkdecore.la"
1503 kde_check_header="ksharedptr.h"
1504 kde_check_lib="libkio.la"
1507 if test -z "$1"; then
1509 kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes $includedir"
1510 test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
1511 kde_incdirs="$ac_kde_includes $kde_incdirs"
1512 AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
1513 ac_kde_includes="$kde_incdir"
1515 if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
1517 in the prefix, you've chosen, are no KDE headers installed. This will fail.
1518 So, check this please and use another prefix!])
1521 kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib"
1522 test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib $KDEDIR $kde_libdirs"
1523 kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
1524 AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
1525 ac_kde_libraries="$kde_libdir"
1527 if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
1529 in the prefix, you've chosen, are no KDE libraries installed. This will fail.
1530 So, check this please and use another prefix!])
1532 ac_kde_libraries="$kde_libdir"
1534 if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO; then
1535 ac_cv_have_kde="have_kde=no"
1537 ac_cv_have_kde="have_kde=yes \
1538 ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1543 ac_cv_have_kde="have_kde=no"
1548 eval "$ac_cv_have_kde"
1550 if test "$have_kde" != "yes"; then
1551 if test "${prefix}" = NONE; then
1552 ac_kde_prefix="$ac_default_prefix"
1554 ac_kde_prefix="$prefix"
1556 if test "$exec_prefix" = NONE; then
1557 ac_kde_exec_prefix="$ac_kde_prefix"
1558 AC_MSG_RESULT([will be installed in $ac_kde_prefix])
1560 ac_kde_exec_prefix="$exec_prefix"
1561 AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
1564 kde_libraries="${libdir}"
1565 kde_includes=${ac_kde_prefix}/include
1568 ac_cv_have_kde="have_kde=yes \
1569 ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1570 AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
1572 kde_libraries="$ac_kde_libraries"
1573 kde_includes="$ac_kde_includes"
1575 AC_SUBST(kde_libraries)
1576 AC_SUBST(kde_includes)
1578 if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then
1581 KDE_INCLUDES="-I$kde_includes"
1582 all_includes="$KDE_INCLUDES $all_includes"
1585 KDE_LDFLAGS="-L$kde_libraries"
1586 if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then
1587 all_libraries="$all_libraries $KDE_LDFLAGS"
1590 AC_SUBST(KDE_LDFLAGS)
1591 AC_SUBST(KDE_INCLUDES)
1593 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
1595 all_libraries="$all_libraries $USER_LDFLAGS"
1596 all_includes="$all_includes $USER_INCLUDES"
1597 AC_SUBST(all_includes)
1598 AC_SUBST(all_libraries)
1603 AC_DEFUN(KDE_CHECK_EXTRA_LIBS,
1605 AC_MSG_CHECKING(for extra includes)
1606 AC_ARG_WITH(extra-includes, [ --with-extra-includes=DIR
1607 adds non standard include paths],
1608 kde_use_extra_includes="$withval",
1609 kde_use_extra_includes=NONE
1612 if test -n "$kde_use_extra_includes" && \
1613 test "$kde_use_extra_includes" != "NONE"; then
1617 for dir in $kde_use_extra_includes; do
1618 kde_extra_includes="$kde_extra_includes $dir"
1619 USER_INCLUDES="$USER_INCLUDES -I$dir"
1622 kde_use_extra_includes="added"
1624 kde_use_extra_includes="no"
1626 AC_SUBST(USER_INCLUDES)
1628 AC_MSG_RESULT($kde_use_extra_includes)
1631 AC_MSG_CHECKING(for extra libs)
1632 AC_ARG_WITH(extra-libs, [ --with-extra-libs=DIR adds non standard library paths],
1633 kde_use_extra_libs=$withval,
1634 kde_use_extra_libs=NONE
1636 if test -n "$kde_use_extra_libs" && \
1637 test "$kde_use_extra_libs" != "NONE"; then
1641 for dir in $kde_use_extra_libs; do
1642 kde_extra_libs="$kde_extra_libs $dir"
1643 KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
1644 USER_LDFLAGS="$USER_LDFLAGS -L$dir"
1647 kde_use_extra_libs="added"
1649 kde_use_extra_libs="no"
1652 AC_SUBST(USER_LDFLAGS)
1654 AC_MSG_RESULT($kde_use_extra_libs)
1658 AC_DEFUN(KDE_1_CHECK_PATH_HEADERS,
1660 AC_MSG_CHECKING([for KDE headers installed])
1663 cat > conftest.$ac_ext <<EOF
1665 # include <stdlib.h>
1668 #include "confdefs.h"
1672 printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
1673 printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
1674 printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
1675 printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
1676 printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
1677 printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
1678 printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
1679 printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
1680 printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
1681 printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
1682 printf("kde_wallpaperdir=\\"%s\\"\n",
1683 KApplication::kde_wallpaperdir().data());
1684 printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
1685 printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
1686 printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
1687 printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
1688 printf("kde_moduledir=\\"/tmp/dummy\\"\n");
1689 printf("kde_styledir=\\"/tmp/dummy\\"\n");
1690 printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
1695 ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext'
1696 if AC_TRY_EVAL(ac_compile); then
1699 AC_MSG_ERROR([your system is not able to compile a small KDE application!
1700 Check, if you installed the KDE header files correctly.
1701 For more details about this problem, look at the end of config.log.])
1707 AC_DEFUN(KDE_CHECK_KDEQTADDON,
1709 AC_MSG_CHECKING(for kde-qt-addon)
1710 AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
1712 kde_ldflags_safe="$LDFLAGS"
1713 kde_libs_safe="$LIBS"
1714 kde_cxxflags_safe="$CXXFLAGS"
1716 LIBS="-lkde-qt-addon $LIBQT $LIBS"
1717 CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
1718 LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
1726 kde_cv_have_kdeqtaddon=yes,
1727 kde_cv_have_kdeqtaddon=no
1730 LDFLAGS=$kde_ldflags_safe
1732 CXXFLAGS=$kde_cxxflags_safe
1735 AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
1737 if test "$kde_cv_have_kdeqtaddon" = "no"; then
1738 AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
1739 It is a separate package (and CVS module) named kde-qt-addon.])
1743 AC_DEFUN(KDE_CHECK_KIMGIO,
1745 AC_REQUIRE([AC_BASE_PATH_KDE])
1746 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
1747 AC_REQUIRE([AC_FIND_TIFF])
1748 AC_REQUIRE([AC_FIND_JPEG])
1749 AC_REQUIRE([AC_FIND_PNG])
1750 AC_REQUIRE([KDE_CREATE_LIBS_ALIASES])
1752 if test "$1" = "existance"; then
1755 kde_save_LIBS="$LIBS"
1756 LIBS="$LIBS $all_libraries $LIBJPEG $LIBTIFF $LIBPNG $LIBQT -lm"
1757 AC_CHECK_LIB(kimgio, kimgioRegister, [
1758 LIBKIMGIO_EXISTS=yes],LIBKIMGIO_EXISTS=no)
1759 LIBS="$kde_save_LIBS"
1762 LIBKIMGIO_EXISTS=yes
1765 if test "$LIBKIMGIO_EXISTS" = "yes"; then
1766 LIB_KIMGIO='-lkimgio'
1770 AC_SUBST(LIB_KIMGIO)
1773 AC_DEFUN(KDE_CREATE_LIBS_ALIASES,
1775 AC_REQUIRE([KDE_MISC_TESTS])
1776 AC_REQUIRE([KDE_CHECK_LIBDL])
1777 AC_REQUIRE([K_PATH_X])
1779 if test $kde_qtver = 3; then
1780 LIB_KDECORE='-lkdecore'
1781 AC_SUBST(LIB_KDECORE)
1792 LIB_KSPELL='-lkspell'
1793 AC_SUBST(LIB_KSPELL)
1794 LIB_KPARTS='-lkparts'
1795 AC_SUBST(LIB_KPARTS)
1796 LIB_KDEPRINT='-lkdeprint'
1797 AC_SUBST(LIB_KDEPRINT)
1798 # these are for backward compatibility
1800 AC_SUBST(LIB_KSYCOCA)
1803 elif test $kde_qtver = 2; then
1804 LIB_KDECORE='-lkdecore'
1805 AC_SUBST(LIB_KDECORE)
1810 LIB_KSYCOCA='-lksycoca'
1811 AC_SUBST(LIB_KSYCOCA)
1820 LIB_KSPELL='-lkspell'
1821 AC_SUBST(LIB_KSPELL)
1822 LIB_KPARTS='-lkparts'
1823 AC_SUBST(LIB_KPARTS)
1824 LIB_KDEPRINT='-lkdeprint'
1825 AC_SUBST(LIB_KDEPRINT)
1827 LIB_KDECORE='-lkdecore -lXext $(LIB_QT)'
1828 AC_SUBST(LIB_KDECORE)
1829 LIB_KDEUI='-lkdeui $(LIB_KDECORE)'
1831 LIB_KFM='-lkfm $(LIB_KDECORE)'
1833 LIB_KFILE='-lkfile $(LIB_KFM) $(LIB_KDEUI)'
1835 LIB_KAB='-lkab $(LIB_KIMGIO) $(LIB_KDECORE)'
1840 AC_DEFUN(AC_PATH_KDE,
1843 AC_ARG_ENABLE(path-check, [ --disable-path-check don't try to find out, where to install],
1845 if test "$enableval" = "no";
1846 then ac_use_path_checking="default"
1847 else ac_use_path_checking=""
1851 if test "$kde_qtver" = 1;
1852 then ac_use_path_checking=""
1853 else ac_use_path_checking="default"
1858 AC_CREATE_KFSSTND($ac_use_path_checking)
1861 KDE_CREATE_LIBS_ALIASES
1865 AC_DEFUN(AC_CHECK_SETENV,
1867 AC_OBSOLETE([$0], [; instead use AC_CHECK_FUNCS([setenv unsetenv])])dnl
1868 AC_CHECK_FUNCS([setenv unsetenv])
1871 AC_DEFUN(AC_CHECK_GETDOMAINNAME,
1873 AC_MSG_CHECKING(for getdomainname)
1874 AC_CACHE_VAL(ac_cv_func_getdomainname,
1878 save_CXXFLAGS="$CXXFLAGS"
1879 kde_safe_LIBS="$LIBS"
1880 LIBS="$LIBS $X_EXTRA_LIBS"
1881 if test "$GCC" = "yes"; then
1882 CXXFLAGS="$CXXFLAGS -pedantic-errors"
1890 getdomainname(buffer, 200);
1892 ac_cv_func_getdomainname=yes,
1893 ac_cv_func_getdomainname=no)
1894 CXXFLAGS="$save_CXXFLAGS"
1898 AC_MSG_RESULT($ac_cv_func_getdomainname)
1900 AC_MSG_CHECKING([if getdomainname needs custom prototype])
1901 AC_CACHE_VAL(ac_cv_proto_getdomainname,
1905 if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
1906 ac_cv_proto_getdomainname=no
1909 LIBS="$LIBS $X_EXTRA_LIBS"
1914 extern "C" int getdomainname (char *, int);
1918 getdomainname(buffer, 200);
1920 ac_cv_func_getdomainname=yes
1921 ac_cv_proto_getdomainname=yes,
1922 AC_MSG_RESULT([fatal error])
1923 AC_MSG_ERROR([getdomainname unavailable]))
1928 AC_MSG_RESULT($ac_cv_proto_getdomainname)
1930 if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
1931 AC_DEFINE(HAVE_GETDOMAINNAME, 1, [Define if you have getdomainname])
1933 if eval "test \"`echo $ac_cv_proto_getdomainname`\" = no"; then
1934 AC_DEFINE(HAVE_GETDOMAINNAME_PROTO, 1,
1935 [Define if you have getdomainname prototype])
1940 AC_DEFUN(AC_CHECK_GETHOSTNAME,
1943 AC_MSG_CHECKING([for gethostname])
1944 AC_CACHE_VAL(ac_cv_func_gethostname,
1948 save_CXXFLAGS="$CXXFLAGS"
1949 if test "$GCC" = "yes"; then
1950 CXXFLAGS="$CXXFLAGS -pedantic-errors"
1958 gethostname(buffer, 200);
1960 ac_cv_func_gethostname=yes,
1961 ac_cv_func_gethostname=no)
1962 CXXFLAGS="$save_CXXFLAGS"
1965 AC_MSG_RESULT($ac_cv_func_gethostname)
1967 AC_MSG_CHECKING([if gethostname needs custom prototype])
1968 AC_CACHE_VAL(ac_cv_proto_gethostname,
1972 if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
1973 ac_cv_proto_gethostname=no
1979 extern "C" int gethostname (char *, int);
1983 gethostname(buffer, 200);
1985 ac_cv_func_gethostname=yes
1986 ac_cv_proto_gethostname=yes,
1987 AC_MSG_RESULT([fatal error])
1988 AC_MSG_ERROR(gethostname unavailable))
1992 AC_MSG_RESULT($ac_cv_proto_gethostname)
1994 if eval "test \"`echo $ac_cv_proto_gethostname`\" = no"; then
1995 AC_DEFINE(HAVE_GETHOSTNAME_PROTO, 1,
1996 [Define if you have gethostname prototype])
1998 if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
1999 AC_DEFINE(HAVE_GETHOSTNAME, 1, [Define if you have gethostname])
2003 AC_DEFUN(AC_CHECK_USLEEP,
2005 AC_MSG_CHECKING([for usleep])
2006 AC_CACHE_VAL(ac_cv_func_usleep,
2010 ac_libs_safe="$LIBS"
2011 LIBS="$LIBS $LIBUCB"
2019 ac_cv_func_usleep=yes,
2020 ac_cv_func_usleep=no)
2021 LIBS="$ac_libs_safe"
2024 AC_MSG_RESULT($ac_cv_func_usleep)
2025 if eval "test \"`echo $ac_cv_func_usleep`\" = yes"; then
2026 AC_DEFINE(HAVE_USLEEP, 1, [Define if you have the usleep function])
2030 AC_DEFUN(AC_CHECK_RANDOM,
2032 AC_MSG_CHECKING([for random])
2033 AC_CACHE_VAL(ac_cv_func_random,
2037 ac_libs_safe="$LIBS"
2038 LIBS="$LIBS $LIBUCB"
2045 ac_cv_func_random=yes,
2046 ac_cv_func_random=no)
2047 LIBS="$ac_libs_safe"
2050 AC_MSG_RESULT($ac_cv_func_random)
2051 if eval "test \"`echo $ac_cv_func_random`\" = yes"; then
2052 AC_DEFINE(HAVE_RANDOM, 1, [Define if you have random])
2056 AC_DEFUN(AC_FIND_GIF,
2057 [AC_MSG_CHECKING([for giflib])
2058 AC_CACHE_VAL(ac_cv_lib_gif,
2059 [ac_save_LIBS="$LIBS"
2060 if test "x$kde_use_qt_emb" != "xyes"; then
2061 LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
2063 LIBS="$all_libraries -lgif"
2070 int GifLastError(void);
2074 /* We use char because int might match the return type of a gcc2
2075 builtin and then its argument prototype would still apply. */
2077 [return GifLastError();],
2078 eval "ac_cv_lib_gif=yes",
2079 eval "ac_cv_lib_gif=no")
2080 LIBS="$ac_save_LIBS"
2082 if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
2084 AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
2086 AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
2090 AC_DEFUN(KDE_FIND_JPEG_HELPER,
2092 AC_MSG_CHECKING([for libjpeg$2])
2093 AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
2096 ac_save_LIBS="$LIBS"
2097 LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
2098 ac_save_CFLAGS="$CFLAGS"
2099 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2101 [/* Override any gcc2 internal prototype to avoid an error. */
2102 struct jpeg_decompress_struct;
2103 typedef struct jpeg_decompress_struct * j_decompress_ptr;
2108 void jpeg_CreateDecompress(j_decompress_ptr cinfo,
2109 int version, size_t structsize);
2113 /* We use char because int might match the return type of a gcc2
2114 builtin and then its argument prototype would still apply. */
2116 [jpeg_CreateDecompress(0L, 0, 0);],
2117 eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
2118 eval "ac_cv_lib_jpeg_$1=no")
2119 LIBS="$ac_save_LIBS"
2120 CFLAGS="$ac_save_CFLAGS"
2123 if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
2124 LIBJPEG="$ac_cv_lib_jpeg_$1"
2125 AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
2133 AC_DEFUN(AC_FIND_JPEG,
2135 dnl first look for libraries
2136 KDE_FIND_JPEG_HELPER(6b, 6b,
2137 KDE_FIND_JPEG_HELPER(normal, [],
2144 dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
2145 dnl requires system dependent includes loaded before it)
2146 jpeg_incdirs="/usr/include /usr/local/include $kde_extra_includes"
2147 AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
2148 test "x$jpeg_incdir" = xNO && jpeg_incdir=
2150 dnl if headers _and_ libraries are missing, this is no error, and we
2151 dnl continue with a warning (the user will get no jpeg support in khtml)
2152 dnl if only one is missing, it means a configuration error, but we still
2154 if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
2155 AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
2157 if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
2159 There is an installation error in jpeg support. You seem to have only one
2160 of either the headers _or_ the libraries installed. You may need to either
2161 provide correct --with-extra-... options, or the development package of
2162 libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
2163 Disabling JPEG support.
2166 AC_MSG_WARN([libjpeg not found. disable JPEG support.])
2175 AC_DEFUN(KDE_CHECK_QT_JPEG,
2177 AC_MSG_CHECKING([if Qt needs $LIBJPEG])
2178 AC_CACHE_VAL(kde_cv_qt_jpeg,
2182 ac_save_LIBS="$LIBS"
2183 LIBS="$all_libraries $USER_LDFLAGS $LIBQT"
2184 LIBS=`echo $LIBS | sed "s/$LIBJPEG//"`
2185 ac_save_CXXFLAGS="$CXXFLAGS"
2186 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2188 [#include <qapplication.h>],
2192 QApplication app(argc, argv);],
2193 eval "kde_cv_qt_jpeg=no",
2194 eval "kde_cv_qt_jpeg=yes")
2195 LIBS="$ac_save_LIBS"
2196 CXXFLAGS="$ac_save_CXXFLAGS"
2200 if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then
2202 LIBJPEG_QT='$(LIBJPEG)'
2210 AC_DEFUN(AC_FIND_ZLIB,
2212 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2213 AC_MSG_CHECKING([for libz])
2214 AC_CACHE_VAL(ac_cv_lib_z,
2217 kde_save_LIBS="$LIBS"
2218 LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
2219 kde_save_CFLAGS="$CFLAGS"
2220 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2225 [return (zlibVersion() == ZLIB_VERSION); ],
2226 eval "ac_cv_lib_z='-lz'",
2227 eval "ac_cv_lib_z=no")
2228 LIBS="$kde_save_LIBS"
2229 CFLAGS="$kde_save_CFLAGS"
2231 if test ! "$ac_cv_lib_z" = no; then
2232 AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
2235 AC_MSG_RESULT($ac_cv_lib_z)
2237 AC_MSG_ERROR(not found. Check your installation and look into config.log)
2243 AC_DEFUN(KDE_TRY_TIFFLIB,
2245 AC_MSG_CHECKING([for libtiff $1])
2247 AC_CACHE_VAL(kde_cv_libtiff_$1,
2251 kde_save_LIBS="$LIBS"
2252 if test "x$kde_use_qt_emb" != "xyes"; then
2253 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
2255 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm"
2257 kde_save_CXXFLAGS="$CXXFLAGS"
2258 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2264 [return (TIFFOpen( "", "r") == 0); ],
2266 kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
2268 kde_cv_libtiff_$1=no
2271 LIBS="$kde_save_LIBS"
2272 CXXFLAGS="$kde_save_CXXFLAGS"
2276 if test "$kde_cv_libtiff_$1" = "no"; then
2281 LIBTIFF="$kde_cv_libtiff_$1"
2283 AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
2289 AC_DEFUN(AC_FIND_TIFF,
2291 AC_REQUIRE([K_PATH_X])
2292 AC_REQUIRE([AC_FIND_ZLIB])
2293 AC_REQUIRE([AC_FIND_JPEG])
2294 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2296 KDE_TRY_TIFFLIB(tiff, [],
2297 KDE_TRY_TIFFLIB(tiff34))
2303 AC_DEFUN(AC_FIND_PNG,
2305 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2306 AC_REQUIRE([AC_FIND_ZLIB])
2307 AC_MSG_CHECKING([for libpng])
2308 AC_CACHE_VAL(ac_cv_lib_png,
2310 kde_save_LIBS="$LIBS"
2311 if test "x$kde_use_qt_emb" != "xyes"; then
2312 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
2314 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
2316 kde_save_CFLAGS="$CFLAGS"
2317 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2324 png_structp png_ptr = png_create_read_struct( /* image ptr */
2325 PNG_LIBPNG_VER_STRING, 0, 0, 0 );
2326 return( png_ptr != 0 );
2328 eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
2329 eval "ac_cv_lib_png=no"
2331 LIBS="$kde_save_LIBS"
2332 CFLAGS="$kde_save_CFLAGS"
2334 if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
2335 AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
2336 LIBPNG="$ac_cv_lib_png"
2338 AC_MSG_RESULT($ac_cv_lib_png)
2346 AC_DEFUN(AC_CHECK_BOOL,
2348 AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
2351 AC_DEFUN(AC_CHECK_GNU_EXTENSIONS,
2353 AC_MSG_CHECKING(if you need GNU extensions)
2354 AC_CACHE_VAL(ac_cv_gnu_extensions,
2356 cat > conftest.c << EOF
2357 #include <features.h>
2359 #ifdef __GNU_LIBRARY__
2364 if (eval "$ac_cpp conftest.c") 2>&5 |
2365 egrep "yes" >/dev/null 2>&1; then
2367 ac_cv_gnu_extensions=yes
2369 ac_cv_gnu_extensions=no
2373 AC_MSG_RESULT($ac_cv_gnu_extensions)
2374 if test "$ac_cv_gnu_extensions" = "yes"; then
2375 AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
2379 AC_DEFUN(KDE_CHECK_COMPILER_FLAG,
2381 AC_MSG_CHECKING(whether $CXX supports -$1)
2382 kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
2383 AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
2387 save_CXXFLAGS="$CXXFLAGS"
2388 CXXFLAGS="$CXXFLAGS -$1"
2389 AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], [])
2390 CXXFLAGS="$save_CXXFLAGS"
2393 if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
2404 dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
2405 dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
2406 dnl it's all white-space separated
2407 AC_DEFUN(AC_REMOVE_FORBIDDEN,
2410 if test -n "$__val"; then
2416 *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
2417 *) # Careful to not add spaces, where there were none, because otherwise
2418 # libtool gets confused, if we change e.g. CXX
2419 if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
2427 dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
2428 AC_DEFUN(AC_VALIDIFY_CXXFLAGS,
2430 if test "x$kde_use_qt_emb" != "xyes"; then
2431 AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
2432 AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
2434 AC_REMOVE_FORBIDDEN(CXX, [-rpath])
2435 AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath])
2439 AC_DEFUN(AC_CHECK_COMPILERS,
2441 AC_ARG_ENABLE(debug,[ --enable-debug[=ARG] enables debug symbols (yes|no|full) [default=no]],
2445 kde_use_debug_code="yes"
2446 kde_use_debug_define=no
2449 kde_use_debug_code="full"
2450 kde_use_debug_define=no
2453 kde_use_debug_code="no"
2454 kde_use_debug_define=yes
2458 [kde_use_debug_code="no"
2459 kde_use_debug_define=no
2462 dnl Just for configure --help
2463 AC_ARG_ENABLE(dummyoption,[ --disable-debug disables debug output and debug symbols [default=no]],[],[])
2465 AC_ARG_ENABLE(strict,[ --enable-strict compiles with strict compiler options (may not work!)],
2467 if test $enableval = "no"; then
2468 kde_use_strict_options="no"
2470 kde_use_strict_options="yes"
2472 ], [kde_use_strict_options="no"])
2474 AC_ARG_ENABLE(warnings,[ --enable-warnings compiles with -Wall and similiar],
2476 if test $enableval = "no"; then
2477 kde_use_warnings="no"
2479 kde_use_warnings="yes"
2481 ], [kde_use_warnings="no"])
2483 dnl enable warnings for debug build
2484 if test "$kde_use_debug_code" != "no"; then
2485 kde_use_warnings=yes
2488 AC_ARG_ENABLE(profile,[ --enable-profile creates profiling infos [default=no]],
2489 [kde_use_profiling=$enableval],
2490 [kde_use_profiling="no"]
2493 dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
2500 if test "$GCC" = "yes"; then
2501 if test "$kde_use_debug_code" != "no"; then
2502 if test $kde_use_debug_code = "full"; then
2503 CFLAGS="-g3 $CFLAGS"
2505 CFLAGS="-g -O2 $CFLAGS"
2508 CFLAGS="-O2 $CFLAGS"
2512 if test "$kde_use_debug_define" = "yes"; then
2513 CFLAGS="-DNDEBUG $CFLAGS"
2518 *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";;
2519 *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";;
2522 if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
2526 CXXFLAGS=" $CXXFLAGS"
2530 if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
2531 if test "$kde_use_debug_code" != "no"; then
2532 if test "$CXX" = "KCC"; then
2533 CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS"
2535 if test "$kde_use_debug_code" = "full"; then
2536 CXXFLAGS="-g3 $CXXFLAGS"
2538 CXXFLAGS="-g -O2 $CXXFLAGS"
2541 KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"])
2543 dnl convenience compiler flags
2544 KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""])
2545 AC_SUBST(WOVERLOADED_VIRTUAL)
2547 if test "$CXX" = "KCC"; then
2548 CXXFLAGS="+K3 $CXXFLAGS"
2550 CXXFLAGS="-O2 $CXXFLAGS"
2555 if test "$kde_use_debug_define" = "yes"; then
2556 CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS"
2559 if test "$kde_use_profiling" = "yes"; then
2560 KDE_CHECK_COMPILER_FLAG(pg,
2562 CFLAGS="-pg $CFLAGS"
2563 CXXFLAGS="-pg $CXXFLAGS"
2567 if test "$kde_use_warnings" = "yes"; then
2568 if test "$GCC" = "yes"; then
2571 CFLAGS="-ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
2572 CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion $CXXFLAGS"
2575 CXXFLAGS="-Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS"
2576 KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"])
2577 KDE_CHECK_COMPILER_FLAG(Wbad-function-cast,[CXXFLAGS="-Wbad-function-cast $CXXFLAGS"])
2578 KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"])
2579 KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"])
2583 if test "$GCC" = "yes" && test "$kde_use_strict_options" = "yes"; then
2584 CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
2587 if test "$GXX" = "yes"; then
2588 KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
2589 KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
2590 KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= )
2592 if test "$CXX" = "KCC"; then
2593 dnl unfortunately we currently cannot disable exception support in KCC
2594 dnl because doing so is binary incompatible and Qt by default links with exceptions :-(
2595 dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"])
2596 dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= )
2598 AC_ARG_ENABLE(pch,[ --enable-pch enables precompiled header support (currently only KCC) [default=no]],
2600 kde_use_pch=$enableval
2603 if test "$kde_use_pch" = "yes"; then
2604 dnl TODO: support --pch-dir!
2605 KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"])
2606 dnl the below works (but the dir must exist), but it's
2607 dnl useless for a whole package.
2608 dnl The are precompiled headers for each source file, so when compiling
2609 dnl from scratch, it doesn't make a difference, and they take up
2610 dnl around ~5Mb _per_ sourcefile.
2611 dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp,
2612 dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"])
2614 dnl this flag controls inlining. by default KCC inlines in optimisation mode
2615 dnl all implementations that are defined inside the class {} declaration.
2616 dnl because of templates-compatibility with broken gcc compilers, this
2617 dnl can cause excessive inlining. This flag limits it to a sane level
2618 KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"])
2619 KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"])
2620 KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"])
2621 KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"])
2622 dnl Some source files are shared between multiple executables
2623 dnl (or libraries) and some of those need template instantiations.
2624 dnl In that case KCC needs to compile those sources with
2625 dnl --one_instantiation_per_object. To make it easy for us we compile
2626 dnl _all_ objects with that flag (--one_per is a shorthand).
2627 KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"])
2629 AC_SUBST(USE_EXCEPTIONS)
2630 dnl obsolete macro - provided to keep things going
2635 *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;;
2636 *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";;
2637 *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";;
2639 if test "$GXX" = yes; then
2640 libstdcpp=`$CXX -print-file-name=libstdc++.so`
2641 if test ! -f $libstdcpp; then
2642 AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so])
2648 AC_VALIDIFY_CXXFLAGS
2652 # the following is to allow programs, that are known to
2653 # have problems when compiled with -O2
2654 if test -n "$CXXFLAGS"; then
2658 for i in $CXXFLAGS; do
2663 NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS $i"
2670 if test -n "$CFLAGS"; then
2674 for i in $CFLAGS; do
2679 NOOPT_CFLAGS="$NOOPT_CFLAGS $i"
2686 if test "x$kde_use_qt_emb" = "xyes"; then
2687 NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS -fno-rtti -DQWS"
2690 AC_SUBST(NOOPT_CXXFLAGS)
2691 AC_SUBST(NOOPT_CFLAGS)
2695 ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
2698 AC_SUBST(KDE_CXXFLAGS)
2701 AC_DEFUN(KDE_ADD_DEPENDENCIES,
2703 [A]M_DEPENDENCIES(CC)
2704 [A]M_DEPENDENCIES(CXX)
2707 dnl just a wrapper to clean up configure.in
2708 AC_DEFUN(KDE_PROG_LIBTOOL,
2710 AC_REQUIRE([AC_CHECK_COMPILERS])
2711 AC_REQUIRE([AC_ENABLE_SHARED])
2712 AC_REQUIRE([AC_ENABLE_STATIC])
2714 AC_REQUIRE([AC_LIBTOOL_DLOPEN])
2725 LIBTOOL_SHELL="/bin/sh ./libtool"
2726 # LIBTOOL="$LIBTOOL --silent"
2727 KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
2728 AC_SUBST(KDE_PLUGIN)
2730 AC_ARG_ENABLE(objprelink, [ --enable-objprelink prelink apps using objprelink (experimental [only tested on linux/386])],
2731 kde_use_objprelink=$enableval, kde_use_objprelink=no)
2732 if test "x$kde_use_objprelink" = "xyes"; then
2734 KDE_FIND_PATH(objprelink, OBJPRELINK, [], [kde_use_objprelink=no])
2736 if test "x$kde_use_objprelink" = "xyes"; then
2737 AC_MSG_CHECKING([Patching libtool to run objprelink.])
2738 mv libtool libtool.orig
2739 cat > libtool <<\EOF
2741 for n ; do case $n in
2742 *.o) test -r $n && echo objprelink $n && objprelink $n ;;
2743 *.lo) m=`basename $n .lo`".o" && test -r $m && echo objprelink $m && objprelink $m
2744 m=".libs/$m" && test -r $m && echo objprelink $m && objprelink $m ;;
2747 cat >> libtool libtool.orig
2755 AC_DEFUN(KDE_CHECK_TYPES,
2756 [ AC_CHECK_SIZEOF(int, 4)dnl
2757 AC_CHECK_SIZEOF(long, 4)dnl
2758 AC_CHECK_SIZEOF(char *, 4)dnl
2759 AC_CHECK_SIZEOF(char, 1)dnl
2762 AC_DEFUN(KDE_DO_IT_ALL,
2766 AM_INIT_AUTOMAKE($1, $2)
2767 AM_DISABLE_LIBRARIES
2768 AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
2775 AC_DEFUN(AC_CHECK_RPATH,
2777 AC_MSG_CHECKING(for rpath)
2778 AC_ARG_ENABLE(rpath,
2779 [ --disable-rpath do not use the rpath feature of ld],
2780 USE_RPATH=$enableval, USE_RPATH=yes)
2782 if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
2784 KDE_RPATH="-R \$(kde_libraries)"
2786 if test -n "$qt_libraries"; then
2787 KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
2789 dnl $x_libraries is set to /usr/lib in case
2790 if test -n "$X_LDFLAGS"; then
2791 KDE_RPATH="$KDE_RPATH -R \$(x_libraries)"
2793 if test -n "$KDE_EXTRA_RPATH"; then
2794 KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
2797 AC_SUBST(KDE_EXTRA_RPATH)
2799 AC_MSG_RESULT($USE_RPATH)
2802 dnl Check for the type of the third argument of getsockname
2803 AC_DEFUN(AC_CHECK_SOCKLEN_T, [
2804 AC_MSG_CHECKING(for socklen_t)
2805 AC_CACHE_VAL(ac_cv_socklen_t, [
2809 #include <sys/types.h>
2810 #include <sys/socket.h>
2813 getsockname(0,(struct sockaddr*)0, &a);
2815 ac_cv_socklen_t=socklen_t,
2817 #include <sys/types.h>
2818 #include <sys/socket.h>
2821 getsockname(0,(struct sockaddr*)0, &a);
2823 ac_cv_socklen_t=int,
2824 ac_cv_socklen_t=size_t
2830 AC_MSG_RESULT($ac_cv_socklen_t)
2831 if test "$ac_cv_socklen_t" != "socklen_t"; then
2832 AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t,
2833 [Define the real type of socklen_t])
2835 AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define])
2839 dnl This is a merge of some macros out of the gettext aclocal.m4
2840 dnl since we don't need anything, I took the things we need
2841 dnl the copyright for them is:
2843 dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
2844 dnl This Makefile.in is free software; the Free Software Foundation
2845 dnl gives unlimited permission to copy and/or distribute it,
2846 dnl with or without modifications, as long as this notice is preserved.
2848 dnl This program is distributed in the hope that it will be useful,
2849 dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
2850 dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
2851 dnl PARTICULAR PURPOSE.
2853 dnl for this file it is relicensed under LGPL
2855 AC_DEFUN(AM_KDE_WITH_NLS,
2857 dnl If we use NLS figure out what method
2859 AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
2860 [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
2861 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
2863 if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
2864 AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
2871 AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
2872 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
2874 dnl Test whether we really found GNU xgettext.
2875 if test "$XGETTEXT" != ":"; then
2876 dnl If it is no GNU xgettext we define it as : so that the
2877 dnl Makefiles still can work.
2878 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
2882 [found xgettext programs is not GNU xgettext; ignore it])
2890 # Search path for a program which passes the given test.
2891 # Ulrich Drepper <drepper@cygnus.com>, 1996.
2894 # Stephan Kulow: I appended a _KDE against name conflicts
2896 dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR,
2897 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
2898 AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE,
2899 [# Extract the first word of "$2", so it can be a program name with args.
2900 set dummy $2; ac_word=[$]2
2901 AC_MSG_CHECKING([for $ac_word])
2902 AC_CACHE_VAL(ac_cv_path_$1,
2905 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
2908 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
2909 for ac_dir in ifelse([$5], , $PATH, [$5]); do
2910 test -z "$ac_dir" && ac_dir=.
2911 if test -f $ac_dir/$ac_word; then
2913 ac_cv_path_$1="$ac_dir/$ac_word"
2919 dnl If no 4th arg is given, leave the cache variable unset,
2920 dnl so AC_PATH_PROGS will keep looking.
2921 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
2926 if test -n "[$]$1"; then
2927 AC_MSG_RESULT([$]$1)
2935 # Check whether LC_MESSAGES is available in <locale.h>.
2936 # Ulrich Drepper <drepper@cygnus.com>, 1995.
2940 AC_DEFUN(AM_LC_MESSAGES,
2941 [if test $ac_cv_header_locale_h = yes; then
2942 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
2943 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
2944 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
2945 if test $am_cv_val_LC_MESSAGES = yes; then
2946 AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES])
2950 dnl From Jim Meyering.
2951 dnl FIXME: migrate into libit.
2953 AC_DEFUN([AM_FUNC_OBSTACK],
2954 [AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
2955 [AC_TRY_LINK([#include "obstack.h"],
2956 [struct obstack *mem;obstack_free(mem,(char *) 0)],
2957 am_cv_func_obstack=yes,
2958 am_cv_func_obstack=no)])
2959 if test $am_cv_func_obstack = yes; then
2960 AC_DEFINE(HAVE_OBSTACK)
2962 LIBOBJS="$LIBOBJS obstack.o"
2966 dnl From Jim Meyering. Use this if you use the GNU error.[ch].
2967 dnl FIXME: Migrate into libit
2969 AC_DEFUN([AM_FUNC_ERROR_AT_LINE],
2970 [AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
2971 [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
2972 am_cv_lib_error_at_line=yes,
2973 am_cv_lib_error_at_line=no)])
2974 if test $am_cv_lib_error_at_line = no; then
2975 LIBOBJS="$LIBOBJS error.o"
2977 AC_SUBST(LIBOBJS)dnl
2980 # Macro to add for using GNU gettext.
2981 # Ulrich Drepper <drepper@cygnus.com>, 1995.
2984 # Stephan Kulow: I put a KDE in it to avoid name conflicts
2986 AC_DEFUN(AM_KDE_GNU_GETTEXT,
2987 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
2988 AC_REQUIRE([AC_PROG_RANLIB])dnl
2989 AC_REQUIRE([AC_HEADER_STDC])dnl
2990 AC_REQUIRE([AC_TYPE_OFF_T])dnl
2991 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
2992 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
2993 AC_REQUIRE([AC_FUNC_MMAP])dnl
2994 AC_REQUIRE([AM_KDE_WITH_NLS])dnl
2995 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h string.h values.h alloca.h])
2996 AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
2997 __argz_count __argz_stringify __argz_next])
2999 AC_MSG_CHECKING(for stpcpy)
3000 AC_CACHE_VAL(kde_cv_func_stpcpy,
3002 kde_safe_cxxflags=$CXXFLAGS
3003 CXXFLAGS="-Wmissing-prototypes -Werror"
3011 stpcpy(buffer, buffer);
3013 kde_cv_func_stpcpy=yes,
3014 kde_cv_func_stpcpy=no)
3016 CXXFLAGS=$kde_safe_cxxflags
3018 AC_MSG_RESULT($kde_cv_func_stpcpy)
3019 if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then
3020 AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy])
3025 if test "x$CATOBJEXT" != "x"; then
3026 if test "x$ALL_LINGUAS" = "x"; then
3029 AC_MSG_CHECKING(for catalogs to be installed)
3031 for lang in ${LINGUAS=$ALL_LINGUAS}; do
3032 case "$ALL_LINGUAS" in
3033 *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
3036 LINGUAS=$NEW_LINGUAS
3037 AC_MSG_RESULT($LINGUAS)
3040 dnl Construct list of names of catalog files to be constructed.
3041 if test -n "$LINGUAS"; then
3042 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
3048 AC_DEFUN(AC_HAVE_XPM,
3049 [AC_REQUIRE_CPP()dnl
3050 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3052 test -z "$XPM_LDFLAGS" && XPM_LDFLAGS=
3053 test -z "$XPM_INCLUDE" && XPM_INCLUDE=
3055 AC_ARG_WITH(xpm, [ --without-xpm disable color pixmap XPM tests],
3056 xpm_test=$withval, xpm_test="yes")
3057 if test "x$xpm_test" = xno; then
3060 AC_MSG_CHECKING(for XPM)
3061 AC_CACHE_VAL(ac_cv_have_xpm,
3064 ac_save_ldflags="$LDFLAGS"
3065 ac_save_cflags="$CFLAGS"
3066 if test "x$kde_use_qt_emb" != "xyes"; then
3067 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
3069 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET"
3071 CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
3072 test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
3073 AC_TRY_LINK([#include <X11/xpm.h>],[],
3074 ac_cv_have_xpm="yes",ac_cv_have_xpm="no")
3075 LDFLAGS="$ac_save_ldflags"
3076 CFLAGS="$ac_save_cflags"
3079 if test "$ac_cv_have_xpm" = no; then
3085 AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
3086 if test "$XPM_LDFLAGS" = ""; then
3087 XPMLIB='-lXpm $(LIB_X11)'
3089 XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
3091 if test "$XPM_INCLUDE" = ""; then
3094 XPMINC="-I$XPM_INCLUDE"
3104 AC_DEFUN(AC_HAVE_DPMS,
3105 [AC_REQUIRE_CPP()dnl
3106 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3108 test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS=
3109 test -z "$DPMS_INCLUDE" && DPMS_INCLUDE=
3112 AC_ARG_WITH(dpms, [ --without-dpms disable DPMS power saving],
3113 dpms_test=$withval, dpms_test="yes")
3114 if test "x$dpms_test" = xno; then
3117 AC_MSG_CHECKING(for DPMS)
3118 dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
3119 dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
3120 AC_CACHE_VAL(ac_cv_have_dpms,
3122 if test "x$kde_use_qt_emb" = "xyes"; then
3124 ac_cv_have_dpms="no"
3127 ac_save_ldflags="$LDFLAGS"
3128 ac_save_cflags="$CFLAGS"
3129 ac_save_libs="$LIBS"
3130 LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
3131 CFLAGS="$CFLAGS $X_INCLUDES"
3132 test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3134 #include <X11/Xproto.h>
3136 #include <X11/Xlib.h>
3137 #include <X11/extensions/dpms.h>
3139 { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3140 ac_cv_have_dpms="yes", [
3141 LDFLAGS="$ac_save_ldflags"
3142 CFLAGS="$ac_save_cflags"
3143 LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
3144 LIBS="$LIBS -lXdpms"
3145 CFLAGS="$CFLAGS $X_INCLUDES"
3146 test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3148 #include <X11/Xproto.h>
3150 #include <X11/Xlib.h>
3151 #include <X11/extensions/dpms.h>
3153 { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3155 ac_cv_have_dpms="-lXdpms"
3156 ],ac_cv_have_dpms="no")
3158 LDFLAGS="$ac_save_ldflags"
3159 CFLAGS="$ac_save_cflags"
3160 LIBS="$ac_save_libs"
3164 if test "$ac_cv_have_dpms" = no; then
3170 AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
3171 if test "$ac_cv_have_dpms" = "-lXdpms"; then
3174 if test "$DPMS_LDFLAGS" = ""; then
3175 DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
3177 DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
3179 if test "$DPMS_INCLUDE" = ""; then
3182 DPMSINC="-I$DPMS_INCLUDE"
3192 AC_DEFUN(AC_HAVE_GL,
3193 [AC_REQUIRE_CPP()dnl
3194 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3196 test -z "$GL_LDFLAGS" && GL_LDFLAGS=
3197 test -z "$GL_INCLUDE" && GL_INCLUDE=
3199 AC_ARG_WITH(gl, [ --without-gl disable 3D GL modes],
3200 gl_test=$withval, gl_test="yes")
3201 if test "x$kde_use_qt_emb" = "xyes"; then
3202 # GL and Qt Embedded is a no-go for now.
3204 elif test "x$gl_test" = xno; then
3207 AC_MSG_CHECKING(for GL)
3208 AC_CACHE_VAL(ac_cv_have_gl,
3211 ac_save_ldflags="$LDFLAGS"
3212 ac_save_cflags="$CFLAGS"
3213 LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU"
3214 test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3215 LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
3216 CFLAGS="$CFLAGS $X_INCLUDES"
3217 test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3218 AC_TRY_LINK([#include <GL/gl.h>
3221 ac_cv_have_gl="mesa", ac_cv_have_gl="no")
3222 if test "x$ac_cv_have_gl" = "xno"; then
3223 LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGL -lGLU"
3224 test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3225 LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
3226 CFLAGS="$ac_save_cflags $X_INCLUDES"
3227 test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3228 AC_TRY_LINK([#include <GL/gl.h>
3231 ac_cv_have_gl="yes", ac_cv_have_gl="no")
3233 LDFLAGS="$ac_save_ldflags"
3234 CFLAGS="$ac_save_cflags"
3237 if test "$ac_cv_have_gl" = "no"; then
3243 AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
3244 if test "$GL_LDFLAGS" = ""; then
3245 if test "$ac_cv_have_gl" = "mesa"; then
3246 GLLIB='-lMesaGL -lMesaGLU $(LIB_X11)'
3248 GLLIB='-lGL -lGLU $(LIB_X11)'
3251 if test "$ac_cv_have_gl" = "mesa"; then
3252 GLLIB="$GL_LDFLAGS -lMesaGL -lMesaGLU "'$(LIB_X11)'
3254 GLLIB="$GL_LDFLAGS -lGL -lGLU "'$(LIB_X11)'
3257 if test "$GL_INCLUDE" = ""; then
3260 GLINC="-I$GL_INCLUDE"
3262 AC_MSG_RESULT($ac_cv_have_gl)
3271 dnl shadow password and PAM magic - maintained by ossi@kde.org
3274 AC_REQUIRE([KDE_CHECK_LIBDL])
3277 [ --with-pam[=ARG] enable support for PAM: ARG=[yes|no|service name]],
3278 [ if test "x$withval" = "xyes"; then
3281 elif test "x$withval" = "xno"; then
3285 pam_service=$withval
3287 ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3289 AC_CACHE_VAL(ac_cv_path_pam,
3291 AC_CHECK_LIB(pam, pam_start,
3292 [ AC_CHECK_HEADER(security/pam_appl.h,
3296 ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3299 eval "$ac_cv_path_pam"
3301 AC_MSG_CHECKING(for PAM)
3302 if test "x$use_pam" = xno; then
3307 AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)])
3308 PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL"
3310 dnl test whether struct pam_message is const (Linux) or not (Sun)
3311 AC_MSG_CHECKING(for const pam_message)
3312 AC_EGREP_HEADER([struct pam_message], security/pam_appl.h,
3313 [ AC_EGREP_HEADER([const struct pam_message], security/pam_appl.h,
3314 [AC_MSG_RESULT([const: Linux-type PAM])],
3315 [AC_MSG_RESULT([nonconst: Sun-type PAM])
3316 AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])]
3318 [AC_MSG_RESULT([not found - assume const, Linux-type PAM])])
3324 dnl DEF_PAM_SERVICE(arg name, full name, define name)
3325 AC_DEFUN(DEF_PAM_SERVICE, [
3327 [ --with-$1-pam=[val] override PAM service from --with-pam for $2],
3328 [ if test "x$use_pam" = xyes; then
3329 $3_PAM_SERVICE="$withval"
3331 AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected.
3332 You may want to enforce it by using --with-pam.])
3335 [ if test "x$use_pam" = xyes; then
3336 $3_PAM_SERVICE="$pam_service"
3339 if test -n "$$3_PAM_SERVICE"; then
3340 AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE])
3341 AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2])
3343 AC_SUBST($3_PAM_SERVICE)
3346 AC_DEFUN(KDE_SHADOWPASSWD, [
3347 AC_REQUIRE([KDE_PAM])
3349 AC_CHECK_LIB(shadow, getspent,
3350 [ LIBSHADOW="-lshadow"
3354 AC_CHECK_LIB(gen, getspent,
3358 [ AC_CHECK_FUNC(getspent,
3359 [ ac_use_shadow=yes ],
3360 [ ac_use_shadow=no ])
3366 AC_MSG_CHECKING([for shadow passwords])
3369 [ --with-shadow If you want shadow password support ],
3370 [ if test "x$withval" != "xno"; then
3376 use_shadow="$ac_use_shadow"
3379 if test "x$use_shadow" = xyes; then
3381 AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords])
3388 dnl finally make the relevant binaries setuid root, if we have shadow passwds.
3389 dnl this still applies, if we could use it indirectly through pam.
3390 if test "x$use_shadow" = xyes ||
3391 ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then
3393 *-*-freebsd* | *-*-netbsd* | *-*-openbsd*)
3394 SETUIDFLAGS="-m 4755 -o root";;
3396 SETUIDFLAGS="-m 4755";;
3399 AC_SUBST(SETUIDFLAGS)
3403 AC_DEFUN(KDE_PASSWDLIBS, [
3404 AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT
3405 AC_REQUIRE([KDE_PAM])
3406 AC_REQUIRE([KDE_SHADOWPASSWD])
3408 if test "x$use_pam" = "xyes"; then
3409 PASSWDLIBS="$PAMLIBS"
3411 PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN"
3414 dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but
3415 dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires
3416 dnl root to read, so kcheckpass needs to be root (even when using pam, since pam
3417 dnl may need to read /etc/master.passwd).
3420 SETUIDFLAGS="-m 4755 -o root"
3426 AC_SUBST(PASSWDLIBS)
3429 AC_DEFUN(KDE_CHECK_LIBDL,
3431 AC_CHECK_LIB(dl, dlopen, [
3433 ac_cv_have_dlfcn=yes
3436 AC_CHECK_LIB(dld, shl_unload, [
3438 ac_cv_have_shload=yes
3444 AC_DEFUN(KDE_CHECK_DLOPEN,
3447 AC_CHECK_HEADERS(dlfcn.h dl.h)
3448 if test "$ac_cv_header_dlfcn_h" = "no"; then
3452 if test "$ac_cv_header_dl_h" = "no"; then
3453 ac_cv_have_shload=no
3456 dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE
3458 AC_ARG_ENABLE(dlopen,
3459 [ --disable-dlopen link statically [default=no]] ,
3460 enable_dlopen=$enableval,
3463 # override the user's opinion, if we know it better ;)
3464 if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then
3468 if test "$ac_cv_have_dlfcn" = "yes"; then
3469 AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn])
3472 if test "$ac_cv_have_shload" = "yes"; then
3473 AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload])
3476 if test "$enable_dlopen" = no ; then
3477 test -n "$1" && eval $1
3479 test -n "$2" && eval $2
3484 AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING,
3486 KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no)
3488 AC_MSG_CHECKING([dynamic loading])
3489 eval "`egrep '^build_libtool_libs=' libtool`"
3490 if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then
3492 AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
3496 AC_MSG_RESULT($dynamic_loading)
3497 if test "$dynamic_loading" = "yes"; then
3504 AC_DEFUN(KDE_ADD_INCLUDES,
3506 if test -z "$1"; then
3507 test_include="Pix.h"
3512 AC_MSG_CHECKING([for libg++ ($test_include)])
3514 AC_CACHE_VAL(kde_cv_libgpp_includes,
3516 kde_cv_libgpp_includes=no
3522 /usr/unsupported/include \
3527 if test -r "$ac_dir/$test_include"; then
3528 kde_cv_libgpp_includes=$ac_dir
3534 AC_MSG_RESULT($kde_cv_libgpp_includes)
3535 if test "$kde_cv_libgpp_includes" != "no"; then
3536 all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES"
3541 AC_DEFUN(KDE_CHECK_MICO,
3543 AC_REQUIRE([KDE_CHECK_LIBDL])
3544 AC_REQUIRE([KDE_MISC_TESTS])
3545 AC_MSG_CHECKING(for MICO)
3547 if test -z "$MICODIR"; then
3548 kde_micodir=/usr/local
3550 kde_micodir="$MICODIR"
3553 AC_ARG_WITH(micodir,
3554 [ --with-micodir=micodir where mico is installed ],
3555 kde_micodir=$withval,
3556 kde_micodir=$kde_micodir
3559 AC_CACHE_VAL(kde_cv_mico_incdir,
3561 mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes"
3562 AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir)
3565 kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'`
3567 if test ! -r $kde_micodir/include/CORBA.h; then
3568 AC_MSG_ERROR([No CORBA.h found, specify another micodir])
3571 AC_MSG_RESULT($kde_micodir)
3573 MICO_INCLUDES=-I$kde_micodir/include
3574 AC_SUBST(MICO_INCLUDES)
3575 MICO_LDFLAGS=-L$kde_micodir/lib
3576 AC_SUBST(MICO_LDFLAGS)
3577 micodir=$kde_micodir
3580 AC_MSG_CHECKING([for MICO version])
3581 AC_CACHE_VAL(kde_cv_mico_version,
3584 cat >conftest.$ac_ext <<EOF
3586 #include <mico/version.h>
3589 printf("MICO_VERSION=%s\n",MICO_VERSION);
3593 ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest'
3594 if AC_TRY_EVAL(ac_compile); then
3595 if eval `./conftest 2>&5`; then
3596 kde_cv_mico_version=$MICO_VERSION
3598 AC_MSG_ERROR([your system is not able to execute a small application to
3599 find MICO version! Check $kde_micodir/include/mico/version.h])
3602 AC_MSG_ERROR([your system is not able to compile a small application to
3603 find MICO version! Check $kde_micodir/include/mico/version.h])
3607 dnl installed MICO version
3608 mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
3609 mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
3610 mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
3612 if test "x$1" = "x"; then
3618 dnl required MICO version
3619 req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
3620 req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
3621 req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
3623 if test "$mico_v_maj" -lt "$req_v_maj" || \
3624 ( test "$mico_v_maj" -eq "$req_v_maj" && \
3625 test "$mico_v_mid" -lt "$req_v_mid" ) || \
3626 ( test "$mico_v_mid" -eq "$req_v_mid" && \
3627 test "$mico_v_min" -lt "$req_v_min" )
3630 AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
3631 at least is required. You should upgrade MICO.])
3633 AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
3636 LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
3638 if test -z "$IDL"; then
3639 IDL='$(kde_bindir)/cuteidl'
3642 IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
3643 AC_SUBST(IDL_DEPENDENCIES)
3645 idldir="\$(includedir)/idl"
3650 AC_DEFUN(KDE_CHECK_MINI_STL,
3652 AC_REQUIRE([KDE_CHECK_MICO])
3654 AC_MSG_CHECKING(if we use mico's mini-STL)
3655 AC_CACHE_VAL(kde_cv_have_mini_stl,
3659 kde_save_cxxflags="$CXXFLAGS"
3660 CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
3663 #include <mico/config.h>
3666 #ifdef HAVE_MINI_STL
3670 kde_cv_have_mini_stl=no,
3671 kde_cv_have_mini_stl=yes)
3672 CXXFLAGS="$kde_save_cxxflags"
3676 if test "x$kde_cv_have_mini_stl" = "xyes"; then
3688 AC_DEFUN(KDE_CHECK_LIBPTHREAD,
3690 AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] )
3691 AC_SUBST(LIBPTHREAD)
3694 AC_DEFUN(KDE_CHECK_PTHREAD_OPTION,
3696 AC_ARG_ENABLE(kernel-threads, [ --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.],
3697 kde_use_kernthreads=$enableval, kde_use_kernthreads=no)
3699 if test "$kde_use_kernthreads" = "yes"; then
3700 ac_save_CXXFLAGS="$CXXFLAGS"
3701 ac_save_CFLAGS="$CFLAGS"
3702 CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS"
3703 CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS"
3704 AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h)
3705 CXXFLAGS="$ac_save_CXXFLAGS"
3706 CFLAGS="$ac_save_CFLAGS"
3707 if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then
3708 kde_use_kernthreads=no
3710 dnl Add proper -I and -l statements
3711 AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD
3712 if test "x$LIBPTHREAD" = "x"; then
3713 kde_use_kernthreads=no
3715 USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads"
3720 if test -z "$LIBPTHREAD"; then
3721 KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] )
3727 KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
3728 CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4"
3731 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3734 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3735 LIBPTHREAD="$LIBPTHREAD -lc_r"
3737 linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
3738 if test "$CXX" = "KCC"; then
3739 CXXFLAGS="$CXXFLAGS --thread_safe"
3740 NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe"
3746 AC_SUBST(USE_THREADS)
3747 AC_SUBST(LIBPTHREAD)
3750 AC_DEFUN(KDE_CHECK_THREADING,
3752 AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
3753 AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION])
3754 dnl default is yes if libpthread is found and no if no libpthread is available
3755 if test -z "$LIBPTHREAD"; then
3756 if test -z "$USE_THREADS"; then
3757 kde_check_threading_default=no
3759 kde_check_threading_default=yes
3762 kde_check_threading_default=yes
3764 AC_ARG_ENABLE(threading, [ --disable-threading disables threading even if libpthread found ],
3765 kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default)
3766 if test "x$kde_use_threading" = "xyes"; then
3767 AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)])
3771 AC_DEFUN(KDE_TRY_LINK_PYTHON,
3773 if test "$kde_python_link_found" = no; then
3775 if test "$1" = normal; then
3776 AC_MSG_CHECKING(if a Python application links)
3778 AC_MSG_CHECKING(if Python depends on $2)
3781 AC_CACHE_VAL(kde_cv_try_link_python_$1,
3785 kde_save_cflags="$CFLAGS"
3786 CFLAGS="$CFLAGS $PYTHONINC"
3787 kde_save_libs="$LIBS"
3788 LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET"
3789 kde_save_ldflags="$LDFLAGS"
3790 LDFLAGS="$LDFLAGS $PYTHONLIB"
3796 PySys_SetArgv(1, 0);
3798 [kde_cv_try_link_python_$1=yes],
3799 [kde_cv_try_link_python_$1=no]
3801 CFLAGS="$kde_save_cflags"
3802 LIBS="$kde_save_libs"
3803 LDFLAGS="$kde_save_ldflags"
3806 if test "$kde_cv_try_link_python_$1" = "yes"; then
3808 kde_python_link_found=yes
3809 if test ! "$1" = normal; then
3810 LIBPYTHON="$LIBPYTHON $2"
3823 AC_DEFUN(KDE_CHECK_PYTHON_DIR,
3825 AC_MSG_CHECKING([for Python directory])
3827 AC_CACHE_VAL(kde_cv_pythondir,
3829 if test -z "$PYTHONDIR"; then
3830 kde_cv_pythondir=/usr/local
3832 kde_cv_pythondir="$PYTHONDIR"
3836 AC_ARG_WITH(pythondir,
3837 [ --with-pythondir=pythondir use python installed in pythondir ],
3839 ac_python_dir=$withval
3840 ], ac_python_dir=$kde_cv_pythondir
3843 AC_MSG_RESULT($ac_python_dir)
3846 AC_DEFUN(KDE_CHECK_PYTHON_INTERN,
3848 AC_REQUIRE([KDE_CHECK_LIBDL])
3849 AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
3850 AC_REQUIRE([KDE_CHECK_PYTHON_DIR])
3852 if test -z "$1"; then
3858 AC_MSG_CHECKING([for Python$version])
3860 python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes"
3861 AC_FIND_FILE(Python.h, $python_incdirs, python_incdir)
3862 if test ! -r $python_incdir/Python.h; then
3863 AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir)
3864 python_incdir=$python_incdir/python$version
3865 if test ! -r $python_incdir/Python.h; then
3870 PYTHONINC=-I$python_incdir
3872 python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
3873 AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir)
3874 if test ! -r $python_libdir/libpython$version.a; then
3875 AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir)
3876 python_libdir=$python_libdir/python$version/config
3877 if test ! -r $python_libdir/libpython$version.a; then
3882 PYTHONLIB=-L$python_libdir
3883 kde_orig_LIBPYTHON=$LIBPYTHON
3884 if test -z "$LIBPYTHON"; then
3885 LIBPYTHON=-lpython$version
3888 python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
3889 AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir)
3890 python_moddir=$python_moddir/python$version
3891 if test ! -r $python_moddir/copy.py; then
3895 PYTHONMODDIR=$python_moddir
3897 AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir)
3899 if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then
3900 LIBPYTHON=$kde_orig_LIBPYTHON
3901 test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB=""
3902 test "x$PYTHONINC" = "x-Ino" && PYTHONINC=""
3905 dnl Note: this test is very weak
3906 kde_python_link_found=no
3907 KDE_TRY_LINK_PYTHON(normal)
3908 KDE_TRY_LINK_PYTHON(m, -lm)
3909 KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD)
3910 KDE_TRY_LINK_PYTHON(tcl, -ltcl)
3911 KDE_TRY_LINK_PYTHON(db2, -ldb2)
3912 KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm])
3913 KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil])
3914 KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil])
3915 KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3])
3916 KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil])
3917 KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm])
3918 KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [],
3919 [AC_MSG_WARN([it seems, Python depends on another library.
3920 Pleae set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this
3921 and contact the authors to let them know about this problem])
3924 LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET"
3928 AC_SUBST(PYTHONMODDIR)
3929 AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python])
3935 AC_DEFUN(KDE_CHECK_PYTHON,
3937 KDE_CHECK_PYTHON_INTERN("2.2",
3938 [KDE_CHECK_PYTHON_INTERN("2.1",
3939 [KDE_CHECK_PYTHON_INTERN("2.0", [ KDE_CHECK_PYTHON_INTERN($1, $2) ])
3943 AC_DEFUN(KDE_CHECK_STL_SGI,
3945 AC_MSG_CHECKING([if STL implementation is SGI like])
3946 AC_CACHE_VAL(kde_cv_stl_type_sgi,
3950 using namespace std;
3952 string astring="Hallo Welt.";
3953 astring.erase(0, 6); // now astring is "Welt"
3955 ], kde_cv_stl_type_sgi=yes,
3956 kde_cv_stl_type_sgi=no)
3959 AC_MSG_RESULT($kde_cv_stl_type_sgi)
3961 if test "$kde_cv_stl_type_sgi" = "yes"; then
3962 AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI])
3966 AC_DEFUN(KDE_CHECK_STL_HP,
3968 AC_MSG_CHECKING([if STL implementation is HP like])
3969 AC_CACHE_VAL(kde_cv_stl_type_hp,
3973 using namespace std;
3975 string astring="Hello World";
3976 astring.remove(0, 6); // now astring is "World"
3978 ], kde_cv_stl_type_hp=yes,
3979 kde_cv_stl_type_hp=no)
3981 AC_MSG_RESULT($kde_cv_stl_type_hp)
3983 if test "$kde_cv_stl_type_hp" = "yes"; then
3984 AC_DEFINE_UNQUOTED(HAVE_HP_STL, 1, [Define if you have a STL implementation by HP])
3988 AC_DEFUN(KDE_CHECK_STL,
3992 ac_save_CXXFLAGS="$CXXFLAGS"
3993 CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
3996 if test "$kde_cv_stl_type_sgi" = "no"; then
3999 if test "$kde_cv_stl_type_hp" = "no"; then
4000 AC_MSG_ERROR("no known STL type found - did you forget to install libstdc++[-devel] ?")
4004 CXXFLAGS="$ac_save_CXXFLAGS"
4008 AC_DEFUN(AC_FIND_QIMGIO,
4009 [AC_REQUIRE([AC_FIND_JPEG])
4010 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
4011 AC_MSG_CHECKING([for qimgio])
4012 AC_CACHE_VAL(ac_cv_lib_qimgio,
4016 ac_save_LIBS="$LIBS"
4017 ac_save_CXXFLAGS="$CXXFLAGS"
4018 LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT"
4019 CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
4022 #include <qimageio.h>
4023 #include <qstring.h>
4025 QString t = "hallo";
4030 ac_cv_lib_qimgio=yes,
4031 ac_cv_lib_qimgio=no,
4032 ac_cv_lib_qimgio=no)
4033 LIBS="$ac_save_LIBS"
4034 CXXFLAGS="$ac_save_CXXFLAGS"
4037 if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then
4038 LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG"
4040 AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available])
4043 AC_MSG_RESULT(not found)
4047 AC_DEFUN(KDE_CHECK_ANSI,
4051 AC_DEFUN(KDE_CHECK_INSURE,
4053 AC_ARG_ENABLE(insure, [ --enable-insure use insure++ for debugging [default=no]],
4055 if test $enableval = "no"; dnl
4056 then ac_use_insure="no"
4057 else ac_use_insure="yes"
4059 ], [ac_use_insure="no"])
4061 AC_MSG_CHECKING(if we will use Insure++ to debug)
4062 AC_MSG_RESULT($ac_use_insure)
4063 if test "$ac_use_insure" = "yes"; dnl
4064 then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "????
4068 AC_DEFUN(AM_DISABLE_LIBRARIES,
4070 AC_PROVIDE([AM_ENABLE_STATIC])
4071 AC_PROVIDE([AM_ENABLE_SHARED])
4077 AC_DEFUN(AC_CHECK_UTMP_FILE,
4079 AC_MSG_CHECKING([for utmp file])
4081 AC_CACHE_VAL(kde_cv_utmp_file,
4092 if test -r "$ac_file"; then
4093 kde_cv_utmp_file=$ac_file
4099 if test "$kde_cv_utmp_file" != "no"; then
4100 AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries])
4102 AC_MSG_RESULT($kde_cv_utmp_file)
4105 AC_MSG_RESULT([non found])
4110 AC_DEFUN(KDE_CREATE_SUBDIRSLIST,
4113 DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
4115 if test ! -s $srcdir/subdirs; then
4116 dnl Note: Makefile.common creates subdirs, so this is just a fallback
4118 files=`cd $srcdir && ls -1`
4119 dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
4121 echo $i >> $srcdir/subdirs
4125 if test -s $srcdir/inst-apps; then
4126 ac_topsubdirs="`cat $srcdir/inst-apps`"
4128 ac_topsubdirs="`cat $srcdir/subdirs`"
4131 for i in $ac_topsubdirs; do
4132 AC_MSG_CHECKING([if $i should be compiled])
4133 if test -d $srcdir/$i; then
4135 for j in $DO_NOT_COMPILE; do
4136 if test $i = $j; then
4143 AC_MSG_RESULT($install_it)
4144 if test $install_it = "yes"; then
4145 TOPSUBDIRS="$TOPSUBDIRS $i"
4149 AC_SUBST(TOPSUBDIRS)
4152 AC_DEFUN(KDE_CHECK_NAMESPACES,
4154 AC_MSG_CHECKING(whether C++ compiler supports namespaces)
4168 int Foo::Bar::i = 1;
4171 AC_DEFINE(HAVE_NAMESPACES)
4178 AC_DEFUN(KDE_CHECK_NEWLIBS,
4183 dnl ------------------------------------------------------------------------
4184 dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org
4185 dnl ------------------------------------------------------------------------
4187 AC_DEFUN(AC_CHECK_S_ISSOCK,
4189 AC_MSG_CHECKING(for S_ISSOCK)
4190 AC_CACHE_VAL(ac_cv_have_s_issock,
4196 #include <sys/stat.h>
4200 int b = S_ISSOCK( buff.st_mode );
4202 ac_cv_have_s_issock=yes,
4203 ac_cv_have_s_issock=no)
4206 AC_MSG_RESULT($ac_cv_have_s_issock)
4207 if test "$ac_cv_have_s_issock" = "yes"; then
4208 AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.])
4212 dnl ------------------------------------------------------------------------
4213 dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org
4214 dnl ------------------------------------------------------------------------
4216 AC_DEFUN(AC_CHECK_KDEMAXPATHLEN,
4218 AC_MSG_CHECKING(for MAXPATHLEN)
4219 AC_CACHE_VAL(ac_cv_maxpathlen,
4222 cat > conftest.$ac_ext <<EOF
4224 # include <stdlib.h>
4227 #include <sys/param.h>
4229 #define MAXPATHLEN 1024
4232 KDE_HELLO MAXPATHLEN
4236 ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out"
4238 if AC_TRY_EVAL(ac_try) && test -s conftest.out; then
4239 ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out`
4241 ac_cv_maxpathlen=1024
4247 AC_MSG_RESULT($ac_cv_maxpathlen)
4248 AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] )
4251 dnl -------------------------------------------------------------------------
4252 dnl See if the compiler supports a template repository bero@redhat.de
4253 dnl -------------------------------------------------------------------------
4254 AC_DEFUN(KDE_COMPILER_REPO,
4259 KDE_CHECK_COMPILER_FLAG(frepo,
4265 if test -z "$REPO"; then
4266 KDE_CHECK_COMPILER_FLAG(instances=explicit,
4268 REPO="-instances=explicit"
4269 NOREPO="-instances=extern"
4273 if test -n "$REPO"; then
4274 AC_DEFINE_UNQUOTED(HAVE_TEMPLATE_REPOSITORY, 1,
4275 [C++ compiler supports template repository])
4283 AC_DEFUN(KDE_CHECK_HEADER,
4286 kde_safe_cppflags=$CPPFLAGS
4287 CPPFLAGS="$CPPFLAGS $all_includes"
4289 AC_CHECK_HEADER($1, $2, $3)
4290 CPPFLAGS=$kde_safe_cppflags
4294 AC_DEFUN(KDE_FAST_CONFIGURE,
4296 dnl makes configure fast (needs perl)
4297 AC_ARG_ENABLE(fast-perl, [ --disable-fast-perl disable fast Makefile generation (needs perl)],
4298 with_fast_perl=$enableval, with_fast_perl=yes)
4301 AC_DEFUN(KDE_CONF_FILES,
4304 if test -f $srcdir/configure.files ; then
4305 val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files`
4308 if test -n "$val" ; then
4310 CONF_FILES="$CONF_FILES $i"
4313 AC_SUBST(CONF_FILES)
4316 AC_DEFUN(KDE_SET_PREFIX,
4319 dnl make $KDEDIR the default for the installation
4320 AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
4322 if test "x$prefix" = "xNONE"; then
4323 prefix=$ac_default_prefix
4324 ac_configure_args="$ac_configure_args --prefix=$prefix"
4330 pushdef([AC_PROG_INSTALL],
4332 dnl our own version, testing for a -p flag
4333 popdef([AC_PROG_INSTALL])
4334 dnl as AC_PROG_INSTALL works as it works we first have
4335 dnl to save if the user didn't specify INSTALL, as the
4336 dnl autoconf one overwrites INSTALL and we have no chance to find
4338 test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL
4339 test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM
4340 test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT
4343 if test -z "$kde_save_INSTALL_given" ; then
4344 # OK, user hasn't given any INSTALL, autoconf found one for us
4345 # now we test, if it supports the -p flag
4346 AC_MSG_CHECKING(for -p flag to install)
4347 rm -f confinst.$$.* > /dev/null 2>&1
4348 echo "Testtest" > confinst.$$.orig
4350 if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
4351 if test -f confinst.$$.new ; then
4352 # OK, -p seems to do no harm to install
4353 INSTALL="${INSTALL} -p"
4358 AC_MSG_RESULT($ac_res)
4360 dnl the following tries to resolve some signs and wonders coming up
4361 dnl with different autoconf/automake versions
4363 dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s
4364 dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS)
4365 dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s
4366 dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has
4367 dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the
4368 dnl install-@DIR@PROGRAMS targets to explicitly use that flag
4369 dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as
4370 dnl INSTALL_SCRIPT, which breaks with automake <= 1.4
4371 dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure
4372 dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from
4373 dnl automake (due to broken Makefile.am or whatever) to install programs,
4374 dnl and so does not see the -s flag in automake > 1.4
4375 dnl to clean up that mess we:
4376 dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG
4377 dnl which cleans KDE's program with automake > 1.4;
4378 dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems
4379 dnl with automake<=1.4
4380 dnl note that dues to this sometimes two '-s' flags are used (if KDE
4381 dnl properly uses install-@DIR@PROGRAMS, but I don't care
4383 dnl And to all this comes, that I even can't write in comments variable
4384 dnl names used by automake, because it is so stupid to think I wanted to
4385 dnl _use_ them, therefor I have written A_M_... instead of AM_
4386 dnl hmm, I wanted to say something ... ahh yes: Arghhh.
4388 if test -z "$kde_save_INSTALL_PROGRAM_given" ; then
4389 INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
4391 if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
4392 INSTALL_SCRIPT='${INSTALL}'
4396 AC_DEFUN(KDE_LANG_CPLUSPLUS,
4398 ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
4399 pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS])
4402 pushdef([AC_LANG_CPLUSPLUS],
4403 [popdef([AC_LANG_CPLUSPLUS])
4407 AC_DEFUN(KDE_CHECK_LONG_LONG,
4409 AC_MSG_CHECKING(for long long)
4410 AC_CACHE_VAL(kde_cv_c_long_long,
4418 kde_cv_c_long_long=yes, kde_cv_c_long_long=no)
4421 AC_MSG_RESULT($kde_cv_c_long_long)
4422 if test "$kde_cv_c_long_long" = yes; then
4423 AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype])
4427 AC_DEFUN(KDE_CHECK_LIB,
4429 kde_save_LDFLAGS="$LDFLAGS"
4430 dnl AC_CHECK_LIB modifies LIBS, so save it here
4431 kde_save_LIBS="$LIBS"
4432 LDFLAGS="$LDFLAGS $all_libraries"
4434 aix*) LDFLAGS="-brtl $LDFLAGS"
4435 test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS"
4438 AC_CHECK_LIB($1, $2, $3, $4, $5)
4439 LDFLAGS="$kde_save_LDFLAGS"
4440 LIBS="$kde_save_LIBS"
4446 AC_DEFUN(KDE_CHECK_INITGROUPS,
4448 AC_REQUIRE([AC_CANONICAL_HOST])
4449 AC_CHECK_FUNCS(initgroups)
4450 if test "x$ac_cv_func_initgroups" = "xyes"; then
4454 AC_MSG_CHECKING([for initgroups prototype])
4455 AC_CACHE_VAL(kde_cv_check_initgroups_proto,
4461 int x = initgroups(buffer,id);
4463 kde_cv_check_initgroups_proto=yes,
4464 kde_cv_check_initgroups_proto=no)
4466 AC_MSG_RESULT($kde_cv_check_initgroups_proto)
4470 kde_cv_check_initgroups_proto=yes
4474 kde_cv_check_initgroups_proto=no
4476 if test "x$kde_cv_check_initgroups_proto" = "xyes"; then
4477 kde_check_initgroups_proto=1
4479 kde_check_initgroups_proto=0
4481 AC_DEFINE_UNQUOTED(HAVE_INITGROUPS_PROTO,$kde_check_initgroups_proto,
4482 [initgroups may exist but not its prototype (e.g. AIX<4.3.3:8)])
4486 AC_DEFUN(KDE_CHECK_JAVA_DIR,
4488 AC_MSG_CHECKING([for Java directory])
4491 [ --with-java=javadir use java installed in javadir, --without-java disables ],
4492 [ ac_java_dir=$withval
4496 dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH
4497 if test "x$ac_java_dir" = "xno"; then
4498 kde_cv_java_bindir=no
4499 kde_cv_java_includedir=no
4500 kde_java_libjvmdir=no
4501 kde_java_libhpidir=no
4503 if test "x$ac_java_dir" = "x"; then
4504 dnl No option set -> look in $PATH
4505 AC_CACHE_VAL(kde_cv_java_bindir,
4507 dnl First look for javac in $PATH. If not found we'll look at the option.
4508 KDE_FIND_PATH(javac, JAVAC, [], [])
4509 if test -n "$JAVAC"; then
4510 kde_cv_java_bindir=`echo $JAVAC | sed -e 's,/javac$,/,'`
4511 dnl this substitution might not work - well, we test for jni.h below
4512 kde_cv_java_includedir=`echo $kde_cv_java_bindir | sed -e 's,bin/$,include/,'`
4514 kde_cv_java_bindir=no
4518 dnl config option set
4519 kde_cv_java_bindir=$ac_java_dir/bin
4520 kde_cv_java_includedir=$ac_java_dir/include
4524 dnl At this point kde_cv_java_bindir and kde_cv_java_includedir are either set or "no"
4525 if test "x$kde_cv_java_bindir" != "xno"; then
4527 dnl Look for libjvm.so
4528 kde_java_libjvmdir=`find $kde_cv_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
4529 dnl Look for libhpi.so and avoid green threads
4530 kde_java_libhpidir=`find $kde_cv_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,'`
4532 dnl Now check everything's fine under there
4534 if test ! -x "$kde_cv_java_bindir/javac"; then
4535 AC_MSG_ERROR([javac not found under $kde_cv_java_bindir - it seems you passed a wrong --with-java.])
4537 if test ! -x "$kde_cv_java_bindir/javah"; then
4538 AC_MSG_ERROR([javah not found under $kde_cv_java_bindir. javac was found though! Use --with-java or --without-java.])
4540 if test ! -x "$kde_cv_java_bindir/jar"; then
4541 AC_MSG_ERROR([jar not found under $kde_cv_java_bindir. javac was found though! Use --with-java or --without-java.])
4543 if test ! -r "$kde_cv_java_includedir/jni.h"; then
4544 AC_MSG_ERROR([jni.h not found under $kde_cv_java_includedir. Use --with-java or --without-java.])
4546 if test ! -r "$kde_java_libjvmdir/libjvm.so"; then
4547 AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.])
4549 if test ! -r "$kde_java_libhpidir/libhpi.so"; then
4550 AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.])
4553 jni_includes="-I$kde_cv_java_includedir"
4554 dnl Strange thing, jni.h requires jni_md.h which is under genunix here..
4555 dnl and under linux here..
4556 test -d "$kde_cv_java_includedir/linux" && jni_includes="$jni_includes -I$kde_cv_java_includedir/linux"
4557 test -d "$kde_cv_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_cv_java_includedir/genunix"
4559 dnl Check for JNI version
4562 ac_cxxflags_safe="$CXXFLAGS"
4563 CXXFLAGS="$CXXFLAGS $all_includes $jni_includes"
4569 #ifndef JNI_VERSION_1_2
4572 ],[ kde_jni_works=yes ],
4573 [ kde_jni_works=no ])
4575 if test $kde_jni_works = no; then
4576 AC_MSG_ERROR([Incorrect version of $kde_cv_java_includedir/jni.h.
4577 You need to have Java Development Kit (JDK) version 1.2.
4579 Use --with-java to specify another location.
4580 Use --without-java to configure without java support.
4581 Or download a newer JDK and try again.
4582 See e.g. http://java.sun.com/products/jdk/1.2 ])
4585 CXXFLAGS="$ac_cxxflags_safe"
4588 dnl All tests ok, inform and subst the variables
4589 AC_MSG_RESULT([javac/javah/jar in $kde_cv_java_bindir, jni.h in $kde_cv_java_includedir])
4591 JAVAC=$kde_cv_java_bindir/javac
4593 JAVAH=$kde_cv_java_bindir/javah
4595 JAR=$kde_cv_java_bindir/jar
4597 AC_SUBST(jni_includes)
4598 JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi"
4603 dnl this is a redefinition of autoconf 2.5x's AC_FOREACH.
4604 dnl When the argument list becomes big, as in KDE for AC_OUTPUT in
4605 dnl big packages, m4_foreach is dog-slow. So use our own version of
4606 dnl it. (matz@kde.org)
4607 m4_define([mm_foreach],
4608 [m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])])
4609 m4_define([mm_car], [[$1]])
4610 m4_define([mm_car2], [[$@]])
4611 m4_define([_mm_foreach],
4612 [m4_if(m4_quote($2), [], [],
4613 [m4_define([$1], [mm_car($2)])$3[]_mm_foreach([$1],
4614 mm_car2(m4_shift($2)),
4616 m4_define([AC_FOREACH],
4617 [mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])])
4619 AC_DEFUN(KDE_NEED_FLEX,
4622 LIBS="$LIBS $USER_LDFLAGS"
4625 if test -z "$LEXLIB"; then
4626 AC_MSG_ERROR([You need to have flex installed.])
4631 AC_DEFUN(AC_PATH_QTOPIA,
4633 dnl TODO: use AC_CACHE_VAL
4635 if test -z "$1"; then
4640 qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"`
4641 qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"`
4642 qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"`
4645 qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat"
4646 qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat"
4648 AC_REQUIRE([AC_PATH_QT])
4650 AC_MSG_CHECKING([for Qtopia])
4653 AC_SUBST(LIB_QTOPIA)
4655 kde_qtopia_dirs="$QPEDIR /opt/Qtopia"
4659 AC_ARG_WITH(qtopia-dir,
4660 [ --with-qtopia-dir=DIR where the root of Qtopia is installed ],
4661 [ ac_qtopia_incdir="$withval"/include] )
4664 for dir in $kde_qtopia_dirs; do
4665 qtopia_incdirs="$qtopia_incdirs $dir/include"
4668 if test ! "$ac_qtopia_incdir" = "NO"; then
4669 qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs"
4673 AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir)
4674 ac_qtopia_incdir="$qtopia_incdir"
4676 if test -z "$qtopia_incdir"; then
4677 AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.])
4680 qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`;
4681 qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`;
4682 qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`;
4684 qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat"
4685 qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat"
4686 if test "$qtopia_ver" -lt "$qtopia_minver"; then
4687 AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr
4694 ac_cxxflags_safe="$CXXFLAGS"
4695 ac_ldflags_safe="$LDFLAGS"
4696 ac_libs_safe="$LIBS"
4698 CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes"
4699 LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
4700 LIBS="$LIBS $LIB_QTOPIA $LIBQT"
4702 cat > conftest.$ac_ext <<EOF
4703 #include "confdefs.h"
4704 #include <qpe/qpeapplication.h>
4705 #include <qpe/version.h>
4707 int main( int argc, char **argv )
4709 QPEApplication app( argc, argv );
4714 if AC_TRY_EVAL(ac_link) && test -s conftest; then
4718 AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at
4719 the end of config.log])
4722 CXXFLAGS="$ac_cxxflags_safe"
4723 LDFLAGS="$ac_ldflags_safe"
4724 LIBS="$ac_libs_safe"
4728 QTOPIA_INCLUDES="-I$qtopia_incdir"
4729 AC_SUBST(QTOPIA_INCLUDES)
4731 AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir])