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.
26 dnl Single-module modifications are best placed in configure.in for kdelibs
27 dnl and kdebase or configure.in.in if present.
29 dnl ------------------------------------------------------------------------
30 dnl Forward compatibility macros (make autoconf 2.13 look like 2.50),
31 dnl thanks to Raja R Harinath.
32 dnl ------------------------------------------------------------------------
34 ifdef([_AC_PATH_X_XMKMF],[],
35 [AC_DEFUN([_AC_PATH_X_XMKMF],[AC_PATH_X_XMKMF])])
36 ifdef([AC_OUTPUT_SUBDIRS],[],
37 [AC_DEFUN([AC_OUTPUT_SUBDIRS],[subdirs=$1; _AC_OUTPUT_SUBDIRS])])
40 dnl Internal subroutine of AC_PATH_X.
41 dnl Set ac_x_includes and/or ac_x_libraries.
42 AC_DEFUN(KDE_PATH_X_DIRECT,
44 AC_REQUIRE([KDE_CHECK_LIB64])
46 if test "$ac_x_includes" = NO; then
47 # Guess where to find include files, by looking for this one X11 .h file.
48 test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
50 # First, try using that file with no special directory specified.
51 AC_TRY_CPP([#include <$x_direct_test_include>],
52 [# We can compile using X headers with no special include directory.
54 [# Look for the header file in a standard set of common directories.
55 # Check X11 before X11Rn because it is often a symlink to the current release.
67 /usr/local/X11/include \
68 /usr/local/X11R6/include \
69 /usr/local/X11R5/include \
70 /usr/local/X11R4/include \
72 /usr/local/include/X11 \
73 /usr/local/include/X11R6 \
74 /usr/local/include/X11R5 \
75 /usr/local/include/X11R4 \
79 /usr/XFree86/include/X11 \
83 /usr/unsupported/include \
85 /usr/local/x11r5/include \
86 /usr/lpp/Xamples/include \
88 /usr/openwin/include \
89 /usr/openwin/share/include \
92 if test -r "$ac_dir/$x_direct_test_include"; then
97 fi # $ac_x_includes = NO
99 if test "$ac_x_libraries" = NO; then
100 # Check for the libraries.
102 test -z "$x_direct_test_library" && x_direct_test_library=Xt
103 test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
105 # See if we find them without any special options.
106 # Don't add to $LIBS permanently.
108 LIBS="-l$x_direct_test_library $LIBS"
109 AC_TRY_LINK(, [${x_direct_test_function}()],
110 [LIBS="$ac_save_LIBS"
111 # We can link X programs with no special library path.
113 [LIBS="$ac_save_LIBS"
114 # First see if replacing the include by lib works.
115 # Check X11 before X11Rn because it is often a symlink to the current release.
116 for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \
117 /usr/X11/lib${kdelibsuff} \
118 /usr/X11R6/lib${kdelibsuff} \
119 /usr/X11R5/lib${kdelibsuff} \
120 /usr/X11R4/lib${kdelibsuff} \
122 /usr/lib${kdelibsuff}/X11 \
123 /usr/lib${kdelibsuff}/X11R6 \
124 /usr/lib${kdelibsuff}/X11R5 \
125 /usr/lib${kdelibsuff}/X11R4 \
127 /usr/local/X11/lib${kdelibsuff} \
128 /usr/local/X11R6/lib${kdelibsuff} \
129 /usr/local/X11R5/lib${kdelibsuff} \
130 /usr/local/X11R4/lib${kdelibsuff} \
132 /usr/local/lib${kdelibsuff}/X11 \
133 /usr/local/lib${kdelibsuff}/X11R6 \
134 /usr/local/lib${kdelibsuff}/X11R5 \
135 /usr/local/lib${kdelibsuff}/X11R4 \
137 /usr/X386/lib${kdelibsuff} \
138 /usr/x386/lib${kdelibsuff} \
139 /usr/XFree86/lib${kdelibsuff}/X11 \
141 /usr/lib${kdelibsuff} \
142 /usr/local/lib${kdelibsuff} \
143 /usr/unsupported/lib${kdelibsuff} \
144 /usr/athena/lib${kdelibsuff} \
145 /usr/local/x11r5/lib${kdelibsuff} \
146 /usr/lpp/Xamples/lib${kdelibsuff} \
147 /lib/usr/lib${kdelibsuff}/X11 \
149 /usr/openwin/lib${kdelibsuff} \
150 /usr/openwin/share/lib${kdelibsuff} \
153 dnl Don't even attempt the hair of trying to link an X program!
154 for ac_extension in a so sl; do
155 if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
156 ac_x_libraries=$ac_dir
161 fi # $ac_x_libraries = NO
165 dnl ------------------------------------------------------------------------
166 dnl Find a file (or one of more files in a list of dirs)
167 dnl ------------------------------------------------------------------------
169 AC_DEFUN(AC_FIND_FILE,
176 echo "configure: __oline__: $i/$j" >&AC_FD_CC
177 if test -r "$i/$j"; then
178 echo "taking that" >&AC_FD_CC
186 dnl KDE_FIND_PATH(programm-name, variable-name, list of directories,
187 dnl if-not-found, test-parameter)
188 AC_DEFUN(KDE_FIND_PATH,
190 AC_MSG_CHECKING([for $1])
191 if test -n "$$2"; then
194 kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
196 AC_CACHE_VAL(kde_cv_path_$kde_cache,
208 if test -x "$dir/$1"; then
211 evalstr="$dir/$1 $5 2>&1 "
212 if eval $evalstr; then
213 kde_cv_path="$dir/$1"
217 kde_cv_path="$dir/$1"
223 eval "kde_cv_path_$kde_cache=$kde_cv_path"
227 eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
231 if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
232 AC_MSG_RESULT(not found)
235 AC_MSG_RESULT($kde_cv_path)
241 AC_DEFUN(KDE_MOC_ERROR_MESSAGE,
243 AC_MSG_ERROR([No Qt meta object compiler (moc) found!
244 Please check whether you installed Qt correctly.
245 You need to have a running moc binary.
246 configure tried to run $ac_cv_path_moc and the test didn't
247 succeed. If configure shouldn't have tried this one, set
248 the environment variable MOC to the right one before running
253 AC_DEFUN(KDE_UIC_ERROR_MESSAGE,
255 AC_MSG_WARN([No Qt ui compiler (uic) found!
256 Please check whether you installed Qt correctly.
257 You need to have a running uic binary.
258 configure tried to run $ac_cv_path_uic and the test didn't
259 succeed. If configure shouldn't have tried this one, set
260 the environment variable UIC to the right one before running
266 AC_DEFUN(KDE_CHECK_UIC_FLAG,
268 AC_MSG_CHECKING([whether uic supports -$1 ])
269 kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
270 AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache,
272 cat >conftest.ui <<EOT
273 <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
275 ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null"
276 if AC_TRY_EVAL(ac_uic_testrun); then
277 eval "kde_cv_prog_uic_$kde_cache=yes"
279 eval "kde_cv_prog_uic_$kde_cache=no"
284 if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
296 dnl ------------------------------------------------------------------------
297 dnl Find the meta object compiler and the ui compiler in the PATH,
298 dnl in $QTDIR/bin, and some more usual places
299 dnl ------------------------------------------------------------------------
301 AC_DEFUN(AC_PATH_QT_MOC_UIC,
304 for dir in $kde_qt_dirs; do
305 qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
307 qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
308 if test ! "$ac_qt_bindir" = "NO"; then
309 qt_bindirs="$ac_qt_bindir $qt_bindirs"
312 KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
313 if test -z "$UIC_NOT_NEEDED"; then
314 KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""])
315 if test -z "$UIC_PATH" ; then
316 KDE_UIC_ERROR_MESSAGE
318 elif test $kde_qtver = 3; then
319 KDE_CHECK_UIC_FLAG(L,[/nonexistant],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no)
320 KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no)
323 if test x$ac_uic_supports_libpath = xyes; then
324 UIC="$UIC -L \$(kde_widgetdir)"
326 if test x$ac_uic_supports_nounload = xyes; then
331 UIC="echo uic not available: "
338 if test $kde_qtver = 3; then
345 AC_DEFUN(KDE_1_CHECK_PATHS,
347 KDE_1_CHECK_PATH_HEADERS
351 if test -n "$USE_RPATH"; then
353 if test -n "$kde_libraries"; then
354 KDE_TEST_RPATH="-R $kde_libraries"
357 if test -n "$qt_libraries"; then
358 KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
361 if test -n "$x_libraries"; then
362 KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
365 KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
368 AC_MSG_CHECKING([for KDE libraries installed])
369 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'
371 if AC_TRY_EVAL(ac_link) && test -s conftest; then
374 AC_MSG_ERROR([your system fails at linking a small KDE application!
375 Check, if your compiler is installed correctly and if you have used the
376 same compiler to compile Qt and kdelibs as you did use now.
377 For more details about this problem, look at the end of config.log.])
380 if eval `KDEDIR= ./conftest 2>&5`; then
386 KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
387 kde_have_all_paths=yes
389 KDE_SET_PATHS($kde_result)
393 AC_DEFUN(KDE_SET_PATHS,
395 kde_cv_all_paths="kde_have_all_paths=\"yes\" \
396 kde_htmldir=\"$kde_htmldir\" \
397 kde_appsdir=\"$kde_appsdir\" \
398 kde_icondir=\"$kde_icondir\" \
399 kde_sounddir=\"$kde_sounddir\" \
400 kde_datadir=\"$kde_datadir\" \
401 kde_locale=\"$kde_locale\" \
402 kde_cgidir=\"$kde_cgidir\" \
403 kde_confdir=\"$kde_confdir\" \
404 kde_mimedir=\"$kde_mimedir\" \
405 kde_toolbardir=\"$kde_toolbardir\" \
406 kde_wallpaperdir=\"$kde_wallpaperdir\" \
407 kde_templatesdir=\"$kde_templatesdir\" \
408 kde_bindir=\"$kde_bindir\" \
409 kde_servicesdir=\"$kde_servicesdir\" \
410 kde_servicetypesdir=\"$kde_servicetypesdir\" \
411 kde_moduledir=\"$kde_moduledir\" \
412 kde_styledir=\"$kde_styledir\" \
413 kde_widgetdir=\"$kde_widgetdir\" \
417 AC_DEFUN(KDE_SET_DEFAULT_PATHS,
419 if test "$1" = "default"; then
421 if test -z "$kde_htmldir"; then
422 kde_htmldir='\${prefix}/share/doc/HTML'
424 if test -z "$kde_appsdir"; then
425 kde_appsdir='\${prefix}/share/applnk'
427 if test -z "$kde_icondir"; then
428 kde_icondir='\${prefix}/share/icons'
430 if test -z "$kde_sounddir"; then
431 kde_sounddir='\${prefix}/share/sounds'
433 if test -z "$kde_datadir"; then
434 kde_datadir='\${prefix}/share/apps'
436 if test -z "$kde_locale"; then
437 kde_locale='\${prefix}/share/locale'
439 if test -z "$kde_cgidir"; then
440 kde_cgidir='\${exec_prefix}/cgi-bin'
442 if test -z "$kde_confdir"; then
443 kde_confdir='\${prefix}/share/config'
445 if test -z "$kde_mimedir"; then
446 kde_mimedir='\${prefix}/share/mimelnk'
448 if test -z "$kde_toolbardir"; then
449 kde_toolbardir='\${prefix}/share/toolbar'
451 if test -z "$kde_wallpaperdir"; then
452 kde_wallpaperdir='\${prefix}/share/wallpapers'
454 if test -z "$kde_templatesdir"; then
455 kde_templatesdir='\${prefix}/share/templates'
457 if test -z "$kde_bindir"; then
458 kde_bindir='\${exec_prefix}/bin'
460 if test -z "$kde_servicesdir"; then
461 kde_servicesdir='\${prefix}/share/services'
463 if test -z "$kde_servicetypesdir"; then
464 kde_servicetypesdir='\${prefix}/share/servicetypes'
466 if test -z "$kde_moduledir"; then
467 if test "$kde_qtver" = "2"; then
468 kde_moduledir='\${libdir}/kde2'
470 kde_moduledir='\${libdir}/kde3'
473 if test -z "$kde_styledir"; then
474 kde_styledir='\${libdir}/kde3/plugins/styles'
476 if test -z "$kde_widgetdir"; then
477 kde_widgetdir='\${libdir}/kde3/plugins/designer'
480 KDE_SET_PATHS(defaults)
484 if test $kde_qtver = 1; then
485 AC_MSG_RESULT([compiling])
488 AC_MSG_ERROR([path checking not yet supported for KDE 2])
494 AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS,
495 [ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
496 test -z "$kde_icondir" || test -z "$kde_sounddir" ||
497 test -z "$kde_datadir" || test -z "$kde_locale" ||
498 test -z "$kde_cgidir" || test -z "$kde_confdir" ||
499 test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
500 test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
501 test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
502 test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
503 test -z "$kde_styledir" || test -z "kde_widgetdir"
504 test "x$kde_have_all_paths" != "xyes"; then
505 kde_have_all_paths=no
509 AC_DEFUN(KDE_MISSING_PROG_ERROR,
511 AC_MSG_ERROR([The important program $1 was not found!
512 Please check whether you installed KDE correctly.
516 AC_DEFUN(KDE_MISSING_ARTS_ERROR,
518 AC_MSG_ERROR([The important program $1 was not found!
519 Please check whether you installed aRts correctly.
523 AC_DEFUN(KDE_SUBST_PROGRAMS,
526 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"
527 test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
528 if test -n "$KDEDIRS"; then
531 for dir in $KDEDIRS; do
532 kde_default_bindirs="$dir/bin $kde_default_bindirs "
536 kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs"
537 KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
538 KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
539 KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)])
540 KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)])
541 KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs])
542 KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
544 if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then
545 kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
546 test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
547 AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
548 if test "$KDE_XSL_STYLESHEET" = "NO"; then
549 KDE_XSL_STYLESHEET=""
551 KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl"
555 DCOP_DEPENDENCIES='$(DCOPIDL)'
557 AC_SUBST(DCOPIDL2CPP)
558 AC_SUBST(DCOP_DEPENDENCIES)
560 AC_SUBST(ARTSCCONFIG)
563 AC_SUBST(KDE_XSL_STYLESHEET)
565 if test -x "$KDECONFIG"; then # it can be "compiled"
566 kde_libs_prefix=`$KDECONFIG --prefix`
567 if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
568 AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
569 This means it has been moved since you installed it.
570 This won't work. Please recompile kdelibs for the new prefix.
573 kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
575 kde_libs_prefix='$(prefix)'
576 kde_libs_htmldir='$(kde_htmldir)'
578 AC_SUBST(kde_libs_prefix)
579 AC_SUBST(kde_libs_htmldir)
582 AC_DEFUN(AC_CREATE_KFSSTND,
584 AC_REQUIRE([AC_CHECK_RPATH])
586 AC_MSG_CHECKING([for KDE paths])
589 AC_CACHE_VAL(kde_cv_all_paths,
591 KDE_SET_DEFAULT_PATHS($1)
594 eval "$kde_cv_all_paths"
595 KDE_CHECK_PATHS_FOR_COMPLETENESS
596 if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
597 # wrong values were cached, may be, we can set better ones
599 kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
600 kde_datadir= kde_locale= kde_cgidir= kde_confdir=
601 kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
602 kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
606 KDE_SET_DEFAULT_PATHS($1)
607 eval "$kde_cv_all_paths"
608 KDE_CHECK_PATHS_FOR_COMPLETENESS
609 kde_result="$kde_result (cache overridden)"
611 if test "$kde_have_all_paths" = "no"; then
612 AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
613 Since it had compiled and linked before, it must be a strange problem on your system.
614 Look at config.log for details. If you are not able to fix this, look at
615 http://www.kde.org/faq/installation.html or any www.kde.org mirror.
616 (If you're using an egcs version on Linux, you may update binutils!)
620 AC_MSG_RESULT($kde_result)
629 AC_DEFUN(AC_SUBST_KFSSTND,
631 AC_SUBST(kde_htmldir)
632 AC_SUBST(kde_appsdir)
633 AC_SUBST(kde_icondir)
634 AC_SUBST(kde_sounddir)
635 AC_SUBST(kde_datadir)
637 AC_SUBST(kde_confdir)
638 AC_SUBST(kde_mimedir)
639 AC_SUBST(kde_wallpaperdir)
642 AC_SUBST(kde_templatesdir)
643 AC_SUBST(kde_servicesdir)
644 AC_SUBST(kde_servicetypesdir)
645 AC_SUBST(kde_moduledir)
646 AC_SUBST(kde_styledir)
647 AC_SUBST(kde_widgetdir)
648 if test "$kde_qtver" = 1; then
649 kde_minidir="$kde_icondir/mini"
651 # for KDE 1 - this breaks KDE2 apps using minidir, but
652 # that's the plan ;-/
653 kde_minidir="/dev/null"
655 dnl AC_SUBST(kde_minidir)
656 dnl AC_SUBST(kde_cgidir)
657 dnl AC_SUBST(kde_toolbardir)
660 AC_DEFUN(KDE_MISC_TESTS,
663 dnl Checks for libraries.
664 AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD
666 AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD
669 AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
670 AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
671 AC_MSG_WARN([you have no crypt in either libcrypt or libc.
672 You should install libcrypt from another source or configure with PAM
677 if test $kde_have_crypt = yes; then
678 AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
682 AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
683 if test $ac_cv_lib_dnet_dnet_ntoa = no; then
684 AC_CHECK_LIB(dnet_stub, dnet_ntoa,
685 [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
687 AC_CHECK_FUNC(inet_ntoa)
688 if test $ac_cv_func_inet_ntoa = no; then
689 AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
691 AC_CHECK_FUNC(connect)
692 if test $ac_cv_func_connect = no; then
693 AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
697 AC_CHECK_FUNC(remove)
698 if test $ac_cv_func_remove = no; then
699 AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
702 # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
703 AC_CHECK_FUNC(shmat, ,
704 AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
706 # darwin needs this to initialize the environment
707 AC_CHECK_HEADERS(crt_externs.h)
708 AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])])
710 # more headers that need to be explicitly included on darwin
711 AC_CHECK_HEADERS(sys/types.h stdint.h)
713 # darwin requires a poll emulation library
714 AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll")
716 # CoreAudio framework
717 AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [
718 AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API])
719 FRAMEWORK_COREAUDIO="-framework CoreAudio"
724 AC_SUBST(FRAMEWORK_COREAUDIO)
725 LIBSOCKET="$X_EXTRA_LIBS"
727 AC_SUBST(X_EXTRA_LIBS)
728 AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
731 case $host in dnl this *is* LynxOS specific
733 AC_MSG_CHECKING([LynxOS header file wrappers])
734 [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
735 AC_MSG_RESULT(disabled)
736 AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
743 AH_VERBATIM(_AIX_STRINGS_H_BZERO,
746 * AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
747 * that defines bzero.
755 AC_CHECK_FUNCS([vsnprintf snprintf])
759 * On HP-UX, the declaration of vsnprintf() is needed every time !
762 #if !defined(HAVE_VSNPRINTF) || defined(hpux)
772 int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
776 int snprintf(char *str, size_t n, char const *fmt, ...);
782 dnl ------------------------------------------------------------------------
783 dnl Find the header files and libraries for X-Windows. Extended the
785 dnl ------------------------------------------------------------------------
789 AC_REQUIRE([KDE_MISC_TESTS])dnl
790 AC_REQUIRE([KDE_CHECK_LIB64])
794 [ --enable-embedded link to Qt-embedded, don't use X],
795 kde_use_qt_emb=$enableval,
801 [ --enable-qtopia link to Qt-embedded, link to the Qtopia Environment],
802 kde_use_qt_emb_palm=$enableval,
803 kde_use_qt_emb_palm=no
806 if test "$kde_use_qt_emb" = "no"; then
808 AC_MSG_CHECKING(for X)
811 AC_CACHE_VAL(kde_cv_have_x,
812 [# One or both of the vars are not set, and there is no cached value.
813 if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
816 kde_x_includes=$x_includes
818 if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
821 kde_x_libraries=$x_libraries
824 # below we use the standard autoconf calls
825 ac_x_libraries=$kde_x_libraries
826 ac_x_includes=$kde_x_includes
829 dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
830 dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
831 dnl location. The correct location is /usr/lib32 or an undefined value
832 dnl (the linker is smart enough to pick the correct default library).
833 dnl Things work just fine if you use just AC_PATH_X_DIRECT.
834 dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to
835 dnl /usr/openwin/include, which doesn't work. /usr/include does work, so
836 dnl x_includes should be left alone.
844 if test -z "$ac_x_includes"; then
847 if test -z "$ac_x_libraries"; then
848 ac_x_libraries="/usr/lib${kdelibsuff}"
851 #from now on we use our own again
853 # when the user already gave --x-includes, we ignore
854 # what the standard autoconf macros told us.
855 if test "$kde_x_includes" = NO; then
856 kde_x_includes=$ac_x_includes
859 # for --x-libraries too
860 if test "$kde_x_libraries" = NO; then
861 kde_x_libraries=$ac_x_libraries
864 if test "$kde_x_includes" = NO; then
865 AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
868 if test "$kde_x_libraries" = NO; then
869 AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
872 # Record where we found X for the cache.
873 kde_cv_have_x="have_x=yes \
874 kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
877 eval "$kde_cv_have_x"
879 if test "$have_x" != yes; then
880 AC_MSG_RESULT($have_x)
883 AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
886 if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
888 x_includes="."; dnl better than nothing :-
890 x_includes=$kde_x_includes
891 X_INCLUDES="-I$x_includes"
894 if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then
896 x_libraries="/usr/lib"; dnl better than nothing :-
898 x_libraries=$kde_x_libraries
899 X_LDFLAGS="-L$x_libraries"
901 all_includes="$X_INCLUDES"
902 all_libraries="$X_LDFLAGS"
906 AC_SUBST(x_libraries)
909 # Check for libraries that X11R6 Xt/Xaw programs need.
910 ac_save_LDFLAGS="$LDFLAGS"
911 LDFLAGS="$LDFLAGS $X_LDFLAGS"
912 # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
913 # check for ICE first), but we must link in the order -lSM -lICE or
914 # we get undefined symbols. So assume we have SM if we have ICE.
915 # These have to be linked with before -lX11, unlike the other
916 # libraries we check for below, so use a different variable.
917 # --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
918 AC_CHECK_LIB(ICE, IceConnectionNumber,
919 [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
921 LDFLAGS="$ac_save_LDFLAGS"
925 LIB_X11='-lX11 $(LIBSOCKET)'
928 AC_MSG_CHECKING(for libXext)
929 AC_CACHE_VAL(kde_cv_have_libXext,
931 kde_ldflags_safe="$LDFLAGS"
932 kde_libs_safe="$LIBS"
934 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
935 LIBS="-lXext -lX11 $LIBSOCKET"
944 printf("hello Xext\n");
946 kde_cv_have_libXext=yes,
947 kde_cv_have_libXext=no
950 LDFLAGS=$kde_ldflags_safe
954 AC_MSG_RESULT($kde_cv_have_libXext)
956 if test "$kde_cv_have_libXext" = "no"; then
957 AC_MSG_ERROR([We need a working libXext to proceed. Since configure
958 can't find it itself, we stop here assuming that make wouldn't find
962 AC_MSG_CHECKING(for Xinerama)
964 AC_ARG_WITH(xinerama,
965 [ --with-xinerama enable support for Xinerama ],
973 kde_save_LDFLAGS="$LDFLAGS"
974 kde_save_CFLAGS="$CFLAGS"
975 kde_save_LIBS="$LIBS"
976 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
977 CFLAGS="$CFLAGS -I$x_includes"
978 LIBS="-lXinerama -lXext"
980 if test "x$no_xinerama" = "xno"; then
982 AC_CACHE_VAL(ac_cv_have_xinerama,
984 AC_TRY_LINK([#include <X11/Xlib.h>
985 #include <X11/extensions/Xinerama.h>],
986 [XineramaIsActive(NULL);],
987 [ac_cv_have_xinerama="yes"],
988 [ac_cv_have_xinerama="no"])
991 ac_cv_have_xinerama=no;
994 AC_MSG_RESULT($ac_cv_have_xinerama)
998 if test "$ac_cv_have_xinerama" = "yes"; then
999 AC_DEFINE(HAVE_XINERAMA, 1, [Define if you want Xinerama support])
1000 LIBXINERAMA="-lXinerama"
1003 AC_SUBST(LIBXINERAMA)
1005 LDFLAGS="$kde_save_LDFLAGS"
1006 CFLAGS="$kde_save_CFLAGS"
1007 LIBS="$kde_save_LIBS"
1013 dnl We're using QT Embedded
1015 CXXFLAGS="$CXXFLAGS -fno-rtti"
1016 QTE_NORTTI="-fno-rtti -DQWS"
1025 AC_SUBST(X_PRE_LIBS)
1028 AC_SUBST(X_INCLUDES)
1030 AC_SUBST(x_includes)
1031 AC_SUBST(x_libraries)
1033 AC_SUBST(QTE_NORTTI)
1041 AC_DEFUN(KDE_PRINT_QT_PROGRAM,
1043 AC_REQUIRE([KDE_USE_QT])
1044 cat > conftest.$ac_ext <<EOF
1045 #include "confdefs.h"
1046 #include <qglobal.h>
1047 #include <qapplication.h>
1049 if test "$kde_qtver" = "2"; then
1050 cat >> conftest.$ac_ext <<EOF
1052 #include <qstring.h>
1056 if test $kde_qtsubver -gt 0; then
1057 cat >> conftest.$ac_ext <<EOF
1058 #if QT_VERSION < 210
1065 if test "$kde_qtver" = "3"; then
1066 cat >> conftest.$ac_ext <<EOF
1067 #include <qcursor.h>
1068 #include <qstylefactory.h>
1069 #include <private/qucomextra_p.h>
1073 echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
1074 cat >> conftest.$ac_ext <<EOF
1080 if test "$kde_qtver" = "2"; then
1081 cat >> conftest.$ac_ext <<EOF
1082 QStringList *t = new QStringList();
1085 if test $kde_qtsubver -gt 0; then
1086 cat >> conftest.$ac_ext <<EOF
1088 s.setLatin1("Elvis is alive", 14);
1092 if test "$kde_qtver" = "3"; then
1093 cat >> conftest.$ac_ext <<EOF
1094 (void)QStyleFactory::create(QString::null);
1095 QCursor c(Qt::WhatsThisCursor);
1098 cat >> conftest.$ac_ext <<EOF
1104 AC_DEFUN(KDE_USE_QT,
1106 if test -z "$1"; then
1107 # Current default Qt version: 3.1
1111 kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
1112 # following is the check if subversion isnt found in passed argument
1113 if test "$kde_qtsubver" = "$1"; then
1116 kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
1117 if test "$kde_qtver" = "1"; then
1122 if test -z "$2"; then
1123 if test "$kde_qtver" = "2"; then
1124 if test $kde_qtsubver -gt 0; then
1125 kde_qt_minversion=">= Qt 2.2.2"
1127 kde_qt_minversion=">= Qt 2.0.2"
1130 if test "$kde_qtver" = "3"; then
1131 if test $kde_qtsubver -gt 0; then
1132 kde_qt_minversion=">= Qt 3.1.0"
1134 kde_qt_minversion=">= Qt 3.0"
1137 if test "$kde_qtver" = "1"; then
1138 kde_qt_minversion=">= 1.42 and < 2.0"
1141 kde_qt_minversion=$2
1144 if test -z "$3"; then
1145 if test $kde_qtver = 3; then
1146 if test $kde_qtsubver -gt 0; then
1147 kde_qt_verstring="QT_VERSION >= 0x030100"
1149 kde_qt_verstring="QT_VERSION >= 300"
1152 if test $kde_qtver = 2; then
1153 if test $kde_qtsubver -gt 0; then
1154 kde_qt_verstring="QT_VERSION >= 222"
1156 kde_qt_verstring="QT_VERSION >= 200"
1159 if test $kde_qtver = 1; then
1160 kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
1166 if test $kde_qtver = 3; then
1167 kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3"
1169 if test $kde_qtver = 2; then
1170 kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
1172 if test $kde_qtver = 1; then
1173 kde_qt_dirs="$QTDIR /usr/lib/qt"
1177 AC_DEFUN(KDE_CHECK_QT_DIRECT,
1179 AC_REQUIRE([KDE_USE_QT])
1180 AC_MSG_CHECKING([if Qt compiles without flags])
1181 AC_CACHE_VAL(kde_cv_qt_direct,
1185 ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
1186 ac_LIBRARY_PATH="$LIBRARY_PATH"
1187 ac_cxxflags_safe="$CXXFLAGS"
1188 ac_ldflags_safe="$LDFLAGS"
1189 ac_libs_safe="$LIBS"
1191 CXXFLAGS="$CXXFLAGS -I$qt_includes"
1192 LDFLAGS="$LDFLAGS $X_LDFLAGS"
1193 if test "x$kde_use_qt_emb" != "xyes"; then
1194 LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
1196 LIBS="$LIBQT $LIBSOCKET"
1199 export LD_LIBRARY_PATH
1203 KDE_PRINT_QT_PROGRAM
1205 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1206 kde_cv_qt_direct="yes"
1208 kde_cv_qt_direct="no"
1209 echo "configure: failed program was:" >&AC_FD_CC
1210 cat conftest.$ac_ext >&AC_FD_CC
1214 CXXFLAGS="$ac_cxxflags_safe"
1215 LDFLAGS="$ac_ldflags_safe"
1216 LIBS="$ac_libs_safe"
1218 LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
1219 export LD_LIBRARY_PATH
1220 LIBRARY_PATH="$ac_LIBRARY_PATH"
1225 if test "$kde_cv_qt_direct" = "yes"; then
1234 dnl ------------------------------------------------------------------------
1235 dnl Try to find the Qt headers and libraries.
1236 dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
1237 dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
1238 dnl ------------------------------------------------------------------------
1240 AC_DEFUN(AC_PATH_QT_1_3,
1242 AC_REQUIRE([K_PATH_X])
1243 AC_REQUIRE([KDE_USE_QT])
1244 AC_REQUIRE([KDE_CHECK_LIB64])
1246 dnl ------------------------------------------------------------------------
1247 dnl Add configure flag to enable linking to MT version of Qt library.
1248 dnl ------------------------------------------------------------------------
1252 [ --disable-mt link to non-threaded Qt (deprecated)],
1253 kde_use_qt_mt=$enableval,
1255 if test $kde_qtver = 3; then
1265 dnl ------------------------------------------------------------------------
1266 dnl If we not get --disable-qt-mt then adjust some vars for the host.
1267 dnl ------------------------------------------------------------------------
1271 if test "x$kde_use_qt_mt" = "xyes"; then
1273 if test "x$kde_use_threading" = "xyes"; then
1274 CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS"
1275 KDE_MT_LDFLAGS="$USE_THREADS"
1276 KDE_MT_LIBS="$LIBPTHREAD"
1281 AC_SUBST(KDE_MT_LDFLAGS)
1282 AC_SUBST(KDE_MT_LIBS)
1284 kde_qt_was_given=yes
1286 dnl ------------------------------------------------------------------------
1287 dnl If we haven't been told how to link to Qt, we work it out for ourselves.
1288 dnl ------------------------------------------------------------------------
1289 if test -z "$LIBQT_GLOB"; then
1290 if test "x$kde_use_qt_emb" = "xyes"; then
1291 LIBQT_GLOB="libqte.*"
1293 LIBQT_GLOB="libqt.*"
1297 if test -z "$LIBQT"; then
1298 dnl ------------------------------------------------------------
1299 dnl If we got --enable-embedded then adjust the Qt library name.
1300 dnl ------------------------------------------------------------
1301 if test "x$kde_use_qt_emb" = "xyes"; then
1307 kde_int_qt="-l$qtlib"
1313 if test -z "$LIBQPE"; then
1314 dnl ------------------------------------------------------------
1315 dnl If we got --enable-palmtop then add -lqpe to the link line
1316 dnl ------------------------------------------------------------
1317 if test "x$kde_use_qt_emb" = "xyes"; then
1318 if test "x$kde_use_qt_emb_palm" = "xyes"; then
1328 dnl ------------------------------------------------------------------------
1329 dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
1330 dnl ------------------------------------------------------------------------
1332 if test "x$kde_use_qt_mt" = "xyes"; then
1333 if test -z "$LIBQT"; then
1335 kde_int_qt="-l$qtlib-mt"
1338 kde_int_qt="$qtlib-mt"
1340 LIBQT_GLOB="lib$qtlib-mt.*"
1341 USING_QT_MT="using -mt"
1346 if test $kde_qtver != 1; then
1348 AC_REQUIRE([AC_FIND_PNG])
1349 AC_REQUIRE([AC_FIND_JPEG])
1350 LIBQT="$LIBQT $LIBPNG $LIBJPEG"
1353 if test $kde_qtver = 3; then
1354 AC_REQUIRE([KDE_CHECK_LIBDL])
1355 LIBQT="$LIBQT $LIBDL"
1358 AC_MSG_CHECKING([for Qt])
1360 if test "x$kde_use_qt_emb" != "xyes"; then
1361 LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
1363 ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
1367 [ --with-qt-dir=DIR where the root of Qt is installed ],
1368 [ ac_qt_includes="$withval"/include
1369 ac_qt_libraries="$withval"/lib${kdelibsuff}
1370 ac_qt_bindir="$withval"/bin
1373 AC_ARG_WITH(qt-includes,
1374 [ --with-qt-includes=DIR where the Qt includes are. ],
1376 ac_qt_includes="$withval"
1379 kde_qt_libs_given=no
1381 AC_ARG_WITH(qt-libraries,
1382 [ --with-qt-libraries=DIR where the Qt library is installed.],
1383 [ ac_qt_libraries="$withval"
1384 kde_qt_libs_given=yes
1387 AC_CACHE_VAL(ac_cv_have_qt,
1388 [#try to guess Qt locations
1391 for dir in $kde_qt_dirs; do
1392 qt_incdirs="$qt_incdirs $dir/include $dir"
1394 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"
1395 if test ! "$ac_qt_includes" = "NO"; then
1396 qt_incdirs="$ac_qt_includes $qt_incdirs"
1399 if test "$kde_qtver" != "1"; then
1400 kde_qt_header=qstyle.h
1402 kde_qt_header=qglobal.h
1405 AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
1406 ac_qt_includes="$qt_incdir"
1409 for dir in $kde_qt_dirs; do
1410 qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir"
1412 qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
1413 if test ! "$ac_qt_libraries" = "NO"; then
1414 qt_libdir=$ac_qt_libraries
1416 qt_libdirs="$ac_qt_libraries $qt_libdirs"
1417 # if the Qt was given, the chance is too big that libqt.* doesn't exist
1419 for dir in $qt_libdirs; do
1420 try="ls -1 $dir/${LIBQT_GLOB}"
1421 if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
1425 ac_qt_libraries="$qt_libdir"
1430 ac_cxxflags_safe="$CXXFLAGS"
1431 ac_ldflags_safe="$LDFLAGS"
1432 ac_libs_safe="$LIBS"
1434 CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
1435 LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
1436 LIBS="$LIBS $LIBQT $KDE_MT_LIBS"
1438 KDE_PRINT_QT_PROGRAM
1440 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1443 echo "configure: failed program was:" >&AC_FD_CC
1444 cat conftest.$ac_ext >&AC_FD_CC
1445 ac_qt_libraries="NO"
1448 CXXFLAGS="$ac_cxxflags_safe"
1449 LDFLAGS="$ac_ldflags_safe"
1450 LIBS="$ac_libs_safe"
1453 if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
1454 ac_cv_have_qt="have_qt=no"
1457 if test "$ac_qt_includes" = NO; then
1458 if test "$ac_qt_libraries" = NO; then
1459 ac_qt_notfound="(headers and libraries)";
1461 ac_qt_notfound="(headers)";
1464 if test "x$kde_use_qt_mt" = "xyes"; then
1466 Make sure that you have compiled Qt with thread support!"
1467 ac_qt_notfound="(library $qtlib-mt)";
1469 ac_qt_notfound="(library $qtlib)";
1473 AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
1474 For more details about this problem, look at the end of config.log.$missing_qt_mt])
1480 eval "$ac_cv_have_qt"
1482 if test "$have_qt" != yes; then
1483 AC_MSG_RESULT([$have_qt]);
1485 ac_cv_have_qt="have_qt=yes \
1486 ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
1487 AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
1489 qt_libraries="$ac_qt_libraries"
1490 qt_includes="$ac_qt_includes"
1493 if test ! "$kde_qt_libs_given" = "yes"; then
1494 KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
1497 AC_SUBST(qt_libraries)
1498 AC_SUBST(qt_includes)
1500 if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
1503 QT_INCLUDES="-I$qt_includes"
1504 all_includes="$QT_INCLUDES $all_includes"
1507 if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
1510 QT_LDFLAGS="-L$qt_libraries"
1511 all_libraries="$all_libraries $QT_LDFLAGS"
1513 test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
1515 AC_SUBST(QT_INCLUDES)
1516 AC_SUBST(QT_LDFLAGS)
1521 if test "x$kde_use_qt_emb" != "xyes"; then
1522 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG) -lXext $(LIB_X11) $(LIBSM)'
1524 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG)'
1526 test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
1534 AC_DEFUN(AC_PATH_QT,
1539 AC_DEFUN(KDE_CHECK_UIC_PLUGINS,
1541 AC_REQUIRE([AC_PATH_QT_MOC_UIC])
1543 if test x$ac_uic_supports_libpath = xyes; then
1545 AC_MSG_CHECKING([if UIC has KDE plugins available])
1546 AC_CACHE_VAL(kde_cv_uic_plugins,
1548 cat > actest.ui << EOF
1549 <!DOCTYPE UI><UI version="3.0" stdsetdef="1">
1550 <class>NewConnectionDialog</class>
1551 <widget class="QDialog">
1552 <widget class="KLineEdit">
1553 <property name="name">
1554 <cstring>testInput</cstring>
1563 kde_cv_uic_plugins=no
1564 kde_line="$UIC_PATH -L $kde_widgetdir"
1565 if test x$ac_uic_supports_nounload = xyes; then
1566 kde_line="$kde_line -nounload"
1568 kde_line="$kde_line -impl actest.h actest.ui > actest.cpp"
1569 if AC_TRY_EVAL(kde_line); then
1570 if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then
1571 kde_cv_uic_plugins=yes
1574 rm -f actest.ui actest.cpp
1577 if test "$kde_cv_uic_plugins" = yes; then
1578 AC_MSG_RESULT([yes])
1580 AC_MSG_ERROR([not found - you need to install kdelibs first.])
1585 AC_DEFUN(KDE_CHECK_FINAL,
1587 AC_ARG_ENABLE(final, [ --enable-final build size optimized apps (experimental - needs lots of memory)],
1588 kde_use_final=$enableval, kde_use_final=no)
1591 if test "x$kde_use_final" = "xyes"; then
1592 KDE_USE_FINAL_TRUE=""
1593 KDE_USE_FINAL_FALSE="#"
1595 KDE_USE_FINAL_TRUE="#"
1596 KDE_USE_FINAL_FALSE=""
1598 AC_SUBST(KDE_USE_FINAL_TRUE)
1599 AC_SUBST(KDE_USE_FINAL_FALSE)
1601 AC_ARG_ENABLE(closure, [ --disable-closure don't delay template instantiation],
1602 kde_use_closure=$enableval, kde_use_closure=yes)
1604 if test "x$kde_use_closure" = "xyes"; then
1605 KDE_USE_CLOSURE_TRUE=""
1606 KDE_USE_CLOSURE_FALSE="#"
1607 # CXXFLAGS="$CXXFLAGS $REPO"
1609 KDE_USE_CLOSURE_TRUE="#"
1610 KDE_USE_CLOSURE_FALSE=""
1612 AC_SUBST(KDE_USE_CLOSURE_TRUE)
1613 AC_SUBST(KDE_USE_CLOSURE_FALSE)
1616 dnl ------------------------------------------------------------------------
1617 dnl Now, the same with KDE
1618 dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
1619 dnl and $(kde_includes) will be the kdehdrlocation (if needed)
1620 dnl ------------------------------------------------------------------------
1622 AC_DEFUN(AC_BASE_PATH_KDE,
1625 AC_REQUIRE([AC_PATH_QT])dnl
1626 AC_REQUIRE([KDE_CHECK_LIB64])
1629 AC_MSG_CHECKING([for KDE])
1631 if test "${prefix}" != NONE; then
1632 kde_includes=${prefix}/include
1633 ac_kde_includes=$prefix/include
1635 if test "${exec_prefix}" != NONE; then
1636 kde_libraries=${libdir}
1637 ac_kde_libraries=$libdir
1638 if test "$ac_kde_libraries" = '${exec_prefix}/lib'${kdelibsuff}; then
1639 ac_kde_libraries=$exec_prefix/lib${kdelibsuff}
1642 kde_libraries=${prefix}/lib${kdelibsuff}
1643 ac_kde_libraries=$prefix/lib${kdelibsuff}
1652 AC_CACHE_VAL(ac_cv_have_kde,
1653 [#try to guess kde locations
1655 if test "$kde_qtver" = 1; then
1656 kde_check_header="ksock.h"
1657 kde_check_lib="libkdecore.la"
1659 kde_check_header="ksharedptr.h"
1660 kde_check_lib="libkio.la"
1663 if test -z "$1"; then
1665 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"
1666 test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
1667 kde_incdirs="$ac_kde_includes $kde_incdirs"
1668 AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
1669 ac_kde_includes="$kde_incdir"
1671 if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
1673 in the prefix, you've chosen, are no KDE headers installed. This will fail.
1674 So, check this please and use another prefix!])
1677 kde_libdirs="/usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}"
1678 test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs"
1679 kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
1680 AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
1681 ac_kde_libraries="$kde_libdir"
1684 dnl this might be somewhere else
1685 AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir)
1687 if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
1689 in the prefix, you've chosen, are no KDE libraries installed. This will fail.
1690 So, check this please and use another prefix!])
1693 if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then
1695 I can't find the designer plugins. These are required and should have been installed
1699 if test -n "$kde_widgetdir"; then
1700 kde_widgetdir="$kde_widgetdir/kde3/plugins/designer"
1704 if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then
1705 ac_cv_have_kde="have_kde=no"
1707 ac_cv_have_kde="have_kde=yes \
1708 ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1713 ac_cv_have_kde="have_kde=no"
1718 eval "$ac_cv_have_kde"
1720 if test "$have_kde" != "yes"; then
1721 if test "${prefix}" = NONE; then
1722 ac_kde_prefix="$ac_default_prefix"
1724 ac_kde_prefix="$prefix"
1726 if test "$exec_prefix" = NONE; then
1727 ac_kde_exec_prefix="$ac_kde_prefix"
1728 AC_MSG_RESULT([will be installed in $ac_kde_prefix])
1730 ac_kde_exec_prefix="$exec_prefix"
1731 AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
1734 kde_libraries="${libdir}"
1735 kde_includes=${ac_kde_prefix}/include
1738 ac_cv_have_kde="have_kde=yes \
1739 ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1740 AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
1742 kde_libraries="$ac_kde_libraries"
1743 kde_includes="$ac_kde_includes"
1745 AC_SUBST(kde_libraries)
1746 AC_SUBST(kde_includes)
1748 if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then
1751 KDE_INCLUDES="-I$kde_includes"
1752 all_includes="$KDE_INCLUDES $all_includes"
1755 KDE_LDFLAGS="-L$kde_libraries"
1756 if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then
1757 all_libraries="$all_libraries $KDE_LDFLAGS"
1760 AC_SUBST(KDE_LDFLAGS)
1761 AC_SUBST(KDE_INCLUDES)
1763 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
1765 all_libraries="$all_libraries $USER_LDFLAGS"
1766 all_includes="$all_includes $USER_INCLUDES"
1767 AC_SUBST(all_includes)
1768 AC_SUBST(all_libraries)
1770 if test -z "$1"; then
1771 KDE_CHECK_UIC_PLUGINS
1774 ac_kde_libraries="$kde_libdir"
1781 AC_DEFUN(KDE_CHECK_EXTRA_LIBS,
1783 AC_MSG_CHECKING(for extra includes)
1784 AC_ARG_WITH(extra-includes, [ --with-extra-includes=DIR
1785 adds non standard include paths],
1786 kde_use_extra_includes="$withval",
1787 kde_use_extra_includes=NONE
1790 if test -n "$kde_use_extra_includes" && \
1791 test "$kde_use_extra_includes" != "NONE"; then
1795 for dir in $kde_use_extra_includes; do
1796 kde_extra_includes="$kde_extra_includes $dir"
1797 USER_INCLUDES="$USER_INCLUDES -I$dir"
1800 kde_use_extra_includes="added"
1802 kde_use_extra_includes="no"
1804 AC_SUBST(USER_INCLUDES)
1806 AC_MSG_RESULT($kde_use_extra_includes)
1809 AC_MSG_CHECKING(for extra libs)
1810 AC_ARG_WITH(extra-libs, [ --with-extra-libs=DIR adds non standard library paths],
1811 kde_use_extra_libs=$withval,
1812 kde_use_extra_libs=NONE
1814 if test -n "$kde_use_extra_libs" && \
1815 test "$kde_use_extra_libs" != "NONE"; then
1819 for dir in $kde_use_extra_libs; do
1820 kde_extra_libs="$kde_extra_libs $dir"
1821 KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
1822 USER_LDFLAGS="$USER_LDFLAGS -L$dir"
1825 kde_use_extra_libs="added"
1827 kde_use_extra_libs="no"
1830 AC_SUBST(USER_LDFLAGS)
1832 AC_MSG_RESULT($kde_use_extra_libs)
1836 AC_DEFUN(KDE_1_CHECK_PATH_HEADERS,
1838 AC_MSG_CHECKING([for KDE headers installed])
1841 cat > conftest.$ac_ext <<EOF
1843 # include <stdlib.h>
1846 #include "confdefs.h"
1850 printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
1851 printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
1852 printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
1853 printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
1854 printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
1855 printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
1856 printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
1857 printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
1858 printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
1859 printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
1860 printf("kde_wallpaperdir=\\"%s\\"\n",
1861 KApplication::kde_wallpaperdir().data());
1862 printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
1863 printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
1864 printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
1865 printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
1866 printf("kde_moduledir=\\"/tmp/dummy\\"\n");
1867 printf("kde_styledir=\\"/tmp/dummy\\"\n");
1868 printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
1873 ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext'
1874 if AC_TRY_EVAL(ac_compile); then
1877 AC_MSG_ERROR([your system is not able to compile a small KDE application!
1878 Check, if you installed the KDE header files correctly.
1879 For more details about this problem, look at the end of config.log.])
1885 AC_DEFUN(KDE_CHECK_KDEQTADDON,
1887 AC_MSG_CHECKING(for kde-qt-addon)
1888 AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
1890 kde_ldflags_safe="$LDFLAGS"
1891 kde_libs_safe="$LIBS"
1892 kde_cxxflags_safe="$CXXFLAGS"
1894 LIBS="-lkde-qt-addon $LIBQT $LIBS"
1895 CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
1896 LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
1904 kde_cv_have_kdeqtaddon=yes,
1905 kde_cv_have_kdeqtaddon=no
1908 LDFLAGS=$kde_ldflags_safe
1910 CXXFLAGS=$kde_cxxflags_safe
1913 AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
1915 if test "$kde_cv_have_kdeqtaddon" = "no"; then
1916 AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
1917 It is a separate package (and CVS module) named kde-qt-addon.])
1921 AC_DEFUN(KDE_CHECK_KIMGIO,
1923 AC_REQUIRE([AC_BASE_PATH_KDE])
1924 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
1925 AC_REQUIRE([AC_FIND_TIFF])
1926 AC_REQUIRE([AC_FIND_JPEG])
1927 AC_REQUIRE([AC_FIND_PNG])
1928 AC_REQUIRE([KDE_CREATE_LIBS_ALIASES])
1930 if test "$1" = "existance"; then
1933 kde_save_LIBS="$LIBS"
1934 LIBS="$LIBS $all_libraries $LIBJPEG $LIBTIFF $LIBPNG $LIBQT -lm"
1935 AC_CHECK_LIB(kimgio, kimgioRegister, [
1936 LIBKIMGIO_EXISTS=yes],LIBKIMGIO_EXISTS=no)
1937 LIBS="$kde_save_LIBS"
1940 LIBKIMGIO_EXISTS=yes
1943 if test "$LIBKIMGIO_EXISTS" = "yes"; then
1944 LIB_KIMGIO='-lkimgio'
1948 AC_SUBST(LIB_KIMGIO)
1951 AC_DEFUN(KDE_CREATE_LIBS_ALIASES,
1953 AC_REQUIRE([KDE_MISC_TESTS])
1954 AC_REQUIRE([KDE_CHECK_LIBDL])
1955 AC_REQUIRE([K_PATH_X])
1957 if test $kde_qtver = 3; then
1958 AC_SUBST(LIB_KDECORE, "-lkdecore")
1959 AC_SUBST(LIB_KDEUI, "-lkdeui")
1960 AC_SUBST(LIB_KIO, "-lkio")
1961 AC_SUBST(LIB_SMB, "-lsmb")
1962 AC_SUBST(LIB_KAB, "-lkab")
1963 AC_SUBST(LIB_KABC, "-lkabc")
1964 AC_SUBST(LIB_KHTML, "-lkhtml")
1965 AC_SUBST(LIB_KSPELL, "-lkspell")
1966 AC_SUBST(LIB_KPARTS, "-lkparts")
1967 AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
1968 # these are for backward compatibility
1969 AC_SUBST(LIB_KSYCOCA, "-lkio")
1970 AC_SUBST(LIB_KFILE, "-lkio")
1971 elif test $kde_qtver = 2; then
1972 AC_SUBST(LIB_KDECORE, "-lkdecore")
1973 AC_SUBST(LIB_KDEUI, "-lkdeui")
1974 AC_SUBST(LIB_KIO, "-lkio")
1975 AC_SUBST(LIB_KSYCOCA, "-lksycoca")
1976 AC_SUBST(LIB_SMB, "-lsmb")
1977 AC_SUBST(LIB_KFILE, "-lkfile")
1978 AC_SUBST(LIB_KAB, "-lkab")
1979 AC_SUBST(LIB_KHTML, "-lkhtml")
1980 AC_SUBST(LIB_KSPELL, "-lkspell")
1981 AC_SUBST(LIB_KPARTS, "-lkparts")
1982 AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
1984 AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)")
1985 AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)")
1986 AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)")
1987 AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)")
1988 AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)")
1992 AC_DEFUN(AC_PATH_KDE,
1995 AC_ARG_ENABLE(path-check, [ --disable-path-check don't try to find out, where to install],
1997 if test "$enableval" = "no";
1998 then ac_use_path_checking="default"
1999 else ac_use_path_checking=""
2003 if test "$kde_qtver" = 1;
2004 then ac_use_path_checking=""
2005 else ac_use_path_checking="default"
2010 AC_CREATE_KFSSTND($ac_use_path_checking)
2013 KDE_CREATE_LIBS_ALIASES
2016 dnl KDE_CHECK_FUNC_EXT(<func>, [headers], [sample-use], [C prototype], [autoheader define], [call if found])
2017 AC_DEFUN(KDE_CHECK_FUNC_EXT,
2019 AC_MSG_CHECKING(for $1)
2020 AC_CACHE_VAL(kde_cv_func_$1,
2024 save_CXXFLAGS="$CXXFLAGS"
2025 kde_safe_LIBS="$LIBS"
2026 LIBS="$LIBS $X_EXTRA_LIBS"
2027 if test "$GXX" = "yes"; then
2028 CXXFLAGS="$CXXFLAGS -pedantic-errors"
2038 CXXFLAGS="$save_CXXFLAGS"
2043 AC_MSG_RESULT($kde_cv_func_$1)
2045 AC_MSG_CHECKING([if $1 needs custom prototype])
2046 AC_CACHE_VAL(kde_cv_proto_$1,
2048 if test "x$kde_cv_func_$1" = xyes; then
2052 setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat)
2053 kde_cv_proto_$1="yes - in libkdefakes"
2056 kde_cv_proto_$1=unknown
2061 if test "x$kde_cv_proto_$1" = xunknown; then
2066 LIBS="$LIBS $X_EXTRA_LIBS"
2075 [ kde_cv_func_$1=yes
2076 kde_cv_proto_$1=yes ],
2077 [kde_cv_proto_$1="$1 unavailable"]
2083 AC_MSG_RESULT($kde_cv_proto_$1)
2085 if test "x$kde_cv_func_$1" = xyes; then
2086 AC_DEFINE(HAVE_$5, 1, [Define if you have $1])
2089 if test "x$kde_cv_proto_$1" = xno; then
2090 AC_DEFINE(HAVE_$5_PROTO, 1,
2091 [Define if you have the $1 prototype])
2094 AH_VERBATIM([_HAVE_$5_PROTO],
2096 #if !defined(HAVE_$5_PROTO)
2105 AC_DEFUN(AC_CHECK_SETENV,
2107 KDE_CHECK_FUNC_EXT(setenv, [
2110 [setenv("VAR", "VALUE", 1);],
2111 [int setenv (const char *, const char *, int)],
2115 AC_DEFUN(AC_CHECK_UNSETENV,
2117 KDE_CHECK_FUNC_EXT(unsetenv, [
2121 [void unsetenv (const char *)],
2125 AC_DEFUN(AC_CHECK_GETDOMAINNAME,
2127 KDE_CHECK_FUNC_EXT(getdomainname, [
2133 getdomainname(buffer, 200);
2135 [int getdomainname (char *, unsigned int)],
2139 AC_DEFUN(AC_CHECK_GETHOSTNAME,
2141 KDE_CHECK_FUNC_EXT(gethostname, [
2147 gethostname(buffer, 200);
2149 [int gethostname (char *, unsigned int)],
2153 AC_DEFUN(AC_CHECK_USLEEP,
2155 KDE_CHECK_FUNC_EXT(usleep, [
2161 [int usleep (unsigned int)],
2166 AC_DEFUN(AC_CHECK_RANDOM,
2168 KDE_CHECK_FUNC_EXT(random, [
2174 [long int random(void)],
2177 KDE_CHECK_FUNC_EXT(srandom, [
2183 [void srandom(unsigned int)],
2188 AC_DEFUN(AC_CHECK_INITGROUPS,
2190 KDE_CHECK_FUNC_EXT(initgroups, [
2191 #include <sys/types.h>
2197 initgroups(buffer, 27);
2199 [int initgroups(const char *, gid_t)],
2203 AC_DEFUN(AC_CHECK_MKSTEMP,
2205 KDE_CHECK_FUNC_EXT(mkstemp, [
2209 mkstemp("/tmp/aaaXXXXXX");
2211 [int mkstemp(char *)],
2215 AC_DEFUN(AC_CHECK_MKSTEMPS,
2217 KDE_CHECK_FUNC_EXT(mkstemps, [
2222 mkstemps("/tmp/aaaXXXXXX", 6);
2224 [int mkstemps(char *, int)],
2228 AC_DEFUN(AC_CHECK_RES_INIT,
2230 AC_MSG_CHECKING([if res_init needs -lresolv])
2231 kde_libs_safe="$LIBS"
2232 LIBS="$LIBS $X_EXTRA_LIBS -lresolv"
2235 #include <sys/types.h>
2236 #include <netinet/in.h>
2237 #include <arpa/nameser.h>
2244 LIBRESOLV="-lresolv"
2246 AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
2248 [ AC_MSG_RESULT(no) ]
2250 LIBS="$kde_libs_safe"
2253 AC_MSG_CHECKING([if res_init is available])
2256 #include <sys/types.h>
2257 #include <netinet/in.h>
2258 #include <arpa/nameser.h>
2266 AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
2268 [ AC_MSG_RESULT(no) ]
2272 AC_DEFUN(AC_CHECK_STRLCPY,
2274 KDE_CHECK_FUNC_EXT(strlcpy, [
2278 strlcpy(buf, "KDE function test", sizeof(buf));
2280 [unsigned long strlcpy(char*, const char*, unsigned long)],
2284 AC_DEFUN(AC_CHECK_STRLCAT,
2286 KDE_CHECK_FUNC_EXT(strlcat, [
2291 strlcat(buf, "KDE function test", sizeof(buf));
2293 [unsigned long strlcat(char*, const char*, unsigned long)],
2297 AC_DEFUN(AC_FIND_GIF,
2298 [AC_MSG_CHECKING([for giflib])
2299 AC_CACHE_VAL(ac_cv_lib_gif,
2300 [ac_save_LIBS="$LIBS"
2301 if test "x$kde_use_qt_emb" != "xyes"; then
2302 LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
2304 LIBS="$all_libraries -lgif"
2311 int GifLastError(void);
2315 /* We use char because int might match the return type of a gcc2
2316 builtin and then its argument prototype would still apply. */
2318 [return GifLastError();],
2319 eval "ac_cv_lib_gif=yes",
2320 eval "ac_cv_lib_gif=no")
2321 LIBS="$ac_save_LIBS"
2323 if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
2325 AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
2327 AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
2331 AC_DEFUN(KDE_FIND_JPEG_HELPER,
2333 AC_MSG_CHECKING([for libjpeg$2])
2334 AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
2337 ac_save_LIBS="$LIBS"
2338 LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
2339 ac_save_CFLAGS="$CFLAGS"
2340 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2342 [/* Override any gcc2 internal prototype to avoid an error. */
2343 struct jpeg_decompress_struct;
2344 typedef struct jpeg_decompress_struct * j_decompress_ptr;
2349 void jpeg_CreateDecompress(j_decompress_ptr cinfo,
2350 int version, size_t structsize);
2354 /* We use char because int might match the return type of a gcc2
2355 builtin and then its argument prototype would still apply. */
2357 [jpeg_CreateDecompress(0L, 0, 0);],
2358 eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
2359 eval "ac_cv_lib_jpeg_$1=no")
2360 LIBS="$ac_save_LIBS"
2361 CFLAGS="$ac_save_CFLAGS"
2364 if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
2365 LIBJPEG="$ac_cv_lib_jpeg_$1"
2366 AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
2374 AC_DEFUN(AC_FIND_JPEG,
2376 dnl first look for libraries
2377 KDE_FIND_JPEG_HELPER(6b, 6b,
2378 KDE_FIND_JPEG_HELPER(normal, [],
2385 dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
2386 dnl requires system dependent includes loaded before it)
2387 jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes"
2388 AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
2389 test "x$jpeg_incdir" = xNO && jpeg_incdir=
2391 dnl if headers _and_ libraries are missing, this is no error, and we
2392 dnl continue with a warning (the user will get no jpeg support in khtml)
2393 dnl if only one is missing, it means a configuration error, but we still
2395 if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
2396 AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
2398 if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
2400 There is an installation error in jpeg support. You seem to have only one
2401 of either the headers _or_ the libraries installed. You may need to either
2402 provide correct --with-extra-... options, or the development package of
2403 libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
2404 Disabling JPEG support.
2407 AC_MSG_WARN([libjpeg not found. disable JPEG support.])
2414 AH_VERBATIM(_AC_CHECK_JPEG,
2416 * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
2417 * headers and I'm too lazy to write a configure test as long as only
2418 * unixware is related
2421 #define HAVE_BOOLEAN
2426 AC_DEFUN(KDE_CHECK_QT_JPEG,
2428 AC_MSG_CHECKING([if Qt needs $LIBJPEG])
2429 AC_CACHE_VAL(kde_cv_qt_jpeg,
2433 ac_save_LIBS="$LIBS"
2434 LIBS="$all_libraries $USER_LDFLAGS $LIBQT"
2435 LIBS=`echo $LIBS | sed "s/$LIBJPEG//"`
2436 ac_save_CXXFLAGS="$CXXFLAGS"
2437 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2439 [#include <qapplication.h>],
2443 QApplication app(argc, argv);],
2444 eval "kde_cv_qt_jpeg=no",
2445 eval "kde_cv_qt_jpeg=yes")
2446 LIBS="$ac_save_LIBS"
2447 CXXFLAGS="$ac_save_CXXFLAGS"
2451 if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then
2453 LIBJPEG_QT='$(LIBJPEG)'
2461 AC_DEFUN(AC_FIND_ZLIB,
2463 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2464 AC_MSG_CHECKING([for libz])
2465 AC_CACHE_VAL(ac_cv_lib_z,
2468 kde_save_LIBS="$LIBS"
2469 LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
2470 kde_save_CFLAGS="$CFLAGS"
2471 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2476 [return (zlibVersion() == ZLIB_VERSION); ],
2477 eval "ac_cv_lib_z='-lz'",
2478 eval "ac_cv_lib_z=no")
2479 LIBS="$kde_save_LIBS"
2480 CFLAGS="$kde_save_CFLAGS"
2482 if test ! "$ac_cv_lib_z" = no; then
2483 AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
2486 AC_MSG_RESULT($ac_cv_lib_z)
2488 AC_MSG_ERROR(not found. Check your installation and look into config.log)
2494 AC_DEFUN(KDE_TRY_TIFFLIB,
2496 AC_MSG_CHECKING([for libtiff $1])
2498 AC_CACHE_VAL(kde_cv_libtiff_$1,
2502 kde_save_LIBS="$LIBS"
2503 if test "x$kde_use_qt_emb" != "xyes"; then
2504 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
2506 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm"
2508 kde_save_CXXFLAGS="$CXXFLAGS"
2509 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2515 [return (TIFFOpen( "", "r") == 0); ],
2517 kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
2519 kde_cv_libtiff_$1=no
2522 LIBS="$kde_save_LIBS"
2523 CXXFLAGS="$kde_save_CXXFLAGS"
2527 if test "$kde_cv_libtiff_$1" = "no"; then
2532 LIBTIFF="$kde_cv_libtiff_$1"
2534 AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
2540 AC_DEFUN(AC_FIND_TIFF,
2542 AC_REQUIRE([K_PATH_X])
2543 AC_REQUIRE([AC_FIND_ZLIB])
2544 AC_REQUIRE([AC_FIND_JPEG])
2545 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2547 KDE_TRY_TIFFLIB(tiff, [],
2548 KDE_TRY_TIFFLIB(tiff34))
2554 AC_DEFUN(AC_FIND_PNG,
2556 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2557 AC_REQUIRE([AC_FIND_ZLIB])
2558 AC_MSG_CHECKING([for libpng])
2559 AC_CACHE_VAL(ac_cv_lib_png,
2561 kde_save_LIBS="$LIBS"
2562 if test "x$kde_use_qt_emb" != "xyes"; then
2563 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
2565 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
2567 kde_save_CFLAGS="$CFLAGS"
2568 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2575 png_structp png_ptr = png_create_read_struct( /* image ptr */
2576 PNG_LIBPNG_VER_STRING, 0, 0, 0 );
2577 return( png_ptr != 0 );
2579 eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
2580 eval "ac_cv_lib_png=no"
2582 LIBS="$kde_save_LIBS"
2583 CFLAGS="$kde_save_CFLAGS"
2585 if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
2586 AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
2587 LIBPNG="$ac_cv_lib_png"
2589 AC_MSG_RESULT($ac_cv_lib_png)
2597 AC_DEFUN(AC_CHECK_BOOL,
2599 AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
2602 AC_DEFUN(AC_CHECK_GNU_EXTENSIONS,
2604 AC_MSG_CHECKING(if you need GNU extensions)
2605 AC_CACHE_VAL(ac_cv_gnu_extensions,
2607 cat > conftest.c << EOF
2608 #include <features.h>
2610 #ifdef __GNU_LIBRARY__
2615 if (eval "$ac_cpp conftest.c") 2>&5 |
2616 egrep "yes" >/dev/null 2>&1; then
2618 ac_cv_gnu_extensions=yes
2620 ac_cv_gnu_extensions=no
2624 AC_MSG_RESULT($ac_cv_gnu_extensions)
2625 if test "$ac_cv_gnu_extensions" = "yes"; then
2626 AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
2630 AC_DEFUN(KDE_CHECK_COMPILER_FLAG,
2632 AC_MSG_CHECKING(whether $CXX supports -$1)
2633 kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
2634 AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
2638 save_CXXFLAGS="$CXXFLAGS"
2639 CXXFLAGS="$CXXFLAGS -$1"
2640 AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], [])
2641 CXXFLAGS="$save_CXXFLAGS"
2644 if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
2655 dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
2656 dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
2657 dnl it's all white-space separated
2658 AC_DEFUN(AC_REMOVE_FORBIDDEN,
2661 if test -n "$__val"; then
2667 *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
2668 *) # Careful to not add spaces, where there were none, because otherwise
2669 # libtool gets confused, if we change e.g. CXX
2670 if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
2678 dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
2679 AC_DEFUN(AC_VALIDIFY_CXXFLAGS,
2681 if test "x$kde_use_qt_emb" != "xyes"; then
2682 AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
2683 AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
2685 AC_REMOVE_FORBIDDEN(CXX, [-rpath])
2686 AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath])
2690 AC_DEFUN(AC_CHECK_COMPILERS,
2692 AC_ARG_ENABLE(debug,[ --enable-debug[=ARG] enables debug symbols (yes|no|full) [default=no]],
2696 kde_use_debug_code="yes"
2697 kde_use_debug_define=no
2700 kde_use_debug_code="full"
2701 kde_use_debug_define=no
2704 kde_use_debug_code="no"
2705 kde_use_debug_define=yes
2709 [kde_use_debug_code="no"
2710 kde_use_debug_define=no
2713 dnl Just for configure --help
2714 AC_ARG_ENABLE(dummyoption,[ --disable-debug disables debug output and debug symbols [default=no]],[],[])
2716 AC_ARG_ENABLE(strict,[ --enable-strict compiles with strict compiler options (may not work!)],
2718 if test $enableval = "no"; then
2719 kde_use_strict_options="no"
2721 kde_use_strict_options="yes"
2723 ], [kde_use_strict_options="no"])
2725 AC_ARG_ENABLE(warnings,[ --disable-warnings disables compilation with -Wall and similiar],
2727 if test $enableval = "no"; then
2728 kde_use_warnings="no"
2730 kde_use_warnings="yes"
2732 ], [kde_use_warnings="yes"])
2734 dnl enable warnings for debug build
2735 if test "$kde_use_debug_code" != "no"; then
2736 kde_use_warnings=yes
2739 AC_ARG_ENABLE(profile,[ --enable-profile creates profiling infos [default=no]],
2740 [kde_use_profiling=$enableval],
2741 [kde_use_profiling="no"]
2744 AC_ARG_ENABLE(gcov,[ --enable-gcov enables gcov test coverage support [default=no]],
2745 [kde_use_gcov=$enableval],
2749 dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
2756 if test "$GCC" = "yes"; then
2757 if test "$kde_use_debug_code" != "no"; then
2758 if test $kde_use_debug_code = "full" || test $kde_use_gcov = "yes"; then
2759 CFLAGS="-g3 $CFLAGS"
2761 CFLAGS="-g -O2 $CFLAGS"
2764 CFLAGS="-O2 $CFLAGS"
2768 if test "$kde_use_debug_define" = "yes"; then
2769 CFLAGS="-DNDEBUG $CFLAGS"
2774 *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";;
2775 *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";;
2778 if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
2782 CXXFLAGS=" $CXXFLAGS"
2786 if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
2787 if test "$kde_use_debug_code" != "no"; then
2788 if test "$CXX" = "KCC"; then
2789 CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS"
2791 if test "$kde_use_debug_code" = "full"; then
2792 CXXFLAGS="-g3 $CXXFLAGS"
2794 CXXFLAGS="-g -O2 $CXXFLAGS"
2797 KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"])
2799 dnl convenience compiler flags
2800 KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""])
2801 AC_SUBST(WOVERLOADED_VIRTUAL)
2803 if test "$CXX" = "KCC"; then
2804 CXXFLAGS="+K3 $CXXFLAGS"
2806 CXXFLAGS="-O2 $CXXFLAGS"
2811 if test "$kde_use_debug_define" = "yes"; then
2812 CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS"
2815 if test "$kde_use_profiling" = "yes"; then
2816 KDE_CHECK_COMPILER_FLAG(pg,
2818 CFLAGS="-pg $CFLAGS"
2819 CXXFLAGS="-pg $CXXFLAGS"
2823 if test "$kde_use_gcov" = "yes"; then
2824 KDE_CHECK_COMPILER_FLAG(fprofile-arcs,
2826 CFLAGS="-fprofile-arcs -ftest-coverage $CFLAGS"
2827 CXXFLAGS="-fprofile-arcs -ftest-coverage $CXXFLAGS"
2831 if test "$kde_use_warnings" = "yes"; then
2832 if test "$GCC" = "yes"; then
2835 CFLAGS="-ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
2836 CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion $CXXFLAGS"
2839 CXXFLAGS="-Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS"
2840 KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"])
2841 KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"])
2842 KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"])
2846 if test "$GCC" = "yes" && test "$kde_use_strict_options" = "yes"; then
2847 CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
2850 if test "$GXX" = "yes"; then
2851 KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
2852 KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
2853 KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= )
2855 if test "$CXX" = "KCC"; then
2856 dnl unfortunately we currently cannot disable exception support in KCC
2857 dnl because doing so is binary incompatible and Qt by default links with exceptions :-(
2858 dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"])
2859 dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= )
2861 AC_ARG_ENABLE(pch,[ --enable-pch enables precompiled header support (currently only KCC) [default=no]],
2863 kde_use_pch=$enableval
2866 if test "$kde_use_pch" = "yes"; then
2867 dnl TODO: support --pch-dir!
2868 KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"])
2869 dnl the below works (but the dir must exist), but it's
2870 dnl useless for a whole package.
2871 dnl The are precompiled headers for each source file, so when compiling
2872 dnl from scratch, it doesn't make a difference, and they take up
2873 dnl around ~5Mb _per_ sourcefile.
2874 dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp,
2875 dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"])
2877 dnl this flag controls inlining. by default KCC inlines in optimisation mode
2878 dnl all implementations that are defined inside the class {} declaration.
2879 dnl because of templates-compatibility with broken gcc compilers, this
2880 dnl can cause excessive inlining. This flag limits it to a sane level
2881 KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"])
2882 KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"])
2883 KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"])
2884 KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"])
2885 dnl Some source files are shared between multiple executables
2886 dnl (or libraries) and some of those need template instantiations.
2887 dnl In that case KCC needs to compile those sources with
2888 dnl --one_instantiation_per_object. To make it easy for us we compile
2889 dnl _all_ objects with that flag (--one_per is a shorthand).
2890 KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"])
2892 AC_SUBST(USE_EXCEPTIONS)
2893 dnl obsolete macro - provided to keep things going
2898 *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;;
2899 *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";;
2900 *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";;
2902 if test "$GXX" = yes; then
2903 libstdcpp=`$CXX -print-file-name=libstdc++.so`
2904 if test ! -f $libstdcpp; then
2905 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])
2911 AC_VALIDIFY_CXXFLAGS
2915 if test "$GCC" = yes; then
2920 AC_SUBST(NOOPT_CXXFLAGS)
2921 AC_SUBST(NOOPT_CFLAGS)
2925 ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
2928 AC_DEFUN(KDE_ADD_DEPENDENCIES,
2930 [A]M_DEPENDENCIES(CC)
2931 [A]M_DEPENDENCIES(CXX)
2934 dnl just a wrapper to clean up configure.in
2935 AC_DEFUN(KDE_PROG_LIBTOOL,
2937 AC_REQUIRE([AC_CHECK_COMPILERS])
2938 AC_REQUIRE([AC_ENABLE_SHARED])
2939 AC_REQUIRE([AC_ENABLE_STATIC])
2941 AC_REQUIRE([AC_LIBTOOL_DLOPEN])
2942 AC_REQUIRE([KDE_CHECK_LIB64])
2953 LIBTOOL_SHELL="/bin/sh ./libtool"
2954 # LIBTOOL="$LIBTOOL --silent"
2955 KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
2956 AC_SUBST(KDE_PLUGIN)
2958 AC_ARG_ENABLE(objprelink, [ --enable-objprelink prelink apps using objprelink (obsolete)],
2959 kde_use_objprelink=$enableval, kde_use_objprelink=no)
2960 if test "x$kde_use_objprelink" = "xyes"; then
2962 ------------------------------------------------------------
2963 Configuration option --enable-objprelink is no longer useful.
2964 See http:://objprelink.sourceforge.net for details:
2965 1- Recent binutils are fast enough to do without objprelink.
2966 2- Newer versions of objprelink do not need this option.
2967 ------------------------------------------------------------
2972 AC_DEFUN(KDE_CHECK_LIB64,
2975 AC_ARG_ENABLE(libsuffix,
2976 AC_HELP_STRING([--enable-libsuffix],
2977 [/lib directory suffix (64,32,none[=default])]),
2978 kdelibsuff=$enableval)
2979 # TODO: add an auto case that compiles a little C app to check
2980 # where the glibc is
2981 if test "$kdelibsuff" = "none"; then
2984 if test -z "$kdelibsuff"; then
2985 AC_MSG_RESULT([not using lib directory suffix])
2986 AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories)
2988 if test "$libdir" = '${exec_prefix}/lib'; then
2989 libdir="$libdir${kdelibsuff}"
2990 AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms
2992 AC_DEFINE_UNQUOTED(KDELIBSUFF, ["\"${kdelibsuff}\""], Suffix for lib directories)
2993 AC_MSG_RESULT([using lib directory suffix $kdelibsuff])
2997 AC_DEFUN(KDE_CHECK_TYPES,
2998 [ AC_CHECK_SIZEOF(int, 4)dnl
2999 AC_CHECK_SIZEOF(long, 4)dnl
3000 AC_CHECK_SIZEOF(char *, 4)dnl
3001 AC_CHECK_SIZEOF(char, 1)dnl
3004 AC_DEFUN(KDE_DO_IT_ALL,
3008 AM_INIT_AUTOMAKE($1, $2)
3009 AM_DISABLE_LIBRARIES
3010 AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
3017 AC_DEFUN(AC_CHECK_RPATH,
3019 AC_MSG_CHECKING(for rpath)
3020 AC_ARG_ENABLE(rpath,
3021 [ --disable-rpath do not use the rpath feature of ld],
3022 USE_RPATH=$enableval, USE_RPATH=yes)
3024 if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
3026 KDE_RPATH="-R \$(kde_libraries)"
3028 if test -n "$qt_libraries"; then
3029 KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
3031 dnl $x_libraries is set to /usr/lib in case
3032 if test -n "$X_LDFLAGS"; then
3033 X_RPATH="-R \$(x_libraries)"
3034 KDE_RPATH="$KDE_RPATH $X_RPATH"
3036 if test -n "$KDE_EXTRA_RPATH"; then
3037 KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
3040 AC_SUBST(KDE_EXTRA_RPATH)
3043 AC_MSG_RESULT($USE_RPATH)
3046 dnl Check for the type of the third argument of getsockname
3047 AC_DEFUN(AC_CHECK_SOCKLEN_T, [
3048 AC_MSG_CHECKING(for socklen_t)
3049 AC_CACHE_VAL(ac_cv_socklen_t, [
3053 #include <sys/types.h>
3054 #include <sys/socket.h>
3057 getsockname(0,(struct sockaddr*)0, &a);
3059 ac_cv_socklen_t=socklen_t,
3061 #include <sys/types.h>
3062 #include <sys/socket.h>
3065 getsockname(0,(struct sockaddr*)0, &a);
3067 ac_cv_socklen_t=int,
3068 ac_cv_socklen_t=size_t
3074 AC_MSG_RESULT($ac_cv_socklen_t)
3075 if test "$ac_cv_socklen_t" != "socklen_t"; then
3076 AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t,
3077 [Define the real type of socklen_t])
3079 AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define])
3083 dnl This is a merge of some macros out of the gettext aclocal.m4
3084 dnl since we don't need anything, I took the things we need
3085 dnl the copyright for them is:
3087 dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
3088 dnl This Makefile.in is free software; the Free Software Foundation
3089 dnl gives unlimited permission to copy and/or distribute it,
3090 dnl with or without modifications, as long as this notice is preserved.
3092 dnl This program is distributed in the hope that it will be useful,
3093 dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
3094 dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
3095 dnl PARTICULAR PURPOSE.
3097 dnl for this file it is relicensed under LGPL
3099 AC_DEFUN(AM_KDE_WITH_NLS,
3101 dnl If we use NLS figure out what method
3103 AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
3104 [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
3105 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
3107 if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
3108 AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
3115 AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
3116 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
3118 dnl Test whether we really found GNU xgettext.
3119 if test "$XGETTEXT" != ":"; then
3120 dnl If it is no GNU xgettext we define it as : so that the
3121 dnl Makefiles still can work.
3122 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
3126 [found xgettext programs is not GNU xgettext; ignore it])
3134 # Search path for a program which passes the given test.
3135 # Ulrich Drepper <drepper@cygnus.com>, 1996.
3138 # Stephan Kulow: I appended a _KDE against name conflicts
3140 dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR,
3141 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
3142 AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE,
3143 [# Extract the first word of "$2", so it can be a program name with args.
3144 set dummy $2; ac_word=[$]2
3145 AC_MSG_CHECKING([for $ac_word])
3146 AC_CACHE_VAL(ac_cv_path_$1,
3149 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
3152 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
3153 for ac_dir in ifelse([$5], , $PATH, [$5]); do
3154 test -z "$ac_dir" && ac_dir=.
3155 if test -f $ac_dir/$ac_word; then
3157 ac_cv_path_$1="$ac_dir/$ac_word"
3163 dnl If no 4th arg is given, leave the cache variable unset,
3164 dnl so AC_PATH_PROGS will keep looking.
3165 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
3170 if test -n "[$]$1"; then
3171 AC_MSG_RESULT([$]$1)
3179 # Check whether LC_MESSAGES is available in <locale.h>.
3180 # Ulrich Drepper <drepper@cygnus.com>, 1995.
3184 AC_DEFUN(AM_LC_MESSAGES,
3185 [if test $ac_cv_header_locale_h = yes; then
3186 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
3187 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
3188 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
3189 if test $am_cv_val_LC_MESSAGES = yes; then
3190 AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES])
3194 dnl From Jim Meyering.
3195 dnl FIXME: migrate into libit.
3197 AC_DEFUN([AM_FUNC_OBSTACK],
3198 [AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
3199 [AC_TRY_LINK([#include "obstack.h"],
3200 [struct obstack *mem;obstack_free(mem,(char *) 0)],
3201 am_cv_func_obstack=yes,
3202 am_cv_func_obstack=no)])
3203 if test $am_cv_func_obstack = yes; then
3204 AC_DEFINE(HAVE_OBSTACK)
3206 LIBOBJS="$LIBOBJS obstack.o"
3210 dnl From Jim Meyering. Use this if you use the GNU error.[ch].
3211 dnl FIXME: Migrate into libit
3213 AC_DEFUN([AM_FUNC_ERROR_AT_LINE],
3214 [AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
3215 [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
3216 am_cv_lib_error_at_line=yes,
3217 am_cv_lib_error_at_line=no)])
3218 if test $am_cv_lib_error_at_line = no; then
3219 LIBOBJS="$LIBOBJS error.o"
3221 AC_SUBST(LIBOBJS)dnl
3224 # Macro to add for using GNU gettext.
3225 # Ulrich Drepper <drepper@cygnus.com>, 1995.
3228 # Stephan Kulow: I put a KDE in it to avoid name conflicts
3230 AC_DEFUN(AM_KDE_GNU_GETTEXT,
3231 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
3232 AC_REQUIRE([AC_PROG_RANLIB])dnl
3233 AC_REQUIRE([AC_HEADER_STDC])dnl
3234 AC_REQUIRE([AC_TYPE_OFF_T])dnl
3235 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
3236 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
3237 AC_REQUIRE([AC_FUNC_MMAP])dnl
3238 AC_REQUIRE([AM_KDE_WITH_NLS])dnl
3239 AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h])
3240 AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \
3241 __argz_count __argz_stringify __argz_next])
3243 AC_MSG_CHECKING(for stpcpy)
3244 AC_CACHE_VAL(kde_cv_func_stpcpy,
3246 kde_safe_cxxflags=$CXXFLAGS
3255 stpcpy(buffer, buffer);
3257 kde_cv_func_stpcpy=yes,
3258 kde_cv_func_stpcpy=no)
3260 CXXFLAGS=$kde_safe_cxxflags
3262 AC_MSG_RESULT($kde_cv_func_stpcpy)
3263 if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then
3264 AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy])
3269 if test "x$CATOBJEXT" != "x"; then
3270 if test "x$ALL_LINGUAS" = "x"; then
3273 AC_MSG_CHECKING(for catalogs to be installed)
3275 for lang in ${LINGUAS=$ALL_LINGUAS}; do
3276 case "$ALL_LINGUAS" in
3277 *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
3280 LINGUAS=$NEW_LINGUAS
3281 AC_MSG_RESULT($LINGUAS)
3284 dnl Construct list of names of catalog files to be constructed.
3285 if test -n "$LINGUAS"; then
3286 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
3292 AC_DEFUN(AC_HAVE_XPM,
3293 [AC_REQUIRE_CPP()dnl
3294 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3296 test -z "$XPM_LDFLAGS" && XPM_LDFLAGS=
3297 test -z "$XPM_INCLUDE" && XPM_INCLUDE=
3299 AC_ARG_WITH(xpm, [ --without-xpm disable color pixmap XPM tests],
3300 xpm_test=$withval, xpm_test="yes")
3301 if test "x$xpm_test" = xno; then
3304 AC_MSG_CHECKING(for XPM)
3305 AC_CACHE_VAL(ac_cv_have_xpm,
3308 ac_save_ldflags="$LDFLAGS"
3309 ac_save_cflags="$CFLAGS"
3310 if test "x$kde_use_qt_emb" != "xyes"; then
3311 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
3313 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET"
3315 CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
3316 test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
3317 AC_TRY_LINK([#include <X11/xpm.h>],[],
3318 ac_cv_have_xpm="yes",ac_cv_have_xpm="no")
3319 LDFLAGS="$ac_save_ldflags"
3320 CFLAGS="$ac_save_cflags"
3323 if test "$ac_cv_have_xpm" = no; then
3329 AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
3330 if test "$XPM_LDFLAGS" = ""; then
3331 XPMLIB='-lXpm $(LIB_X11)'
3333 XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
3335 if test "$XPM_INCLUDE" = ""; then
3338 XPMINC="-I$XPM_INCLUDE"
3348 AC_DEFUN(AC_HAVE_DPMS,
3349 [AC_REQUIRE_CPP()dnl
3350 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3352 test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS=
3353 test -z "$DPMS_INCLUDE" && DPMS_INCLUDE=
3356 AC_ARG_WITH(dpms, [ --without-dpms disable DPMS power saving],
3357 dpms_test=$withval, dpms_test="yes")
3358 if test "x$dpms_test" = xno; then
3361 AC_MSG_CHECKING(for DPMS)
3362 dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
3363 dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
3364 AC_CACHE_VAL(ac_cv_have_dpms,
3366 if test "x$kde_use_qt_emb" = "xyes"; then
3368 ac_cv_have_dpms="no"
3371 ac_save_ldflags="$LDFLAGS"
3372 ac_save_cflags="$CFLAGS"
3373 ac_save_libs="$LIBS"
3374 LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
3375 CFLAGS="$CFLAGS $X_INCLUDES"
3376 test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3378 #include <X11/Xproto.h>
3380 #include <X11/Xlib.h>
3381 #include <X11/extensions/dpms.h>
3383 { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3384 ac_cv_have_dpms="yes", [
3385 LDFLAGS="$ac_save_ldflags"
3386 CFLAGS="$ac_save_cflags"
3387 LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
3388 LIBS="$LIBS -lXdpms"
3389 CFLAGS="$CFLAGS $X_INCLUDES"
3390 test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3392 #include <X11/Xproto.h>
3394 #include <X11/Xlib.h>
3395 #include <X11/extensions/dpms.h>
3397 { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3399 ac_cv_have_dpms="-lXdpms"
3400 ],ac_cv_have_dpms="no")
3402 LDFLAGS="$ac_save_ldflags"
3403 CFLAGS="$ac_save_cflags"
3404 LIBS="$ac_save_libs"
3408 if test "$ac_cv_have_dpms" = no; then
3414 AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
3415 if test "$ac_cv_have_dpms" = "-lXdpms"; then
3418 if test "$DPMS_LDFLAGS" = ""; then
3419 DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
3421 DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
3423 if test "$DPMS_INCLUDE" = ""; then
3426 DPMSINC="-I$DPMS_INCLUDE"
3436 AC_DEFUN(AC_HAVE_GL,
3437 [AC_REQUIRE_CPP()dnl
3438 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3440 test -z "$GL_LDFLAGS" && GL_LDFLAGS=
3441 test -z "$GL_INCLUDE" && GL_INCLUDE=
3443 AC_ARG_WITH(gl, [ --without-gl disable 3D GL modes],
3444 gl_test=$withval, gl_test="yes")
3445 if test "x$kde_use_qt_emb" = "xyes"; then
3446 # GL and Qt Embedded is a no-go for now.
3448 elif test "x$gl_test" = xno; then
3451 AC_MSG_CHECKING(for GL)
3452 AC_CACHE_VAL(ac_cv_have_gl,
3456 ac_save_ldflags="$LDFLAGS"
3457 ac_save_cxxflags="$CXXFLAGS"
3458 LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU"
3459 test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3460 LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
3461 CXXFLAGS="$CFLAGS $X_INCLUDES"
3462 test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3463 AC_TRY_LINK([#include <GL/gl.h>
3466 ac_cv_have_gl="mesa", ac_cv_have_gl="no")
3467 if test "x$ac_cv_have_gl" = "xno"; then
3468 LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGLU -lGL"
3469 test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3470 LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
3471 CXXFLAGS="$ac_save_cflags $X_INCLUDES"
3472 test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3473 AC_TRY_LINK([#include <GL/gl.h>
3476 ac_cv_have_gl="yes", ac_cv_have_gl="no")
3479 LDFLAGS="$ac_save_ldflags"
3480 CXXFLAGS="$ac_save_cxxflags"
3483 if test "$ac_cv_have_gl" = "no"; then
3489 AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
3490 if test "$GL_LDFLAGS" = ""; then
3491 if test "$ac_cv_have_gl" = "mesa"; then
3492 GLLIB='-lMesaGLU -lMesaGL $(LIB_X11)'
3494 GLLIB='-lGLU -lGL $(LIB_X11)'
3497 if test "$ac_cv_have_gl" = "mesa"; then
3498 GLLIB="$GL_LDFLAGS -lMesaGLU -lMesaGL "'$(LIB_X11)'
3500 GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
3503 if test "$GL_INCLUDE" = ""; then
3506 GLINC="-I$GL_INCLUDE"
3508 AC_MSG_RESULT($ac_cv_have_gl)
3517 dnl shadow password and PAM magic - maintained by ossi@kde.org
3520 AC_REQUIRE([KDE_CHECK_LIBDL])
3523 [ --with-pam[=ARG] enable support for PAM: ARG=[yes|no|service name]],
3524 [ if test "x$withval" = "xyes"; then
3527 elif test "x$withval" = "xno"; then
3531 pam_service=$withval
3533 ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3535 AC_CACHE_VAL(ac_cv_path_pam,
3537 AC_CHECK_LIB(pam, pam_start,
3538 [ AC_CHECK_HEADER(security/pam_appl.h,
3542 ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3545 eval "$ac_cv_path_pam"
3547 AC_MSG_CHECKING(for PAM)
3548 if test "x$use_pam" = xno; then
3553 AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)])
3554 PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL"
3556 dnl test whether struct pam_message is const (Linux) or not (Sun)
3557 AC_MSG_CHECKING(for const pam_message)
3558 AC_EGREP_HEADER([struct pam_message], security/pam_appl.h,
3559 [ AC_EGREP_HEADER([const struct pam_message], security/pam_appl.h,
3560 [AC_MSG_RESULT([const: Linux-type PAM])],
3561 [AC_MSG_RESULT([nonconst: Sun-type PAM])
3562 AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])]
3564 [AC_MSG_RESULT([not found - assume const, Linux-type PAM])])
3570 dnl DEF_PAM_SERVICE(arg name, full name, define name)
3571 AC_DEFUN(DEF_PAM_SERVICE, [
3573 [ --with-$1-pam=[val] override PAM service from --with-pam for $2],
3574 [ if test "x$use_pam" = xyes; then
3575 $3_PAM_SERVICE="$withval"
3577 AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected.
3578 You may want to enforce it by using --with-pam.])
3581 [ if test "x$use_pam" = xyes; then
3582 $3_PAM_SERVICE="$pam_service"
3585 if test -n "$$3_PAM_SERVICE"; then
3586 AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE])
3587 AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2])
3589 AC_SUBST($3_PAM_SERVICE)
3592 AC_DEFUN(KDE_SHADOWPASSWD, [
3593 AC_REQUIRE([KDE_PAM])
3595 AC_CHECK_LIB(shadow, getspent,
3596 [ LIBSHADOW="-lshadow"
3600 AC_CHECK_LIB(gen, getspent,
3604 [ AC_CHECK_FUNC(getspent,
3605 [ ac_use_shadow=yes ],
3606 [ ac_use_shadow=no ])
3612 AC_MSG_CHECKING([for shadow passwords])
3615 [ --with-shadow If you want shadow password support ],
3616 [ if test "x$withval" != "xno"; then
3622 use_shadow="$ac_use_shadow"
3625 if test "x$use_shadow" = xyes; then
3627 AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords])
3634 dnl finally make the relevant binaries setuid root, if we have shadow passwds.
3635 dnl this still applies, if we could use it indirectly through pam.
3636 if test "x$use_shadow" = xyes ||
3637 ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then
3639 *-*-freebsd* | *-*-netbsd* | *-*-openbsd*)
3640 SETUIDFLAGS="-m 4755 -o root";;
3642 SETUIDFLAGS="-m 4755";;
3645 AC_SUBST(SETUIDFLAGS)
3649 AC_DEFUN(KDE_PASSWDLIBS, [
3650 AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT
3651 AC_REQUIRE([KDE_PAM])
3652 AC_REQUIRE([KDE_SHADOWPASSWD])
3654 if test "x$use_pam" = "xyes"; then
3655 PASSWDLIBS="$PAMLIBS"
3657 PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN"
3660 dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but
3661 dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires
3662 dnl root to read, so kcheckpass needs to be root (even when using pam, since pam
3663 dnl may need to read /etc/master.passwd).
3666 SETUIDFLAGS="-m 4755 -o root"
3672 AC_SUBST(PASSWDLIBS)
3675 AC_DEFUN(KDE_CHECK_LIBDL,
3677 AC_CHECK_LIB(dl, dlopen, [
3679 ac_cv_have_dlfcn=yes
3682 AC_CHECK_LIB(dld, shl_unload, [
3684 ac_cv_have_shload=yes
3690 AC_DEFUN(KDE_CHECK_DLOPEN,
3693 AC_CHECK_HEADERS(dlfcn.h dl.h)
3694 if test "$ac_cv_header_dlfcn_h" = "no"; then
3698 if test "$ac_cv_header_dl_h" = "no"; then
3699 ac_cv_have_shload=no
3702 dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE
3704 AC_ARG_ENABLE(dlopen,
3705 [ --disable-dlopen link statically [default=no]] ,
3706 enable_dlopen=$enableval,
3709 # override the user's opinion, if we know it better ;)
3710 if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then
3714 if test "$ac_cv_have_dlfcn" = "yes"; then
3715 AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn])
3718 if test "$ac_cv_have_shload" = "yes"; then
3719 AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload])
3722 if test "$enable_dlopen" = no ; then
3723 test -n "$1" && eval $1
3725 test -n "$2" && eval $2
3730 AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING,
3732 KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no)
3734 AC_MSG_CHECKING([dynamic loading])
3735 eval "`egrep '^build_libtool_libs=' libtool`"
3736 if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then
3738 AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
3742 AC_MSG_RESULT($dynamic_loading)
3743 if test "$dynamic_loading" = "yes"; then
3750 AC_DEFUN(KDE_ADD_INCLUDES,
3752 if test -z "$1"; then
3753 test_include="Pix.h"
3758 AC_MSG_CHECKING([for libg++ ($test_include)])
3760 AC_CACHE_VAL(kde_cv_libgpp_includes,
3762 kde_cv_libgpp_includes=no
3768 /usr/unsupported/include \
3773 if test -r "$ac_dir/$test_include"; then
3774 kde_cv_libgpp_includes=$ac_dir
3780 AC_MSG_RESULT($kde_cv_libgpp_includes)
3781 if test "$kde_cv_libgpp_includes" != "no"; then
3782 all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES"
3788 AC_DEFUN(KDE_CHECK_MICO,
3790 AC_REQUIRE([KDE_CHECK_LIBDL])
3791 AC_REQUIRE([KDE_MISC_TESTS])
3792 AC_MSG_CHECKING(for MICO)
3794 if test -z "$MICODIR"; then
3795 kde_micodir=/usr/local
3797 kde_micodir="$MICODIR"
3800 AC_ARG_WITH(micodir,
3801 [ --with-micodir=micodir where mico is installed ],
3802 kde_micodir=$withval,
3803 kde_micodir=$kde_micodir
3806 AC_CACHE_VAL(kde_cv_mico_incdir,
3808 mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes"
3809 AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir)
3812 kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'`
3814 if test ! -r $kde_micodir/include/CORBA.h; then
3815 AC_MSG_ERROR([No CORBA.h found, specify another micodir])
3818 AC_MSG_RESULT($kde_micodir)
3820 MICO_INCLUDES=-I$kde_micodir/include
3821 AC_SUBST(MICO_INCLUDES)
3822 MICO_LDFLAGS=-L$kde_micodir/lib
3823 AC_SUBST(MICO_LDFLAGS)
3824 micodir=$kde_micodir
3827 AC_MSG_CHECKING([for MICO version])
3828 AC_CACHE_VAL(kde_cv_mico_version,
3831 cat >conftest.$ac_ext <<EOF
3833 #include <mico/version.h>
3836 printf("MICO_VERSION=%s\n",MICO_VERSION);
3840 ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest'
3841 if AC_TRY_EVAL(ac_compile); then
3842 if eval `./conftest 2>&5`; then
3843 kde_cv_mico_version=$MICO_VERSION
3845 AC_MSG_ERROR([your system is not able to execute a small application to
3846 find MICO version! Check $kde_micodir/include/mico/version.h])
3849 AC_MSG_ERROR([your system is not able to compile a small application to
3850 find MICO version! Check $kde_micodir/include/mico/version.h])
3854 dnl installed MICO version
3855 mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
3856 mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
3857 mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
3859 if test "x$1" = "x"; then
3865 dnl required MICO version
3866 req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
3867 req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
3868 req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
3870 if test "$mico_v_maj" -lt "$req_v_maj" || \
3871 ( test "$mico_v_maj" -eq "$req_v_maj" && \
3872 test "$mico_v_mid" -lt "$req_v_mid" ) || \
3873 ( test "$mico_v_mid" -eq "$req_v_mid" && \
3874 test "$mico_v_min" -lt "$req_v_min" )
3877 AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
3878 at least is required. You should upgrade MICO.])
3880 AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
3883 LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
3885 if test -z "$IDL"; then
3886 IDL='$(kde_bindir)/cuteidl'
3889 IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
3890 AC_SUBST(IDL_DEPENDENCIES)
3892 idldir="\$(includedir)/idl"
3897 AC_DEFUN(KDE_CHECK_MINI_STL,
3899 AC_REQUIRE([KDE_CHECK_MICO])
3901 AC_MSG_CHECKING(if we use mico's mini-STL)
3902 AC_CACHE_VAL(kde_cv_have_mini_stl,
3906 kde_save_cxxflags="$CXXFLAGS"
3907 CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
3910 #include <mico/config.h>
3913 #ifdef HAVE_MINI_STL
3917 kde_cv_have_mini_stl=no,
3918 kde_cv_have_mini_stl=yes)
3919 CXXFLAGS="$kde_save_cxxflags"
3923 if test "x$kde_cv_have_mini_stl" = "xyes"; then
3935 AC_DEFUN(KDE_CHECK_LIBPTHREAD,
3937 AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] )
3938 AC_SUBST(LIBPTHREAD)
3941 AC_DEFUN(KDE_CHECK_PTHREAD_OPTION,
3943 AC_ARG_ENABLE(kernel-threads, [ --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.],
3944 kde_use_kernthreads=$enableval, kde_use_kernthreads=no)
3946 if test "$kde_use_kernthreads" = "yes"; then
3947 ac_save_CXXFLAGS="$CXXFLAGS"
3948 ac_save_CFLAGS="$CFLAGS"
3949 CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS"
3950 CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS"
3951 AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h)
3952 CXXFLAGS="$ac_save_CXXFLAGS"
3953 CFLAGS="$ac_save_CFLAGS"
3954 if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then
3955 kde_use_kernthreads=no
3957 dnl Add proper -I and -l statements
3958 AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD
3959 if test "x$LIBPTHREAD" = "x"; then
3960 kde_use_kernthreads=no
3962 USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads"
3967 if test -z "$LIBPTHREAD"; then
3968 KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] )
3972 AH_VERBATIM(__svr_define, [
3973 #if defined(__SVR4) && !defined(__svr4__)
3979 KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
3980 CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4"
3983 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3986 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3987 LIBPTHREAD="$LIBPTHREAD -lc_r"
3989 linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
3990 if test "$CXX" = "KCC"; then
3991 CXXFLAGS="$CXXFLAGS --thread_safe"
3992 NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe"
3998 AC_SUBST(USE_THREADS)
3999 AC_SUBST(LIBPTHREAD)
4002 AC_DEFUN(KDE_CHECK_THREADING,
4004 AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
4005 AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION])
4006 dnl default is yes if libpthread is found and no if no libpthread is available
4007 if test -z "$LIBPTHREAD"; then
4008 if test -z "$USE_THREADS"; then
4009 kde_check_threading_default=no
4011 kde_check_threading_default=yes
4014 kde_check_threading_default=yes
4016 AC_ARG_ENABLE(threading, [ --disable-threading disables threading even if libpthread found ],
4017 kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default)
4018 if test "x$kde_use_threading" = "xyes"; then
4019 AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)])
4023 AC_DEFUN(KDE_TRY_LINK_PYTHON,
4025 if test "$kde_python_link_found" = no; then
4027 if test "$1" = normal; then
4028 AC_MSG_CHECKING(if a Python application links)
4030 AC_MSG_CHECKING(if Python depends on $2)
4033 AC_CACHE_VAL(kde_cv_try_link_python_$1,
4037 kde_save_cflags="$CFLAGS"
4038 CFLAGS="$CFLAGS $PYTHONINC"
4039 kde_save_libs="$LIBS"
4040 LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET"
4041 kde_save_ldflags="$LDFLAGS"
4042 LDFLAGS="$LDFLAGS $PYTHONLIB"
4048 PySys_SetArgv(1, 0);
4050 [kde_cv_try_link_python_$1=yes],
4051 [kde_cv_try_link_python_$1=no]
4053 CFLAGS="$kde_save_cflags"
4054 LIBS="$kde_save_libs"
4055 LDFLAGS="$kde_save_ldflags"
4058 if test "$kde_cv_try_link_python_$1" = "yes"; then
4060 kde_python_link_found=yes
4061 if test ! "$1" = normal; then
4062 LIBPYTHON="$LIBPYTHON $2"
4075 AC_DEFUN(KDE_CHECK_PYTHON_DIR,
4077 AC_MSG_CHECKING([for Python directory])
4079 AC_CACHE_VAL(kde_cv_pythondir,
4081 if test -z "$PYTHONDIR"; then
4082 kde_cv_pythondir=/usr/local
4084 kde_cv_pythondir="$PYTHONDIR"
4088 AC_ARG_WITH(pythondir,
4089 [ --with-pythondir=pythondir use python installed in pythondir ],
4091 ac_python_dir=$withval
4092 ], ac_python_dir=$kde_cv_pythondir
4095 AC_MSG_RESULT($ac_python_dir)
4098 AC_DEFUN(KDE_CHECK_PYTHON_INTERN,
4100 AC_REQUIRE([KDE_CHECK_LIBDL])
4101 AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
4102 AC_REQUIRE([KDE_CHECK_PYTHON_DIR])
4104 if test -z "$1"; then
4110 AC_MSG_CHECKING([for Python$version])
4112 python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes"
4113 AC_FIND_FILE(Python.h, $python_incdirs, python_incdir)
4114 if test ! -r $python_incdir/Python.h; then
4115 AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir)
4116 python_incdir=$python_incdir/python$version
4117 if test ! -r $python_incdir/Python.h; then
4122 PYTHONINC=-I$python_incdir
4124 python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
4125 AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir)
4126 if test ! -r $python_libdir/libpython$version.a; then
4127 AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir)
4128 python_libdir=$python_libdir/python$version/config
4129 if test ! -r $python_libdir/libpython$version.a; then
4134 PYTHONLIB=-L$python_libdir
4135 kde_orig_LIBPYTHON=$LIBPYTHON
4136 if test -z "$LIBPYTHON"; then
4137 LIBPYTHON=-lpython$version
4140 python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
4141 AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir)
4142 python_moddir=$python_moddir/python$version
4143 if test ! -r $python_moddir/copy.py; then
4147 PYTHONMODDIR=$python_moddir
4149 AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir)
4151 if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then
4152 LIBPYTHON=$kde_orig_LIBPYTHON
4153 test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB=""
4154 test "x$PYTHONINC" = "x-Ino" && PYTHONINC=""
4157 dnl Note: this test is very weak
4158 kde_python_link_found=no
4159 KDE_TRY_LINK_PYTHON(normal)
4160 KDE_TRY_LINK_PYTHON(m, -lm)
4161 KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD)
4162 KDE_TRY_LINK_PYTHON(tcl, -ltcl)
4163 KDE_TRY_LINK_PYTHON(db2, -ldb2)
4164 KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm])
4165 KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil])
4166 KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil])
4167 KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3])
4168 KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil])
4169 KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm])
4170 KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [],
4171 [AC_MSG_WARN([it seems, Python depends on another library.
4172 Pleae set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this
4173 and contact the authors to let them know about this problem])
4176 LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET"
4180 AC_SUBST(PYTHONMODDIR)
4181 AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python])
4187 AC_DEFUN(KDE_CHECK_PYTHON,
4189 KDE_CHECK_PYTHON_INTERN("2.3",
4190 [KDE_CHECK_PYTHON_INTERN("2.2",
4191 [KDE_CHECK_PYTHON_INTERN("2.1",
4192 [KDE_CHECK_PYTHON_INTERN("2.0", [ KDE_CHECK_PYTHON_INTERN($1, $2) ])
4196 AC_DEFUN(KDE_CHECK_STL_SGI,
4198 AC_MSG_CHECKING([if STL implementation is SGI like])
4199 AC_CACHE_VAL(kde_cv_stl_type_sgi,
4203 using namespace std;
4205 string astring="Hallo Welt.";
4206 astring.erase(0, 6); // now astring is "Welt"
4208 ], kde_cv_stl_type_sgi=yes,
4209 kde_cv_stl_type_sgi=no)
4212 AC_MSG_RESULT($kde_cv_stl_type_sgi)
4214 if test "$kde_cv_stl_type_sgi" = "yes"; then
4215 AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI])
4219 AC_DEFUN(KDE_CHECK_STL_HP,
4221 AC_MSG_CHECKING([if STL implementation is HP like])
4222 AC_CACHE_VAL(kde_cv_stl_type_hp,
4226 using namespace std;
4228 string astring="Hello World";
4229 astring.remove(0, 6); // now astring is "World"
4231 ], kde_cv_stl_type_hp=yes,
4232 kde_cv_stl_type_hp=no)
4234 AC_MSG_RESULT($kde_cv_stl_type_hp)
4236 if test "$kde_cv_stl_type_hp" = "yes"; then
4237 AC_DEFINE_UNQUOTED(HAVE_HP_STL, 1, [Define if you have a STL implementation by HP])
4241 AC_DEFUN(KDE_CHECK_STL,
4245 ac_save_CXXFLAGS="$CXXFLAGS"
4246 CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
4249 if test "$kde_cv_stl_type_sgi" = "no"; then
4252 if test "$kde_cv_stl_type_hp" = "no"; then
4253 AC_MSG_ERROR("no known STL type found - did you forget to install libstdc++[-devel] ?")
4257 CXXFLAGS="$ac_save_CXXFLAGS"
4261 AC_DEFUN(AC_FIND_QIMGIO,
4262 [AC_REQUIRE([AC_FIND_JPEG])
4263 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
4264 AC_MSG_CHECKING([for qimgio])
4265 AC_CACHE_VAL(ac_cv_lib_qimgio,
4269 ac_save_LIBS="$LIBS"
4270 ac_save_CXXFLAGS="$CXXFLAGS"
4271 LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT"
4272 CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
4275 #include <qimageio.h>
4276 #include <qstring.h>
4278 QString t = "hallo";
4283 ac_cv_lib_qimgio=yes,
4284 ac_cv_lib_qimgio=no,
4285 ac_cv_lib_qimgio=no)
4286 LIBS="$ac_save_LIBS"
4287 CXXFLAGS="$ac_save_CXXFLAGS"
4290 if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then
4291 LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG"
4293 AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available])
4296 AC_MSG_RESULT(not found)
4300 AC_DEFUN(KDE_CHECK_ANSI,
4304 AC_DEFUN(KDE_CHECK_INSURE,
4306 AC_ARG_ENABLE(insure, [ --enable-insure use insure++ for debugging [default=no]],
4308 if test $enableval = "no"; dnl
4309 then ac_use_insure="no"
4310 else ac_use_insure="yes"
4312 ], [ac_use_insure="no"])
4314 AC_MSG_CHECKING(if we will use Insure++ to debug)
4315 AC_MSG_RESULT($ac_use_insure)
4316 if test "$ac_use_insure" = "yes"; dnl
4317 then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "????
4321 AC_DEFUN(AM_DISABLE_LIBRARIES,
4323 AC_PROVIDE([AM_ENABLE_STATIC])
4324 AC_PROVIDE([AM_ENABLE_SHARED])
4330 AC_DEFUN(AC_CHECK_UTMP_FILE,
4332 AC_MSG_CHECKING([for utmp file])
4334 AC_CACHE_VAL(kde_cv_utmp_file,
4345 if test -r "$ac_file"; then
4346 kde_cv_utmp_file=$ac_file
4352 if test "$kde_cv_utmp_file" != "no"; then
4353 AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries])
4355 AC_MSG_RESULT($kde_cv_utmp_file)
4358 AC_MSG_RESULT([non found])
4363 AC_DEFUN(KDE_CREATE_SUBDIRSLIST,
4366 DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
4368 if test ! -s $srcdir/subdirs; then
4369 dnl Note: Makefile.common creates subdirs, so this is just a fallback
4371 files=`cd $srcdir && ls -1`
4372 dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
4374 echo $i >> $srcdir/subdirs
4378 if test -s $srcdir/inst-apps; then
4379 ac_topsubdirs="`cat $srcdir/inst-apps`"
4381 ac_topsubdirs="`cat $srcdir/subdirs`"
4384 for i in $ac_topsubdirs; do
4385 AC_MSG_CHECKING([if $i should be compiled])
4386 if test -d $srcdir/$i; then
4388 for j in $DO_NOT_COMPILE; do
4389 if test $i = $j; then
4396 AC_MSG_RESULT($install_it)
4397 vari=`echo $i | sed -e 's,[[-+.]],_,g'`
4398 if test $install_it = "yes"; then
4399 TOPSUBDIRS="$TOPSUBDIRS $i"
4400 eval "$vari""_SUBDIR_included=yes"
4402 eval "$vari""_SUBDIR_included=no"
4406 AC_SUBST(TOPSUBDIRS)
4409 AC_DEFUN(KDE_CHECK_NAMESPACES,
4411 AC_MSG_CHECKING(whether C++ compiler supports namespaces)
4425 int Foo::Bar::i = 1;
4428 AC_DEFINE(HAVE_NAMESPACES)
4435 AC_DEFUN(KDE_CHECK_NEWLIBS,
4440 dnl ------------------------------------------------------------------------
4441 dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org
4442 dnl ------------------------------------------------------------------------
4444 AC_DEFUN(AC_CHECK_S_ISSOCK,
4446 AC_MSG_CHECKING(for S_ISSOCK)
4447 AC_CACHE_VAL(ac_cv_have_s_issock,
4453 #include <sys/stat.h>
4457 int b = S_ISSOCK( buff.st_mode );
4459 ac_cv_have_s_issock=yes,
4460 ac_cv_have_s_issock=no)
4463 AC_MSG_RESULT($ac_cv_have_s_issock)
4464 if test "$ac_cv_have_s_issock" = "yes"; then
4465 AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.])
4468 AH_VERBATIM(_ISSOCK,
4470 #ifndef HAVE_S_ISSOCK
4471 #define HAVE_S_ISSOCK
4472 #define S_ISSOCK(mode) (1==0)
4478 dnl ------------------------------------------------------------------------
4479 dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org
4480 dnl ------------------------------------------------------------------------
4482 AC_DEFUN(AC_CHECK_KDEMAXPATHLEN,
4484 AC_MSG_CHECKING(for MAXPATHLEN)
4485 AC_CACHE_VAL(ac_cv_maxpathlen,
4488 cat > conftest.$ac_ext <<EOF
4490 # include <stdlib.h>
4493 #include <sys/param.h>
4495 #define MAXPATHLEN 1024
4498 KDE_HELLO MAXPATHLEN
4502 ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out"
4504 if AC_TRY_EVAL(ac_try) && test -s conftest.out; then
4505 ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out`
4507 ac_cv_maxpathlen=1024
4513 AC_MSG_RESULT($ac_cv_maxpathlen)
4514 AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] )
4517 dnl -------------------------------------------------------------------------
4518 dnl See if the compiler supports a template repository bero@redhat.de
4519 dnl -------------------------------------------------------------------------
4520 AC_DEFUN(KDE_COMPILER_REPO,
4525 KDE_CHECK_COMPILER_FLAG(frepo,
4531 if test -z "$REPO"; then
4532 KDE_CHECK_COMPILER_FLAG(instances=explicit,
4534 REPO="-instances=explicit"
4535 NOREPO="-instances=extern"
4539 if test -n "$REPO"; then
4540 AC_DEFINE_UNQUOTED(HAVE_TEMPLATE_REPOSITORY, 1,
4541 [C++ compiler supports template repository])
4549 AC_DEFUN(KDE_CHECK_HEADER,
4552 kde_safe_cppflags=$CPPFLAGS
4553 CPPFLAGS="$CPPFLAGS $all_includes"
4555 AC_CHECK_HEADER($1, $2, $3, $4)
4556 CPPFLAGS=$kde_safe_cppflags
4560 AC_DEFUN(KDE_CHECK_HEADERS,
4562 AH_CHECK_HEADERS([$1])
4564 kde_safe_cppflags=$CPPFLAGS
4565 CPPFLAGS="$CPPFLAGS $all_includes"
4567 AC_CHECK_HEADERS([$1], [$2], [$3], [$4])
4568 CPPFLAGS=$kde_safe_cppflags
4572 AC_DEFUN(KDE_FAST_CONFIGURE,
4574 dnl makes configure fast (needs perl)
4575 AC_ARG_ENABLE(fast-perl, [ --disable-fast-perl disable fast Makefile generation (needs perl)],
4576 with_fast_perl=$enableval, with_fast_perl=yes)
4579 AC_DEFUN(KDE_CONF_FILES,
4582 if test -f $srcdir/configure.files ; then
4583 val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files`
4586 if test -n "$val" ; then
4588 CONF_FILES="$CONF_FILES $i"
4591 AC_SUBST(CONF_FILES)
4594 AC_DEFUN(KDE_SET_PREFIX,
4597 dnl make $KDEDIR the default for the installation
4598 AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
4600 if test "x$prefix" = "xNONE"; then
4601 prefix=$ac_default_prefix
4602 ac_configure_args="$ac_configure_args --prefix=$prefix"
4604 # And delete superflous '/' to make compares easier
4605 prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
4606 exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
4611 pushdef([AC_PROG_INSTALL],
4613 dnl our own version, testing for a -p flag
4614 popdef([AC_PROG_INSTALL])
4615 dnl as AC_PROG_INSTALL works as it works we first have
4616 dnl to save if the user didn't specify INSTALL, as the
4617 dnl autoconf one overwrites INSTALL and we have no chance to find
4619 test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL
4620 test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM
4621 test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT
4624 if test -z "$kde_save_INSTALL_given" ; then
4625 # OK, user hasn't given any INSTALL, autoconf found one for us
4626 # now we test, if it supports the -p flag
4627 AC_MSG_CHECKING(for -p flag to install)
4628 rm -f confinst.$$.* > /dev/null 2>&1
4629 echo "Testtest" > confinst.$$.orig
4631 if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
4632 if test -f confinst.$$.new ; then
4633 # OK, -p seems to do no harm to install
4634 INSTALL="${INSTALL} -p"
4639 AC_MSG_RESULT($ac_res)
4641 dnl the following tries to resolve some signs and wonders coming up
4642 dnl with different autoconf/automake versions
4644 dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s
4645 dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS)
4646 dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s
4647 dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has
4648 dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the
4649 dnl install-@DIR@PROGRAMS targets to explicitly use that flag
4650 dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as
4651 dnl INSTALL_SCRIPT, which breaks with automake <= 1.4
4652 dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure
4653 dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from
4654 dnl automake (due to broken Makefile.am or whatever) to install programs,
4655 dnl and so does not see the -s flag in automake > 1.4
4656 dnl to clean up that mess we:
4657 dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG
4658 dnl which cleans KDE's program with automake > 1.4;
4659 dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems
4660 dnl with automake<=1.4
4661 dnl note that dues to this sometimes two '-s' flags are used (if KDE
4662 dnl properly uses install-@DIR@PROGRAMS, but I don't care
4664 dnl And to all this comes, that I even can't write in comments variable
4665 dnl names used by automake, because it is so stupid to think I wanted to
4666 dnl _use_ them, therefor I have written A_M_... instead of AM_
4667 dnl hmm, I wanted to say something ... ahh yes: Arghhh.
4669 if test -z "$kde_save_INSTALL_PROGRAM_given" ; then
4670 INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
4672 if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
4673 INSTALL_SCRIPT='${INSTALL}'
4677 AC_DEFUN(KDE_LANG_CPLUSPLUS,
4679 ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
4680 pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS])
4683 pushdef([AC_LANG_CPLUSPLUS],
4684 [popdef([AC_LANG_CPLUSPLUS])
4688 AC_DEFUN(KDE_CHECK_LONG_LONG,
4690 AC_MSG_CHECKING(for long long)
4691 AC_CACHE_VAL(kde_cv_c_long_long,
4699 kde_cv_c_long_long=yes, kde_cv_c_long_long=no)
4702 AC_MSG_RESULT($kde_cv_c_long_long)
4703 if test "$kde_cv_c_long_long" = yes; then
4704 AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype])
4708 AC_DEFUN(KDE_CHECK_LIB,
4710 kde_save_LDFLAGS="$LDFLAGS"
4711 dnl AC_CHECK_LIB modifies LIBS, so save it here
4712 kde_save_LIBS="$LIBS"
4713 LDFLAGS="$LDFLAGS $all_libraries"
4715 aix*) LDFLAGS="-brtl $LDFLAGS"
4716 test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS"
4719 AC_CHECK_LIB($1, $2, $3, $4, $5)
4720 LDFLAGS="$kde_save_LDFLAGS"
4721 LIBS="$kde_save_LIBS"
4724 AC_DEFUN(KDE_JAVA_PREFIX,
4727 base=`basename "$1"`
4728 list=`ls -1 $dir 2> /dev/null`
4729 for entry in $list; do
4730 if test -d $dir/$entry/bin; then
4733 javadirs="$javadirs $dir/$entry/bin"
4736 elif test -d $dir/$entry/jre/bin; then
4739 javadirs="$javadirs $dir/$entry/jre/bin"
4746 dnl KDE_CHEC_JAVA_DIR(onlyjre)
4747 AC_DEFUN(KDE_CHECK_JAVA_DIR,
4751 [ --with-java=javadir use java installed in javadir, --without-java disables ],
4752 [ ac_java_dir=$withval
4756 AC_MSG_CHECKING([for Java])
4758 dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH
4759 if test "x$ac_java_dir" = "xno"; then
4761 kde_java_includedir=no
4762 kde_java_libjvmdir=no
4763 kde_java_libhpidir=no
4765 if test "x$ac_java_dir" = "x"; then
4768 dnl No option set -> look in $PATH
4769 KDE_JAVA_PREFIX(/usr/j2se)
4770 KDE_JAVA_PREFIX(/usr/j*dk*)
4771 KDE_JAVA_PREFIX(/usr/lib/j*dk*)
4772 KDE_JAVA_PREFIX(/opt/j*sdk*)
4773 KDE_JAVA_PREFIX(/usr/lib/java*)
4774 KDE_JAVA_PREFIX(/usr/java*)
4775 KDE_JAVA_PREFIX(/usr/java/j*dk*)
4776 KDE_JAVA_PREFIX(/usr/java/j*re*)
4777 KDE_JAVA_PREFIX(/usr/lib/SunJava2*)
4778 KDE_JAVA_PREFIX(/usr/lib/SunJava*)
4779 KDE_JAVA_PREFIX(/usr/lib/IBMJava2*)
4780 KDE_JAVA_PREFIX(/usr/lib/IBMJava*)
4781 KDE_JAVA_PREFIX(/opt/java*)
4786 for dir in $PATH; do
4787 javadirs="$javadirs $dir"
4792 for dir in $javadirs; do
4793 if test ! -d $dir; then break; fi
4794 if test -x "$dir/java"; then
4795 libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
4796 if test ! -f $libjvmdir/libjvm.so; then continue; fi
4797 jredirs="$jredirs $dir"
4804 for dir in $jredirs; do
4806 kde_java_bindir=$dir
4807 if test -x "$dir/javac"; then
4813 if test -n "$JAVAC"; then
4814 dnl this substitution might not work - well, we test for jni.h below
4815 kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'`
4817 kde_java_includedir=no
4820 dnl config option set
4821 kde_java_bindir=$ac_java_dir/bin
4822 if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then
4823 kde_java_includedir=no
4825 kde_java_includedir=$ac_java_dir/include
4830 dnl At this point kde_java_bindir and kde_java_includedir are either set or "no"
4831 if test "x$kde_java_bindir" != "xno"; then
4833 dnl Look for libjvm.so
4834 kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
4835 dnl Look for libhpi.so and avoid green threads
4836 kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1`
4838 dnl Now check everything's fine under there
4839 dnl the include dir is our flag for having the JDK
4840 if test -d "$kde_java_includedir"; then
4841 if test ! -x "$kde_java_bindir/javac"; then
4842 AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.])
4844 if test ! -x "$kde_java_bindir/javah"; then
4845 AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
4847 if test ! -x "$kde_java_bindir/jar"; then
4848 AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
4850 if test ! -r "$kde_java_includedir/jni.h"; then
4851 AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.])
4854 jni_includes="-I$kde_java_includedir"
4855 dnl Strange thing, jni.h requires jni_md.h which is under genunix here..
4856 dnl and under linux here..
4857 test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux"
4858 test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris"
4859 test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix"
4866 if test ! -r "$kde_java_libjvmdir/libjvm.so"; then
4867 AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.])
4870 if test ! -x "$kde_java_bindir/java"; then
4871 AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
4874 if test ! -r "$kde_java_libhpidir/libhpi.so"; then
4875 AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.])
4878 if test -n "$jni_includes"; then
4879 dnl Check for JNI version
4882 ac_cxxflags_safe="$CXXFLAGS"
4883 CXXFLAGS="$CXXFLAGS $all_includes $jni_includes"
4889 #ifndef JNI_VERSION_1_2
4892 ],[ kde_jni_works=yes ],
4893 [ kde_jni_works=no ])
4895 if test $kde_jni_works = no; then
4896 AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h.
4897 You need to have Java Development Kit (JDK) version 1.2.
4899 Use --with-java to specify another location.
4900 Use --without-java to configure without java support.
4901 Or download a newer JDK and try again.
4902 See e.g. http://java.sun.com/products/jdk/1.2 ])
4905 CXXFLAGS="$ac_cxxflags_safe"
4908 dnl All tests ok, inform and subst the variables
4910 JAVAC=$kde_java_bindir/javac
4911 JAVAH=$kde_java_bindir/javah
4912 JAR=$kde_java_bindir/jar
4913 AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
4914 JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi"
4915 AC_MSG_RESULT([java JDK in $kde_java_bindir])
4918 AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
4919 AC_MSG_RESULT([java JRE in $kde_java_bindir])
4922 AC_MSG_RESULT([none found])
4929 AC_SUBST(jni_includes)
4931 # for backward compat
4932 kde_cv_java_includedir=$kde_java_includedir
4933 kde_cv_java_bindir=$kde_java_bindir
4936 dnl this is a redefinition of autoconf 2.5x's INCOMPATIBLE_FOREACH.
4937 dnl When the argument list becomes big, as in KDE for AC_OUTPUT in
4938 dnl big packages, m4_foreach is dog-slow. So use our own version of
4939 dnl it. (matz@kde.org)
4940 m4_define([mm_foreach],
4941 [m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])])
4942 m4_define([mm_car], [[$1]])
4943 m4_define([mm_car2], [[$@]])
4944 m4_define([_mm_foreach],
4945 [m4_if(m4_quote($2), [], [],
4946 [m4_define([$1], [mm_car($2)])$3[]_mm_foreach([$1],
4947 mm_car2(m4_shift($2)),
4949 m4_define([INCOMPATIBLE_FOREACH],
4950 [mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])])
4952 AC_DEFUN(KDE_NEED_FLEX,
4955 LIBS="$LIBS $USER_LDFLAGS"
4958 if test -z "$LEXLIB"; then
4959 AC_MSG_ERROR([You need to have flex installed.])
4964 AC_DEFUN(AC_PATH_QTOPIA,
4966 dnl TODO: use AC_CACHE_VAL
4968 if test -z "$1"; then
4973 qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"`
4974 qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"`
4975 qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"`
4978 qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat"
4979 qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat"
4981 AC_REQUIRE([AC_PATH_QT])
4983 AC_MSG_CHECKING([for Qtopia])
4986 AC_SUBST(LIB_QTOPIA)
4988 kde_qtopia_dirs="$QPEDIR /opt/Qtopia"
4992 AC_ARG_WITH(qtopia-dir,
4993 [ --with-qtopia-dir=DIR where the root of Qtopia is installed ],
4994 [ ac_qtopia_incdir="$withval"/include] )
4997 for dir in $kde_qtopia_dirs; do
4998 qtopia_incdirs="$qtopia_incdirs $dir/include"
5001 if test ! "$ac_qtopia_incdir" = "NO"; then
5002 qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs"
5006 AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir)
5007 ac_qtopia_incdir="$qtopia_incdir"
5009 if test -z "$qtopia_incdir"; then
5010 AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.])
5013 qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`;
5014 qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`;
5015 qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`;
5017 qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat"
5018 qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat"
5019 if test "$qtopia_ver" -lt "$qtopia_minver"; then
5020 AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr
5027 ac_cxxflags_safe="$CXXFLAGS"
5028 ac_ldflags_safe="$LDFLAGS"
5029 ac_libs_safe="$LIBS"
5031 CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes"
5032 LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
5033 LIBS="$LIBS $LIB_QTOPIA $LIBQT"
5035 cat > conftest.$ac_ext <<EOF
5036 #include "confdefs.h"
5037 #include <qpe/qpeapplication.h>
5038 #include <qpe/version.h>
5040 int main( int argc, char **argv )
5042 QPEApplication app( argc, argv );
5047 if AC_TRY_EVAL(ac_link) && test -s conftest; then
5051 AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at
5052 the end of config.log])
5055 CXXFLAGS="$ac_cxxflags_safe"
5056 LDFLAGS="$ac_ldflags_safe"
5057 LIBS="$ac_libs_safe"
5061 QTOPIA_INCLUDES="-I$qtopia_incdir"
5062 AC_SUBST(QTOPIA_INCLUDES)
5064 AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir])
5068 AC_DEFUN(KDE_INIT_DOXYGEN,
5070 AC_MSG_CHECKING([for Qt docs])
5072 if test "${with_qt_dir+set}" = set; then
5073 kde_qtdir="$with_qt_dir"
5076 AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html ], QTDOCDIR)
5077 AC_MSG_RESULT($QTDOCDIR)
5081 KDE_FIND_PATH(dot, DOT, [], [])
5082 if test -n "$DOT"; then
5087 AC_SUBST(KDE_HAVE_DOT)
5088 KDE_FIND_PATH(doxygen, DOXYGEN, [], [])
5091 DOXYGEN_PROJECT_NAME="$1"
5092 DOXYGEN_PROJECT_NUMBER="$2"
5093 AC_SUBST(DOXYGEN_PROJECT_NAME)
5094 AC_SUBST(DOXYGEN_PROJECT_NUMBER)
5097 if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then
5100 AC_SUBST(KDE_HAS_DOXYGEN)
5105 AC_DEFUN(AC_FIND_BZIP2,
5107 AC_MSG_CHECKING([for bzDecompress in libbz2])
5108 AC_CACHE_VAL(ac_cv_lib_bzip2,
5111 kde_save_LIBS="$LIBS"
5112 LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET"
5113 kde_save_CFLAGS="$CFLAGS"
5114 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
5120 [ bz_stream s; (void) bzDecompress(&s); ],
5121 eval "ac_cv_lib_bzip2='-lbz2'",
5122 eval "ac_cv_lib_bzip2=no")
5123 LIBS="$kde_save_LIBS"
5124 CFLAGS="$kde_save_CFLAGS"
5126 AC_MSG_RESULT($ac_cv_lib_bzip2)
5128 if test ! "$ac_cv_lib_bzip2" = no; then
5131 LIBBZ2="$ac_cv_lib_bzip2"
5138 KDE_CHECK_COMPILER_FLAG(shared, [
5139 ld_shared_flag="-shared"
5141 KDE_CHECK_COMPILER_FLAG(fPIC, [
5142 cxx_shared_flag="-fPIC"
5145 AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2])
5146 AC_CACHE_VAL(ac_cv_lib_bzip2_prefix,
5149 kde_save_LIBS="$LIBS"
5150 LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET"
5151 kde_save_CXXFLAGS="$CXXFLAGS"
5152 CXXFLAGS="$CFLAGS $cxx_shared_flag $all_includes $USER_INCLUDES"
5159 [ bz_stream s; (void) BZ2_bzDecompress(&s); ],
5160 eval "ac_cv_lib_bzip2_prefix='-lbz2'",
5161 eval "ac_cv_lib_bzip2_prefix=no")
5162 LIBS="$kde_save_LIBS"
5163 CXXFLAGS="$kde_save_CXXFLAGS"
5166 AC_MSG_RESULT($ac_cv_lib_bzip2_prefix)
5170 if test ! "$ac_cv_lib_bzip2_prefix" = no; then
5173 LIBBZ2="$ac_cv_lib_bzip2_prefix"
5176 AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix])
5177 dnl else, we just ignore this
5181 AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR")
5184 dnl ------------------------------------------------------------------------
5185 dnl Try to find the SSL headers and libraries.
5186 dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed)
5187 dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed)
5188 dnl ------------------------------------------------------------------------
5190 AC_DEFUN(KDE_CHECK_SSL,
5192 LIBSSL="-lssl -lcrypto"
5193 AC_REQUIRE([KDE_CHECK_LIB64])
5195 ac_ssl_includes=NO ac_ssl_libraries=NO
5198 AC_ARG_WITH(ssl-dir,
5199 [ --with-ssl-dir=DIR where the root of OpenSSL is installed],
5200 [ ac_ssl_includes="$withval"/include
5201 ac_ssl_libraries="$withval"/lib$kdelibsuff
5206 [ --without-ssl disable SSL checks],
5207 [want_ssl=$withval])
5209 if test $want_ssl = yes; then
5211 AC_MSG_CHECKING(for OpenSSL)
5213 AC_CACHE_VAL(ac_cv_have_ssl,
5214 [#try to guess OpenSSL locations
5216 ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes"
5217 ssl_incdirs="$ac_ssl_includes $ssl_incdirs"
5218 AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir)
5219 ac_ssl_includes="$ssl_incdir"
5221 ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs"
5222 if test ! "$ac_ssl_libraries" = "NO"; then
5223 ssl_libdirs="$ac_ssl_libraries $ssl_libdirs"
5228 for dir in $ssl_libdirs; do
5229 try="ls -1 $dir/libssl*"
5230 if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
5233 ac_ssl_libraries="$ssl_libdir"
5238 ac_cflags_safe="$CFLAGS"
5239 ac_ldflags_safe="$LDFLAGS"
5240 ac_libs_safe="$LIBS"
5242 CFLAGS="$CFLAGS -I$ssl_incdir $all_includes"
5243 LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries"
5244 LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref"
5246 AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();,
5252 CFLAGS="$ac_cflags_safe"
5253 LDFLAGS="$ac_ldflags_safe"
5254 LIBS="$ac_libs_safe"
5258 if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then
5266 eval "$ac_cv_have_ssl"
5268 AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes])
5270 AC_MSG_CHECKING([whether OpenSSL uses rsaref])
5271 AC_MSG_RESULT($ac_ssl_rsaref)
5273 AC_MSG_CHECKING([for easter eggs])
5274 AC_MSG_RESULT([none found])
5280 if test "$have_ssl" = yes; then
5281 AC_MSG_CHECKING(for OpenSSL version)
5282 dnl Check for SSL version
5283 AC_CACHE_VAL(ac_cv_ssl_version,
5288 cat >conftest.$ac_ext <<EOF
5289 #include <openssl/opensslv.h>
5293 #ifndef OPENSSL_VERSION_NUMBER
5294 printf("ssl_version=\\"error\\"\n");
5296 if (OPENSSL_VERSION_NUMBER < 0x00906000)
5297 printf("ssl_version=\\"old\\"\n");
5299 printf("ssl_version=\\"ok\\"\n");
5305 ac_compile='${CC-gcc} $CFLAGS -I$ac_ssl_includes conftest.$ac_ext -o conftest'
5306 if AC_TRY_EVAL(ac_compile); then
5308 if eval `./conftest 2>&5`; then
5309 if test $ssl_version = error; then
5310 AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !])
5312 if test $ssl_version = old; then
5313 AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.])
5317 ac_cv_ssl_version="ssl_version=$ssl_version"
5319 AC_MSG_ERROR([Your system couldn't run a small SSL test program.
5320 Check config.log, and if you can't figure it out, send a mail to
5321 David Faure <faure@kde.org>, attaching your config.log])
5325 AC_MSG_ERROR([Your system couldn't link a small SSL test program.
5326 Check config.log, and if you can't figure it out, send a mail to
5327 David Faure <faure@kde.org>, attaching your config.log])
5334 eval "$ac_cv_ssl_version"
5335 AC_MSG_RESULT($ssl_version)
5338 if test "$have_ssl" != yes; then
5341 AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL])
5342 ac_cv_have_ssl="have_ssl=yes \
5343 ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref"
5346 ssl_libraries="$ac_ssl_libraries"
5347 ssl_includes="$ac_ssl_includes"
5349 if test "$ac_ssl_rsaref" = yes; then
5350 LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref"
5353 if test $ssl_version = "old"; then
5354 AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6])
5358 if test "$ssl_includes" = "/usr/include" || test "$ssl_includes" = "/usr/local/include" || test -z "$ssl_includes"; then
5361 SSL_INCLUDES="-I$ssl_includes"
5364 if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries"; then
5367 SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries"
5370 AC_SUBST(SSL_INCLUDES)
5371 AC_SUBST(SSL_LDFLAGS)
5375 AC_DEFUN(KDE_CHECK_STRLCPY,
5379 AC_CHECK_SIZEOF(size_t)
5380 AC_CHECK_SIZEOF(unsigned long)
5382 AC_MSG_CHECKING([sizeof(size_t) == sizeof(unsigned long)])
5384 #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG
5387 ],[AC_MSG_RESULT([yes])],[
5390 Apparently on your system our assumption sizeof(size_t) == sizeof(unsigned long)
5391 does not apply. Please mail kde-devel@kde.org with a description of your system!