Install gettext-0.18.1.1.tar.gz
[msysgit.git] / mingw / share / doc / gettext / examples / hello-c++-kde / admin / acinclude.m4.in
blob18ca709214771f1537e9c94935dc19e85cfdf14d
1 ##   -*- autoconf -*-
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.
22 dnl IMPORTANT NOTE:
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. 
25 dnl
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 ------------------------------------------------------------------------
33 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])])
39 # KDE_PATH_X_DIRECT
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.
53 ac_x_includes=],
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.
56   for ac_dir in               \
57     /usr/X11/include          \
58     /usr/X11R6/include        \
59     /usr/X11R5/include        \
60     /usr/X11R4/include        \
61                               \
62     /usr/include/X11          \
63     /usr/include/X11R6        \
64     /usr/include/X11R5        \
65     /usr/include/X11R4        \
66                               \
67     /usr/local/X11/include    \
68     /usr/local/X11R6/include  \
69     /usr/local/X11R5/include  \
70     /usr/local/X11R4/include  \
71                               \
72     /usr/local/include/X11    \
73     /usr/local/include/X11R6  \
74     /usr/local/include/X11R5  \
75     /usr/local/include/X11R4  \
76                               \
77     /usr/X386/include         \
78     /usr/x386/include         \
79     /usr/XFree86/include/X11  \
80                               \
81     /usr/include              \
82     /usr/local/include        \
83     /usr/unsupported/include  \
84     /usr/athena/include       \
85     /usr/local/x11r5/include  \
86     /usr/lpp/Xamples/include  \
87                               \
88     /usr/openwin/include      \
89     /usr/openwin/share/include \
90     ; \
91   do
92     if test -r "$ac_dir/$x_direct_test_include"; then
93       ac_x_includes=$ac_dir
94       break
95     fi
96   done])
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.
107   ac_save_LIBS="$LIBS"
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.
112 ac_x_libraries=],
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}         \
121                                         \
122     /usr/lib${kdelibsuff}/X11           \
123     /usr/lib${kdelibsuff}/X11R6         \
124     /usr/lib${kdelibsuff}/X11R5         \
125     /usr/lib${kdelibsuff}/X11R4         \
126                                         \
127     /usr/local/X11/lib${kdelibsuff}     \
128     /usr/local/X11R6/lib${kdelibsuff}   \
129     /usr/local/X11R5/lib${kdelibsuff}   \
130     /usr/local/X11R4/lib${kdelibsuff}   \
131                                         \
132     /usr/local/lib${kdelibsuff}/X11     \
133     /usr/local/lib${kdelibsuff}/X11R6   \
134     /usr/local/lib${kdelibsuff}/X11R5   \
135     /usr/local/lib${kdelibsuff}/X11R4   \
136                                         \
137     /usr/X386/lib${kdelibsuff}          \
138     /usr/x386/lib${kdelibsuff}          \
139     /usr/XFree86/lib${kdelibsuff}/X11   \
140                                         \
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       \
148                                         \
149     /usr/openwin/lib${kdelibsuff}       \
150     /usr/openwin/share/lib${kdelibsuff} \
151     ; \
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
157       break 2
158     fi
159   done
160 done])
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,
171 $3=NO
172 for i in $2;
174   for j in $1;
175   do
176     echo "configure: __oline__: $i/$j" >&AC_FD_CC
177     if test -r "$i/$j"; then
178       echo "taking that" >&AC_FD_CC
179       $3=$i
180       break 2
181     fi
182   done
183 done
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
192         kde_cv_path="$$2";
193    else
194         kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
196         AC_CACHE_VAL(kde_cv_path_$kde_cache,
197         [
198         kde_cv_path="NONE"
199         dirs="$3"
200         kde_save_IFS=$IFS
201         IFS=':'
202         for dir in $PATH; do
203           dirs="$dirs $dir"
204         done
205         IFS=$kde_save_IFS
207         for dir in $dirs; do
208           if test -x "$dir/$1"; then
209             if test -n "$5"
210             then
211               evalstr="$dir/$1 $5 2>&1 "
212               if eval $evalstr; then
213                 kde_cv_path="$dir/$1"
214                 break
215               fi
216             else
217                 kde_cv_path="$dir/$1"
218                 break
219             fi
220           fi
221         done
223         eval "kde_cv_path_$kde_cache=$kde_cv_path"
225         ])
227       eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
229    fi
231    if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
232       AC_MSG_RESULT(not found)
233       $4
234    else
235       AC_MSG_RESULT($kde_cv_path)
236       $2=$kde_cv_path
238    fi
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
249 configure.
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
261 configure.
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,
271     [
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"
278         else
279             eval "kde_cv_prog_uic_$kde_cache=no"
280         fi
281         rm -f conftest*
282     ])
284     if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
285         AC_MSG_RESULT([yes])
286         :
287         $3
288     else
289         AC_MSG_RESULT([no])
290         :
291         $4
292     fi
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,
303    qt_bindirs=""
304    for dir in $kde_qt_dirs; do
305       qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
306    done
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"
310    fi
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
317        exit 1
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)
322        UIC=$UIC_PATH
323        if test x$ac_uic_supports_libpath = xyes; then
324            UIC="$UIC -L \$(kde_widgetdir)"
325        fi
326        if test x$ac_uic_supports_nounload = xyes; then
327            UIC="$UIC -nounload"
328        fi
329      fi
330    else
331      UIC="echo uic not available: "
332    fi
334    AC_SUBST(MOC)
335    AC_SUBST(UIC)
337    UIC_TR="i18n"
338    if test $kde_qtver = 3; then
339      UIC_TR="tr2i18n"
340    fi
342    AC_SUBST(UIC_TR)
345 AC_DEFUN(KDE_1_CHECK_PATHS,
347   KDE_1_CHECK_PATH_HEADERS
349   KDE_TEST_RPATH=
351   if test -n "$USE_RPATH"; then
353      if test -n "$kde_libraries"; then
354        KDE_TEST_RPATH="-R $kde_libraries"
355      fi
357      if test -n "$qt_libraries"; then
358        KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
359      fi
361      if test -n "$x_libraries"; then
362        KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
363      fi
365      KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
366   fi
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
372   AC_MSG_RESULT(yes)
373 else
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
381   kde_result=done
382 else
383   kde_result=problems
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\" \
414         kde_result=$1"
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'
423   fi
424   if test -z "$kde_appsdir"; then
425     kde_appsdir='\${prefix}/share/applnk'
426   fi
427   if test -z "$kde_icondir"; then
428     kde_icondir='\${prefix}/share/icons'
429   fi
430   if test -z "$kde_sounddir"; then
431     kde_sounddir='\${prefix}/share/sounds'
432   fi
433   if test -z "$kde_datadir"; then
434     kde_datadir='\${prefix}/share/apps'
435   fi
436   if test -z "$kde_locale"; then
437     kde_locale='\${prefix}/share/locale'
438   fi
439   if test -z "$kde_cgidir"; then
440     kde_cgidir='\${exec_prefix}/cgi-bin'
441   fi
442   if test -z "$kde_confdir"; then
443     kde_confdir='\${prefix}/share/config'
444   fi
445   if test -z "$kde_mimedir"; then
446     kde_mimedir='\${prefix}/share/mimelnk'
447   fi
448   if test -z "$kde_toolbardir"; then
449     kde_toolbardir='\${prefix}/share/toolbar'
450   fi
451   if test -z "$kde_wallpaperdir"; then
452     kde_wallpaperdir='\${prefix}/share/wallpapers'
453   fi
454   if test -z "$kde_templatesdir"; then
455     kde_templatesdir='\${prefix}/share/templates'
456   fi
457   if test -z "$kde_bindir"; then
458     kde_bindir='\${exec_prefix}/bin'
459   fi
460   if test -z "$kde_servicesdir"; then
461     kde_servicesdir='\${prefix}/share/services'
462   fi
463   if test -z "$kde_servicetypesdir"; then
464     kde_servicetypesdir='\${prefix}/share/servicetypes'
465   fi
466   if test -z "$kde_moduledir"; then
467     if test "$kde_qtver" = "2"; then
468       kde_moduledir='\${libdir}/kde2'
469     else
470       kde_moduledir='\${libdir}/kde3'
471     fi
472   fi
473   if test -z "$kde_styledir"; then
474     kde_styledir='\${libdir}/kde3/plugins/styles'
475   fi
476   if test -z "$kde_widgetdir"; then
477     kde_widgetdir='\${libdir}/kde3/plugins/designer'
478   fi
480   KDE_SET_PATHS(defaults)
482 else
484   if test $kde_qtver = 1; then
485      AC_MSG_RESULT([compiling])
486      KDE_1_CHECK_PATHS
487   else
488      AC_MSG_ERROR([path checking not yet supported for KDE 2])
489   fi
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
506   fi
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
529            kde_save_IFS=$IFS
530            IFS=:
531            for dir in $KDEDIRS; do
532                 kde_default_bindirs="$dir/bin $kde_default_bindirs "
533            done
534            IFS=$kde_save_IFS
535         fi
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])
543       
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=""
550             else
551                 KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl"
552             fi
553         fi
555         DCOP_DEPENDENCIES='$(DCOPIDL)'
556         AC_SUBST(DCOPIDL)
557         AC_SUBST(DCOPIDL2CPP)
558         AC_SUBST(DCOP_DEPENDENCIES)
559         AC_SUBST(MCOPIDL)
560         AC_SUBST(ARTSCCONFIG)
561         AC_SUBST(KDECONFIG)
562         AC_SUBST(MEINPROC)
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.
571                           ])
572            fi
573            kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
574         else
575            kde_libs_prefix='$(prefix)'
576            kde_libs_htmldir='$(kde_htmldir)'
577         fi
578         AC_SUBST(kde_libs_prefix)
579         AC_SUBST(kde_libs_htmldir)
580 ])dnl
582 AC_DEFUN(AC_CREATE_KFSSTND,
584 AC_REQUIRE([AC_CHECK_RPATH])
586 AC_MSG_CHECKING([for KDE paths])
587 kde_result=""
588 kde_cached_paths=yes
589 AC_CACHE_VAL(kde_cv_all_paths,
591   KDE_SET_DEFAULT_PATHS($1)
592   kde_cached_paths=no
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
598   kde_result=
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=
603   kde_have_all_paths=
604   kde_styledir=
605   kde_widgetdir=
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!)
618 else
619   rm -f conftest*
620   AC_MSG_RESULT($kde_result)
623 bindir=$kde_bindir
625 KDE_SUBST_PROGRAMS
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)
636 AC_SUBST(kde_locale)
637 AC_SUBST(kde_confdir)
638 AC_SUBST(kde_mimedir)
639 AC_SUBST(kde_wallpaperdir)
640 AC_SUBST(kde_bindir)
641 dnl for KDE 2
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"
650 else
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,
662    AC_LANG_C
663    dnl Checks for libraries.
664    AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD 
665    AC_SUBST(LIBUTIL)
666    AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD
667    AC_SUBST(LIBCOMPAT)
668    kde_have_crypt=
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
673 support])
674         kde_have_crypt=no
675       ]))
676    AC_SUBST(LIBCRYPT)
677    if test $kde_have_crypt = yes; then
678       AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
679    fi
680    AC_CHECK_SOCKLEN_T
681    AC_LANG_C
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"])
686    fi
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")
690    fi
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", ,
694         $X_EXTRA_LIBS)
695    fi
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")
700    fi
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"))
705    
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"
720    ])
722    AC_CHECK_RES_INIT
723    AC_SUBST(LIB_POLL)
724    AC_SUBST(FRAMEWORK_COREAUDIO)
725    LIBSOCKET="$X_EXTRA_LIBS"
726    AC_SUBST(LIBSOCKET)
727    AC_SUBST(X_EXTRA_LIBS)
728    AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
729    AC_SUBST(LIBUCB)
731    case $host in  dnl this *is* LynxOS specific
732    *-*-lynxos* )
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
737          ;;
738     esac
740    KDE_CHECK_TYPES
741    KDE_CHECK_LIBDL
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.
748  */
750 #if defined(_AIX)
751 #include <strings.h>
752 #endif
755 AC_CHECK_FUNCS([vsnprintf snprintf])
757 AH_VERBATIM(_TRU64,[
759  * On HP-UX, the declaration of vsnprintf() is needed every time !
760  */
762 #if !defined(HAVE_VSNPRINTF) || defined(hpux)
763 #if __STDC__
764 #include <stdarg.h>
765 #include <stdlib.h>
766 #else
767 #include <varargs.h>
768 #endif
769 #ifdef __cplusplus
770 extern "C"
771 #endif
772 int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
773 #ifdef __cplusplus
774 extern "C"
775 #endif
776 int snprintf(char *str, size_t n, char const *fmt, ...);
777 #endif
782 dnl ------------------------------------------------------------------------
783 dnl Find the header files and libraries for X-Windows. Extended the
784 dnl macro AC_PATH_X
785 dnl ------------------------------------------------------------------------
787 AC_DEFUN(K_PATH_X,
789 AC_REQUIRE([KDE_MISC_TESTS])dnl
790 AC_REQUIRE([KDE_CHECK_LIB64])
792 AC_ARG_ENABLE(
793   embedded,
794   [  --enable-embedded       link to Qt-embedded, don't use X],
795   kde_use_qt_emb=$enableval,
796   kde_use_qt_emb=no
799 AC_ARG_ENABLE(
800   qtopia,
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)
809 AC_LANG_SAVE
810 AC_LANG_C
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
814    kde_x_includes=NO
815 else
816    kde_x_includes=$x_includes
818 if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
819    kde_x_libraries=NO
820 else
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
828 KDE_PATH_X_DIRECT
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.
837 case "$host" in
838 mips-sgi-irix6*)
839   ;;
840 *-*-solaris*)
841   ;;
843   _AC_PATH_X_XMKMF
844   if test -z "$ac_x_includes"; then
845     ac_x_includes="."
846   fi
847   if test -z "$ac_x_libraries"; then
848     ac_x_libraries="/usr/lib${kdelibsuff}"
849   fi
850 esac
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"
875 ])dnl
877 eval "$kde_cv_have_x"
879 if test "$have_x" != yes; then
880   AC_MSG_RESULT($have_x)
881   no_x=yes
882 else
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
887   X_INCLUDES=""
888   x_includes="."; dnl better than nothing :-
889  else
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
895   X_LDFLAGS=""
896   x_libraries="/usr/lib"; dnl better than nothing :-
897  else
898   x_libraries=$kde_x_libraries
899   X_LDFLAGS="-L$x_libraries"
901 all_includes="$X_INCLUDES"
902 all_libraries="$X_LDFLAGS"
904 AC_SUBST(X_INCLUDES)
905 AC_SUBST(X_LDFLAGS)
906 AC_SUBST(x_libraries)
907 AC_SUBST(x_includes)
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)
920 AC_SUBST(LIBSM)
921 LDFLAGS="$ac_save_LDFLAGS"
923 AC_SUBST(X_PRE_LIBS)
925 LIB_X11='-lX11 $(LIBSOCKET)'
926 AC_SUBST(LIB_X11)
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"
937 AC_TRY_LINK([
938 #include <stdio.h>
939 #ifdef STDC_HEADERS
940 # include <stdlib.h>
941 #endif
944 printf("hello Xext\n");
946 kde_cv_have_libXext=yes,
947 kde_cv_have_libXext=no
948    )
950 LDFLAGS=$kde_ldflags_safe
951 LIBS=$kde_libs_safe
952  ])
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
959 them either.])
962 AC_MSG_CHECKING(for Xinerama)
964  AC_ARG_WITH(xinerama,
965   [  --with-xinerama         enable support for Xinerama ],
966   [
967     no_xinerama=no
968   ], [
969     no_xinerama=yes
970   ]
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,
983   [
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"])
989   ])
990 else
991   ac_cv_have_xinerama=no;
994 AC_MSG_RESULT($ac_cv_have_xinerama)
996 LIBXINERAMA=""
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"
1009 LIB_XEXT="-lXext"
1010 QTE_NORTTI=""
1012 else
1013   dnl We're using QT Embedded
1014   CPPFLAGS=-DQWS
1015   CXXFLAGS="$CXXFLAGS -fno-rtti"
1016   QTE_NORTTI="-fno-rtti -DQWS"
1017   X_PRE_LIBS=""
1018   LIB_X11=""
1019   LIB_XEXT=""
1020   LIBSM=""
1021   X_INCLUDES=""
1022   X_LDFLAGS=""
1023   x_includes=""
1024   x_libraries=""
1025   AC_SUBST(X_PRE_LIBS)
1026   AC_SUBST(LIB_X11)
1027   AC_SUBST(LIBSM)
1028   AC_SUBST(X_INCLUDES)
1029   AC_SUBST(X_LDFLAGS)
1030   AC_SUBST(x_includes)
1031   AC_SUBST(x_libraries)
1033 AC_SUBST(QTE_NORTTI)
1034 AC_SUBST(LIB_XEXT)
1037 AC_LANG_RESTORE
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
1051 #include <qevent.h>
1052 #include <qstring.h>
1053 #include <qstyle.h>
1056 if test $kde_qtsubver -gt 0; then
1057 cat >> conftest.$ac_ext <<EOF
1058 #if QT_VERSION < 210
1059 #error 1
1060 #endif
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
1075 #error 1
1076 #endif
1078 int main() {
1080 if test "$kde_qtver" = "2"; then
1081 cat >> conftest.$ac_ext <<EOF
1082     QStringList *t = new QStringList();
1083     Q_UNUSED(t);
1085 if test $kde_qtsubver -gt 0; then
1086 cat >> conftest.$ac_ext <<EOF
1087     QString s;
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
1099     return 0;
1104 AC_DEFUN(KDE_USE_QT,
1106 if test -z "$1"; then
1107   # Current default Qt version: 3.1
1108   kde_qtver=3
1109   kde_qtsubver=1
1110 else
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
1114     kde_qtsubver=1
1115   fi
1116   kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
1117   if test "$kde_qtver" = "1"; then
1118     kde_qtsubver=42
1119   fi
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"
1126     else
1127       kde_qt_minversion=">= Qt 2.0.2"
1128     fi
1129   fi
1130   if test "$kde_qtver" = "3"; then
1131     if test $kde_qtsubver -gt 0; then
1132       kde_qt_minversion=">= Qt 3.1.0"
1133     else
1134       kde_qt_minversion=">= Qt 3.0"
1135     fi
1136   fi
1137   if test "$kde_qtver" = "1"; then
1138     kde_qt_minversion=">= 1.42 and < 2.0"
1139   fi
1140 else
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"
1148      else
1149        kde_qt_verstring="QT_VERSION >= 300"
1150      fi
1151    fi
1152    if test $kde_qtver = 2; then
1153      if test $kde_qtsubver -gt 0; then
1154        kde_qt_verstring="QT_VERSION >= 222"
1155      else
1156        kde_qt_verstring="QT_VERSION >= 200"
1157      fi
1158    fi
1159    if test $kde_qtver = 1; then
1160     kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
1161    fi
1162 else
1163    kde_qt_verstring=$3
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,
1183 AC_LANG_SAVE
1184 AC_LANG_CPLUSPLUS
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"
1195 else
1196 LIBS="$LIBQT $LIBSOCKET"
1198 LD_LIBRARY_PATH=
1199 export LD_LIBRARY_PATH
1200 LIBRARY_PATH=
1201 export LIBRARY_PATH
1203 KDE_PRINT_QT_PROGRAM
1205 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1206   kde_cv_qt_direct="yes"
1207 else
1208   kde_cv_qt_direct="no"
1209   echo "configure: failed program was:" >&AC_FD_CC
1210   cat conftest.$ac_ext >&AC_FD_CC
1213 rm -f conftest*
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"
1221 export LIBRARY_PATH
1222 AC_LANG_RESTORE
1225 if test "$kde_cv_qt_direct" = "yes"; then
1226   AC_MSG_RESULT(yes)
1227   $1
1228 else
1229   AC_MSG_RESULT(no)
1230   $2
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 ------------------------------------------------------------------------
1250 AC_ARG_ENABLE(
1251   mt,
1252   [  --disable-mt            link to non-threaded Qt (deprecated)],
1253   kde_use_qt_mt=$enableval,
1254   [
1255     if test $kde_qtver = 3; then
1256       kde_use_qt_mt=yes
1257     else
1258       kde_use_qt_mt=no
1259     fi
1260   ]
1263 USING_QT_MT=""
1265 dnl ------------------------------------------------------------------------
1266 dnl If we not get --disable-qt-mt then adjust some vars for the host.
1267 dnl ------------------------------------------------------------------------
1269 KDE_MT_LDFLAGS=
1270 KDE_MT_LIBS=
1271 if test "x$kde_use_qt_mt" = "xyes"; then
1272   KDE_CHECK_THREADING
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"
1277   else
1278     kde_use_qt_mt=no
1279   fi
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.*"
1292   else
1293     LIBQT_GLOB="libqt.*"
1294   fi
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
1302     qtlib="qte"
1303   else
1304     qtlib="qt"
1305   fi
1307   kde_int_qt="-l$qtlib"
1308 else
1309   kde_int_qt="$LIBQT"
1310   kde_lib_qt_set=yes
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
1319       LIB_QPE="-lqpe"
1320     else
1321       LIB_QPE=""
1322     fi
1323   else
1324     LIB_QPE=""
1325   fi
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
1334     LIBQT="-l$qtlib-mt"
1335     kde_int_qt="-l$qtlib-mt"
1336   else
1337     LIBQT="$qtlib-mt"
1338     kde_int_qt="$qtlib-mt"
1339   fi
1340   LIBQT_GLOB="lib$qtlib-mt.*"
1341   USING_QT_MT="using -mt"
1342 else
1343   LIBQT="-l$qtlib"
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
1364 qt_libraries=""
1365 qt_includes=""
1366 AC_ARG_WITH(qt-dir,
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
1371     ])
1373 AC_ARG_WITH(qt-includes,
1374     [  --with-qt-includes=DIR  where the Qt includes are. ],
1375     [
1376        ac_qt_includes="$withval"
1377     ])
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
1385     ])
1387 AC_CACHE_VAL(ac_cv_have_qt,
1388 [#try to guess Qt locations
1390 qt_incdirs=""
1391 for dir in $kde_qt_dirs; do
1392    qt_incdirs="$qt_incdirs $dir/include $dir"
1393 done
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
1401 else
1402   kde_qt_header=qglobal.h
1405 AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
1406 ac_qt_includes="$qt_incdir"
1408 qt_libdirs=""
1409 for dir in $kde_qt_dirs; do
1410    qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir"
1411 done
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
1415 else
1416   qt_libdirs="$ac_qt_libraries $qt_libdirs"
1417   # if the Qt was given, the chance is too big that libqt.* doesn't exist
1418   qt_libdir=NONE
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
1422   done
1425 ac_qt_libraries="$qt_libdir"
1427 AC_LANG_SAVE
1428 AC_LANG_CPLUSPLUS
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
1441   rm -f conftest*
1442 else
1443   echo "configure: failed program was:" >&AC_FD_CC
1444   cat conftest.$ac_ext >&AC_FD_CC
1445   ac_qt_libraries="NO"
1447 rm -f conftest*
1448 CXXFLAGS="$ac_cxxflags_safe"
1449 LDFLAGS="$ac_ldflags_safe"
1450 LIBS="$ac_libs_safe"
1452 AC_LANG_RESTORE
1453 if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
1454   ac_cv_have_qt="have_qt=no"
1455   ac_qt_notfound=""
1456   missing_qt_mt=""
1457   if test "$ac_qt_includes" = NO; then
1458     if test "$ac_qt_libraries" = NO; then
1459       ac_qt_notfound="(headers and libraries)";
1460     else
1461       ac_qt_notfound="(headers)";
1462     fi
1463   else
1464     if test "x$kde_use_qt_mt" = "xyes"; then
1465        missing_qt_mt="
1466 Make sure that you have compiled Qt with thread support!"
1467        ac_qt_notfound="(library $qtlib-mt)";
1468     else
1469        ac_qt_notfound="(library $qtlib)";
1470     fi
1471   fi
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])
1475 else
1476   have_qt="yes"
1480 eval "$ac_cv_have_qt"
1482 if test "$have_qt" != yes; then
1483   AC_MSG_RESULT([$have_qt]);
1484 else
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
1501  QT_INCLUDES=""
1502 else
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
1508  QT_LDFLAGS=""
1509 else
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)
1517 AC_PATH_QT_MOC_UIC
1519 KDE_CHECK_QT_JPEG
1521 if test "x$kde_use_qt_emb" != "xyes"; then
1522 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG) -lXext $(LIB_X11) $(LIBSM)'
1523 else
1524 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG)'
1526 test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
1528 AC_SUBST(LIB_QT)
1529 AC_SUBST(LIB_QPE)
1531 AC_SUBST(kde_qtver)
1534 AC_DEFUN(AC_PATH_QT,
1536 AC_PATH_QT_1_3
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>
1555         </property>
1556    </widget>
1557 </widget>
1558 </UI>
1560        
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
1572         fi
1574 rm -f actest.ui actest.cpp
1577 if test "$kde_cv_uic_plugins" = yes; then
1578         AC_MSG_RESULT([yes])
1579 else
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)
1590   KDE_COMPILER_REPO
1591   if test "x$kde_use_final" = "xyes"; then
1592       KDE_USE_FINAL_TRUE=""
1593       KDE_USE_FINAL_FALSE="#"
1594    else
1595       KDE_USE_FINAL_TRUE="#"
1596       KDE_USE_FINAL_FALSE=""
1597   fi
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"
1608   else
1609        KDE_USE_CLOSURE_TRUE="#"
1610        KDE_USE_CLOSURE_FALSE=""
1611   fi
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,
1624 AC_PREREQ([2.13])
1625 AC_REQUIRE([AC_PATH_QT])dnl
1626 AC_REQUIRE([KDE_CHECK_LIB64])
1628 AC_CHECK_RPATH
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}
1640      fi
1641   else
1642      kde_libraries=${prefix}/lib${kdelibsuff}
1643      ac_kde_libraries=$prefix/lib${kdelibsuff}
1644   fi
1645 else
1646   ac_kde_includes=
1647   ac_kde_libraries=
1648   kde_libraries=""
1649   kde_includes=""
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"
1658 else
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
1672   AC_MSG_ERROR([
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"
1683 kde_widgetdir=NO
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
1688 AC_MSG_ERROR([
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
1694 AC_MSG_ERROR([
1695 I can't find the designer plugins. These are required and should have been installed
1696 by kdelibs])
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"
1706 else
1707   ac_cv_have_kde="have_kde=yes \
1708     ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1711 else dnl test -z $1
1713   ac_cv_have_kde="have_kde=no"
1716 ])dnl
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"
1723  else
1724   ac_kde_prefix="$prefix"
1725  fi
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])
1729  else
1730   ac_kde_exec_prefix="$exec_prefix"
1731   AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
1732  fi
1734  kde_libraries="${libdir}"
1735  kde_includes=${ac_kde_prefix}/include
1737 else
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
1749  KDE_INCLUDES=""
1750 else
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"
1776 AC_SUBST(AUTODIRS)
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
1789 kde_extra_includes=
1790 if test -n "$kde_use_extra_includes" && \
1791    test "$kde_use_extra_includes" != "NONE"; then
1793    ac_save_ifs=$IFS
1794    IFS=':'
1795    for dir in $kde_use_extra_includes; do
1796      kde_extra_includes="$kde_extra_includes $dir"
1797      USER_INCLUDES="$USER_INCLUDES -I$dir"
1798    done
1799    IFS=$ac_save_ifs
1800    kde_use_extra_includes="added"
1801 else
1802    kde_use_extra_includes="no"
1804 AC_SUBST(USER_INCLUDES)
1806 AC_MSG_RESULT($kde_use_extra_includes)
1808 kde_extra_libs=
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
1817    ac_save_ifs=$IFS
1818    IFS=':'
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"
1823    done
1824    IFS=$ac_save_ifs
1825    kde_use_extra_libs="added"
1826 else
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])
1839     AC_LANG_SAVE
1840     AC_LANG_CPLUSPLUS
1841 cat > conftest.$ac_ext <<EOF
1842 #ifdef STDC_HEADERS
1843 # include <stdlib.h>
1844 #endif
1845 #include <stdio.h>
1846 #include "confdefs.h"
1847 #include <kapp.h>
1849 int main() {
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");
1869     return 0;
1870     }
1873  ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext'
1874  if AC_TRY_EVAL(ac_compile); then
1875    AC_MSG_RESULT(yes)
1876  else
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.])
1880   fi
1882   AC_LANG_RESTORE
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"
1898  AC_TRY_LINK([
1899    #include <qdom.h>
1900  ],
1902    QDomDocument doc;
1903  ],
1904   kde_cv_have_kdeqtaddon=yes,
1905   kde_cv_have_kdeqtaddon=no
1908  LDFLAGS=$kde_ldflags_safe
1909  LIBS=$kde_libs_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
1931      AC_LANG_SAVE
1932      AC_LANG_CPLUSPLUS
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"
1938      AC_LANG_RESTORE
1939    else
1940      LIBKIMGIO_EXISTS=yes
1941    fi
1943    if test "$LIBKIMGIO_EXISTS" = "yes"; then
1944      LIB_KIMGIO='-lkimgio'
1945    else
1946      LIB_KIMGIO=''
1947    fi
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")
1983 else
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,
1994   AC_BASE_PATH_KDE
1995   AC_ARG_ENABLE(path-check, [  --disable-path-check    don't try to find out, where to install],
1996   [
1997   if test "$enableval" = "no";
1998     then ac_use_path_checking="default"
1999     else ac_use_path_checking=""
2000   fi
2001   ],
2002   [
2003   if test "$kde_qtver" = 1;
2004     then ac_use_path_checking=""
2005     else ac_use_path_checking="default"
2006   fi
2007   ]
2008   )
2010   AC_CREATE_KFSSTND($ac_use_path_checking)
2012   AC_SUBST_KFSSTND
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,
2022 AC_LANG_SAVE
2023 AC_LANG_CPLUSPLUS
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"
2030 AC_TRY_COMPILE([
2036 kde_cv_func_$1=yes,
2037 kde_cv_func_$1=no)
2038 CXXFLAGS="$save_CXXFLAGS"
2039 LIBS=$kde_safe_LIBS
2040 AC_LANG_RESTORE
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
2049   kde_cv_proto_$1=no
2050 else
2051   case "$1" in
2052         setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat)
2053                 kde_cv_proto_$1="yes - in libkdefakes"
2054                 ;;
2055         *)
2056                 kde_cv_proto_$1=unknown
2057                 ;;
2058   esac
2061 if test "x$kde_cv_proto_$1" = xunknown; then
2063 AC_LANG_SAVE
2064 AC_LANG_CPLUSPLUS
2065   kde_safe_libs=$LIBS
2066   LIBS="$LIBS $X_EXTRA_LIBS"
2067   AC_TRY_LINK([
2070 extern "C" $4;
2075 [ kde_cv_func_$1=yes
2076   kde_cv_proto_$1=yes ],
2077   [kde_cv_proto_$1="$1 unavailable"]
2079 LIBS=$kde_safe_libs
2080 AC_LANG_RESTORE
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])
2087   $6
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)
2097 #ifdef __cplusplus
2098 extern "C"
2099 #endif
2101 #endif
2105 AC_DEFUN(AC_CHECK_SETENV,
2107         KDE_CHECK_FUNC_EXT(setenv, [
2108 #include <stdlib.h>
2109 ], 
2110                 [setenv("VAR", "VALUE", 1);],
2111                 [int setenv (const char *, const char *, int)],
2112                 [SETENV])
2115 AC_DEFUN(AC_CHECK_UNSETENV,
2117         KDE_CHECK_FUNC_EXT(unsetenv, [
2118 #include <stdlib.h>
2119 ], 
2120                 [unsetenv("VAR");],
2121                 [void unsetenv (const char *)],
2122                 [UNSETENV])
2125 AC_DEFUN(AC_CHECK_GETDOMAINNAME,
2127         KDE_CHECK_FUNC_EXT(getdomainname, [
2128 #include <stdlib.h>
2129 #include <unistd.h>
2130 ], 
2131                 [
2132 char buffer[200];
2133 getdomainname(buffer, 200);
2134 ],      
2135                 [int getdomainname (char *, unsigned int)],
2136                 [GETDOMAINNAME])
2139 AC_DEFUN(AC_CHECK_GETHOSTNAME,
2141         KDE_CHECK_FUNC_EXT(gethostname, [
2142 #include <stdlib.h>
2143 #include <unistd.h>
2144 ], 
2145                 [
2146 char buffer[200];
2147 gethostname(buffer, 200);
2148 ],      
2149                 [int gethostname (char *, unsigned int)],
2150                 [GETHOSTNAME])
2153 AC_DEFUN(AC_CHECK_USLEEP,
2155         KDE_CHECK_FUNC_EXT(usleep, [
2156 #include <unistd.h>
2157 ], 
2158                 [
2159 usleep(200);
2160 ],      
2161                 [int usleep (unsigned int)],
2162                 [USLEEP])
2166 AC_DEFUN(AC_CHECK_RANDOM,
2168         KDE_CHECK_FUNC_EXT(random, [
2169 #include <stdlib.h>
2170 ], 
2171                 [
2172 random();
2173 ],      
2174                 [long int random(void)],
2175                 [RANDOM])
2177         KDE_CHECK_FUNC_EXT(srandom, [
2178 #include <stdlib.h>
2179 ], 
2180                 [
2181 srandom(27);
2182 ],      
2183                 [void srandom(unsigned int)],
2184                 [SRANDOM])
2188 AC_DEFUN(AC_CHECK_INITGROUPS,
2190         KDE_CHECK_FUNC_EXT(initgroups, [
2191 #include <sys/types.h>
2192 #include <unistd.h>
2193 #include <grp.h>
2195         [
2196 char buffer[200];
2197 initgroups(buffer, 27);
2199         [int initgroups(const char *, gid_t)],
2200         [INITGROUPS])
2203 AC_DEFUN(AC_CHECK_MKSTEMP,
2205         KDE_CHECK_FUNC_EXT(mkstemp, [
2206 #include <stdlib.h>
2208         [
2209 mkstemp("/tmp/aaaXXXXXX");
2211         [int mkstemp(char *)],
2212         [MKSTEMP])
2215 AC_DEFUN(AC_CHECK_MKSTEMPS,
2217         KDE_CHECK_FUNC_EXT(mkstemps, [
2218 #include <stdlib.h>
2219 #include <unistd.h>
2221         [
2222 mkstemps("/tmp/aaaXXXXXX", 6);
2224         [int mkstemps(char *, int)],
2225         [MKSTEMPS])
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"
2233   AC_TRY_LINK(
2234     [
2235 #include <sys/types.h>
2236 #include <netinet/in.h>
2237 #include <arpa/nameser.h>
2238 #include <resolv.h>
2239     ],
2240     [
2241       res_init(); 
2242     ],
2243     [
2244       LIBRESOLV="-lresolv"
2245       AC_MSG_RESULT(yes)
2246       AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
2247     ],
2248     [ AC_MSG_RESULT(no) ]
2249   )
2250   LIBS="$kde_libs_safe"
2251   AC_SUBST(LIBRESOLV)
2253   AC_MSG_CHECKING([if res_init is available])
2254   AC_TRY_COMPILE(
2255     [
2256 #include <sys/types.h>
2257 #include <netinet/in.h>
2258 #include <arpa/nameser.h>
2259 #include <resolv.h>
2260     ],
2261     [
2262       res_init();
2263     ],
2264     [
2265       AC_MSG_RESULT(yes)
2266       AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
2267     ],
2268     [ AC_MSG_RESULT(no) ]
2269   )
2272 AC_DEFUN(AC_CHECK_STRLCPY,
2274         KDE_CHECK_FUNC_EXT(strlcpy, [
2275 #include <string.h>
2277 [ char buf[20];
2278   strlcpy(buf, "KDE function test", sizeof(buf));
2280         [unsigned long strlcpy(char*, const char*, unsigned long)],
2281         [STRLCPY])
2284 AC_DEFUN(AC_CHECK_STRLCAT,
2286         KDE_CHECK_FUNC_EXT(strlcat, [
2287 #include <string.h>
2289 [ char buf[20];
2290   buf[0]='\0';
2291   strlcat(buf, "KDE function test", sizeof(buf));
2293         [unsigned long strlcat(char*, const char*, unsigned long)],
2294         [STRLCAT])
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"
2303 else
2304 LIBS="$all_libraries -lgif"
2306 AC_TRY_LINK(dnl
2308 #ifdef __cplusplus
2309 extern "C" {
2310 #endif
2311 int GifLastError(void);
2312 #ifdef __cplusplus
2314 #endif
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"
2322 ])dnl
2323 if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
2324   AC_MSG_RESULT(yes)
2325   AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
2326 else
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,
2336 AC_LANG_C
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"
2341 AC_TRY_LINK(
2342 [/* Override any gcc2 internal prototype to avoid an error.  */
2343 struct jpeg_decompress_struct;
2344 typedef struct jpeg_decompress_struct * j_decompress_ptr;
2345 typedef int size_t;
2346 #ifdef __cplusplus
2347 extern "C" {
2348 #endif
2349     void jpeg_CreateDecompress(j_decompress_ptr cinfo,
2350                                     int version, size_t structsize);
2351 #ifdef __cplusplus
2353 #endif
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)
2367 else
2368   AC_MSG_RESULT(no)
2369   $3
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, [],
2379     [
2380        LIBJPEG=
2381     ]
2382    )
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
2394 dnl only warn
2395 if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
2396   AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
2397 else
2398   if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
2399     AC_MSG_WARN([
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.
2406   else
2407     AC_MSG_WARN([libjpeg not found. disable JPEG support.])
2408   fi
2409   jpeg_incdir=
2410   LIBJPEG=
2413 AC_SUBST(LIBJPEG)
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
2419  */
2420 #ifdef _UNIXWARE
2421 #define HAVE_BOOLEAN
2422 #endif
2426 AC_DEFUN(KDE_CHECK_QT_JPEG,
2428 AC_MSG_CHECKING([if Qt needs $LIBJPEG])
2429 AC_CACHE_VAL(kde_cv_qt_jpeg,
2431 AC_LANG_SAVE
2432 AC_LANG_CPLUSPLUS
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"
2438 AC_TRY_LINK(
2439 [#include <qapplication.h>],
2440             [
2441             int argc;
2442             char** argv;
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"
2448 AC_LANG_RESTORE
2451 if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then
2452   AC_MSG_RESULT(yes)
2453   LIBJPEG_QT='$(LIBJPEG)'
2454 else
2455   AC_MSG_RESULT(no)
2456   LIBJPEG_QT=
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,
2467 AC_LANG_C
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"
2472 AC_TRY_LINK(dnl
2474 #include<zlib.h>
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"
2481 ])dnl
2482 if test ! "$ac_cv_lib_z" = no; then
2483   AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
2484   LIBZ="$ac_cv_lib_z"
2485   AC_SUBST(LIBZ)
2486   AC_MSG_RESULT($ac_cv_lib_z)
2487 else
2488   AC_MSG_ERROR(not found. Check your installation and look into config.log)
2489   LIBZ=""
2490   AC_SUBST(LIBZ)
2494 AC_DEFUN(KDE_TRY_TIFFLIB,
2496 AC_MSG_CHECKING([for libtiff $1])
2498 AC_CACHE_VAL(kde_cv_libtiff_$1,
2500 AC_LANG_SAVE
2501 AC_LANG_CPLUSPLUS
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"
2505 else
2506 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm"
2508 kde_save_CXXFLAGS="$CXXFLAGS"
2509 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2511 AC_TRY_LINK(dnl
2513 #include<tiffio.h>
2515     [return (TIFFOpen( "", "r") == 0); ],
2517     kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
2518 ], [
2519     kde_cv_libtiff_$1=no
2522 LIBS="$kde_save_LIBS"
2523 CXXFLAGS="$kde_save_CXXFLAGS"
2524 AC_LANG_RESTORE
2527 if test "$kde_cv_libtiff_$1" = "no"; then
2528     AC_MSG_RESULT(no)
2529     LIBTIFF=""
2530     $3
2531 else
2532     LIBTIFF="$kde_cv_libtiff_$1"
2533     AC_MSG_RESULT(yes)
2534     AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
2535     $2
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))
2550 AC_SUBST(LIBTIFF)
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"
2564 else
2565 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
2567 kde_save_CFLAGS="$CFLAGS"
2568 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2569 AC_LANG_C
2570 AC_TRY_LINK(dnl
2571     [
2572     #include<png.h>
2573     ],
2574     [
2575     png_structp png_ptr = png_create_read_struct(  /* image ptr */
2576                 PNG_LIBPNG_VER_STRING, 0, 0, 0 );
2577     return( png_ptr != 0 );
2578     ],
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"
2584 ])dnl
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"
2588   AC_SUBST(LIBPNG)
2589   AC_MSG_RESULT($ac_cv_lib_png)
2590 else
2591   AC_MSG_RESULT(no)
2592   LIBPNG=""
2593   AC_SUBST(LIBPNG)
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__
2612 #endif
2615 if (eval "$ac_cpp conftest.c") 2>&5 |
2616   egrep "yes" >/dev/null 2>&1; then
2617   rm -rf conftest*
2618   ac_cv_gnu_extensions=yes
2619 else
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,
2636   AC_LANG_SAVE
2637   AC_LANG_CPLUSPLUS
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"
2642   AC_LANG_RESTORE
2644 if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
2645  AC_MSG_RESULT(yes)
2647  $2
2648 else
2649  AC_MSG_RESULT(no)
2651  $3
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,
2659 [ __val=$$1
2660   __forbid=" $2 "
2661   if test -n "$__val"; then
2662     __new=""
2663     ac_save_IFS=$IFS
2664     IFS="       "
2665     for i in $__val; do
2666       case "$__forbid" in
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 ;;
2671       esac
2672     done
2673     IFS=$ac_save_IFS
2674     $1=$__new
2675   fi
2678 dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
2679 AC_DEFUN(AC_VALIDIFY_CXXFLAGS,
2680 [dnl
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])
2684 else
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]],
2693   [
2694     case $enableval in
2695       yes)
2696         kde_use_debug_code="yes"
2697         kde_use_debug_define=no
2698         ;;
2699       full)
2700         kde_use_debug_code="full"
2701         kde_use_debug_define=no
2702         ;;
2703       *)
2704         kde_use_debug_code="no"
2705         kde_use_debug_define=yes
2706         ;;
2707     esac
2708   ], 
2709     [kde_use_debug_code="no"
2710       kde_use_debug_define=no
2711   ])
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!)],
2717    [
2718     if test $enableval = "no"; then
2719          kde_use_strict_options="no"
2720        else
2721          kde_use_strict_options="yes"
2722     fi
2723    ], [kde_use_strict_options="no"])
2725   AC_ARG_ENABLE(warnings,[  --disable-warnings      disables compilation with -Wall and similiar],
2726    [
2727     if test $enableval = "no"; then
2728          kde_use_warnings="no"
2729        else
2730          kde_use_warnings="yes"
2731     fi
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
2737   fi
2739   AC_ARG_ENABLE(profile,[  --enable-profile        creates profiling infos [default=no]],
2740     [kde_use_profiling=$enableval],
2741     [kde_use_profiling="no"]
2742   )
2744   AC_ARG_ENABLE(gcov,[  --enable-gcov           enables gcov test coverage support [default=no]],
2745     [kde_use_gcov=$enableval],
2746     [kde_use_gcov=no]
2747   )
2749   dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
2750   CFLAGS=" $CFLAGS"
2752   AC_PROG_CC 
2754   AC_PROG_CPP
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"
2760       else
2761         CFLAGS="-g -O2 $CFLAGS"
2762       fi
2763     else
2764       CFLAGS="-O2 $CFLAGS"
2765     fi
2766   fi
2768   if test "$kde_use_debug_define" = "yes"; then
2769     CFLAGS="-DNDEBUG $CFLAGS"
2770   fi
2773   case "$host" in
2774   *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";;
2775   *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";;
2776   esac
2778   if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
2779      LDFLAGS=""
2780   fi
2782   CXXFLAGS=" $CXXFLAGS"
2784   AC_PROG_CXX
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"
2790       else
2791         if test "$kde_use_debug_code" = "full"; then
2792           CXXFLAGS="-g3 $CXXFLAGS"
2793         else
2794           CXXFLAGS="-g -O2 $CXXFLAGS"
2795         fi
2796       fi
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)
2802     else
2803       if test "$CXX" = "KCC"; then
2804         CXXFLAGS="+K3 $CXXFLAGS"
2805       else
2806         CXXFLAGS="-O2 $CXXFLAGS"
2807       fi  
2808     fi
2809   fi
2811   if test "$kde_use_debug_define" = "yes"; then
2812     CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS"
2813   fi  
2815   if test "$kde_use_profiling" = "yes"; then
2816     KDE_CHECK_COMPILER_FLAG(pg,
2817     [
2818       CFLAGS="-pg $CFLAGS"
2819       CXXFLAGS="-pg $CXXFLAGS"
2820     ])
2821   fi
2823   if test "$kde_use_gcov" = "yes"; then
2824     KDE_CHECK_COMPILER_FLAG(fprofile-arcs,
2825     [
2826       CFLAGS="-fprofile-arcs -ftest-coverage $CFLAGS"
2827       CXXFLAGS="-fprofile-arcs -ftest-coverage $CXXFLAGS"
2828     ])
2829   fi
2831   if test "$kde_use_warnings" = "yes"; then
2832       if test "$GCC" = "yes"; then
2833         case $host in
2834           *-*-linux-gnu)        
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"
2837           ;;
2838         esac
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"])
2843      fi
2844   fi
2846   if test "$GCC" = "yes" && test "$kde_use_strict_options" = "yes"; then
2847     CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
2848   fi
2849     
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=       )
2854   fi
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]],
2862     [
2863       kde_use_pch=$enableval
2864     ],[kde_use_pch=no])
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"])
2876     fi
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"])
2891   fi
2892   AC_SUBST(USE_EXCEPTIONS)
2893   dnl obsolete macro - provided to keep things going
2894   USE_RTTI=
2895   AC_SUBST(USE_RTTI)
2897   case "$host" in
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";;
2901       *-*-solaris*) 
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])
2906           fi
2907         fi
2908         ;;
2909   esac
2911   AC_VALIDIFY_CXXFLAGS
2913   AC_PROG_CXXCPP
2915   if test "$GCC" = yes; then
2916      NOOPT_CXXFLAGS=-O0
2917      NOOPT_CFLAGS=-O0
2918   fi
2920   AC_SUBST(NOOPT_CXXFLAGS)
2921   AC_SUBST(NOOPT_CFLAGS)
2923   KDE_CHECK_FINAL
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])
2944 AC_LANG_SAVE
2945 AC_LANG_C
2946 AC_OBJEXT
2947 AC_EXEEXT
2948 AC_LANG_RESTORE
2950 AM_PROG_LIBTOOL
2951 AC_LIBTOOL_CXX
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 
2961         AC_MSG_WARN([
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 ------------------------------------------------------------
2969   fi
2972 AC_DEFUN(KDE_CHECK_LIB64,
2974     kdelibsuff=none
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
2982        kdelibsuff=
2983     fi
2984     if test -z "$kdelibsuff"; then
2985         AC_MSG_RESULT([not using lib directory suffix])
2986         AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories)
2987     else
2988         if test "$libdir" = '${exec_prefix}/lib'; then
2989             libdir="$libdir${kdelibsuff}"
2990             AC_SUBST([libdir], ["$libdir"])  dnl ugly hack for lib64 platforms
2991         fi
2992         AC_DEFINE_UNQUOTED(KDELIBSUFF, ["\"${kdelibsuff}\""], Suffix for lib directories)
2993         AC_MSG_RESULT([using lib directory suffix $kdelibsuff])
2994     fi
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
3002 ])dnl
3004 AC_DEFUN(KDE_DO_IT_ALL,
3006 AC_CANONICAL_SYSTEM
3007 AC_ARG_PROGRAM
3008 AM_INIT_AUTOMAKE($1, $2)
3009 AM_DISABLE_LIBRARIES
3010 AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
3011 AC_CHECK_COMPILERS
3012 KDE_PROG_LIBTOOL
3013 AM_KDE_WITH_NLS
3014 AC_PATH_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)"
3030   fi
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"
3035   fi
3036   if test -n "$KDE_EXTRA_RPATH"; then
3037     KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
3038   fi
3040 AC_SUBST(KDE_EXTRA_RPATH)
3041 AC_SUBST(KDE_RPATH)
3042 AC_SUBST(X_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, [
3050     AC_LANG_SAVE
3051     AC_LANG_CPLUSPLUS
3052     AC_TRY_COMPILE([
3053 #include <sys/types.h>
3054 #include <sys/socket.h>
3055       ],[
3056 socklen_t a=0;
3057 getsockname(0,(struct sockaddr*)0, &a);
3058       ],
3059       ac_cv_socklen_t=socklen_t,
3060       AC_TRY_COMPILE([
3061 #include <sys/types.h>
3062 #include <sys/socket.h>
3063         ],[
3064 int a=0;
3065 getsockname(0,(struct sockaddr*)0, &a);
3066         ],
3067         ac_cv_socklen_t=int,
3068         ac_cv_socklen_t=size_t
3069       )
3070     )
3071     AC_LANG_RESTORE
3072   ])
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])
3078   fi
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:
3086 dnl >
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.
3096 dnl >
3097 dnl for this file it is relicensed under LGPL
3099 AC_DEFUN(AM_KDE_WITH_NLS,
3100   [
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])
3109         GMSGFMT=":"
3110       fi
3111       MSGFMT=$GMSGFMT
3112       AC_SUBST(GMSGFMT)
3113       AC_SUBST(MSGFMT)
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
3123           : ;
3124         else
3125           AC_MSG_RESULT(
3126             [found xgettext programs is not GNU xgettext; ignore it])
3127           XGETTEXT=":"
3128         fi
3129       fi
3130      AC_SUBST(XGETTEXT)
3132   ])
3134 # Search path for a program which passes the given test.
3135 # Ulrich Drepper <drepper@cygnus.com>, 1996.
3137 # serial 1
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,
3147 [case "[$]$1" in
3148   /*)
3149   ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
3150   ;;
3151   *)
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
3156       if [$3]; then
3157         ac_cv_path_$1="$ac_dir/$ac_word"
3158         break
3159       fi
3160     fi
3161   done
3162   IFS="$ac_save_ifs"
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"
3166 ])dnl
3167   ;;
3168 esac])dnl
3169 $1="$ac_cv_path_$1"
3170 if test -n "[$]$1"; then
3171   AC_MSG_RESULT([$]$1)
3172 else
3173   AC_MSG_RESULT(no)
3175 AC_SUBST($1)dnl
3179 # Check whether LC_MESSAGES is available in <locale.h>.
3180 # Ulrich Drepper <drepper@cygnus.com>, 1995.
3182 # serial 1
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])
3191     fi
3192   fi])
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)
3205  else
3206    LIBOBJS="$LIBOBJS obstack.o"
3207  fi
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"
3220  fi
3221  AC_SUBST(LIBOBJS)dnl
3224 # Macro to add for using GNU gettext.
3225 # Ulrich Drepper <drepper@cygnus.com>, 1995.
3227 # serial 1
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,
3245    [
3246    kde_safe_cxxflags=$CXXFLAGS
3247    CXXFLAGS="-Werror"
3248    AC_LANG_SAVE
3249    AC_LANG_CPLUSPLUS
3250    AC_TRY_COMPILE([
3251    #include <string.h>
3252    ],
3253    [
3254    char buffer[200];
3255    stpcpy(buffer, buffer);
3256    ],
3257    kde_cv_func_stpcpy=yes,
3258    kde_cv_func_stpcpy=no)
3259    AC_LANG_RESTORE
3260    CXXFLAGS=$kde_safe_cxxflags
3261    ])
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])
3265    fi
3267    AM_LC_MESSAGES
3269    if test "x$CATOBJEXT" != "x"; then
3270      if test "x$ALL_LINGUAS" = "x"; then
3271        LINGUAS=
3272      else
3273        AC_MSG_CHECKING(for catalogs to be installed)
3274        NEW_LINGUAS=
3275        for lang in ${LINGUAS=$ALL_LINGUAS}; do
3276          case "$ALL_LINGUAS" in
3277           *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
3278          esac
3279        done
3280        LINGUAS=$NEW_LINGUAS
3281        AC_MSG_RESULT($LINGUAS)
3282      fi
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
3287      fi
3288    fi
3290   ])
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
3302    ac_cv_have_xpm=no
3303  else
3304    AC_MSG_CHECKING(for XPM)
3305    AC_CACHE_VAL(ac_cv_have_xpm,
3306    [
3307     AC_LANG_C
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"
3312     else
3313       LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET"
3314     fi
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"
3321    ])dnl
3323   if test "$ac_cv_have_xpm" = no; then
3324     AC_MSG_RESULT(no)
3325     XPM_LDFLAGS=""
3326     XPMINC=""
3327     $2
3328   else
3329     AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
3330     if test "$XPM_LDFLAGS" = ""; then
3331        XPMLIB='-lXpm $(LIB_X11)'
3332     else
3333        XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
3334     fi
3335     if test "$XPM_INCLUDE" = ""; then
3336        XPMINC=""
3337     else
3338        XPMINC="-I$XPM_INCLUDE"
3339     fi
3340     AC_MSG_RESULT(yes)
3341     $1
3342   fi
3343  fi
3344  AC_SUBST(XPMINC)
3345  AC_SUBST(XPMLIB)
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=
3354  DPMS_LIB=
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
3359    ac_cv_have_dpms=no
3360  else
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,
3365    [
3366     if test "x$kde_use_qt_emb" = "xyes"; then
3367       AC_MSG_RESULT(no)
3368       ac_cv_have_dpms="no"
3369     else
3370       AC_LANG_C
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"
3377       AC_TRY_LINK([
3378           #include <X11/Xproto.h>
3379           #include <X11/X.h>
3380           #include <X11/Xlib.h>
3381           #include <X11/extensions/dpms.h>
3382           int foo_test_dpms()
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"
3391               AC_TRY_LINK([
3392                   #include <X11/Xproto.h>
3393                   #include <X11/X.h>
3394                   #include <X11/Xlib.h>
3395                   #include <X11/extensions/dpms.h>
3396                   int foo_test_dpms()
3397                   { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3398                   [
3399                   ac_cv_have_dpms="-lXdpms"
3400                   ],ac_cv_have_dpms="no")
3401               ])
3402       LDFLAGS="$ac_save_ldflags"
3403       CFLAGS="$ac_save_cflags"
3404       LIBS="$ac_save_libs"
3405     fi
3406    ])dnl
3408   if test "$ac_cv_have_dpms" = no; then
3409     AC_MSG_RESULT(no)
3410     DPMS_LDFLAGS=""
3411     DPMSINC=""
3412     $2
3413   else
3414     AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
3415     if test "$ac_cv_have_dpms" = "-lXdpms"; then
3416        DPMS_LIB="-lXdpms"
3417     fi
3418     if test "$DPMS_LDFLAGS" = ""; then
3419        DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
3420     else
3421        DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
3422     fi
3423     if test "$DPMS_INCLUDE" = ""; then
3424        DPMSINC=""
3425     else
3426        DPMSINC="-I$DPMS_INCLUDE"
3427     fi
3428     AC_MSG_RESULT(yes)
3429     $1
3430   fi
3431  fi
3432  AC_SUBST(DPMSINC)
3433  AC_SUBST(DPMSLIB)
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.
3447    ac_cv_have_gl=no
3448  elif test "x$gl_test" = xno; then
3449    ac_cv_have_gl=no
3450  else
3451    AC_MSG_CHECKING(for GL)
3452    AC_CACHE_VAL(ac_cv_have_gl,
3453    [
3454     AC_LANG_SAVE
3455     AC_LANG_CPLUSPLUS
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>
3464 #include <GL/glu.h>
3465 ], [],
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>
3474 #include <GL/glu.h>
3475 ], [],
3476           ac_cv_have_gl="yes", ac_cv_have_gl="no")
3477     fi
3478     AC_LANG_RESTORE
3479     LDFLAGS="$ac_save_ldflags"
3480     CXXFLAGS="$ac_save_cxxflags"
3481    ])dnl
3483   if test "$ac_cv_have_gl" = "no"; then
3484     AC_MSG_RESULT(no)
3485     GL_LDFLAGS=""
3486     GLINC=""
3487     $2
3488   else
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)'
3493        else
3494           GLLIB='-lGLU -lGL $(LIB_X11)'
3495        fi
3496     else
3497        if test "$ac_cv_have_gl" = "mesa"; then
3498           GLLIB="$GL_LDFLAGS -lMesaGLU -lMesaGL "'$(LIB_X11)'
3499        else
3500           GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
3501        fi
3502     fi
3503     if test "$GL_INCLUDE" = ""; then
3504        GLINC=""
3505     else
3506        GLINC="-I$GL_INCLUDE"
3507     fi
3508     AC_MSG_RESULT($ac_cv_have_gl)
3509     $1
3510   fi
3511  fi
3512  AC_SUBST(GLINC)
3513  AC_SUBST(GLLIB)
3517  dnl shadow password and PAM magic - maintained by ossi@kde.org
3519 AC_DEFUN(KDE_PAM, [
3520   AC_REQUIRE([KDE_CHECK_LIBDL])
3522   AC_ARG_WITH(pam,
3523     [  --with-pam[=ARG]        enable support for PAM: ARG=[yes|no|service name]],
3524     [ if test "x$withval" = "xyes"; then
3525         use_pam=yes
3526         pam_service=kde
3527       elif test "x$withval" = "xno"; then
3528         use_pam=no
3529       else
3530         use_pam=yes
3531         pam_service=$withval
3532       fi
3533       ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3534     ], [
3535       AC_CACHE_VAL(ac_cv_path_pam,
3536         [ use_pam=no
3537           AC_CHECK_LIB(pam, pam_start,
3538             [ AC_CHECK_HEADER(security/pam_appl.h,
3539                 [ use_pam=yes
3540                   pam_service=kde ]) 
3541             ], , $LIBDL)
3542           ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3543         ])
3544     ])
3545   eval "$ac_cv_path_pam"
3547   AC_MSG_CHECKING(for PAM)
3548   if test "x$use_pam" = xno; then
3549     AC_MSG_RESULT(no)
3550     PAMLIBS=""
3551   else
3552     AC_MSG_RESULT(yes)
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)])]
3563                         )],
3564       [AC_MSG_RESULT([not found - assume const, Linux-type PAM])])
3565   fi
3567   AC_SUBST(PAMLIBS)
3570 dnl DEF_PAM_SERVICE(arg name, full name, define name)
3571 AC_DEFUN(DEF_PAM_SERVICE, [
3572   AC_ARG_WITH($1-pam,
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"
3576       else
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.])
3579       fi
3580     ], 
3581     [ if test "x$use_pam" = xyes; then
3582         $3_PAM_SERVICE="$pam_service"
3583       fi
3584     ])
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])
3588     fi
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"
3597       ac_use_shadow=yes
3598     ],
3599     [ dnl for UnixWare
3600       AC_CHECK_LIB(gen, getspent, 
3601         [ LIBGEN="-lgen"
3602           ac_use_shadow=yes
3603         ], 
3604         [ AC_CHECK_FUNC(getspent, 
3605             [ ac_use_shadow=yes ],
3606             [ ac_use_shadow=no ])
3607         ])
3608     ])
3609   AC_SUBST(LIBSHADOW)
3610   AC_SUBST(LIBGEN)
3611   
3612   AC_MSG_CHECKING([for shadow passwords])
3614   AC_ARG_WITH(shadow,
3615     [  --with-shadow              If you want shadow password support ],
3616     [ if test "x$withval" != "xno"; then
3617         use_shadow=yes
3618       else
3619         use_shadow=no
3620       fi
3621     ], [
3622       use_shadow="$ac_use_shadow"
3623     ])
3625   if test "x$use_shadow" = xyes; then
3626     AC_MSG_RESULT(yes)
3627     AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords])
3628   else
3629     AC_MSG_RESULT(no)
3630     LIBSHADOW=
3631     LIBGEN=
3632   fi
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
3638       case $host in
3639       *-*-freebsd* | *-*-netbsd* | *-*-openbsd*)
3640         SETUIDFLAGS="-m 4755 -o root";;
3641       *)
3642         SETUIDFLAGS="-m 4755";;
3643       esac
3644   fi
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"
3656   else
3657     PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN"
3658   fi
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).
3664   case $host in
3665   *-*-freebsd*)
3666     SETUIDFLAGS="-m 4755 -o root"
3667     ;;
3668   *)
3669     ;;
3670   esac
3672   AC_SUBST(PASSWDLIBS)
3675 AC_DEFUN(KDE_CHECK_LIBDL,
3677 AC_CHECK_LIB(dl, dlopen, [
3678 LIBDL="-ldl"
3679 ac_cv_have_dlfcn=yes
3682 AC_CHECK_LIB(dld, shl_unload, [
3683 LIBDL="-ldld"
3684 ac_cv_have_shload=yes
3687 AC_SUBST(LIBDL)
3690 AC_DEFUN(KDE_CHECK_DLOPEN,
3692 KDE_CHECK_LIBDL
3693 AC_CHECK_HEADERS(dlfcn.h dl.h)
3694 if test "$ac_cv_header_dlfcn_h" = "no"; then
3695   ac_cv_have_dlfcn=no
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
3703 dnl (MM)
3704 AC_ARG_ENABLE(dlopen,
3705 [  --disable-dlopen        link statically [default=no]] ,
3706 enable_dlopen=$enableval,
3707 enable_dlopen=yes)
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
3711   enable_dlopen=no
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
3724 else
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)
3733 KDE_PROG_LIBTOOL
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
3737   dynamic_loading=yes
3738   AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
3739 else
3740   dynamic_loading=no
3742 AC_MSG_RESULT($dynamic_loading)
3743 if test "$dynamic_loading" = "yes"; then
3744   $1
3745 else
3746   $2
3750 AC_DEFUN(KDE_ADD_INCLUDES,
3752 if test -z "$1"; then
3753   test_include="Pix.h"
3754 else
3755   test_include="$1"
3758 AC_MSG_CHECKING([for libg++ ($test_include)])
3760 AC_CACHE_VAL(kde_cv_libgpp_includes,
3762 kde_cv_libgpp_includes=no
3764    for ac_dir in               \
3765                                \
3766      /usr/include/g++          \
3767      /usr/include              \
3768      /usr/unsupported/include  \
3769      /opt/include              \
3770      $extra_include            \
3771      ; \
3772    do
3773      if test -r "$ac_dir/$test_include"; then
3774        kde_cv_libgpp_includes=$ac_dir
3775        break
3776      fi
3777    done
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
3796  else
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
3825 AC_SUBST(micodir)
3827 AC_MSG_CHECKING([for MICO version])
3828 AC_CACHE_VAL(kde_cv_mico_version,
3830 AC_LANG_C
3831 cat >conftest.$ac_ext <<EOF
3832 #include <stdio.h>
3833 #include <mico/version.h>
3834 int main() {
3836    printf("MICO_VERSION=%s\n",MICO_VERSION);
3837    return (0);
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
3844   else
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])
3847   fi
3848 else
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
3860  req_version="2.3.0"
3861 else
3862  req_version=$1
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" )
3876 then
3877   AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
3878 at least is required. You should upgrade MICO.])
3879 else
3880   AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
3883 LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
3884 AC_SUBST(LIBMICO)
3885 if test -z "$IDL"; then
3886   IDL='$(kde_bindir)/cuteidl'
3888 AC_SUBST(IDL)
3889 IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
3890 AC_SUBST(IDL_DEPENDENCIES)
3892 idldir="\$(includedir)/idl"
3893 AC_SUBST(idldir)
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,
3904 AC_LANG_SAVE
3905 AC_LANG_CPLUSPLUS
3906 kde_save_cxxflags="$CXXFLAGS"
3907 CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
3908 AC_TRY_COMPILE(
3910 #include <mico/config.h>
3913 #ifdef HAVE_MINI_STL
3914 #error "nothing"
3915 #endif
3917 kde_cv_have_mini_stl=no,
3918 kde_cv_have_mini_stl=yes)
3919 CXXFLAGS="$kde_save_cxxflags"
3920 AC_LANG_RESTORE
3923 if test "x$kde_cv_have_mini_stl" = "xyes"; then
3924    AC_MSG_RESULT(yes)
3925    $1
3926 else
3927    AC_MSG_RESULT(no)
3928    $2
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
3956       else
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
3961         else
3962           USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads"
3963         fi
3964       fi
3965     else 
3966       USE_THREADS=""
3967       if test -z "$LIBPTHREAD"; then
3968         KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] )
3969       fi
3970     fi
3972     AH_VERBATIM(__svr_define, [
3973 #if defined(__SVR4) && !defined(__svr4__)
3974 #define __svr4__ 1
3975 #endif
3977     case $host_os in
3978         solaris*)
3979                 KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
3980                 CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4"
3981                 ;;
3982         freebsd*)
3983                 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3984                 ;;
3985         aix*)
3986                 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3987                 LIBPTHREAD="$LIBPTHREAD -lc_r"
3988                 ;;
3989         linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
3990                 if test "$CXX" = "KCC"; then
3991                   CXXFLAGS="$CXXFLAGS --thread_safe"
3992                   NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe"
3993                 fi
3994                 ;;
3995         *)
3996                 ;;
3997     esac
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
4010     else
4011       kde_check_threading_default=yes
4012     fi
4013   else
4014     kde_check_threading_default=yes
4015   fi
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)])
4020   fi
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)
4029 else
4030   AC_MSG_CHECKING(if Python depends on $2)
4033 AC_CACHE_VAL(kde_cv_try_link_python_$1,
4035 AC_LANG_SAVE
4036 AC_LANG_C
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"
4044 AC_TRY_LINK(
4046 #include <Python.h>
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
4059   AC_MSG_RESULT(yes)
4060   kde_python_link_found=yes
4061   if test ! "$1" = normal; then
4062     LIBPYTHON="$LIBPYTHON $2"
4063   fi
4064   $3
4065 else
4066   AC_MSG_RESULT(no)
4067   $4
4069 AC_LANG_RESTORE
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
4083   else
4084     kde_cv_pythondir="$PYTHONDIR"
4085   fi
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
4105   version="1.5"
4106 else
4107   version="$1"
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
4118     python_incdir=no
4119   fi
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
4130     python_libdir=no
4131   fi
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
4144   python_moddir=no
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=""
4155    $2
4156 else 
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])
4174         ])
4176   LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET"
4177   AC_SUBST(PYTHONINC)
4178   AC_SUBST(PYTHONLIB)
4179   AC_SUBST(LIBPYTHON)
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) ])
4193   ])])])
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,
4200     [
4201       AC_TRY_COMPILE([
4202 #include <string>
4203 using namespace std;
4205   string astring="Hallo Welt.";
4206   astring.erase(0, 6); // now astring is "Welt"
4207   return 0;
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])
4216    fi
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,
4223     [
4224       AC_TRY_COMPILE([
4225 #include <string>
4226 using namespace std;
4228   string astring="Hello World";
4229   astring.remove(0, 6); // now astring is "World"
4230   return 0;
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])
4238    fi
4241 AC_DEFUN(KDE_CHECK_STL,
4243     AC_LANG_SAVE
4244     AC_LANG_CPLUSPLUS
4245     ac_save_CXXFLAGS="$CXXFLAGS"
4246     CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
4247     KDE_CHECK_STL_SGI
4249     if test "$kde_cv_stl_type_sgi" = "no"; then
4250        KDE_CHECK_STL_HP
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] ?")
4254        fi
4255     fi
4257     CXXFLAGS="$ac_save_CXXFLAGS"
4258     AC_LANG_RESTORE
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,
4267 AC_LANG_SAVE
4268 AC_LANG_CPLUSPLUS
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"
4273 AC_TRY_RUN(dnl
4275 #include <qimageio.h>
4276 #include <qstring.h>
4277 int main() {
4278                 QString t = "hallo";
4279                 t.fill('t');
4280                 qInitImageIO();
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"
4288 AC_LANG_RESTORE
4289 ])dnl
4290 if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then
4291   LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG"
4292   AC_MSG_RESULT(yes)
4293   AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available])
4294   AC_SUBST(LIBQIMGIO)
4295 else
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]],
4307   [
4308   if test $enableval = "no"; dnl
4309         then ac_use_insure="no"
4310         else ac_use_insure="yes"
4311    fi
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 "????
4318    fi
4321 AC_DEFUN(AM_DISABLE_LIBRARIES,
4323     AC_PROVIDE([AM_ENABLE_STATIC])
4324     AC_PROVIDE([AM_ENABLE_SHARED])
4325     enable_static=no
4326     enable_shared=yes
4330 AC_DEFUN(AC_CHECK_UTMP_FILE,
4332     AC_MSG_CHECKING([for utmp file])
4334     AC_CACHE_VAL(kde_cv_utmp_file,
4335     [
4336     kde_cv_utmp_file=no
4338     for ac_file in    \
4339                       \
4340         /var/run/utmp \
4341         /var/adm/utmp \
4342         /etc/utmp     \
4343      ; \
4344     do
4345      if test -r "$ac_file"; then
4346        kde_cv_utmp_file=$ac_file
4347        break
4348      fi
4349     done
4350     ])
4352     if test "$kde_cv_utmp_file" != "no"; then
4353         AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries])
4354         $1
4355         AC_MSG_RESULT($kde_cv_utmp_file)
4356     else
4357         $2
4358         AC_MSG_RESULT([non found])
4359     fi
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
4370   TOPSUBDIRS=""
4371   files=`cd $srcdir && ls -1`
4372   dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
4373   for i in $dirs; do
4374     echo $i >> $srcdir/subdirs
4375   done
4378 if test -s $srcdir/inst-apps; then
4379   ac_topsubdirs="`cat $srcdir/inst-apps`"
4380 else
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
4387     install_it="yes"
4388     for j in $DO_NOT_COMPILE; do
4389       if test $i = $j; then
4390         install_it="no"
4391       fi
4392     done
4393   else
4394     install_it="no"
4395   fi
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"
4401   else
4402     eval "$vari""_SUBDIR_included=no"
4403   fi
4404 done
4406 AC_SUBST(TOPSUBDIRS)
4409 AC_DEFUN(KDE_CHECK_NAMESPACES,
4411 AC_MSG_CHECKING(whether C++ compiler supports namespaces)
4412 AC_LANG_SAVE
4413 AC_LANG_CPLUSPLUS
4414 AC_TRY_COMPILE([
4417 namespace Foo {
4418   extern int i;
4419   namespace Bar {
4420     extern int i;
4421   }
4424 int Foo::i = 0;
4425 int Foo::Bar::i = 1;
4427   AC_MSG_RESULT(yes)
4428   AC_DEFINE(HAVE_NAMESPACES)
4429 ], [
4430 AC_MSG_RESULT(no)
4432 AC_LANG_RESTORE
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,
4449 AC_LANG_SAVE
4450 AC_LANG_C
4451 AC_TRY_LINK(
4453 #include <sys/stat.h>
4456 struct stat buff;
4457 int b = S_ISSOCK( buff.st_mode );
4459 ac_cv_have_s_issock=yes,
4460 ac_cv_have_s_issock=no)
4461 AC_LANG_RESTORE
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)
4473 #endif
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,
4487 AC_LANG_C
4488 cat > conftest.$ac_ext <<EOF
4489 #ifdef STDC_HEADERS
4490 # include <stdlib.h>
4491 #endif
4492 #include <stdio.h>
4493 #include <sys/param.h>
4494 #ifndef MAXPATHLEN
4495 #define MAXPATHLEN 1024
4496 #endif
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`
4506 else
4507     ac_cv_maxpathlen=1024
4510 rm conftest.*
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,
4522   REPO=""
4523   NOREPO=""
4525   KDE_CHECK_COMPILER_FLAG(frepo,
4526    [
4527      REPO="-frepo"
4528      NOREPO="-fno-repo"
4529    ])
4531   if test -z "$REPO"; then
4532   KDE_CHECK_COMPILER_FLAG(instances=explicit,
4533   [
4534      REPO="-instances=explicit"
4535      NOREPO="-instances=extern"
4536   ])
4537   fi
4539   if test -n "$REPO"; then
4540      AC_DEFINE_UNQUOTED(HAVE_TEMPLATE_REPOSITORY, 1,
4541                 [C++ compiler supports template repository])
4542      $1
4543   fi
4545   AC_SUBST(REPO)
4546   AC_SUBST(NOREPO)
4549 AC_DEFUN(KDE_CHECK_HEADER,
4551    AC_LANG_SAVE
4552    kde_safe_cppflags=$CPPFLAGS
4553    CPPFLAGS="$CPPFLAGS $all_includes"
4554    AC_LANG_CPLUSPLUS
4555    AC_CHECK_HEADER($1, $2, $3, $4)
4556    CPPFLAGS=$kde_safe_cppflags
4557    AC_LANG_RESTORE
4560 AC_DEFUN(KDE_CHECK_HEADERS,
4562    AH_CHECK_HEADERS([$1])
4563    AC_LANG_SAVE
4564    kde_safe_cppflags=$CPPFLAGS
4565    CPPFLAGS="$CPPFLAGS $all_includes"
4566    AC_LANG_CPLUSPLUS
4567    AC_CHECK_HEADERS([$1], [$2], [$3], [$4])
4568    CPPFLAGS=$kde_safe_cppflags
4569    AC_LANG_RESTORE
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,
4581   val=
4582   if test -f $srcdir/configure.files ; then
4583     val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files`
4584   fi
4585   CONF_FILES=
4586   if test -n "$val" ; then
4587     for i in $val ; do
4588       CONF_FILES="$CONF_FILES $i"
4589     done
4590   fi
4591   AC_SUBST(CONF_FILES)
4592 ])dnl
4594 AC_DEFUN(KDE_SET_PREFIX,
4596   unset CDPATH
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"
4603   fi
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,/$,,'`
4607   KDE_FAST_CONFIGURE
4608   KDE_CONF_FILES
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
4618   dnl out afterwards
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
4622   AC_PROG_INSTALL
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
4630     ac_res=no
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"
4635         ac_res=yes
4636       fi
4637     fi
4638     rm -f confinst.$$.*
4639     AC_MSG_RESULT($ac_res)
4640   fi
4641   dnl the following tries to resolve some signs and wonders coming up
4642   dnl with different autoconf/automake versions
4643   dnl e.g.:
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
4663   dnl
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)'
4671   fi
4672   if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
4673     INSTALL_SCRIPT='${INSTALL}'
4674   fi
4675 ])dnl
4677 AC_DEFUN(KDE_LANG_CPLUSPLUS,
4678 [AC_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])
4685 KDE_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,
4693   AC_LANG_SAVE
4694   AC_LANG_CPLUSPLUS
4695   AC_TRY_LINK([], [
4696   long long foo = 0;
4697   foo = foo+1;
4698   ],
4699   kde_cv_c_long_long=yes, kde_cv_c_long_long=no)
4700   AC_LANG_RESTORE
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"
4714      case $host_os in
4715       aix*) LDFLAGS="-brtl $LDFLAGS"
4716         test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS"
4717         ;;
4718      esac
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,
4726         dir=`dirname "$1"`
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
4731                         case $entry in
4732                            $base)
4733                                 javadirs="$javadirs $dir/$entry/bin"
4734                                 ;;
4735                         esac
4736                 elif test -d $dir/$entry/jre/bin; then
4737                         case $entry in
4738                            $base)
4739                                 javadirs="$javadirs $dir/$entry/jre/bin"
4740                                 ;;
4741                         esac
4742                 fi
4743         done
4746 dnl KDE_CHEC_JAVA_DIR(onlyjre)
4747 AC_DEFUN(KDE_CHECK_JAVA_DIR,
4750 AC_ARG_WITH(java,
4751 [  --with-java=javadir     use java installed in javadir, --without-java disables ],
4752 [  ac_java_dir=$withval
4753 ], ac_java_dir=""
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
4760    kde_java_bindir=no
4761    kde_java_includedir=no
4762    kde_java_libjvmdir=no
4763    kde_java_libhpidir=no
4764 else
4765   if test "x$ac_java_dir" = "x"; then
4766      
4767      
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*)
4782     
4783       kde_cv_path="NONE"
4784       kde_save_IFS=$IFS
4785       IFS=':'
4786       for dir in $PATH; do
4787           javadirs="$javadirs $dir"
4788       done
4789       IFS=$kde_save_IFS
4790       jredirs=
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"
4798           fi
4799       done
4801       JAVAC=
4802       JAVA=
4803       kde_java_bindir=no
4804       for dir in $jredirs; do
4805           JAVA="$dir/java"
4806           kde_java_bindir=$dir
4807           if test -x "$dir/javac"; then
4808                 JAVAC="$dir/javac"
4809                 break
4810           fi
4811       done
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/,'`
4816       else
4817           kde_java_includedir=no
4818       fi
4819   else
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
4824     else
4825         kde_java_includedir=$ac_java_dir/include
4826     fi
4827   fi
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.])
4843     fi
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.])
4846     fi
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.])
4849     fi
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.])
4852     fi
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"
4861   else
4862     JAVAC=
4863     jni_includes=
4864   fi
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.])
4868   fi 
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.])
4872   fi
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.])
4876   fi
4878   if test -n "$jni_includes"; then
4879     dnl Check for JNI version
4880     AC_LANG_SAVE
4881     AC_LANG_CPLUSPLUS
4882     ac_cxxflags_safe="$CXXFLAGS"
4883     CXXFLAGS="$CXXFLAGS $all_includes $jni_includes"
4885     AC_TRY_COMPILE([
4886   #include <jni.h>
4887               ],
4888               [
4889   #ifndef JNI_VERSION_1_2
4890   Syntax Error
4891   #endif
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 ])
4903     fi
4905     CXXFLAGS="$ac_cxxflags_safe"    
4906     AC_LANG_RESTORE
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])
4917   else
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])
4920   fi
4921 else # no
4922   AC_MSG_RESULT([none found])
4925 AC_SUBST(JAVAC)
4926 AC_SUBST(JAVAH)
4927 AC_SUBST(JAR)
4928 AC_SUBST(JVMLIBS)
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)),
4948                                                      [$3])])])
4949 m4_define([INCOMPATIBLE_FOREACH],
4950 [mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])])
4952 AC_DEFUN(KDE_NEED_FLEX,
4954 kde_libs_safe=$LIBS
4955 LIBS="$LIBS $USER_LDFLAGS"
4956 AM_PROG_LEX
4957 LIBS=$kde_libs_safe
4958 if test -z "$LEXLIB"; then
4959     AC_MSG_ERROR([You need to have flex installed.])
4961 AC_SUBST(LEXLIB)
4964 AC_DEFUN(AC_PATH_QTOPIA,
4966   dnl TODO: use AC_CACHE_VAL
4968   if test -z "$1"; then
4969     qtopia_minver_maj=1
4970     qtopia_minver_min=5
4971     qtopia_minver_pat=0
4972   else
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/"`
4976   fi
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])
4985   LIB_QTOPIA="-lqpe"
4986   AC_SUBST(LIB_QTOPIA)
4988   kde_qtopia_dirs="$QPEDIR /opt/Qtopia"
4990   ac_qtopia_incdir=NO
4992   AC_ARG_WITH(qtopia-dir,
4993               [  --with-qtopia-dir=DIR   where the root of Qtopia is installed ],
4994               [  ac_qtopia_incdir="$withval"/include] ) 
4995   
4996   qtopia_incdirs=""
4997   for dir in $kde_qtopia_dirs; do
4998     qtopia_incdirs="$qtopia_incdirs $dir/include"
4999   done
5001   if test ! "$ac_qtopia_incdir" = "NO"; then
5002     qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs"
5003   fi
5005   qtopia_incdir=""
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.])
5011   fi
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
5021 is required.])
5022   fi
5024   AC_LANG_SAVE
5025   AC_LANG_CPLUSPLUS
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 );
5043     return 0;
5047   if AC_TRY_EVAL(ac_link) && test -s conftest; then
5048     rm -f conftest*
5049   else
5050     rm -f conftest*
5051     AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at
5052 the end of config.log])
5053   fi
5055   CXXFLAGS="$ac_cxxflags_safe"
5056   LDFLAGS="$ac_ldflags_safe"
5057   LIBS="$ac_libs_safe"
5059   AC_LANG_RESTORE
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])
5071 kde_qtdir=
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)
5079 AC_SUBST(QTDOCDIR)
5081 KDE_FIND_PATH(dot, DOT, [], [])
5082 if test -n "$DOT"; then
5083   KDE_HAVE_DOT="YES"
5084 else
5085   KDE_HAVE_DOT="NO"
5087 AC_SUBST(KDE_HAVE_DOT)
5088 KDE_FIND_PATH(doxygen, DOXYGEN, [], [])
5089 AC_SUBST(DOXYGEN)
5091 DOXYGEN_PROJECT_NAME="$1"
5092 DOXYGEN_PROJECT_NUMBER="$2"
5093 AC_SUBST(DOXYGEN_PROJECT_NAME)
5094 AC_SUBST(DOXYGEN_PROJECT_NUMBER)
5096 KDE_HAS_DOXYGEN=no
5097 if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then
5098   KDE_HAS_DOXYGEN=yes
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,
5110 AC_LANG_C
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"
5115 AC_TRY_LINK(dnl
5117 #define BZ_NO_STDIO
5118 #include<bzlib.h>
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"
5125 ])dnl
5126 AC_MSG_RESULT($ac_cv_lib_bzip2)
5128 if test ! "$ac_cv_lib_bzip2" = no; then
5129   BZIP2DIR=bzip2
5131   LIBBZ2="$ac_cv_lib_bzip2"
5132   AC_SUBST(LIBBZ2)
5134 else
5136    cxx_shared_flag=
5137    ld_shared_flag=
5138    KDE_CHECK_COMPILER_FLAG(shared, [
5139         ld_shared_flag="-shared"
5140    ])
5141    KDE_CHECK_COMPILER_FLAG(fPIC, [
5142         cxx_shared_flag="-fPIC"
5143    ])
5145    AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2])
5146    AC_CACHE_VAL(ac_cv_lib_bzip2_prefix,
5147    [
5148    AC_LANG_CPLUSPLUS
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"
5154    AC_TRY_LINK(dnl
5155    [
5156    #define BZ_NO_STDIO
5157    #include<bzlib.h>
5158    ],
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"
5164    ])dnl
5166    AC_MSG_RESULT($ac_cv_lib_bzip2_prefix)
5167    
5170    if test ! "$ac_cv_lib_bzip2_prefix" = no; then
5171      BZIP2DIR=bzip2
5172     
5173      LIBBZ2="$ac_cv_lib_bzip2_prefix"
5174      AC_SUBST(LIBBZ2)
5176      AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix])
5177    dnl else, we just ignore this
5178    fi
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
5196 ssl_libraries=""
5197 ssl_includes=""
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
5202     ])
5204 want_ssl=yes
5205 AC_ARG_WITH(ssl,
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
5215   
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"
5224   fi
5226   test=NONE
5227   ssl_libdir=NONE
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
5231   done
5233   ac_ssl_libraries="$ssl_libdir"
5235   AC_LANG_SAVE
5236   AC_LANG_C
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();,
5247   ac_ssl_rsaref="yes"
5248   ,
5249   ac_ssl_rsaref="no"
5250   )
5252   CFLAGS="$ac_cflags_safe"
5253   LDFLAGS="$ac_ldflags_safe"
5254   LIBS="$ac_libs_safe"
5256   AC_LANG_RESTORE
5258   if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then
5259     have_ssl=no
5260   else
5261     have_ssl=yes;
5262   fi
5264   ])
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])
5276 else
5277   have_ssl=no
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,
5284   [
5285     AC_LANG_SAVE
5286     AC_LANG_C 
5288     cat >conftest.$ac_ext <<EOF
5289 #include <openssl/opensslv.h>
5290 #include <stdio.h>
5291     int main() {
5293 #ifndef OPENSSL_VERSION_NUMBER
5294       printf("ssl_version=\\"error\\"\n");
5295 #else
5296       if (OPENSSL_VERSION_NUMBER < 0x00906000)
5297         printf("ssl_version=\\"old\\"\n");
5298       else
5299         printf("ssl_version=\\"ok\\"\n");
5300 #endif
5301      return (0);
5302     }
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 !])
5311         else
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.])
5314             have_ssl=no
5315           fi
5316         fi
5317         ac_cv_ssl_version="ssl_version=$ssl_version"
5318       else
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])
5322       fi
5324     else
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])
5328     fi 
5330     AC_LANG_RESTORE
5332   ])
5334   eval "$ac_cv_ssl_version"
5335   AC_MSG_RESULT($ssl_version)
5338 if test "$have_ssl" != yes; then
5339   LIBSSL="";
5340 else
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"
5344   
5345   
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" 
5351   fi
5353   if test $ssl_version = "old"; then
5354     AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6])
5355   fi
5358 if test "$ssl_includes" = "/usr/include" || test  "$ssl_includes" = "/usr/local/include" || test -z "$ssl_includes"; then
5359  SSL_INCLUDES="";
5360 else
5361  SSL_INCLUDES="-I$ssl_includes"
5364 if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries"; then
5365  SSL_LDFLAGS=""
5366 else
5367  SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries"
5370 AC_SUBST(SSL_INCLUDES)
5371 AC_SUBST(SSL_LDFLAGS)
5372 AC_SUBST(LIBSSL)
5375 AC_DEFUN(KDE_CHECK_STRLCPY,
5377   AC_CHECK_STRLCPY
5378   AC_CHECK_STRLCAT
5379   AC_CHECK_SIZEOF(size_t)
5380   AC_CHECK_SIZEOF(unsigned long)
5382   AC_MSG_CHECKING([sizeof(size_t) == sizeof(unsigned long)])
5383   AC_TRY_COMPILE(,[
5384     #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG
5385        choke me
5386     #endif
5387     ],[AC_MSG_RESULT([yes])],[
5388       AC_MSG_RESULT([no])
5389       AC_MSG_ERROR([
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!
5392       ])
5393   ])