Need config.h to see debug output.
[kdbg.git] / admin / acinclude.m4.in
blobc092666d93dd11adc357641b59e36c6f2b09be51
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. If you decide that you
25 dnl really want to modify it, contact coolo@kde.org mentioning that you have
26 dnl and that the modified file should be committed to every module.
27 dnl
28 dnl Single-module modifications are best placed in configure.in for kdelibs
29 dnl and kdebase or configure.in.in if present.
31 dnl ------------------------------------------------------------------------
32 dnl Forward compatibility macros (make autoconf 2.13 look like 2.50),
33 dnl thanks to Raja R Harinath.
34 dnl ------------------------------------------------------------------------
35 dnl
36 ifdef([_AC_PATH_X_XMKMF],[],
37    [AC_DEFUN([_AC_PATH_X_XMKMF],[AC_PATH_X_XMKMF])])
38 ifdef([AC_OUTPUT_SUBDIRS],[],
39    [AC_DEFUN([AC_OUTPUT_SUBDIRS],[subdirs=$1; _AC_OUTPUT_SUBDIRS])])
41 # KDE_PATH_X_DIRECT
42 dnl Internal subroutine of AC_PATH_X.
43 dnl Set ac_x_includes and/or ac_x_libraries.
44 AC_DEFUN(KDE_PATH_X_DIRECT,
45 [if test "$ac_x_includes" = NO; then
46   # Guess where to find include files, by looking for this one X11 .h file.
47   test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
49   # First, try using that file with no special directory specified.
50 AC_TRY_CPP([#include <$x_direct_test_include>],
51 [# We can compile using X headers with no special include directory.
52 ac_x_includes=],
53 [# Look for the header file in a standard set of common directories.
54 # Check X11 before X11Rn because it is often a symlink to the current release.
55   for ac_dir in               \
56     /usr/X11/include          \
57     /usr/X11R6/include        \
58     /usr/X11R5/include        \
59     /usr/X11R4/include        \
60                               \
61     /usr/include/X11          \
62     /usr/include/X11R6        \
63     /usr/include/X11R5        \
64     /usr/include/X11R4        \
65                               \
66     /usr/local/X11/include    \
67     /usr/local/X11R6/include  \
68     /usr/local/X11R5/include  \
69     /usr/local/X11R4/include  \
70                               \
71     /usr/local/include/X11    \
72     /usr/local/include/X11R6  \
73     /usr/local/include/X11R5  \
74     /usr/local/include/X11R4  \
75                               \
76     /usr/X386/include         \
77     /usr/x386/include         \
78     /usr/XFree86/include/X11  \
79                               \
80     /usr/include              \
81     /usr/local/include        \
82     /usr/unsupported/include  \
83     /usr/athena/include       \
84     /usr/local/x11r5/include  \
85     /usr/lpp/Xamples/include  \
86                               \
87     /usr/openwin/include      \
88     /usr/openwin/share/include \
89     ; \
90   do
91     if test -r "$ac_dir/$x_direct_test_include"; then
92       ac_x_includes=$ac_dir
93       break
94     fi
95   done])
96 fi # $ac_x_includes = NO
98 if test "$ac_x_libraries" = NO; then
99   # Check for the libraries.
101   test -z "$x_direct_test_library" && x_direct_test_library=Xt
102   test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
104   # See if we find them without any special options.
105   # Don't add to $LIBS permanently.
106   ac_save_LIBS="$LIBS"
107   LIBS="-l$x_direct_test_library $LIBS"
108 AC_TRY_LINK(, [${x_direct_test_function}()],
109 [LIBS="$ac_save_LIBS"
110 # We can link X programs with no special library path.
111 ac_x_libraries=],
112 [LIBS="$ac_save_LIBS"
113 # First see if replacing the include by lib works.
114 # Check X11 before X11Rn because it is often a symlink to the current release.
115 for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
116     /usr/X11/lib          \
117     /usr/X11R6/lib        \
118     /usr/X11R5/lib        \
119     /usr/X11R4/lib        \
120                           \
121     /usr/lib/X11          \
122     /usr/lib/X11R6        \
123     /usr/lib/X11R5        \
124     /usr/lib/X11R4        \
125                           \
126     /usr/local/X11/lib    \
127     /usr/local/X11R6/lib  \
128     /usr/local/X11R5/lib  \
129     /usr/local/X11R4/lib  \
130                           \
131     /usr/local/lib/X11    \
132     /usr/local/lib/X11R6  \
133     /usr/local/lib/X11R5  \
134     /usr/local/lib/X11R4  \
135                           \
136     /usr/X386/lib         \
137     /usr/x386/lib         \
138     /usr/XFree86/lib/X11  \
139                           \
140     /usr/lib              \
141     /usr/local/lib        \
142     /usr/unsupported/lib  \
143     /usr/athena/lib       \
144     /usr/local/x11r5/lib  \
145     /usr/lpp/Xamples/lib  \
146     /lib/usr/lib/X11      \
147                           \
148     /usr/openwin/lib      \
149     /usr/openwin/share/lib \
150     ; \
152 dnl Don't even attempt the hair of trying to link an X program!
153   for ac_extension in a so sl; do
154     if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
155       ac_x_libraries=$ac_dir
156       break 2
157     fi
158   done
159 done])
160 fi # $ac_x_libraries = NO
164 dnl ------------------------------------------------------------------------
165 dnl Find a file (or one of more files in a list of dirs)
166 dnl ------------------------------------------------------------------------
168 AC_DEFUN(AC_FIND_FILE,
170 $3=NO
171 for i in $2;
173   for j in $1;
174   do
175     echo "configure: __oline__: $i/$j" >&AC_FD_CC
176     if test -r "$i/$j"; then
177       echo "taking that" >&AC_FD_CC
178       $3=$i
179       break 2
180     fi
181   done
182 done
185 dnl KDE_FIND_PATH(programm-name, variable-name, list of directories,
186 dnl     if-not-found, test-parameter)
187 AC_DEFUN(KDE_FIND_PATH,
189    AC_MSG_CHECKING([for $1])
190    if test -n "$$2"; then
191         kde_cv_path="$$2";
192    else
193         kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
195         AC_CACHE_VAL(kde_cv_path_$kde_cache,
196         [
197         kde_cv_path="NONE"
198         dirs="$3"
199         kde_save_IFS=$IFS
200         IFS=':'
201         for dir in $PATH; do
202           dirs="$dirs $dir"
203         done
204         IFS=$kde_save_IFS
206         for dir in $dirs; do
207           if test -x "$dir/$1"; then
208             if test -n "$5"
209             then
210               evalstr="$dir/$1 $5 2>&1 "
211               if eval $evalstr; then
212                 kde_cv_path="$dir/$1"
213                 break
214               fi
215             else
216                 kde_cv_path="$dir/$1"
217                 break
218             fi
219           fi
220         done
222         eval "kde_cv_path_$kde_cache=$kde_cv_path"
224         ])
226       eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
228    fi
230    if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
231       AC_MSG_RESULT(not found)
232       $4
233    else
234       AC_MSG_RESULT($kde_cv_path)
235       $2=$kde_cv_path
237    fi
240 AC_DEFUN(KDE_MOC_ERROR_MESSAGE,
242     AC_MSG_ERROR([No Qt meta object compiler (moc) found!
243 Please check whether you installed Qt correctly.
244 You need to have a running moc binary.
245 configure tried to run $ac_cv_path_moc and the test didn't
246 succeed. If configure shouldn't have tried this one, set
247 the environment variable MOC to the right one before running
248 configure.
252 AC_DEFUN(KDE_UIC_ERROR_MESSAGE,
254     AC_MSG_WARN([No Qt ui compiler (uic) found!
255 Please check whether you installed Qt correctly.
256 You need to have a running uic binary.
257 configure tried to run $ac_cv_path_uic and the test didn't
258 succeed. If configure shouldn't have tried this one, set
259 the environment variable UIC to the right one before running
260 configure.
265 AC_DEFUN(KDE_CHECK_UIC_FLAG,
267     AC_MSG_CHECKING([whether uic supports -$1 ])
268     kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
269     AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache,
270     [
271         cat >conftest.ui <<EOT
272         <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
274         ac_uic_testrun="$UIC -$1 $2 conftest.ui >/dev/null"
275         if AC_TRY_EVAL(ac_uic_testrun); then
276             eval "kde_cv_prog_uic_$kde_cache=yes"
277         else
278             eval "kde_cv_prog_uic_$kde_cache=no"
279         fi
280         rm -f conftest*
281     ])
283     if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
284         AC_MSG_RESULT([yes])
285         :
286         $3
287     else
288         AC_MSG_RESULT([no])
289         :
290         $4
291     fi
295 dnl ------------------------------------------------------------------------
296 dnl Find the meta object compiler and the ui compiler in the PATH,
297 dnl in $QTDIR/bin, and some more usual places
298 dnl ------------------------------------------------------------------------
300 AC_DEFUN(AC_PATH_QT_MOC_UIC,
302    qt_bindirs=""
303    for dir in $kde_qt_dirs; do
304       qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
305    done
306    qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
307    if test ! "$ac_qt_bindir" = "NO"; then
308       qt_bindirs="$ac_qt_bindir $qt_bindirs"
309    fi
311    KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
312    if test -z "$UIC_NOT_NEEDED"; then
313      KDE_FIND_PATH(uic, UIC, [$qt_bindirs], [UIC=""])
314      if test -z "$UIC" ; then
315        KDE_UIC_ERROR_MESSAGE
316        exit 1
317      elif test $kde_qtver = 3; then
318        KDE_CHECK_UIC_FLAG(L,[/nonexistant],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no)
319        KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no)
321        if test x$ac_uic_supports_libpath = xyes; then
322            UIC="$UIC -L \$(kde_widgetdir)"
323        fi
324        if test x$ac_uic_supports_nounload = xyes; then
325            UIC="$UIC -nounload"
326        fi
327      fi
328    else
329      UIC="echo uic not available: "
330    fi
332    AC_SUBST(MOC)
333    AC_SUBST(UIC)
335    UIC_TR="i18n"
336    if test $kde_qtver = 3; then
337      UIC_TR="tr2i18n"
338    fi
340    AC_SUBST(UIC_TR)
343 AC_DEFUN(KDE_1_CHECK_PATHS,
345   KDE_1_CHECK_PATH_HEADERS
347   KDE_TEST_RPATH=
349   if test -n "$USE_RPATH"; then
351      if test -n "$kde_libraries"; then
352        KDE_TEST_RPATH="-R $kde_libraries"
353      fi
355      if test -n "$qt_libraries"; then
356        KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
357      fi
359      if test -n "$x_libraries"; then
360        KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
361      fi
363      KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
364   fi
366 AC_MSG_CHECKING([for KDE libraries installed])
367 ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5'
369 if AC_TRY_EVAL(ac_link) && test -s conftest; then
370   AC_MSG_RESULT(yes)
371 else
372   AC_MSG_ERROR([your system fails at linking a small KDE application!
373 Check, if your compiler is installed correctly and if you have used the
374 same compiler to compile Qt and kdelibs as you did use now.
375 For more details about this problem, look at the end of config.log.])
378 if eval `KDEDIR= ./conftest 2>&5`; then
379   kde_result=done
380 else
381   kde_result=problems
384 KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
385 kde_have_all_paths=yes
387 KDE_SET_PATHS($kde_result)
391 AC_DEFUN(KDE_SET_PATHS,
393   kde_cv_all_paths="kde_have_all_paths=\"yes\" \
394         kde_htmldir=\"$kde_htmldir\" \
395         kde_appsdir=\"$kde_appsdir\" \
396         kde_icondir=\"$kde_icondir\" \
397         kde_sounddir=\"$kde_sounddir\" \
398         kde_datadir=\"$kde_datadir\" \
399         kde_locale=\"$kde_locale\" \
400         kde_cgidir=\"$kde_cgidir\" \
401         kde_confdir=\"$kde_confdir\" \
402         kde_mimedir=\"$kde_mimedir\" \
403         kde_toolbardir=\"$kde_toolbardir\" \
404         kde_wallpaperdir=\"$kde_wallpaperdir\" \
405         kde_templatesdir=\"$kde_templatesdir\" \
406         kde_bindir=\"$kde_bindir\" \
407         kde_servicesdir=\"$kde_servicesdir\" \
408         kde_servicetypesdir=\"$kde_servicetypesdir\" \
409         kde_moduledir=\"$kde_moduledir\" \
410    kde_styledir=\"$kde_styledir\" \
411         kde_widgetdir=\"$kde_widgetdir\" \
412         kde_result=$1"
415 AC_DEFUN(KDE_SET_DEFAULT_PATHS,
417 if test "$1" = "default"; then
419   if test -z "$kde_htmldir"; then
420     kde_htmldir='\${prefix}/share/doc/HTML'
421   fi
422   if test -z "$kde_appsdir"; then
423     kde_appsdir='\${prefix}/share/applnk'
424   fi
425   if test -z "$kde_icondir"; then
426     kde_icondir='\${prefix}/share/icons'
427   fi
428   if test -z "$kde_sounddir"; then
429     kde_sounddir='\${prefix}/share/sounds'
430   fi
431   if test -z "$kde_datadir"; then
432     kde_datadir='\${prefix}/share/apps'
433   fi
434   if test -z "$kde_locale"; then
435     kde_locale='\${prefix}/share/locale'
436   fi
437   if test -z "$kde_cgidir"; then
438     kde_cgidir='\${exec_prefix}/cgi-bin'
439   fi
440   if test -z "$kde_confdir"; then
441     kde_confdir='\${prefix}/share/config'
442   fi
443   if test -z "$kde_mimedir"; then
444     kde_mimedir='\${prefix}/share/mimelnk'
445   fi
446   if test -z "$kde_toolbardir"; then
447     kde_toolbardir='\${prefix}/share/toolbar'
448   fi
449   if test -z "$kde_wallpaperdir"; then
450     kde_wallpaperdir='\${prefix}/share/wallpapers'
451   fi
452   if test -z "$kde_templatesdir"; then
453     kde_templatesdir='\${prefix}/share/templates'
454   fi
455   if test -z "$kde_bindir"; then
456     kde_bindir='\${exec_prefix}/bin'
457   fi
458   if test -z "$kde_servicesdir"; then
459     kde_servicesdir='\${prefix}/share/services'
460   fi
461   if test -z "$kde_servicetypesdir"; then
462     kde_servicetypesdir='\${prefix}/share/servicetypes'
463   fi
464   if test -z "$kde_moduledir"; then
465     if test "$kde_qtver" = "2"; then
466       kde_moduledir='\${libdir}/kde2'
467     else
468       kde_moduledir='\${libdir}/kde3'
469     fi
470   fi
471   if test -z "$kde_styledir"; then
472     kde_styledir='\${libdir}/kde3/plugins/styles'
473   fi
474   if test -z "$kde_widgetdir"; then
475     kde_widgetdir='\${libdir}/kde3/plugins/designer'
476   fi
478   KDE_SET_PATHS(defaults)
480 else
482   if test $kde_qtver = 1; then
483      AC_MSG_RESULT([compiling])
484      KDE_1_CHECK_PATHS
485   else
486      AC_MSG_ERROR([path checking not yet supported for KDE 2])
487   fi
492 AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS,
493 [ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
494    test -z "$kde_icondir" || test -z "$kde_sounddir" ||
495    test -z "$kde_datadir" || test -z "$kde_locale"  ||
496    test -z "$kde_cgidir"  || test -z "$kde_confdir" ||
497    test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
498    test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
499    test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
500    test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
501    test -z "$kde_styledir" || test -z "kde_widgetdir" 
502    test "x$kde_have_all_paths" != "xyes"; then
503      kde_have_all_paths=no
504   fi
507 AC_DEFUN(KDE_MISSING_PROG_ERROR,
509     AC_MSG_ERROR([The important program $1 was not found!
510 Please check whether you installed KDE correctly.
514 AC_DEFUN(KDE_SUBST_PROGRAMS,
517         kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
518         if test -n "$KDEDIRS"; then
519            kde_save_IFS=$IFS
520            IFS=:
521            for dir in $KDEDIRS; do
522                 kde_default_bindirs="$dir/bin $kde_default_bindirs "
523            done
524            IFS=$kde_save_IFS
525         fi
526         kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs"
527         KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
528         KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
529         KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(mcopidl)])
530         KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(artsc-config)])
531         KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs])
532         KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
533       
534         if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then  
535             kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
536             test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
537             AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
538             if test "$KDE_XSL_STYLESHEET" = "NO"; then
539                 KDE_XSL_STYLESHEET=""
540             else
541                 KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl"
542             fi
543         fi
545         DCOP_DEPENDENCIES='$(DCOPIDL)'
546         AC_SUBST(DCOPIDL)
547         AC_SUBST(DCOPIDL2CPP)
548         AC_SUBST(DCOP_DEPENDENCIES)
549         AC_SUBST(MCOPIDL)
550         AC_SUBST(ARTSCCONFIG)
551         AC_SUBST(KDECONFIG)
552         AC_SUBST(MEINPROC)
553         AC_SUBST(KDE_XSL_STYLESHEET)
555         if test -x "$KDECONFIG"; then # it can be "compiled"
556           kde_libs_prefix=`$KDECONFIG --prefix`
557           if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
558                AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
559                           This means it has been moved since you installed it.
560                           This won't work. Please recompile kdelibs for the new prefix.
561                           ])
562            fi
563            kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
564         else
565            kde_libs_prefix='$(prefix)'
566            kde_libs_htmldir='$(kde_htmldir)'
567         fi
568         AC_SUBST(kde_libs_prefix)
569         AC_SUBST(kde_libs_htmldir)
570 ])dnl
572 AC_DEFUN(AC_CREATE_KFSSTND,
574 AC_REQUIRE([AC_CHECK_RPATH])
576 AC_MSG_CHECKING([for KDE paths])
577 kde_result=""
578 kde_cached_paths=yes
579 AC_CACHE_VAL(kde_cv_all_paths,
581   KDE_SET_DEFAULT_PATHS($1)
582   kde_cached_paths=no
584 eval "$kde_cv_all_paths"
585 KDE_CHECK_PATHS_FOR_COMPLETENESS
586 if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
587   # wrong values were cached, may be, we can set better ones
588   kde_result=
589   kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
590   kde_datadir= kde_locale=  kde_cgidir=  kde_confdir=
591   kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
592   kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
593   kde_have_all_paths=
594   kde_styledir=
595   kde_widgetdir=
596   KDE_SET_DEFAULT_PATHS($1)
597   eval "$kde_cv_all_paths"
598   KDE_CHECK_PATHS_FOR_COMPLETENESS
599   kde_result="$kde_result (cache overridden)"
601 if test "$kde_have_all_paths" = "no"; then
602   AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
603 Since it had compiled and linked before, it must be a strange problem on your system.
604 Look at config.log for details. If you are not able to fix this, look at
605 http://www.kde.org/faq/installation.html or any www.kde.org mirror.
606 (If you're using an egcs version on Linux, you may update binutils!)
608 else
609   rm -f conftest*
610   AC_MSG_RESULT($kde_result)
613 bindir=$kde_bindir
615 KDE_SUBST_PROGRAMS
619 AC_DEFUN(AC_SUBST_KFSSTND,
621 AC_SUBST(kde_htmldir)
622 AC_SUBST(kde_appsdir)
623 AC_SUBST(kde_icondir)
624 AC_SUBST(kde_sounddir)
625 AC_SUBST(kde_datadir)
626 AC_SUBST(kde_locale)
627 AC_SUBST(kde_confdir)
628 AC_SUBST(kde_mimedir)
629 AC_SUBST(kde_wallpaperdir)
630 AC_SUBST(kde_bindir)
631 dnl for KDE 2
632 AC_SUBST(kde_templatesdir)
633 AC_SUBST(kde_servicesdir)
634 AC_SUBST(kde_servicetypesdir)
635 AC_SUBST(kde_moduledir)
636 AC_SUBST(kde_styledir)
637 AC_SUBST(kde_widgetdir)
638 if test "$kde_qtver" = 1; then
639   kde_minidir="$kde_icondir/mini"
640 else
641 # for KDE 1 - this breaks KDE2 apps using minidir, but
642 # that's the plan ;-/
643   kde_minidir="/dev/null"
645 dnl AC_SUBST(kde_minidir)
646 dnl AC_SUBST(kde_cgidir)
647 dnl AC_SUBST(kde_toolbardir)
650 AC_DEFUN(KDE_MISC_TESTS,
652    AC_LANG_C
653    dnl Checks for libraries.
654    AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD 
655    AC_SUBST(LIBUTIL)
656    AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD
657    AC_SUBST(LIBCOMPAT)
658    kde_have_crypt=
659    AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
660       AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
661         AC_MSG_WARN([you have no crypt in either libcrypt or libc.
662 You should install libcrypt from another source or configure with PAM
663 support])
664         kde_have_crypt=no
665       ]))
666    AC_SUBST(LIBCRYPT)
667    if test $kde_have_crypt = yes; then
668       AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
669    fi
670    AC_CHECK_SOCKLEN_T
671    AC_LANG_C
672    AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
673    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
674       AC_CHECK_LIB(dnet_stub, dnet_ntoa,
675         [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
676    fi
677    AC_CHECK_FUNC(inet_ntoa)
678    if test $ac_cv_func_inet_ntoa = no; then
679      AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
680    fi
681    AC_CHECK_FUNC(connect)
682    if test $ac_cv_func_connect = no; then
683       AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
684         $X_EXTRA_LIBS)
685    fi
687    AC_CHECK_FUNC(remove)
688    if test $ac_cv_func_remove = no; then
689       AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
690    fi
692    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
693    AC_CHECK_FUNC(shmat, ,
694      AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
695    
696    # Solaris 2.6 and others need -lresolv for res_init
697    AC_CHECK_FUNCS(res_init, , [
698      kde_libs_safe="$LIBS"
699      LIBS="$LIBS $X_EXTRA_LIBS -lresolv"
700      AC_TRY_LINK(
702 #include <resolv.h>
705 res_init(); 
707         LIBRESOLV="-lresolv"
708         X_EXTRA_LIBS="$X_EXTRA_LIBS $LIBRESOLV"
709         AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
710      )
711      LIBS=$kde_libs_safe
712    ])
714    LIBSOCKET="$X_EXTRA_LIBS"
715    AC_SUBST(LIBSOCKET)
716    AC_SUBST(LIBRESOLV)
717    AC_SUBST(X_EXTRA_LIBS)
718    AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
719    AC_SUBST(LIBUCB)
721    case $host in  dnl this *is* LynxOS specific
722    *-*-lynxos* )
723         AC_MSG_CHECKING([LynxOS header file wrappers])
724         [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
725         AC_MSG_RESULT(disabled)
726         AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
727          ;;
728     esac
730    KDE_CHECK_TYPES
731    KDE_CHECK_LIBDL
734 dnl ------------------------------------------------------------------------
735 dnl Find the header files and libraries for X-Windows. Extended the
736 dnl macro AC_PATH_X
737 dnl ------------------------------------------------------------------------
739 AC_DEFUN(K_PATH_X,
741 AC_REQUIRE([KDE_MISC_TESTS])dnl
743 AC_ARG_ENABLE(
744   embedded,
745   [  --enable-embedded       link to Qt-embedded, don't use X],
746   kde_use_qt_emb=$enableval,
747   kde_use_qt_emb=no
750 AC_ARG_ENABLE(
751   qtopia,
752   [  --enable-qtopia         link to Qt-embedded, link to the Qtopia Environment],
753   kde_use_qt_emb_palm=$enableval,
754   kde_use_qt_emb_palm=no
757 if test "$kde_use_qt_emb" = "no"; then
759 AC_MSG_CHECKING(for X)
760 AC_LANG_SAVE
761 AC_LANG_C
762 AC_CACHE_VAL(kde_cv_have_x,
763 [# One or both of the vars are not set, and there is no cached value.
764 if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
765    kde_x_includes=NO
766 else
767    kde_x_includes=$x_includes
769 if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
770    kde_x_libraries=NO
771 else
772    kde_x_libraries=$x_libraries
775 # below we use the standard autoconf calls
776 ac_x_libraries=$kde_x_libraries
777 ac_x_includes=$kde_x_includes
779 KDE_PATH_X_DIRECT
780 dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
781 dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
782 dnl location. The correct location is /usr/lib32 or an undefined value
783 dnl (the linker is smart enough to pick the correct default library).
784 dnl Things work just fine if you use just AC_PATH_X_DIRECT.
785 dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to
786 dnl /usr/openwin/include, which doesn't work. /usr/include does work, so
787 dnl x_includes should be left alone.
788 case "$host" in
789 mips-sgi-irix6*)
790   ;;
791 *-*-solaris*)
792   ;;
794   _AC_PATH_X_XMKMF
795   if test -z "$ac_x_includes"; then
796     ac_x_includes="."
797   fi
798   if test -z "$ac_x_libraries"; then
799     ac_x_libraries="/usr/lib"
800   fi
801 esac
802 #from now on we use our own again
804 # when the user already gave --x-includes, we ignore
805 # what the standard autoconf macros told us.
806 if test "$kde_x_includes" = NO; then
807   kde_x_includes=$ac_x_includes
810 # for --x-libraries too
811 if test "$kde_x_libraries" = NO; then
812   kde_x_libraries=$ac_x_libraries
815 if test "$kde_x_includes" = NO; then
816   AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
819 if test "$kde_x_libraries" = NO; then
820   AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
823 # Record where we found X for the cache.
824 kde_cv_have_x="have_x=yes \
825          kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
826 ])dnl
828 eval "$kde_cv_have_x"
830 if test "$have_x" != yes; then
831   AC_MSG_RESULT($have_x)
832   no_x=yes
833 else
834   AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
837 if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
838   X_INCLUDES=""
839   x_includes="."; dnl better than nothing :-
840  else
841   x_includes=$kde_x_includes
842   X_INCLUDES="-I$x_includes"
845 if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then
846   X_LDFLAGS=""
847   x_libraries="/usr/lib"; dnl better than nothing :-
848  else
849   x_libraries=$kde_x_libraries
850   X_LDFLAGS="-L$x_libraries"
852 all_includes="$X_INCLUDES"
853 all_libraries="$X_LDFLAGS"
855 AC_SUBST(X_INCLUDES)
856 AC_SUBST(X_LDFLAGS)
857 AC_SUBST(x_libraries)
858 AC_SUBST(x_includes)
860 # Check for libraries that X11R6 Xt/Xaw programs need.
861 ac_save_LDFLAGS="$LDFLAGS"
862 LDFLAGS="$LDFLAGS $X_LDFLAGS"
863 # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
864 # check for ICE first), but we must link in the order -lSM -lICE or
865 # we get undefined symbols.  So assume we have SM if we have ICE.
866 # These have to be linked with before -lX11, unlike the other
867 # libraries we check for below, so use a different variable.
868 #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
869 AC_CHECK_LIB(ICE, IceConnectionNumber,
870   [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
871 AC_SUBST(LIBSM)
872 LDFLAGS="$ac_save_LDFLAGS"
874 AC_SUBST(X_PRE_LIBS)
876 LIB_X11='-lX11 $(LIBSOCKET)'
877 AC_SUBST(LIB_X11)
879 AC_MSG_CHECKING(for libXext)
880 AC_CACHE_VAL(kde_cv_have_libXext,
882 kde_ldflags_safe="$LDFLAGS"
883 kde_libs_safe="$LIBS"
885 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
886 LIBS="-lXext -lX11 $LIBSOCKET"
888 AC_TRY_LINK([
889 #include <stdio.h>
890 #ifdef STDC_HEADERS
891 # include <stdlib.h>
892 #endif
895 printf("hello Xext\n");
897 kde_cv_have_libXext=yes,
898 kde_cv_have_libXext=no
899    )
901 LDFLAGS=$kde_ldflags_safe
902 LIBS=$kde_libs_safe
903  ])
905 AC_MSG_RESULT($kde_cv_have_libXext)
907 if test "$kde_cv_have_libXext" = "no"; then
908   AC_MSG_ERROR([We need a working libXext to proceed. Since configure
909 can't find it itself, we stop here assuming that make wouldn't find
910 them either.])
913 LIB_XEXT="-lXext"
914 QTE_NORTTI=""
916 else
917   dnl We're using QT Embedded
918   CXXFLAGS="$CXXFLAGS -fno-rtti -DQWS"
919   CFLAGS="$CFLAGS -DQWS"
920   LDFLAGS="$LDFLAGS -DQWS"
921   QTE_NORTTI="-fno-rtti -DQWS"
922   X_PRE_LIBS=""
923   LIB_X11=""
924   LIB_XEXT=""
925   LIBSM=""
926   X_INCLUDES=""
927   X_LDFLAGS=""
928   x_includes=""
929   x_libraries=""
930   AC_SUBST(X_PRE_LIBS)
931   AC_SUBST(LIB_X11)
932   AC_SUBST(LIBSM)
933   AC_SUBST(X_INCLUDES)
934   AC_SUBST(X_LDFLAGS)
935   AC_SUBST(x_includes)
936   AC_SUBST(x_libraries)
938 AC_SUBST(QTE_NORTTI)
939 AC_SUBST(LIB_XEXT)
942 AC_LANG_RESTORE
946 AC_DEFUN(KDE_PRINT_QT_PROGRAM,
948 AC_REQUIRE([KDE_USE_QT])
949 cat > conftest.$ac_ext <<EOF
950 #include "confdefs.h"
951 #include <qglobal.h>
952 #include <qapplication.h>
954 if test "$kde_qtver" = "2"; then
955 cat >> conftest.$ac_ext <<EOF
956 #include <qevent.h>
957 #include <qstring.h>
958 #include <qstyle.h>
961 if test $kde_qtsubver -gt 0; then
962 cat >> conftest.$ac_ext <<EOF
963 #include <qiconview.h>
968 if test "$kde_qtver" = "3"; then
969 cat >> conftest.$ac_ext <<EOF
970 #include <qcursor.h>
971 #include <qstylefactory.h>
972 #include <private/qucomextra_p.h>
976 echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
977 cat >> conftest.$ac_ext <<EOF
978 #error 1
979 #endif
981 int main() {
983 if test "$kde_qtver" = "2"; then
984 cat >> conftest.$ac_ext <<EOF
985     QStringList *t = new QStringList();
986     Q_UNUSED(t);
988 if test $kde_qtsubver -gt 0; then
989 cat >> conftest.$ac_ext <<EOF
990     QIconView iv(0);
991     iv.setWordWrapIconText(false);
992     QString s;
993     s.setLatin1("Elvis is alive", 14);
997 if test "$kde_qtver" = "3"; then
998 cat >> conftest.$ac_ext <<EOF
999     (void)QStyleFactory::create(QString::null);
1000     QCursor c(Qt::WhatsThisCursor);
1003 cat >> conftest.$ac_ext <<EOF
1004     return 0;
1009 AC_DEFUN(KDE_USE_QT,
1011 if test -z "$1"; then
1012   kde_qtver=2
1013   kde_qtsubver=0
1014 else
1015   kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
1016   # following is the check if subversion isn´t found in passed argument
1017   if test "$kde_qtsubver" = "$1"; then
1018     kde_qtsubver=1
1019   fi
1020   kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
1021   if test "$kde_qtver" = "1"; then
1022     kde_qtsubver=42
1023   fi
1026 if test -z "$2"; then
1027   if test "$kde_qtver" = "2"; then
1028     if test $kde_qtsubver -gt 0; then
1029       kde_qt_minversion=">= Qt 2.2.2"
1030     else
1031       kde_qt_minversion=">= Qt 2.0.2"
1032     fi
1033   fi
1034   if test "$kde_qtver" = "3"; then
1035     kde_qt_minversion=">= Qt 3.0.3"
1036   fi
1037   if test "$kde_qtver" = "1"; then
1038     kde_qt_minversion=">= 1.42 and < 2.0"
1039   fi
1040 else
1041    kde_qt_minversion=$2
1044 if test -z "$3"; then
1045    if test $kde_qtver = 3; then
1046      kde_qt_verstring="QT_VERSION >= 303"
1047    fi
1048    if test $kde_qtver = 2; then
1049      if test $kde_qtsubver -gt 0; then
1050        kde_qt_verstring="QT_VERSION >= 222"
1051      else
1052        kde_qt_verstring="QT_VERSION >= 200"
1053      fi
1054    fi
1055    if test $kde_qtver = 1; then
1056     kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
1057    fi
1058 else
1059    kde_qt_verstring=$3
1062 if test $kde_qtver = 3; then
1063   kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt"
1065 if test $kde_qtver = 2; then
1066    kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
1068 if test $kde_qtver = 1; then
1069    kde_qt_dirs="$QTDIR /usr/lib/qt"
1073 AC_DEFUN(KDE_CHECK_QT_DIRECT,
1075 AC_REQUIRE([KDE_USE_QT])
1076 AC_MSG_CHECKING([if Qt compiles without flags])
1077 AC_CACHE_VAL(kde_cv_qt_direct,
1079 AC_LANG_SAVE
1080 AC_LANG_CPLUSPLUS
1081 ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
1082 ac_LIBRARY_PATH="$LIBRARY_PATH"
1083 ac_cxxflags_safe="$CXXFLAGS"
1084 ac_ldflags_safe="$LDFLAGS"
1085 ac_libs_safe="$LIBS"
1087 CXXFLAGS="$CXXFLAGS -I$qt_includes"
1088 LDFLAGS="$LDFLAGS $X_LDFLAGS"
1089 if test "x$kde_use_qt_emb" != "xyes"; then
1090 LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
1091 else
1092 LIBS="$LIBQT $LIBSOCKET"
1094 LD_LIBRARY_PATH=
1095 export LD_LIBRARY_PATH
1096 LIBRARY_PATH=
1097 export LIBRARY_PATH
1099 KDE_PRINT_QT_PROGRAM
1101 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1102   kde_cv_qt_direct="yes"
1103 else
1104   kde_cv_qt_direct="no"
1105   echo "configure: failed program was:" >&AC_FD_CC
1106   cat conftest.$ac_ext >&AC_FD_CC
1109 rm -f conftest*
1110 CXXFLAGS="$ac_cxxflags_safe"
1111 LDFLAGS="$ac_ldflags_safe"
1112 LIBS="$ac_libs_safe"
1114 LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
1115 export LD_LIBRARY_PATH
1116 LIBRARY_PATH="$ac_LIBRARY_PATH"
1117 export LIBRARY_PATH
1118 AC_LANG_RESTORE
1121 if test "$kde_cv_qt_direct" = "yes"; then
1122   AC_MSG_RESULT(yes)
1123   $1
1124 else
1125   AC_MSG_RESULT(no)
1126   $2
1130 dnl ------------------------------------------------------------------------
1131 dnl Try to find the Qt headers and libraries.
1132 dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
1133 dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
1134 dnl ------------------------------------------------------------------------
1136 AC_DEFUN(AC_PATH_QT_1_3,
1138 AC_REQUIRE([K_PATH_X])
1139 AC_REQUIRE([KDE_USE_QT])
1141 dnl ------------------------------------------------------------------------
1142 dnl Add configure flag to enable linking to MT version of Qt library.
1143 dnl ------------------------------------------------------------------------
1145 AC_ARG_ENABLE(
1146   mt,
1147   [  --disable-mt            link to non-threaded Qt (deprecated)],
1148   kde_use_qt_mt=$enableval,
1149   [
1150     if test $kde_qtver = 3; then
1151       kde_use_qt_mt=yes
1152     else
1153       kde_use_qt_mt=no
1154     fi
1155   ]
1158 USING_QT_MT=""
1160 dnl ------------------------------------------------------------------------
1161 dnl If we not get --disable-qt-mt then adjust some vars for the host.
1162 dnl ------------------------------------------------------------------------
1164 KDE_MT_LDFLAGS=
1165 KDE_MT_LIBS=
1166 if test "x$kde_use_qt_mt" = "xyes"; then
1167   KDE_CHECK_THREADING
1168   if test "x$kde_use_threading" = "xyes"; then
1169     CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS"
1170     KDE_MT_LDFLAGS="$USE_THREADS"
1171     KDE_MT_LIBS="$LIBPTHREAD"
1172   else
1173     kde_use_qt_mt=no
1174   fi
1176 AC_SUBST(KDE_MT_LDFLAGS)
1177 AC_SUBST(KDE_MT_LIBS)
1179 kde_qt_was_given=yes
1181 dnl ------------------------------------------------------------------------
1182 dnl If we haven't been told how to link to Qt, we work it out for ourselves.
1183 dnl ------------------------------------------------------------------------
1184 if test -z "$LIBQT_GLOB"; then
1185   if test "x$kde_use_qt_emb" = "xyes"; then
1186     LIBQT_GLOB="libqte.*"
1187   else
1188     LIBQT_GLOB="libqt.*"
1189   fi
1192 if test -z "$LIBQT"; then
1193 dnl ------------------------------------------------------------
1194 dnl If we got --enable-embedded then adjust the Qt library name.
1195 dnl ------------------------------------------------------------
1196   if test "x$kde_use_qt_emb" = "xyes"; then
1197     qtlib="qte"
1198   else
1199     qtlib="qt"
1200   fi
1202   kde_int_qt="-l$qtlib"
1203 else
1204   kde_int_qt="$LIBQT"
1205   kde_lib_qt_set=yes
1208 if test -z "$LIBQPE"; then
1209 dnl ------------------------------------------------------------
1210 dnl If we got --enable-palmtop then add -lqpe to the link line
1211 dnl ------------------------------------------------------------
1212   if test "x$kde_use_qt_emb" = "xyes"; then
1213     if test "x$kde_use_qt_emb_palm" = "xyes"; then
1214       LIB_QPE="-lqpe"
1215     else
1216       LIB_QPE=""
1217     fi
1218   else
1219     LIB_QPE=""
1220   fi
1223 dnl ------------------------------------------------------------------------
1224 dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
1225 dnl ------------------------------------------------------------------------
1227 if test "x$kde_use_qt_mt" = "xyes"; then
1228   if test -z "$LIBQT"; then
1229     LIBQT="-l$qtlib-mt"
1230     kde_int_qt="-l$qtlib-mt"
1231   else
1232     LIBQT="$qtlib-mt"
1233     kde_int_qt="$qtlib-mt"
1234   fi
1235   LIBQT_GLOB="lib$qtlib-mt.*"
1236   USING_QT_MT="using -mt"
1237 else
1238   LIBQT="-l$qtlib"
1241 if test $kde_qtver != 1; then
1243   AC_REQUIRE([AC_FIND_PNG])
1244   AC_REQUIRE([AC_FIND_JPEG])
1245   LIBQT="$LIBQT $LIBPNG $LIBJPEG"
1248 if test $kde_qtver = 3; then
1249   AC_REQUIRE([KDE_CHECK_LIBDL])
1250   LIBQT="$LIBQT $LIBDL"
1253 AC_MSG_CHECKING([for Qt])
1255 if test "x$kde_use_qt_emb" != "xyes"; then
1256 LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
1258 ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
1259 qt_libraries=""
1260 qt_includes=""
1261 AC_ARG_WITH(qt-dir,
1262     [  --with-qt-dir=DIR       where the root of Qt is installed ],
1263     [  ac_qt_includes="$withval"/include
1264        ac_qt_libraries="$withval"/lib
1265        ac_qt_bindir="$withval"/bin
1266     ])
1268 AC_ARG_WITH(qt-includes,
1269     [  --with-qt-includes=DIR  where the Qt includes are. ],
1270     [
1271        ac_qt_includes="$withval"
1272     ])
1274 kde_qt_libs_given=no
1276 AC_ARG_WITH(qt-libraries,
1277     [  --with-qt-libraries=DIR where the Qt library is installed.],
1278     [  ac_qt_libraries="$withval"
1279        kde_qt_libs_given=yes
1280     ])
1282 AC_CACHE_VAL(ac_cv_have_qt,
1283 [#try to guess Qt locations
1285 qt_incdirs=""
1286 for dir in $kde_qt_dirs; do
1287    qt_incdirs="$qt_incdirs $dir/include $dir"
1288 done
1289 qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 $x_includes"
1290 if test ! "$ac_qt_includes" = "NO"; then
1291    qt_incdirs="$ac_qt_includes $qt_incdirs"
1294 if test "$kde_qtver" != "1"; then
1295   kde_qt_header=qstyle.h
1296 else
1297   kde_qt_header=qglobal.h
1300 AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
1301 ac_qt_includes="$qt_incdir"
1303 qt_libdirs=""
1304 for dir in $kde_qt_dirs; do
1305    qt_libdirs="$qt_libdirs $dir/lib $dir"
1306 done
1307 qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
1308 if test ! "$ac_qt_libraries" = "NO"; then
1309   qt_libdir=$ac_qt_libraries
1310 else
1311   qt_libdirs="$ac_qt_libraries $qt_libdirs"
1312   # if the Qt was given, the chance is too big that libqt.* doesn't exist
1313   qt_libdir=NONE
1314   for dir in $qt_libdirs; do
1315     try="ls -1 $dir/${LIBQT_GLOB}"
1316     if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
1317   done
1320 ac_qt_libraries="$qt_libdir"
1322 AC_LANG_SAVE
1323 AC_LANG_CPLUSPLUS
1325 ac_cxxflags_safe="$CXXFLAGS"
1326 ac_ldflags_safe="$LDFLAGS"
1327 ac_libs_safe="$LIBS"
1329 CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
1330 LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
1331 LIBS="$LIBS $LIBQT $KDE_MT_LIBS"
1333 KDE_PRINT_QT_PROGRAM
1335 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1336   rm -f conftest*
1337 else
1338   echo "configure: failed program was:" >&AC_FD_CC
1339   cat conftest.$ac_ext >&AC_FD_CC
1340   ac_qt_libraries="NO"
1342 rm -f conftest*
1343 CXXFLAGS="$ac_cxxflags_safe"
1344 LDFLAGS="$ac_ldflags_safe"
1345 LIBS="$ac_libs_safe"
1347 AC_LANG_RESTORE
1348 if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
1349   ac_cv_have_qt="have_qt=no"
1350   ac_qt_notfound=""
1351   missing_qt_mt=""
1352   if test "$ac_qt_includes" = NO; then
1353     if test "$ac_qt_libraries" = NO; then
1354       ac_qt_notfound="(headers and libraries)";
1355     else
1356       ac_qt_notfound="(headers)";
1357     fi
1358   else
1359     if test "x$kde_use_qt_mt" = "xyes"; then
1360        missing_qt_mt="
1361 Make sure that you have compiled Qt with thread support!"
1362        ac_qt_notfound="(library $qtlib-mt)";
1363     else
1364        ac_qt_notfound="(library $qtlib)";
1365     fi
1366   fi
1368   AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
1369 For more details about this problem, look at the end of config.log.$missing_qt_mt])
1370 else
1371   have_qt="yes"
1375 eval "$ac_cv_have_qt"
1377 if test "$have_qt" != yes; then
1378   AC_MSG_RESULT([$have_qt]);
1379 else
1380   ac_cv_have_qt="have_qt=yes \
1381     ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
1382   AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
1384   qt_libraries="$ac_qt_libraries"
1385   qt_includes="$ac_qt_includes"
1388 if test ! "$kde_qt_libs_given" = "yes"; then
1389 KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
1392 AC_SUBST(qt_libraries)
1393 AC_SUBST(qt_includes)
1395 if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
1396  QT_INCLUDES=""
1397 else
1398  QT_INCLUDES="-I$qt_includes"
1399  all_includes="$QT_INCLUDES $all_includes"
1402 if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
1403  QT_LDFLAGS=""
1404 else
1405  QT_LDFLAGS="-L$qt_libraries"
1406  all_libraries="$all_libraries $QT_LDFLAGS"
1408 test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
1410 AC_SUBST(QT_INCLUDES)
1411 AC_SUBST(QT_LDFLAGS)
1412 AC_PATH_QT_MOC_UIC
1414 KDE_CHECK_QT_JPEG
1416 if test "x$kde_use_qt_emb" != "xyes"; then
1417 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG) -lXext $(LIB_X11) $(LIBSM)'
1418 else
1419 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG)'
1421 test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
1423 AC_SUBST(LIB_QT)
1424 AC_SUBST(LIB_QPE)
1426 AC_SUBST(kde_qtver)
1429 AC_DEFUN(AC_PATH_QT,
1431 AC_PATH_QT_1_3
1434 AC_DEFUN(KDE_CHECK_FINAL,
1436   AC_ARG_ENABLE(final, [  --enable-final          build size optimized apps (experimental - needs lots of memory)],
1437         kde_use_final=$enableval, kde_use_final=no)
1439   KDE_COMPILER_REPO
1440   if test "x$kde_use_final" = "xyes"; then
1441       KDE_USE_FINAL_TRUE=""
1442       KDE_USE_FINAL_FALSE="#"
1443    else
1444       KDE_USE_FINAL_TRUE="#"
1445       KDE_USE_FINAL_FALSE=""
1446   fi
1447   AC_SUBST(KDE_USE_FINAL_TRUE)
1448   AC_SUBST(KDE_USE_FINAL_FALSE)
1450   AC_ARG_ENABLE(closure, [  --disable-closure       don't delay template instantiation],
1451         kde_use_closure=$enableval, kde_use_closure=yes)
1453   if test "x$kde_use_closure" = "xyes"; then
1454        KDE_USE_CLOSURE_TRUE=""
1455        KDE_USE_CLOSURE_FALSE="#"
1456 #       CXXFLAGS="$CXXFLAGS $REPO"
1457   else
1458        KDE_USE_CLOSURE_TRUE="#"
1459        KDE_USE_CLOSURE_FALSE=""
1460   fi
1461   AC_SUBST(KDE_USE_CLOSURE_TRUE)
1462   AC_SUBST(KDE_USE_CLOSURE_FALSE)
1465 dnl ------------------------------------------------------------------------
1466 dnl Now, the same with KDE
1467 dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
1468 dnl and $(kde_includes) will be the kdehdrlocation (if needed)
1469 dnl ------------------------------------------------------------------------
1471 AC_DEFUN(AC_BASE_PATH_KDE,
1473 AC_PREREQ([2.13])
1474 AC_REQUIRE([AC_PATH_QT])dnl
1475 AC_CHECK_RPATH
1476 AC_MSG_CHECKING([for KDE])
1478 if test "${prefix}" != NONE; then
1479   kde_includes=${prefix}/include
1480   ac_kde_includes=$prefix/include
1482   if test "${exec_prefix}" != NONE; then
1483      kde_libraries=${libdir}
1484      ac_kde_libraries=$libdir
1485   else
1486      kde_libraries=${prefix}/lib
1487      ac_kde_libraries=$prefix/lib
1488   fi
1489 else
1490   ac_kde_includes=
1491   ac_kde_libraries=
1492   kde_libraries=""
1493   kde_includes=""
1496 AC_CACHE_VAL(ac_cv_have_kde,
1497 [#try to guess kde locations
1499 if test "$kde_qtver" = 1; then
1500   kde_check_header="ksock.h"
1501   kde_check_lib="libkdecore.la"
1502 else
1503   kde_check_header="ksharedptr.h"
1504   kde_check_lib="libkio.la"
1507 if test -z "$1"; then
1509 kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes $includedir"
1510 test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
1511 kde_incdirs="$ac_kde_includes $kde_incdirs"
1512 AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
1513 ac_kde_includes="$kde_incdir"
1515 if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
1516   AC_MSG_ERROR([
1517 in the prefix, you've chosen, are no KDE headers installed. This will fail.
1518 So, check this please and use another prefix!])
1521 kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib"
1522 test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib $KDEDIR $kde_libdirs"
1523 kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
1524 AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
1525 ac_kde_libraries="$kde_libdir"
1527 if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
1528 AC_MSG_ERROR([
1529 in the prefix, you've chosen, are no KDE libraries installed. This will fail.
1530 So, check this please and use another prefix!])
1532 ac_kde_libraries="$kde_libdir"
1534 if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO; then
1535   ac_cv_have_kde="have_kde=no"
1536 else
1537   ac_cv_have_kde="have_kde=yes \
1538     ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1541 else dnl test -z $1
1543   ac_cv_have_kde="have_kde=no"
1546 ])dnl
1548 eval "$ac_cv_have_kde"
1550 if test "$have_kde" != "yes"; then
1551  if test "${prefix}" = NONE; then
1552   ac_kde_prefix="$ac_default_prefix"
1553  else
1554   ac_kde_prefix="$prefix"
1555  fi
1556  if test "$exec_prefix" = NONE; then
1557   ac_kde_exec_prefix="$ac_kde_prefix"
1558   AC_MSG_RESULT([will be installed in $ac_kde_prefix])
1559  else
1560   ac_kde_exec_prefix="$exec_prefix"
1561   AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
1562  fi
1564  kde_libraries="${libdir}"
1565  kde_includes=${ac_kde_prefix}/include
1567 else
1568   ac_cv_have_kde="have_kde=yes \
1569     ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1570   AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
1572   kde_libraries="$ac_kde_libraries"
1573   kde_includes="$ac_kde_includes"
1575 AC_SUBST(kde_libraries)
1576 AC_SUBST(kde_includes)
1578 if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes"  || test "$kde_includes" = "/usr/include"; then
1579  KDE_INCLUDES=""
1580 else
1581  KDE_INCLUDES="-I$kde_includes"
1582  all_includes="$KDE_INCLUDES $all_includes"
1585 KDE_LDFLAGS="-L$kde_libraries"
1586 if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then 
1587  all_libraries="$all_libraries $KDE_LDFLAGS"
1590 AC_SUBST(KDE_LDFLAGS)
1591 AC_SUBST(KDE_INCLUDES)
1593 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
1595 all_libraries="$all_libraries $USER_LDFLAGS"
1596 all_includes="$all_includes $USER_INCLUDES"
1597 AC_SUBST(all_includes)
1598 AC_SUBST(all_libraries)
1600 AC_SUBST(AUTODIRS)
1603 AC_DEFUN(KDE_CHECK_EXTRA_LIBS,
1605 AC_MSG_CHECKING(for extra includes)
1606 AC_ARG_WITH(extra-includes, [  --with-extra-includes=DIR
1607                           adds non standard include paths],
1608   kde_use_extra_includes="$withval",
1609   kde_use_extra_includes=NONE
1611 kde_extra_includes=
1612 if test -n "$kde_use_extra_includes" && \
1613    test "$kde_use_extra_includes" != "NONE"; then
1615    ac_save_ifs=$IFS
1616    IFS=':'
1617    for dir in $kde_use_extra_includes; do
1618      kde_extra_includes="$kde_extra_includes $dir"
1619      USER_INCLUDES="$USER_INCLUDES -I$dir"
1620    done
1621    IFS=$ac_save_ifs
1622    kde_use_extra_includes="added"
1623 else
1624    kde_use_extra_includes="no"
1626 AC_SUBST(USER_INCLUDES)
1628 AC_MSG_RESULT($kde_use_extra_includes)
1630 kde_extra_libs=
1631 AC_MSG_CHECKING(for extra libs)
1632 AC_ARG_WITH(extra-libs, [  --with-extra-libs=DIR   adds non standard library paths],
1633   kde_use_extra_libs=$withval,
1634   kde_use_extra_libs=NONE
1636 if test -n "$kde_use_extra_libs" && \
1637    test "$kde_use_extra_libs" != "NONE"; then
1639    ac_save_ifs=$IFS
1640    IFS=':'
1641    for dir in $kde_use_extra_libs; do
1642      kde_extra_libs="$kde_extra_libs $dir"
1643      KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
1644      USER_LDFLAGS="$USER_LDFLAGS -L$dir"
1645    done
1646    IFS=$ac_save_ifs
1647    kde_use_extra_libs="added"
1648 else
1649    kde_use_extra_libs="no"
1652 AC_SUBST(USER_LDFLAGS)
1654 AC_MSG_RESULT($kde_use_extra_libs)
1658 AC_DEFUN(KDE_1_CHECK_PATH_HEADERS,
1660     AC_MSG_CHECKING([for KDE headers installed])
1661     AC_LANG_SAVE
1662     AC_LANG_CPLUSPLUS
1663 cat > conftest.$ac_ext <<EOF
1664 #ifdef STDC_HEADERS
1665 # include <stdlib.h>
1666 #endif
1667 #include <stdio.h>
1668 #include "confdefs.h"
1669 #include <kapp.h>
1671 int main() {
1672     printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
1673     printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
1674     printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
1675     printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
1676     printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
1677     printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
1678     printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
1679     printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
1680     printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
1681     printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
1682     printf("kde_wallpaperdir=\\"%s\\"\n",
1683         KApplication::kde_wallpaperdir().data());
1684     printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
1685     printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
1686     printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
1687     printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
1688     printf("kde_moduledir=\\"/tmp/dummy\\"\n");
1689     printf("kde_styledir=\\"/tmp/dummy\\"\n");
1690     printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
1691     return 0;
1692     }
1695  ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext'
1696  if AC_TRY_EVAL(ac_compile); then
1697    AC_MSG_RESULT(yes)
1698  else
1699    AC_MSG_ERROR([your system is not able to compile a small KDE application!
1700 Check, if you installed the KDE header files correctly.
1701 For more details about this problem, look at the end of config.log.])
1702   fi
1704   AC_LANG_RESTORE
1707 AC_DEFUN(KDE_CHECK_KDEQTADDON,
1709 AC_MSG_CHECKING(for kde-qt-addon)
1710 AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
1712  kde_ldflags_safe="$LDFLAGS"
1713  kde_libs_safe="$LIBS"
1714  kde_cxxflags_safe="$CXXFLAGS"
1716  LIBS="-lkde-qt-addon $LIBQT $LIBS"
1717  CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
1718  LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
1720  AC_TRY_LINK([
1721    #include <qdom.h>
1722  ],
1724    QDomDocument doc;
1725  ],
1726   kde_cv_have_kdeqtaddon=yes,
1727   kde_cv_have_kdeqtaddon=no
1730  LDFLAGS=$kde_ldflags_safe
1731  LIBS=$kde_libs_safe
1732  CXXFLAGS=$kde_cxxflags_safe
1735 AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
1737 if test "$kde_cv_have_kdeqtaddon" = "no"; then
1738   AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
1739 It is a separate package (and CVS module) named kde-qt-addon.])
1743 AC_DEFUN(KDE_CHECK_KIMGIO,
1745    AC_REQUIRE([AC_BASE_PATH_KDE])
1746    AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
1747    AC_REQUIRE([AC_FIND_TIFF])
1748    AC_REQUIRE([AC_FIND_JPEG])
1749    AC_REQUIRE([AC_FIND_PNG])
1750    AC_REQUIRE([KDE_CREATE_LIBS_ALIASES])
1752    if test "$1" = "existance"; then
1753      AC_LANG_SAVE
1754      AC_LANG_CPLUSPLUS
1755      kde_save_LIBS="$LIBS"
1756      LIBS="$LIBS $all_libraries $LIBJPEG $LIBTIFF $LIBPNG $LIBQT -lm"
1757      AC_CHECK_LIB(kimgio, kimgioRegister, [
1758       LIBKIMGIO_EXISTS=yes],LIBKIMGIO_EXISTS=no)
1759      LIBS="$kde_save_LIBS"
1760      AC_LANG_RESTORE
1761    else
1762      LIBKIMGIO_EXISTS=yes
1763    fi
1765    if test "$LIBKIMGIO_EXISTS" = "yes"; then
1766      LIB_KIMGIO='-lkimgio'
1767    else
1768      LIB_KIMGIO=''
1769    fi
1770    AC_SUBST(LIB_KIMGIO)
1773 AC_DEFUN(KDE_CREATE_LIBS_ALIASES,
1775    AC_REQUIRE([KDE_MISC_TESTS])
1776    AC_REQUIRE([KDE_CHECK_LIBDL])
1777    AC_REQUIRE([K_PATH_X])
1779 if test $kde_qtver = 3; then
1780    LIB_KDECORE='-lkdecore'
1781    AC_SUBST(LIB_KDECORE)
1782    LIB_KDEUI='-lkdeui'
1783    AC_SUBST(LIB_KDEUI)
1784    LIB_KIO='-lkio'
1785    AC_SUBST(LIB_KIO)
1786    LIB_SMB='-lsmb'
1787    AC_SUBST(LIB_SMB)
1788    LIB_KAB='-lkab'
1789    AC_SUBST(LIB_KAB)
1790    LIB_KHTML='-lkhtml'
1791    AC_SUBST(LIB_KHTML)
1792    LIB_KSPELL='-lkspell'
1793    AC_SUBST(LIB_KSPELL)
1794    LIB_KPARTS='-lkparts'
1795    AC_SUBST(LIB_KPARTS)
1796    LIB_KDEPRINT='-lkdeprint'
1797    AC_SUBST(LIB_KDEPRINT)
1798 # these are for backward compatibility
1799    LIB_KSYCOCA='-lkio'
1800    AC_SUBST(LIB_KSYCOCA)
1801    LIB_KFILE='-lkio'
1802    AC_SUBST(LIB_KFILE)
1803 elif test $kde_qtver = 2; then
1804    LIB_KDECORE='-lkdecore'
1805    AC_SUBST(LIB_KDECORE)
1806    LIB_KDEUI='-lkdeui'
1807    AC_SUBST(LIB_KDEUI)
1808    LIB_KIO='-lkio'
1809    AC_SUBST(LIB_KIO)
1810    LIB_KSYCOCA='-lksycoca'
1811    AC_SUBST(LIB_KSYCOCA)
1812    LIB_SMB='-lsmb'
1813    AC_SUBST(LIB_SMB)
1814    LIB_KFILE='-lkfile'
1815    AC_SUBST(LIB_KFILE)
1816    LIB_KAB='-lkab'
1817    AC_SUBST(LIB_KAB)
1818    LIB_KHTML='-lkhtml'
1819    AC_SUBST(LIB_KHTML)
1820    LIB_KSPELL='-lkspell'
1821    AC_SUBST(LIB_KSPELL)
1822    LIB_KPARTS='-lkparts'
1823    AC_SUBST(LIB_KPARTS)
1824    LIB_KDEPRINT='-lkdeprint'
1825    AC_SUBST(LIB_KDEPRINT)
1826 else
1827    LIB_KDECORE='-lkdecore -lXext $(LIB_QT)'
1828    AC_SUBST(LIB_KDECORE)
1829    LIB_KDEUI='-lkdeui $(LIB_KDECORE)'
1830    AC_SUBST(LIB_KDEUI)
1831    LIB_KFM='-lkfm $(LIB_KDECORE)'
1832    AC_SUBST(LIB_KFM)
1833    LIB_KFILE='-lkfile $(LIB_KFM) $(LIB_KDEUI)'
1834    AC_SUBST(LIB_KFILE)
1835    LIB_KAB='-lkab $(LIB_KIMGIO) $(LIB_KDECORE)'
1836    AC_SUBST(LIB_KAB)
1840 AC_DEFUN(AC_PATH_KDE,
1842   AC_BASE_PATH_KDE
1843   AC_ARG_ENABLE(path-check, [  --disable-path-check    don't try to find out, where to install],
1844   [
1845   if test "$enableval" = "no";
1846     then ac_use_path_checking="default"
1847     else ac_use_path_checking=""
1848   fi
1849   ],
1850   [
1851   if test "$kde_qtver" = 1;
1852     then ac_use_path_checking=""
1853     else ac_use_path_checking="default"
1854   fi
1855   ]
1856   )
1858   AC_CREATE_KFSSTND($ac_use_path_checking)
1860   AC_SUBST_KFSSTND
1861   KDE_CREATE_LIBS_ALIASES
1864 dnl obsolete
1865 AC_DEFUN(AC_CHECK_SETENV,
1867    AC_OBSOLETE([$0], [; instead use AC_CHECK_FUNCS([setenv unsetenv])])dnl 
1868    AC_CHECK_FUNCS([setenv unsetenv])
1871 AC_DEFUN(AC_CHECK_GETDOMAINNAME,
1873 AC_MSG_CHECKING(for getdomainname)
1874 AC_CACHE_VAL(ac_cv_func_getdomainname,
1876 AC_LANG_SAVE
1877 AC_LANG_CPLUSPLUS
1878 save_CXXFLAGS="$CXXFLAGS"
1879 kde_safe_LIBS="$LIBS"
1880 LIBS="$LIBS $X_EXTRA_LIBS"
1881 if test "$GCC" = "yes"; then
1882 CXXFLAGS="$CXXFLAGS -pedantic-errors"
1884 AC_TRY_COMPILE([
1885 #include <stdlib.h>
1886 #include <unistd.h>
1889 char buffer[200];
1890 getdomainname(buffer, 200);
1892 ac_cv_func_getdomainname=yes,
1893 ac_cv_func_getdomainname=no)
1894 CXXFLAGS="$save_CXXFLAGS"
1895 LIBS=$kde_safe_LIBS
1896 AC_LANG_RESTORE
1898 AC_MSG_RESULT($ac_cv_func_getdomainname)
1900 AC_MSG_CHECKING([if getdomainname needs custom prototype])
1901 AC_CACHE_VAL(ac_cv_proto_getdomainname,
1903 AC_LANG_SAVE
1904 AC_LANG_CPLUSPLUS
1905 if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
1906   ac_cv_proto_getdomainname=no
1907 else
1908   kde_safe_libs=$LIBS
1909   LIBS="$LIBS $X_EXTRA_LIBS"
1910   AC_TRY_LINK([
1911 #include <stdlib.h>
1912 #include <unistd.h>
1914 extern "C" int getdomainname (char *, int);
1917 char buffer[200];
1918 getdomainname(buffer, 200);
1920   ac_cv_func_getdomainname=yes
1921   ac_cv_proto_getdomainname=yes,
1922   AC_MSG_RESULT([fatal error])
1923   AC_MSG_ERROR([getdomainname unavailable]))
1925 LIBS=$kde_safe_libs
1926 AC_LANG_RESTORE
1928 AC_MSG_RESULT($ac_cv_proto_getdomainname)
1930 if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
1931   AC_DEFINE(HAVE_GETDOMAINNAME, 1, [Define if you have getdomainname])
1933 if eval "test \"`echo $ac_cv_proto_getdomainname`\" = no"; then
1934   AC_DEFINE(HAVE_GETDOMAINNAME_PROTO, 1,
1935   [Define if you have getdomainname prototype])
1940 AC_DEFUN(AC_CHECK_GETHOSTNAME,
1943 AC_MSG_CHECKING([for gethostname])
1944 AC_CACHE_VAL(ac_cv_func_gethostname,
1946 AC_LANG_SAVE
1947 AC_LANG_CPLUSPLUS
1948 save_CXXFLAGS="$CXXFLAGS"
1949 if test "$GCC" = "yes"; then
1950 CXXFLAGS="$CXXFLAGS -pedantic-errors"
1952 AC_TRY_LINK([
1953 #include <stdlib.h>
1954 #include <unistd.h>
1957 char buffer[200];
1958 gethostname(buffer, 200);
1960 ac_cv_func_gethostname=yes,
1961 ac_cv_func_gethostname=no)
1962 CXXFLAGS="$save_CXXFLAGS"
1963 AC_LANG_RESTORE
1965 AC_MSG_RESULT($ac_cv_func_gethostname)
1967 AC_MSG_CHECKING([if gethostname needs custom prototype])
1968 AC_CACHE_VAL(ac_cv_proto_gethostname,
1970 AC_LANG_SAVE
1971 AC_LANG_CPLUSPLUS
1972 if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
1973   ac_cv_proto_gethostname=no
1974 else
1975   AC_TRY_LINK([
1976 #include <stdlib.h>
1977 #include <unistd.h>
1979 extern "C" int gethostname (char *, int);
1982 char buffer[200];
1983 gethostname(buffer, 200);
1985   ac_cv_func_gethostname=yes
1986   ac_cv_proto_gethostname=yes,
1987   AC_MSG_RESULT([fatal error])
1988   AC_MSG_ERROR(gethostname unavailable))
1990 AC_LANG_RESTORE
1992 AC_MSG_RESULT($ac_cv_proto_gethostname)
1994 if eval "test \"`echo $ac_cv_proto_gethostname`\" = no"; then
1995   AC_DEFINE(HAVE_GETHOSTNAME_PROTO, 1,
1996   [Define if you have gethostname prototype])
1998 if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
1999   AC_DEFINE(HAVE_GETHOSTNAME, 1, [Define if you have gethostname])
2003 AC_DEFUN(AC_CHECK_USLEEP,
2005 AC_MSG_CHECKING([for usleep])
2006 AC_CACHE_VAL(ac_cv_func_usleep,
2008 AC_LANG_SAVE
2009 AC_LANG_CPLUSPLUS
2010 ac_libs_safe="$LIBS"
2011 LIBS="$LIBS $LIBUCB"
2012 AC_TRY_LINK([
2013 #include <stdlib.h>
2014 #include <unistd.h>
2017 usleep(200);
2019 ac_cv_func_usleep=yes,
2020 ac_cv_func_usleep=no)
2021 LIBS="$ac_libs_safe"
2022 AC_LANG_RESTORE
2024 AC_MSG_RESULT($ac_cv_func_usleep)
2025 if eval "test \"`echo $ac_cv_func_usleep`\" = yes"; then
2026   AC_DEFINE(HAVE_USLEEP, 1, [Define if you have the usleep function])
2030 AC_DEFUN(AC_CHECK_RANDOM,
2032 AC_MSG_CHECKING([for random])
2033 AC_CACHE_VAL(ac_cv_func_random,
2035 AC_LANG_SAVE
2036 AC_LANG_CPLUSPLUS
2037 ac_libs_safe="$LIBS"
2038 LIBS="$LIBS $LIBUCB"
2039 AC_TRY_LINK([
2040 #include <stdlib.h>
2043 random();
2045 ac_cv_func_random=yes,
2046 ac_cv_func_random=no)
2047 LIBS="$ac_libs_safe"
2048 AC_LANG_RESTORE
2050 AC_MSG_RESULT($ac_cv_func_random)
2051 if eval "test \"`echo $ac_cv_func_random`\" = yes"; then
2052   AC_DEFINE(HAVE_RANDOM, 1, [Define if you have random])
2056 AC_DEFUN(AC_FIND_GIF,
2057    [AC_MSG_CHECKING([for giflib])
2058 AC_CACHE_VAL(ac_cv_lib_gif,
2059 [ac_save_LIBS="$LIBS"
2060 if test "x$kde_use_qt_emb" != "xyes"; then
2061 LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
2062 else
2063 LIBS="$all_libraries -lgif"
2065 AC_TRY_LINK(dnl
2067 #ifdef __cplusplus
2068 extern "C" {
2069 #endif
2070 int GifLastError(void);
2071 #ifdef __cplusplus
2073 #endif
2074 /* We use char because int might match the return type of a gcc2
2075     builtin and then its argument prototype would still apply.  */
2077             [return GifLastError();],
2078             eval "ac_cv_lib_gif=yes",
2079             eval "ac_cv_lib_gif=no")
2080 LIBS="$ac_save_LIBS"
2081 ])dnl
2082 if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
2083   AC_MSG_RESULT(yes)
2084   AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
2085 else
2086   AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
2090 AC_DEFUN(KDE_FIND_JPEG_HELPER,
2092 AC_MSG_CHECKING([for libjpeg$2])
2093 AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
2095 AC_LANG_C
2096 ac_save_LIBS="$LIBS"
2097 LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
2098 ac_save_CFLAGS="$CFLAGS"
2099 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2100 AC_TRY_LINK(
2101 [/* Override any gcc2 internal prototype to avoid an error.  */
2102 struct jpeg_decompress_struct;
2103 typedef struct jpeg_decompress_struct * j_decompress_ptr;
2104 typedef int size_t;
2105 #ifdef __cplusplus
2106 extern "C" {
2107 #endif
2108     void jpeg_CreateDecompress(j_decompress_ptr cinfo,
2109                                     int version, size_t structsize);
2110 #ifdef __cplusplus
2112 #endif
2113 /* We use char because int might match the return type of a gcc2
2114     builtin and then its argument prototype would still apply.  */
2116             [jpeg_CreateDecompress(0L, 0, 0);],
2117             eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
2118             eval "ac_cv_lib_jpeg_$1=no")
2119 LIBS="$ac_save_LIBS"
2120 CFLAGS="$ac_save_CFLAGS"
2123 if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
2124   LIBJPEG="$ac_cv_lib_jpeg_$1"
2125   AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
2126 else
2127   AC_MSG_RESULT(no)
2128   $3
2133 AC_DEFUN(AC_FIND_JPEG,
2135 dnl first look for libraries
2136 KDE_FIND_JPEG_HELPER(6b, 6b,
2137    KDE_FIND_JPEG_HELPER(normal, [],
2138     [
2139        LIBJPEG=
2140     ]
2141    )
2144 dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
2145 dnl requires system dependent includes loaded before it)
2146 jpeg_incdirs="/usr/include /usr/local/include $kde_extra_includes"
2147 AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
2148 test "x$jpeg_incdir" = xNO && jpeg_incdir=
2150 dnl if headers _and_ libraries are missing, this is no error, and we
2151 dnl continue with a warning (the user will get no jpeg support in khtml)
2152 dnl if only one is missing, it means a configuration error, but we still
2153 dnl only warn
2154 if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
2155   AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
2156 else
2157   if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
2158     AC_MSG_WARN([
2159 There is an installation error in jpeg support. You seem to have only one
2160 of either the headers _or_ the libraries installed. You may need to either
2161 provide correct --with-extra-... options, or the development package of
2162 libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
2163 Disabling JPEG support.
2165   else
2166     AC_MSG_WARN([libjpeg not found. disable JPEG support.])
2167   fi
2168   jpeg_incdir=
2169   LIBJPEG=
2172 AC_SUBST(LIBJPEG)
2175 AC_DEFUN(KDE_CHECK_QT_JPEG,
2177 AC_MSG_CHECKING([if Qt needs $LIBJPEG])
2178 AC_CACHE_VAL(kde_cv_qt_jpeg,
2180 AC_LANG_SAVE
2181 AC_LANG_CPLUSPLUS
2182 ac_save_LIBS="$LIBS"
2183 LIBS="$all_libraries $USER_LDFLAGS $LIBQT"
2184 LIBS=`echo $LIBS | sed "s/$LIBJPEG//"`
2185 ac_save_CXXFLAGS="$CXXFLAGS"
2186 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2187 AC_TRY_LINK(
2188 [#include <qapplication.h>],
2189             [
2190             int argc;
2191             char** argv;
2192             QApplication app(argc, argv);],
2193             eval "kde_cv_qt_jpeg=no",
2194             eval "kde_cv_qt_jpeg=yes")
2195 LIBS="$ac_save_LIBS"
2196 CXXFLAGS="$ac_save_CXXFLAGS"
2197 AC_LANG_RESTORE
2200 if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then
2201   AC_MSG_RESULT(yes)
2202   LIBJPEG_QT='$(LIBJPEG)'
2203 else
2204   AC_MSG_RESULT(no)
2205   LIBJPEG_QT=
2210 AC_DEFUN(AC_FIND_ZLIB,
2212 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2213 AC_MSG_CHECKING([for libz])
2214 AC_CACHE_VAL(ac_cv_lib_z,
2216 AC_LANG_C
2217 kde_save_LIBS="$LIBS"
2218 LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
2219 kde_save_CFLAGS="$CFLAGS"
2220 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2221 AC_TRY_LINK(dnl
2223 #include<zlib.h>
2225             [return (zlibVersion() == ZLIB_VERSION); ],
2226             eval "ac_cv_lib_z='-lz'",
2227             eval "ac_cv_lib_z=no")
2228 LIBS="$kde_save_LIBS"
2229 CFLAGS="$kde_save_CFLAGS"
2230 ])dnl
2231 if test ! "$ac_cv_lib_z" = no; then
2232   AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
2233   LIBZ="$ac_cv_lib_z"
2234   AC_SUBST(LIBZ)
2235   AC_MSG_RESULT($ac_cv_lib_z)
2236 else
2237   AC_MSG_ERROR(not found. Check your installation and look into config.log)
2238   LIBZ=""
2239   AC_SUBST(LIBZ)
2243 AC_DEFUN(KDE_TRY_TIFFLIB,
2245 AC_MSG_CHECKING([for libtiff $1])
2247 AC_CACHE_VAL(kde_cv_libtiff_$1,
2249 AC_LANG_SAVE
2250 AC_LANG_CPLUSPLUS
2251 kde_save_LIBS="$LIBS"
2252 if test "x$kde_use_qt_emb" != "xyes"; then
2253 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
2254 else
2255 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm"
2257 kde_save_CXXFLAGS="$CXXFLAGS"
2258 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2260 AC_TRY_LINK(dnl
2262 #include<tiffio.h>
2264     [return (TIFFOpen( "", "r") == 0); ],
2266     kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
2267 ], [
2268     kde_cv_libtiff_$1=no
2271 LIBS="$kde_save_LIBS"
2272 CXXFLAGS="$kde_save_CXXFLAGS"
2273 AC_LANG_RESTORE
2276 if test "$kde_cv_libtiff_$1" = "no"; then
2277     AC_MSG_RESULT(no)
2278     LIBTIFF=""
2279     $3
2280 else
2281     LIBTIFF="$kde_cv_libtiff_$1"
2282     AC_MSG_RESULT(yes)
2283     AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
2284     $2
2289 AC_DEFUN(AC_FIND_TIFF,
2291 AC_REQUIRE([K_PATH_X])
2292 AC_REQUIRE([AC_FIND_ZLIB])
2293 AC_REQUIRE([AC_FIND_JPEG])
2294 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2296 KDE_TRY_TIFFLIB(tiff, [],
2297    KDE_TRY_TIFFLIB(tiff34))
2299 AC_SUBST(LIBTIFF)
2303 AC_DEFUN(AC_FIND_PNG,
2305 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2306 AC_REQUIRE([AC_FIND_ZLIB])
2307 AC_MSG_CHECKING([for libpng])
2308 AC_CACHE_VAL(ac_cv_lib_png,
2310 kde_save_LIBS="$LIBS"
2311 if test "x$kde_use_qt_emb" != "xyes"; then
2312 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
2313 else
2314 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
2316 kde_save_CFLAGS="$CFLAGS"
2317 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2318 AC_LANG_C
2319 AC_TRY_LINK(dnl
2320     [
2321     #include<png.h>
2322     ],
2323     [
2324     png_structp png_ptr = png_create_read_struct(  /* image ptr */
2325                 PNG_LIBPNG_VER_STRING, 0, 0, 0 );
2326     return( png_ptr != 0 );
2327     ],
2328     eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
2329     eval "ac_cv_lib_png=no"
2331 LIBS="$kde_save_LIBS"
2332 CFLAGS="$kde_save_CFLAGS"
2333 ])dnl
2334 if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
2335   AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
2336   LIBPNG="$ac_cv_lib_png"
2337   AC_SUBST(LIBPNG)
2338   AC_MSG_RESULT($ac_cv_lib_png)
2339 else
2340   AC_MSG_RESULT(no)
2341   LIBPNG=""
2342   AC_SUBST(LIBPNG)
2346 AC_DEFUN(AC_CHECK_BOOL,
2348   AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
2351 AC_DEFUN(AC_CHECK_GNU_EXTENSIONS,
2353 AC_MSG_CHECKING(if you need GNU extensions)
2354 AC_CACHE_VAL(ac_cv_gnu_extensions,
2356 cat > conftest.c << EOF
2357 #include <features.h>
2359 #ifdef __GNU_LIBRARY__
2361 #endif
2364 if (eval "$ac_cpp conftest.c") 2>&5 |
2365   egrep "yes" >/dev/null 2>&1; then
2366   rm -rf conftest*
2367   ac_cv_gnu_extensions=yes
2368 else
2369   ac_cv_gnu_extensions=no
2373 AC_MSG_RESULT($ac_cv_gnu_extensions)
2374 if test "$ac_cv_gnu_extensions" = "yes"; then
2375   AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
2379 AC_DEFUN(KDE_CHECK_COMPILER_FLAG,
2381 AC_MSG_CHECKING(whether $CXX supports -$1)
2382 kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
2383 AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
2385   AC_LANG_SAVE
2386   AC_LANG_CPLUSPLUS
2387   save_CXXFLAGS="$CXXFLAGS"
2388   CXXFLAGS="$CXXFLAGS -$1"
2389   AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], [])
2390   CXXFLAGS="$save_CXXFLAGS"
2391   AC_LANG_RESTORE
2393 if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
2394  AC_MSG_RESULT(yes)
2396  $2
2397 else
2398  AC_MSG_RESULT(no)
2400  $3
2404 dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
2405 dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
2406 dnl it's all white-space separated
2407 AC_DEFUN(AC_REMOVE_FORBIDDEN,
2408 [ __val=$$1
2409   __forbid=" $2 "
2410   if test -n "$__val"; then
2411     __new=""
2412     ac_save_IFS=$IFS
2413     IFS="       "
2414     for i in $__val; do
2415       case "$__forbid" in
2416         *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
2417         *) # Careful to not add spaces, where there were none, because otherwise
2418            # libtool gets confused, if we change e.g. CXX
2419            if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
2420       esac
2421     done
2422     IFS=$ac_save_IFS
2423     $1=$__new
2424   fi
2427 dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
2428 AC_DEFUN(AC_VALIDIFY_CXXFLAGS,
2429 [dnl
2430 if test "x$kde_use_qt_emb" != "xyes"; then
2431  AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
2432  AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
2433 else
2434  AC_REMOVE_FORBIDDEN(CXX, [-rpath])
2435  AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath])
2439 AC_DEFUN(AC_CHECK_COMPILERS,
2441   AC_ARG_ENABLE(debug,[  --enable-debug[=ARG]    enables debug symbols (yes|no|full) [default=no]],
2442   [
2443     case $enableval in
2444       yes)
2445         kde_use_debug_code="yes"
2446         kde_use_debug_define=no
2447         ;;
2448       full)
2449         kde_use_debug_code="full"
2450         kde_use_debug_define=no
2451         ;;
2452       *)
2453         kde_use_debug_code="no"
2454         kde_use_debug_define=yes
2455         ;;
2456     esac
2457   ], 
2458     [kde_use_debug_code="no"
2459       kde_use_debug_define=no
2460   ])
2462   dnl Just for configure --help
2463   AC_ARG_ENABLE(dummyoption,[  --disable-debug         disables debug output and debug symbols [default=no]],[],[])
2465   AC_ARG_ENABLE(strict,[  --enable-strict         compiles with strict compiler options (may not work!)],
2466    [
2467     if test $enableval = "no"; then
2468          kde_use_strict_options="no"
2469        else
2470          kde_use_strict_options="yes"
2471     fi
2472    ], [kde_use_strict_options="no"])
2474   AC_ARG_ENABLE(warnings,[  --enable-warnings       compiles with -Wall and similiar],
2475    [
2476     if test $enableval = "no"; then
2477          kde_use_warnings="no"
2478        else
2479          kde_use_warnings="yes"
2480     fi
2481    ], [kde_use_warnings="no"])
2483   dnl enable warnings for debug build
2484   if test "$kde_use_debug_code" != "no"; then
2485     kde_use_warnings=yes
2486   fi
2488   AC_ARG_ENABLE(profile,[  --enable-profile        creates profiling infos [default=no]],
2489     [kde_use_profiling=$enableval],
2490     [kde_use_profiling="no"]
2491   )
2493   dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
2494   CFLAGS=" $CFLAGS"
2496   AC_PROG_CC 
2498   AC_PROG_CPP
2500   if test "$GCC" = "yes"; then
2501     if test "$kde_use_debug_code" != "no"; then
2502       if test $kde_use_debug_code = "full"; then
2503         CFLAGS="-g3 $CFLAGS"
2504       else
2505         CFLAGS="-g -O2 $CFLAGS"
2506       fi
2507     else
2508       CFLAGS="-O2 $CFLAGS"
2509     fi
2510   fi
2512   if test "$kde_use_debug_define" = "yes"; then
2513     CFLAGS="-DNDEBUG $CFLAGS"
2514   fi
2517   case "$host" in
2518   *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";;
2519   *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";;
2520   esac
2522   if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
2523      LDFLAGS=""
2524   fi
2526   CXXFLAGS=" $CXXFLAGS"
2528   AC_PROG_CXX
2530   if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
2531     if test "$kde_use_debug_code" != "no"; then
2532       if test "$CXX" = "KCC"; then
2533         CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS"
2534       else
2535         if test "$kde_use_debug_code" = "full"; then
2536           CXXFLAGS="-g3 $CXXFLAGS"
2537         else
2538           CXXFLAGS="-g -O2 $CXXFLAGS"
2539         fi
2540       fi
2541       KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"])
2543       dnl convenience compiler flags
2544       KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""])
2545       AC_SUBST(WOVERLOADED_VIRTUAL)
2546     else
2547       if test "$CXX" = "KCC"; then
2548         CXXFLAGS="+K3 $CXXFLAGS"
2549       else
2550         CXXFLAGS="-O2 $CXXFLAGS"
2551       fi  
2552     fi
2553   fi
2555   if test "$kde_use_debug_define" = "yes"; then
2556     CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS"
2557   fi  
2559   if test "$kde_use_profiling" = "yes"; then
2560     KDE_CHECK_COMPILER_FLAG(pg,
2561     [
2562       CFLAGS="-pg $CFLAGS"
2563       CXXFLAGS="-pg $CXXFLAGS"
2564     ])
2565   fi
2567   if test "$kde_use_warnings" = "yes"; then
2568       if test "$GCC" = "yes"; then
2569         case $host in
2570           *-*-linux-gnu)        
2571             CFLAGS="-ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
2572             CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion $CXXFLAGS"
2573           ;;
2574         esac
2575         CXXFLAGS="-Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS"
2576         KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"])
2577         KDE_CHECK_COMPILER_FLAG(Wbad-function-cast,[CXXFLAGS="-Wbad-function-cast $CXXFLAGS"])
2578         KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"])
2579         KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"])
2580      fi
2581   fi
2583   if test "$GCC" = "yes" && test "$kde_use_strict_options" = "yes"; then
2584     CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
2585   fi
2586     
2587   if test "$GXX" = "yes"; then
2588     KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
2589     KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
2590     KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS=       )
2591   fi
2592   if test "$CXX" = "KCC"; then
2593     dnl unfortunately we currently cannot disable exception support in KCC
2594     dnl because doing so is binary incompatible and Qt by default links with exceptions :-(
2595     dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"])
2596     dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS=   )
2598     AC_ARG_ENABLE(pch,[  --enable-pch            enables precompiled header support (currently only KCC) [default=no]],
2599     [
2600       kde_use_pch=$enableval
2601     ],[kde_use_pch=no])
2603     if test "$kde_use_pch" = "yes"; then
2604       dnl TODO: support --pch-dir!
2605       KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"])
2606       dnl the below works (but the dir must exist), but it's
2607       dnl useless for a whole package.
2608       dnl The are precompiled headers for each source file, so when compiling
2609       dnl from scratch, it doesn't make a difference, and they take up
2610       dnl around ~5Mb _per_ sourcefile.
2611       dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp,
2612       dnl   [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"])
2613     fi
2614     dnl this flag controls inlining. by default KCC inlines in optimisation mode
2615     dnl all implementations that are defined inside the class {} declaration. 
2616     dnl because of templates-compatibility with broken gcc compilers, this
2617     dnl can cause excessive inlining. This flag limits it to a sane level
2618     KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"])
2619     KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"])
2620     KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"])
2621     KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"])
2622     dnl Some source files are shared between multiple executables
2623     dnl (or libraries) and some of those need template instantiations.
2624     dnl In that case KCC needs to compile those sources with
2625     dnl --one_instantiation_per_object.  To make it easy for us we compile
2626     dnl _all_ objects with that flag (--one_per is a shorthand).
2627     KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"])
2628   fi
2629   AC_SUBST(USE_EXCEPTIONS)
2630   dnl obsolete macro - provided to keep things going
2631   USE_RTTI=
2632   AC_SUBST(USE_RTTI)
2634   case "$host" in
2635       *-*-irix*)  test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;;
2636       *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";;
2637       *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";;
2638       *-*-solaris*) 
2639         if test "$GXX" = yes; then
2640           libstdcpp=`$CXX -print-file-name=libstdc++.so`
2641           if test ! -f $libstdcpp; then
2642              AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so])
2643           fi
2644         fi
2645         ;;
2646   esac
2648   AC_VALIDIFY_CXXFLAGS
2650   AC_PROG_CXXCPP
2652   # the following is to allow programs, that are known to
2653   # have problems when compiled with -O2
2654   if test -n "$CXXFLAGS"; then
2655       kde_safe_IFS=$IFS
2656       IFS=" "
2657       NOOPT_CXXFLAGS=""
2658       for i in $CXXFLAGS; do
2659         case $i in
2660           -O*)
2661                 ;;
2662           *)
2663                 NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS $i"
2664                 ;;
2665         esac
2666       done
2667       IFS=$kde_safe_IFS
2668   fi
2670   if test -n "$CFLAGS"; then
2671       kde_safe_IFS=$IFS
2672       IFS=" "
2673       NOOPT_CFLAGS=""
2674       for i in $CFLAGS; do
2675         case $i in
2676           -O*)
2677                 ;;
2678           *)
2679                 NOOPT_CFLAGS="$NOOPT_CFLAGS $i"
2680                 ;;
2681         esac
2682       done
2683       IFS=$kde_safe_IFS
2684   fi
2686   if test "x$kde_use_qt_emb" = "xyes"; then
2687     NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS -fno-rtti -DQWS"
2688   fi
2690   AC_SUBST(NOOPT_CXXFLAGS)
2691   AC_SUBST(NOOPT_CFLAGS)
2693   KDE_CHECK_FINAL
2695   ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
2697   KDE_CXXFLAGS=
2698   AC_SUBST(KDE_CXXFLAGS)
2701 AC_DEFUN(KDE_ADD_DEPENDENCIES,
2703    [A]M_DEPENDENCIES(CC)
2704    [A]M_DEPENDENCIES(CXX)
2707 dnl just a wrapper to clean up configure.in
2708 AC_DEFUN(KDE_PROG_LIBTOOL,
2710 AC_REQUIRE([AC_CHECK_COMPILERS])
2711 AC_REQUIRE([AC_ENABLE_SHARED])
2712 AC_REQUIRE([AC_ENABLE_STATIC])
2714 AC_REQUIRE([AC_LIBTOOL_DLOPEN])
2716 AC_LANG_SAVE
2717 AC_LANG_C
2718 AC_OBJEXT
2719 AC_EXEEXT
2720 AC_LANG_RESTORE
2722 AM_PROG_LIBTOOL
2723 AC_LIBTOOL_CXX
2725 LIBTOOL_SHELL="/bin/sh ./libtool"
2726 #  LIBTOOL="$LIBTOOL --silent"
2727 KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
2728 AC_SUBST(KDE_PLUGIN)
2730 AC_ARG_ENABLE(objprelink, [  --enable-objprelink     prelink apps using objprelink (experimental [only tested on linux/386])],
2731        kde_use_objprelink=$enableval, kde_use_objprelink=no)
2732   if test "x$kde_use_objprelink" = "xyes"; then 
2734       KDE_FIND_PATH(objprelink, OBJPRELINK, [], [kde_use_objprelink=no])   
2735      
2736       if test "x$kde_use_objprelink" = "xyes"; then
2737       AC_MSG_CHECKING([Patching libtool to run objprelink.])
2738       mv libtool libtool.orig
2739       cat > libtool <<\EOF
2740 #! /bin/sh
2741 for n ; do case $n in
2742   *.o)  test -r $n && echo objprelink $n && objprelink $n ;;
2743   *.lo) m=`basename $n .lo`".o" && test -r $m && echo objprelink $m && objprelink $m 
2744         m=".libs/$m" && test -r $m && echo objprelink $m && objprelink $m ;;
2745 esac; done
2747       cat >> libtool libtool.orig
2748       rm libtool.orig
2749       chmod a+x libtool
2750       AC_MSG_RESULT(done)
2751         fi
2752   fi
2755 AC_DEFUN(KDE_CHECK_TYPES,
2756 [  AC_CHECK_SIZEOF(int, 4)dnl
2757   AC_CHECK_SIZEOF(long, 4)dnl
2758   AC_CHECK_SIZEOF(char *, 4)dnl
2759   AC_CHECK_SIZEOF(char, 1)dnl
2760 ])dnl
2762 AC_DEFUN(KDE_DO_IT_ALL,
2764 AC_CANONICAL_SYSTEM
2765 AC_ARG_PROGRAM
2766 AM_INIT_AUTOMAKE($1, $2)
2767 AM_DISABLE_LIBRARIES
2768 AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
2769 AC_CHECK_COMPILERS
2770 KDE_PROG_LIBTOOL
2771 AM_KDE_WITH_NLS
2772 AC_PATH_KDE
2775 AC_DEFUN(AC_CHECK_RPATH,
2777 AC_MSG_CHECKING(for rpath)
2778 AC_ARG_ENABLE(rpath,
2779       [  --disable-rpath         do not use the rpath feature of ld],
2780       USE_RPATH=$enableval, USE_RPATH=yes)
2782 if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
2784   KDE_RPATH="-R \$(kde_libraries)"
2786   if test -n "$qt_libraries"; then
2787     KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
2788   fi
2789   dnl $x_libraries is set to /usr/lib in case
2790   if test -n "$X_LDFLAGS"; then
2791     KDE_RPATH="$KDE_RPATH -R \$(x_libraries)"
2792   fi
2793   if test -n "$KDE_EXTRA_RPATH"; then
2794     KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
2795   fi
2797 AC_SUBST(KDE_EXTRA_RPATH)
2798 AC_SUBST(KDE_RPATH)
2799 AC_MSG_RESULT($USE_RPATH)
2802 dnl Check for the type of the third argument of getsockname
2803 AC_DEFUN(AC_CHECK_SOCKLEN_T, [
2804   AC_MSG_CHECKING(for socklen_t)
2805   AC_CACHE_VAL(ac_cv_socklen_t, [
2806     AC_LANG_SAVE
2807     AC_LANG_CPLUSPLUS
2808     AC_TRY_COMPILE([
2809 #include <sys/types.h>
2810 #include <sys/socket.h>
2811       ],[
2812 socklen_t a=0;
2813 getsockname(0,(struct sockaddr*)0, &a);
2814       ],
2815       ac_cv_socklen_t=socklen_t,
2816       AC_TRY_COMPILE([
2817 #include <sys/types.h>
2818 #include <sys/socket.h>
2819         ],[
2820 int a=0;
2821 getsockname(0,(struct sockaddr*)0, &a);
2822         ],
2823         ac_cv_socklen_t=int,
2824         ac_cv_socklen_t=size_t
2825       )
2826     )
2827     AC_LANG_RESTORE
2828   ])
2830   AC_MSG_RESULT($ac_cv_socklen_t)
2831   if test "$ac_cv_socklen_t" != "socklen_t"; then
2832     AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t,
2833         [Define the real type of socklen_t])
2834   fi
2835   AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define])
2839 dnl This is a merge of some macros out of the gettext aclocal.m4
2840 dnl since we don't need anything, I took the things we need
2841 dnl the copyright for them is:
2842 dnl >
2843 dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
2844 dnl This Makefile.in is free software; the Free Software Foundation
2845 dnl gives unlimited permission to copy and/or distribute it,
2846 dnl with or without modifications, as long as this notice is preserved.
2848 dnl This program is distributed in the hope that it will be useful,
2849 dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
2850 dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
2851 dnl PARTICULAR PURPOSE.
2852 dnl >
2853 dnl for this file it is relicensed under LGPL
2855 AC_DEFUN(AM_KDE_WITH_NLS,
2856   [
2857     dnl If we use NLS figure out what method
2859     AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
2860         [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
2861     AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
2863      if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
2864         AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
2865         GMSGFMT=":"
2866       fi
2867       MSGFMT=$GMSGFMT
2868       AC_SUBST(GMSGFMT)
2869       AC_SUBST(MSGFMT)
2871       AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
2872         [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
2874       dnl Test whether we really found GNU xgettext.
2875       if test "$XGETTEXT" != ":"; then
2876         dnl If it is no GNU xgettext we define it as : so that the
2877         dnl Makefiles still can work.
2878         if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
2879           : ;
2880         else
2881           AC_MSG_RESULT(
2882             [found xgettext programs is not GNU xgettext; ignore it])
2883           XGETTEXT=":"
2884         fi
2885       fi
2886      AC_SUBST(XGETTEXT)
2888   ])
2890 # Search path for a program which passes the given test.
2891 # Ulrich Drepper <drepper@cygnus.com>, 1996.
2893 # serial 1
2894 # Stephan Kulow: I appended a _KDE against name conflicts
2896 dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR,
2897 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
2898 AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE,
2899 [# Extract the first word of "$2", so it can be a program name with args.
2900 set dummy $2; ac_word=[$]2
2901 AC_MSG_CHECKING([for $ac_word])
2902 AC_CACHE_VAL(ac_cv_path_$1,
2903 [case "[$]$1" in
2904   /*)
2905   ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
2906   ;;
2907   *)
2908   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
2909   for ac_dir in ifelse([$5], , $PATH, [$5]); do
2910     test -z "$ac_dir" && ac_dir=.
2911     if test -f $ac_dir/$ac_word; then
2912       if [$3]; then
2913         ac_cv_path_$1="$ac_dir/$ac_word"
2914         break
2915       fi
2916     fi
2917   done
2918   IFS="$ac_save_ifs"
2919 dnl If no 4th arg is given, leave the cache variable unset,
2920 dnl so AC_PATH_PROGS will keep looking.
2921 ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
2922 ])dnl
2923   ;;
2924 esac])dnl
2925 $1="$ac_cv_path_$1"
2926 if test -n "[$]$1"; then
2927   AC_MSG_RESULT([$]$1)
2928 else
2929   AC_MSG_RESULT(no)
2931 AC_SUBST($1)dnl
2935 # Check whether LC_MESSAGES is available in <locale.h>.
2936 # Ulrich Drepper <drepper@cygnus.com>, 1995.
2938 # serial 1
2940 AC_DEFUN(AM_LC_MESSAGES,
2941   [if test $ac_cv_header_locale_h = yes; then
2942     AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
2943       [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
2944        am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
2945     if test $am_cv_val_LC_MESSAGES = yes; then
2946       AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES])
2947     fi
2948   fi])
2950 dnl From Jim Meyering.
2951 dnl FIXME: migrate into libit.
2953 AC_DEFUN([AM_FUNC_OBSTACK],
2954 [AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
2955  [AC_TRY_LINK([#include "obstack.h"],
2956               [struct obstack *mem;obstack_free(mem,(char *) 0)],
2957               am_cv_func_obstack=yes,
2958               am_cv_func_obstack=no)])
2959  if test $am_cv_func_obstack = yes; then
2960    AC_DEFINE(HAVE_OBSTACK)
2961  else
2962    LIBOBJS="$LIBOBJS obstack.o"
2963  fi
2966 dnl From Jim Meyering.  Use this if you use the GNU error.[ch].
2967 dnl FIXME: Migrate into libit
2969 AC_DEFUN([AM_FUNC_ERROR_AT_LINE],
2970 [AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
2971  [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
2972               am_cv_lib_error_at_line=yes,
2973               am_cv_lib_error_at_line=no)])
2974  if test $am_cv_lib_error_at_line = no; then
2975    LIBOBJS="$LIBOBJS error.o"
2976  fi
2977  AC_SUBST(LIBOBJS)dnl
2980 # Macro to add for using GNU gettext.
2981 # Ulrich Drepper <drepper@cygnus.com>, 1995.
2983 # serial 1
2984 # Stephan Kulow: I put a KDE in it to avoid name conflicts
2986 AC_DEFUN(AM_KDE_GNU_GETTEXT,
2987   [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
2988    AC_REQUIRE([AC_PROG_RANLIB])dnl
2989    AC_REQUIRE([AC_HEADER_STDC])dnl
2990    AC_REQUIRE([AC_TYPE_OFF_T])dnl
2991    AC_REQUIRE([AC_TYPE_SIZE_T])dnl
2992    AC_REQUIRE([AC_FUNC_ALLOCA])dnl
2993    AC_REQUIRE([AC_FUNC_MMAP])dnl
2994    AC_REQUIRE([AM_KDE_WITH_NLS])dnl
2995    AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h string.h values.h alloca.h])
2996    AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
2997 __argz_count __argz_stringify __argz_next])
2999    AC_MSG_CHECKING(for stpcpy)
3000    AC_CACHE_VAL(kde_cv_func_stpcpy,
3001    [
3002    kde_safe_cxxflags=$CXXFLAGS
3003    CXXFLAGS="-Wmissing-prototypes -Werror"
3004    AC_LANG_SAVE
3005    AC_LANG_CPLUSPLUS
3006    AC_TRY_COMPILE([
3007    #include <string.h>
3008    ],
3009    [
3010    char buffer[200];
3011    stpcpy(buffer, buffer);
3012    ],
3013    kde_cv_func_stpcpy=yes,
3014    kde_cv_func_stpcpy=no)
3015    AC_LANG_RESTORE
3016    CXXFLAGS=$kde_safe_cxxflags
3017    ])
3018    AC_MSG_RESULT($kde_cv_func_stpcpy)
3019    if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then
3020      AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy])
3021    fi
3023    AM_LC_MESSAGES
3025    if test "x$CATOBJEXT" != "x"; then
3026      if test "x$ALL_LINGUAS" = "x"; then
3027        LINGUAS=
3028      else
3029        AC_MSG_CHECKING(for catalogs to be installed)
3030        NEW_LINGUAS=
3031        for lang in ${LINGUAS=$ALL_LINGUAS}; do
3032          case "$ALL_LINGUAS" in
3033           *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
3034          esac
3035        done
3036        LINGUAS=$NEW_LINGUAS
3037        AC_MSG_RESULT($LINGUAS)
3038      fi
3040      dnl Construct list of names of catalog files to be constructed.
3041      if test -n "$LINGUAS"; then
3042        for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
3043      fi
3044    fi
3046   ])
3048 AC_DEFUN(AC_HAVE_XPM,
3049  [AC_REQUIRE_CPP()dnl
3050   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3052  test -z "$XPM_LDFLAGS" && XPM_LDFLAGS=
3053  test -z "$XPM_INCLUDE" && XPM_INCLUDE=
3055  AC_ARG_WITH(xpm, [  --without-xpm           disable color pixmap XPM tests],
3056         xpm_test=$withval, xpm_test="yes")
3057  if test "x$xpm_test" = xno; then
3058    ac_cv_have_xpm=no
3059  else
3060    AC_MSG_CHECKING(for XPM)
3061    AC_CACHE_VAL(ac_cv_have_xpm,
3062    [
3063     AC_LANG_C
3064     ac_save_ldflags="$LDFLAGS"
3065     ac_save_cflags="$CFLAGS"
3066     if test "x$kde_use_qt_emb" != "xyes"; then
3067       LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
3068     else
3069       LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET"
3070     fi
3071     CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
3072     test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
3073     AC_TRY_LINK([#include <X11/xpm.h>],[],
3074         ac_cv_have_xpm="yes",ac_cv_have_xpm="no")
3075     LDFLAGS="$ac_save_ldflags"
3076     CFLAGS="$ac_save_cflags"
3077    ])dnl
3079   if test "$ac_cv_have_xpm" = no; then
3080     AC_MSG_RESULT(no)
3081     XPM_LDFLAGS=""
3082     XPMINC=""
3083     $2
3084   else
3085     AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
3086     if test "$XPM_LDFLAGS" = ""; then
3087        XPMLIB='-lXpm $(LIB_X11)'
3088     else
3089        XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
3090     fi
3091     if test "$XPM_INCLUDE" = ""; then
3092        XPMINC=""
3093     else
3094        XPMINC="-I$XPM_INCLUDE"
3095     fi
3096     AC_MSG_RESULT(yes)
3097     $1
3098   fi
3099  fi
3100  AC_SUBST(XPMINC)
3101  AC_SUBST(XPMLIB)
3104 AC_DEFUN(AC_HAVE_DPMS,
3105  [AC_REQUIRE_CPP()dnl
3106   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3108  test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS=
3109  test -z "$DPMS_INCLUDE" && DPMS_INCLUDE=
3110  DPMS_LIB=
3112  AC_ARG_WITH(dpms, [  --without-dpms          disable DPMS power saving],
3113         dpms_test=$withval, dpms_test="yes")
3114  if test "x$dpms_test" = xno; then
3115    ac_cv_have_dpms=no
3116  else
3117    AC_MSG_CHECKING(for DPMS)
3118    dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
3119    dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
3120    AC_CACHE_VAL(ac_cv_have_dpms,
3121    [
3122     if test "x$kde_use_qt_emb" = "xyes"; then
3123       AC_MSG_RESULT(no)
3124       ac_cv_have_dpms="no"
3125     else
3126       AC_LANG_C
3127       ac_save_ldflags="$LDFLAGS"
3128       ac_save_cflags="$CFLAGS"
3129       ac_save_libs="$LIBS"
3130       LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
3131       CFLAGS="$CFLAGS $X_INCLUDES"
3132       test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3133       AC_TRY_LINK([
3134           #include <X11/Xproto.h>
3135           #include <X11/X.h>
3136           #include <X11/Xlib.h>
3137           #include <X11/extensions/dpms.h>
3138           int foo_test_dpms()
3139           { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3140           ac_cv_have_dpms="yes", [
3141               LDFLAGS="$ac_save_ldflags"
3142               CFLAGS="$ac_save_cflags"
3143               LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
3144               LIBS="$LIBS -lXdpms"
3145               CFLAGS="$CFLAGS $X_INCLUDES"
3146               test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3147               AC_TRY_LINK([
3148                   #include <X11/Xproto.h>
3149                   #include <X11/X.h>
3150                   #include <X11/Xlib.h>
3151                   #include <X11/extensions/dpms.h>
3152                   int foo_test_dpms()
3153                   { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3154                   [
3155                   ac_cv_have_dpms="-lXdpms"
3156                   ],ac_cv_have_dpms="no")
3157               ])
3158       LDFLAGS="$ac_save_ldflags"
3159       CFLAGS="$ac_save_cflags"
3160       LIBS="$ac_save_libs"
3161     fi
3162    ])dnl
3164   if test "$ac_cv_have_dpms" = no; then
3165     AC_MSG_RESULT(no)
3166     DPMS_LDFLAGS=""
3167     DPMSINC=""
3168     $2
3169   else
3170     AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
3171     if test "$ac_cv_have_dpms" = "-lXdpms"; then
3172        DPMS_LIB="-lXdpms"
3173     fi
3174     if test "$DPMS_LDFLAGS" = ""; then
3175        DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
3176     else
3177        DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
3178     fi
3179     if test "$DPMS_INCLUDE" = ""; then
3180        DPMSINC=""
3181     else
3182        DPMSINC="-I$DPMS_INCLUDE"
3183     fi
3184     AC_MSG_RESULT(yes)
3185     $1
3186   fi
3187  fi
3188  AC_SUBST(DPMSINC)
3189  AC_SUBST(DPMSLIB)
3192 AC_DEFUN(AC_HAVE_GL,
3193  [AC_REQUIRE_CPP()dnl
3194   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3196  test -z "$GL_LDFLAGS" && GL_LDFLAGS=
3197  test -z "$GL_INCLUDE" && GL_INCLUDE=
3199  AC_ARG_WITH(gl, [  --without-gl            disable 3D GL modes],
3200         gl_test=$withval, gl_test="yes")
3201  if test "x$kde_use_qt_emb" = "xyes"; then
3202    # GL and Qt Embedded is a no-go for now.
3203    ac_cv_have_gl=no
3204  elif test "x$gl_test" = xno; then
3205    ac_cv_have_gl=no
3206  else
3207    AC_MSG_CHECKING(for GL)
3208    AC_CACHE_VAL(ac_cv_have_gl,
3209    [
3210     AC_LANG_C
3211     ac_save_ldflags="$LDFLAGS"
3212     ac_save_cflags="$CFLAGS"
3213     LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU"
3214     test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3215     LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
3216     CFLAGS="$CFLAGS $X_INCLUDES"
3217     test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3218     AC_TRY_LINK([#include <GL/gl.h>
3219 #include <GL/glu.h>
3220 ], [],
3221         ac_cv_have_gl="mesa", ac_cv_have_gl="no")
3222     if test "x$ac_cv_have_gl" = "xno"; then
3223       LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGL -lGLU"
3224       test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3225       LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
3226       CFLAGS="$ac_save_cflags $X_INCLUDES"
3227       test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3228       AC_TRY_LINK([#include <GL/gl.h>
3229 #include <GL/glu.h>
3230 ], [],
3231           ac_cv_have_gl="yes", ac_cv_have_gl="no")
3232     fi
3233     LDFLAGS="$ac_save_ldflags"
3234     CFLAGS="$ac_save_cflags"
3235    ])dnl
3237   if test "$ac_cv_have_gl" = "no"; then
3238     AC_MSG_RESULT(no)
3239     GL_LDFLAGS=""
3240     GLINC=""
3241     $2
3242   else
3243     AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
3244     if test "$GL_LDFLAGS" = ""; then
3245        if test "$ac_cv_have_gl" = "mesa"; then
3246           GLLIB='-lMesaGL -lMesaGLU $(LIB_X11)'
3247        else
3248           GLLIB='-lGL -lGLU $(LIB_X11)'
3249        fi
3250     else
3251        if test "$ac_cv_have_gl" = "mesa"; then
3252           GLLIB="$GL_LDFLAGS -lMesaGL -lMesaGLU "'$(LIB_X11)'
3253        else
3254           GLLIB="$GL_LDFLAGS -lGL -lGLU "'$(LIB_X11)'
3255        fi
3256     fi
3257     if test "$GL_INCLUDE" = ""; then
3258        GLINC=""
3259     else
3260        GLINC="-I$GL_INCLUDE"
3261     fi
3262     AC_MSG_RESULT($ac_cv_have_gl)
3263     $1
3264   fi
3265  fi
3266  AC_SUBST(GLINC)
3267  AC_SUBST(GLLIB)
3271  dnl shadow password and PAM magic - maintained by ossi@kde.org
3273 AC_DEFUN(KDE_PAM, [
3274   AC_REQUIRE([KDE_CHECK_LIBDL])
3276   AC_ARG_WITH(pam,
3277     [  --with-pam[=ARG]        enable support for PAM: ARG=[yes|no|service name]],
3278     [ if test "x$withval" = "xyes"; then
3279         use_pam=yes
3280         pam_service=kde
3281       elif test "x$withval" = "xno"; then
3282         use_pam=no
3283       else
3284         use_pam=yes
3285         pam_service=$withval
3286       fi
3287       ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3288     ], [
3289       AC_CACHE_VAL(ac_cv_path_pam,
3290         [ use_pam=no
3291           AC_CHECK_LIB(pam, pam_start,
3292             [ AC_CHECK_HEADER(security/pam_appl.h,
3293                 [ use_pam=yes
3294                   pam_service=kde ]) 
3295             ], , $LIBDL)
3296           ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3297         ])
3298     ])
3299   eval "$ac_cv_path_pam"
3301   AC_MSG_CHECKING(for PAM)
3302   if test "x$use_pam" = xno; then
3303     AC_MSG_RESULT(no)
3304     PAMLIBS=""
3305   else
3306     AC_MSG_RESULT(yes)
3307     AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)])
3308     PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL"
3310     dnl test whether struct pam_message is const (Linux) or not (Sun)
3311     AC_MSG_CHECKING(for const pam_message)
3312     AC_EGREP_HEADER([struct pam_message], security/pam_appl.h,
3313       [ AC_EGREP_HEADER([const struct pam_message], security/pam_appl.h,
3314                         [AC_MSG_RESULT([const: Linux-type PAM])],
3315                         [AC_MSG_RESULT([nonconst: Sun-type PAM])
3316                         AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])]
3317                         )],
3318       [AC_MSG_RESULT([not found - assume const, Linux-type PAM])])
3319   fi
3321   AC_SUBST(PAMLIBS)
3324 dnl DEF_PAM_SERVICE(arg name, full name, define name)
3325 AC_DEFUN(DEF_PAM_SERVICE, [
3326   AC_ARG_WITH($1-pam,
3327     [  --with-$1-pam=[val]    override PAM service from --with-pam for $2],
3328     [ if test "x$use_pam" = xyes; then
3329         $3_PAM_SERVICE="$withval"
3330       else
3331         AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected.
3332 You may want to enforce it by using --with-pam.])
3333       fi
3334     ], 
3335     [ if test "x$use_pam" = xyes; then
3336         $3_PAM_SERVICE="$pam_service"
3337       fi
3338     ])
3339     if test -n "$$3_PAM_SERVICE"; then
3340       AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE])
3341       AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2])
3342     fi
3343     AC_SUBST($3_PAM_SERVICE)
3346 AC_DEFUN(KDE_SHADOWPASSWD, [
3347   AC_REQUIRE([KDE_PAM])
3349   AC_CHECK_LIB(shadow, getspent,
3350     [ LIBSHADOW="-lshadow"
3351       ac_use_shadow=yes
3352     ],
3353     [ dnl for UnixWare
3354       AC_CHECK_LIB(gen, getspent, 
3355         [ LIBGEN="-lgen"
3356           ac_use_shadow=yes
3357         ], 
3358         [ AC_CHECK_FUNC(getspent, 
3359             [ ac_use_shadow=yes ],
3360             [ ac_use_shadow=no ])
3361         ])
3362     ])
3363   AC_SUBST(LIBSHADOW)
3364   AC_SUBST(LIBGEN)
3365   
3366   AC_MSG_CHECKING([for shadow passwords])
3368   AC_ARG_WITH(shadow,
3369     [  --with-shadow              If you want shadow password support ],
3370     [ if test "x$withval" != "xno"; then
3371         use_shadow=yes
3372       else
3373         use_shadow=no
3374       fi
3375     ], [
3376       use_shadow="$ac_use_shadow"
3377     ])
3379   if test "x$use_shadow" = xyes; then
3380     AC_MSG_RESULT(yes)
3381     AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords])
3382   else
3383     AC_MSG_RESULT(no)
3384     LIBSHADOW=
3385     LIBGEN=
3386   fi
3388   dnl finally make the relevant binaries setuid root, if we have shadow passwds.
3389   dnl this still applies, if we could use it indirectly through pam.
3390   if test "x$use_shadow" = xyes || 
3391      ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then
3392       case $host in
3393       *-*-freebsd* | *-*-netbsd* | *-*-openbsd*)
3394         SETUIDFLAGS="-m 4755 -o root";;
3395       *)
3396         SETUIDFLAGS="-m 4755";;
3397       esac
3398   fi
3399   AC_SUBST(SETUIDFLAGS)
3403 AC_DEFUN(KDE_PASSWDLIBS, [
3404   AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT
3405   AC_REQUIRE([KDE_PAM])
3406   AC_REQUIRE([KDE_SHADOWPASSWD])
3408   if test "x$use_pam" = "xyes"; then 
3409     PASSWDLIBS="$PAMLIBS"
3410   else
3411     PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN"
3412   fi
3414   dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but
3415   dnl /etc/master.passwd holds the actual passwords.  /etc/master.passwd requires
3416   dnl root to read, so kcheckpass needs to be root (even when using pam, since pam
3417   dnl may need to read /etc/master.passwd).
3418   case $host in
3419   *-*-freebsd*)
3420     SETUIDFLAGS="-m 4755 -o root"
3421     ;;
3422   *)
3423     ;;
3424   esac
3426   AC_SUBST(PASSWDLIBS)
3429 AC_DEFUN(KDE_CHECK_LIBDL,
3431 AC_CHECK_LIB(dl, dlopen, [
3432 LIBDL="-ldl"
3433 ac_cv_have_dlfcn=yes
3436 AC_CHECK_LIB(dld, shl_unload, [
3437 LIBDL="-ldld"
3438 ac_cv_have_shload=yes
3441 AC_SUBST(LIBDL)
3444 AC_DEFUN(KDE_CHECK_DLOPEN,
3446 KDE_CHECK_LIBDL
3447 AC_CHECK_HEADERS(dlfcn.h dl.h)
3448 if test "$ac_cv_header_dlfcn_h" = "no"; then
3449   ac_cv_have_dlfcn=no
3452 if test "$ac_cv_header_dl_h" = "no"; then
3453   ac_cv_have_shload=no
3456 dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE
3457 dnl (MM)
3458 AC_ARG_ENABLE(dlopen,
3459 [  --disable-dlopen        link statically [default=no]] ,
3460 enable_dlopen=$enableval,
3461 enable_dlopen=yes)
3463 # override the user's opinion, if we know it better ;)
3464 if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then
3465   enable_dlopen=no
3468 if test "$ac_cv_have_dlfcn" = "yes"; then
3469   AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn])
3472 if test "$ac_cv_have_shload" = "yes"; then
3473   AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload])
3476 if test "$enable_dlopen" = no ; then
3477   test -n "$1" && eval $1
3478 else
3479   test -n "$2" && eval $2
3484 AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING,
3486 KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no)
3487 KDE_PROG_LIBTOOL
3488 AC_MSG_CHECKING([dynamic loading])
3489 eval "`egrep '^build_libtool_libs=' libtool`"
3490 if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then
3491   dynamic_loading=yes
3492   AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
3493 else
3494   dynamic_loading=no
3496 AC_MSG_RESULT($dynamic_loading)
3497 if test "$dynamic_loading" = "yes"; then
3498   $1
3499 else
3500   $2
3504 AC_DEFUN(KDE_ADD_INCLUDES,
3506 if test -z "$1"; then
3507   test_include="Pix.h"
3508 else
3509   test_include="$1"
3512 AC_MSG_CHECKING([for libg++ ($test_include)])
3514 AC_CACHE_VAL(kde_cv_libgpp_includes,
3516 kde_cv_libgpp_includes=no
3518    for ac_dir in               \
3519                                \
3520      /usr/include/g++          \
3521      /usr/include              \
3522      /usr/unsupported/include  \
3523      /opt/include              \
3524      $extra_include            \
3525      ; \
3526    do
3527      if test -r "$ac_dir/$test_include"; then
3528        kde_cv_libgpp_includes=$ac_dir
3529        break
3530      fi
3531    done
3534 AC_MSG_RESULT($kde_cv_libgpp_includes)
3535 if test "$kde_cv_libgpp_includes" != "no"; then
3536   all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES"
3541 AC_DEFUN(KDE_CHECK_MICO,
3543 AC_REQUIRE([KDE_CHECK_LIBDL])
3544 AC_REQUIRE([KDE_MISC_TESTS])
3545 AC_MSG_CHECKING(for MICO)
3547 if test -z "$MICODIR"; then
3548     kde_micodir=/usr/local
3549  else
3550     kde_micodir="$MICODIR"
3553 AC_ARG_WITH(micodir,
3554   [  --with-micodir=micodir  where mico is installed ],
3555   kde_micodir=$withval,
3556   kde_micodir=$kde_micodir
3559 AC_CACHE_VAL(kde_cv_mico_incdir,
3561   mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes"
3562 AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir)
3565 kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'`
3567 if test ! -r  $kde_micodir/include/CORBA.h; then
3568   AC_MSG_ERROR([No CORBA.h found, specify another micodir])
3571 AC_MSG_RESULT($kde_micodir)
3573 MICO_INCLUDES=-I$kde_micodir/include
3574 AC_SUBST(MICO_INCLUDES)
3575 MICO_LDFLAGS=-L$kde_micodir/lib
3576 AC_SUBST(MICO_LDFLAGS)
3577 micodir=$kde_micodir
3578 AC_SUBST(micodir)
3580 AC_MSG_CHECKING([for MICO version])
3581 AC_CACHE_VAL(kde_cv_mico_version,
3583 AC_LANG_C
3584 cat >conftest.$ac_ext <<EOF
3585 #include <stdio.h>
3586 #include <mico/version.h>
3587 int main() {
3589    printf("MICO_VERSION=%s\n",MICO_VERSION);
3590    return (0);
3593 ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest'
3594 if AC_TRY_EVAL(ac_compile); then
3595   if eval `./conftest 2>&5`; then
3596     kde_cv_mico_version=$MICO_VERSION
3597   else
3598     AC_MSG_ERROR([your system is not able to execute a small application to
3599     find MICO version! Check $kde_micodir/include/mico/version.h])
3600   fi
3601 else
3602   AC_MSG_ERROR([your system is not able to compile a small application to
3603   find MICO version! Check $kde_micodir/include/mico/version.h])
3607 dnl installed MICO version
3608 mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
3609 mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
3610 mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
3612 if test "x$1" = "x"; then
3613  req_version="2.3.0"
3614 else
3615  req_version=$1
3618 dnl required MICO version
3619 req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
3620 req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
3621 req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
3623 if test "$mico_v_maj" -lt "$req_v_maj" || \
3624    ( test "$mico_v_maj" -eq "$req_v_maj" && \
3625         test "$mico_v_mid" -lt "$req_v_mid" ) || \
3626    ( test "$mico_v_mid" -eq "$req_v_mid" && \
3627         test "$mico_v_min" -lt "$req_v_min" )
3629 then
3630   AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
3631 at least is required. You should upgrade MICO.])
3632 else
3633   AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
3636 LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
3637 AC_SUBST(LIBMICO)
3638 if test -z "$IDL"; then
3639   IDL='$(kde_bindir)/cuteidl'
3641 AC_SUBST(IDL)
3642 IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
3643 AC_SUBST(IDL_DEPENDENCIES)
3645 idldir="\$(includedir)/idl"
3646 AC_SUBST(idldir)
3650 AC_DEFUN(KDE_CHECK_MINI_STL,
3652 AC_REQUIRE([KDE_CHECK_MICO])
3654 AC_MSG_CHECKING(if we use mico's mini-STL)
3655 AC_CACHE_VAL(kde_cv_have_mini_stl,
3657 AC_LANG_SAVE
3658 AC_LANG_CPLUSPLUS
3659 kde_save_cxxflags="$CXXFLAGS"
3660 CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
3661 AC_TRY_COMPILE(
3663 #include <mico/config.h>
3666 #ifdef HAVE_MINI_STL
3667 #error "nothing"
3668 #endif
3670 kde_cv_have_mini_stl=no,
3671 kde_cv_have_mini_stl=yes)
3672 CXXFLAGS="$kde_save_cxxflags"
3673 AC_LANG_RESTORE
3676 if test "x$kde_cv_have_mini_stl" = "xyes"; then
3677    AC_MSG_RESULT(yes)
3678    $1
3679 else
3680    AC_MSG_RESULT(no)
3681    $2
3688 AC_DEFUN(KDE_CHECK_LIBPTHREAD,
3690 AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] )
3691 AC_SUBST(LIBPTHREAD)
3694 AC_DEFUN(KDE_CHECK_PTHREAD_OPTION,
3696     AC_ARG_ENABLE(kernel-threads, [  --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.],
3697         kde_use_kernthreads=$enableval, kde_use_kernthreads=no)
3699     if test "$kde_use_kernthreads" = "yes"; then
3700       ac_save_CXXFLAGS="$CXXFLAGS"
3701       ac_save_CFLAGS="$CFLAGS"
3702       CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS"
3703       CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS"
3704       AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h)
3705       CXXFLAGS="$ac_save_CXXFLAGS"
3706       CFLAGS="$ac_save_CFLAGS"
3707       if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then
3708         kde_use_kernthreads=no
3709       else
3710         dnl Add proper -I and -l statements
3711         AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD
3712         if test "x$LIBPTHREAD" = "x"; then
3713           kde_use_kernthreads=no
3714         else
3715           USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads"
3716         fi
3717       fi
3718     else 
3719       USE_THREADS=""
3720       if test -z "$LIBPTHREAD"; then
3721         KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] )
3722       fi
3723     fi
3725     case $host_os in
3726         solaris*)
3727                 KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
3728                 CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4"
3729                 ;;
3730         freebsd*)
3731                 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3732                 ;;
3733         aix*)
3734                 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3735                 LIBPTHREAD="$LIBPTHREAD -lc_r"
3736                 ;;
3737         linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
3738                 if test "$CXX" = "KCC"; then
3739                   CXXFLAGS="$CXXFLAGS --thread_safe"
3740                   NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe"
3741                 fi
3742                 ;;
3743         *)
3744                 ;;
3745     esac
3746     AC_SUBST(USE_THREADS)
3747     AC_SUBST(LIBPTHREAD)
3750 AC_DEFUN(KDE_CHECK_THREADING,
3752   AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
3753   AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION])
3754   dnl default is yes if libpthread is found and no if no libpthread is available
3755   if test -z "$LIBPTHREAD"; then
3756     if test -z "$USE_THREADS"; then
3757       kde_check_threading_default=no
3758     else
3759       kde_check_threading_default=yes
3760     fi
3761   else
3762     kde_check_threading_default=yes
3763   fi
3764   AC_ARG_ENABLE(threading, [  --disable-threading     disables threading even if libpthread found ],
3765    kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default)
3766   if test "x$kde_use_threading" = "xyes"; then
3767     AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)])
3768   fi
3771 AC_DEFUN(KDE_TRY_LINK_PYTHON,
3773 if test "$kde_python_link_found" = no; then
3775 if test "$1" = normal; then
3776   AC_MSG_CHECKING(if a Python application links)
3777 else
3778   AC_MSG_CHECKING(if Python depends on $2)
3781 AC_CACHE_VAL(kde_cv_try_link_python_$1,
3783 AC_LANG_SAVE
3784 AC_LANG_C
3785 kde_save_cflags="$CFLAGS"
3786 CFLAGS="$CFLAGS $PYTHONINC"
3787 kde_save_libs="$LIBS"
3788 LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET"
3789 kde_save_ldflags="$LDFLAGS"
3790 LDFLAGS="$LDFLAGS $PYTHONLIB"
3792 AC_TRY_LINK(
3794 #include <Python.h>
3796         PySys_SetArgv(1, 0);
3798         [kde_cv_try_link_python_$1=yes],
3799         [kde_cv_try_link_python_$1=no]
3801 CFLAGS="$kde_save_cflags"
3802 LIBS="$kde_save_libs"
3803 LDFLAGS="$kde_save_ldflags"
3806 if test "$kde_cv_try_link_python_$1" = "yes"; then
3807   AC_MSG_RESULT(yes)
3808   kde_python_link_found=yes
3809   if test ! "$1" = normal; then
3810     LIBPYTHON="$LIBPYTHON $2"
3811   fi
3812   $3
3813 else
3814   AC_MSG_RESULT(no)
3815   $4
3817 AC_LANG_RESTORE
3823 AC_DEFUN(KDE_CHECK_PYTHON_DIR,
3825 AC_MSG_CHECKING([for Python directory])
3827 AC_CACHE_VAL(kde_cv_pythondir,
3829   if test -z "$PYTHONDIR"; then
3830     kde_cv_pythondir=/usr/local
3831   else
3832     kde_cv_pythondir="$PYTHONDIR"
3833   fi
3836 AC_ARG_WITH(pythondir,
3837 [  --with-pythondir=pythondir   use python installed in pythondir ],
3839   ac_python_dir=$withval
3840 ], ac_python_dir=$kde_cv_pythondir
3843 AC_MSG_RESULT($ac_python_dir)
3846 AC_DEFUN(KDE_CHECK_PYTHON_INTERN,
3848 AC_REQUIRE([KDE_CHECK_LIBDL])
3849 AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
3850 AC_REQUIRE([KDE_CHECK_PYTHON_DIR])
3852 if test -z "$1"; then
3853   version="1.5"
3854 else
3855   version="$1"
3858 AC_MSG_CHECKING([for Python$version])
3860 python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes"
3861 AC_FIND_FILE(Python.h, $python_incdirs, python_incdir)
3862 if test ! -r $python_incdir/Python.h; then
3863   AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir)
3864   python_incdir=$python_incdir/python$version
3865   if test ! -r $python_incdir/Python.h; then
3866     python_incdir=no
3867   fi
3870 PYTHONINC=-I$python_incdir
3872 python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
3873 AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir)
3874 if test ! -r $python_libdir/libpython$version.a; then
3875   AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir)
3876   python_libdir=$python_libdir/python$version/config
3877   if test ! -r $python_libdir/libpython$version.a; then
3878     python_libdir=no
3879   fi
3882 PYTHONLIB=-L$python_libdir
3883 kde_orig_LIBPYTHON=$LIBPYTHON
3884 if test -z "$LIBPYTHON"; then
3885   LIBPYTHON=-lpython$version
3888 python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
3889 AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir)
3890 python_moddir=$python_moddir/python$version
3891 if test ! -r $python_moddir/copy.py; then
3892   python_moddir=no
3895 PYTHONMODDIR=$python_moddir
3897 AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir)
3899 if test x$python_incdir = xno ||  test x$python_libdir = xno ||  test x$python_moddir = xno; then
3900    LIBPYTHON=$kde_orig_LIBPYTHON
3901    test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB=""
3902    test "x$PYTHONINC" = "x-Ino" && PYTHONINC=""
3903    $2
3904 else 
3905   dnl Note: this test is very weak
3906   kde_python_link_found=no
3907   KDE_TRY_LINK_PYTHON(normal)
3908   KDE_TRY_LINK_PYTHON(m, -lm)
3909   KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD)
3910   KDE_TRY_LINK_PYTHON(tcl, -ltcl)
3911   KDE_TRY_LINK_PYTHON(db2, -ldb2)
3912   KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm])
3913   KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil])
3914   KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil])
3915   KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3])
3916   KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil])
3917   KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm])
3918   KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [],
3919         [AC_MSG_WARN([it seems, Python depends on another library.
3920     Pleae set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this
3921     and contact the authors to let them know about this problem])
3922         ])
3924   LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET"
3925   AC_SUBST(PYTHONINC)
3926   AC_SUBST(PYTHONLIB)
3927   AC_SUBST(LIBPYTHON)
3928   AC_SUBST(PYTHONMODDIR)
3929   AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python])
3935 AC_DEFUN(KDE_CHECK_PYTHON,
3937   KDE_CHECK_PYTHON_INTERN("2.2", 
3938     [KDE_CHECK_PYTHON_INTERN("2.1", 
3939       [KDE_CHECK_PYTHON_INTERN("2.0", [ KDE_CHECK_PYTHON_INTERN($1, $2) ])
3940   ])])
3943 AC_DEFUN(KDE_CHECK_STL_SGI,
3945     AC_MSG_CHECKING([if STL implementation is SGI like])
3946     AC_CACHE_VAL(kde_cv_stl_type_sgi,
3947     [
3948       AC_TRY_COMPILE([
3949 #include <string>
3950 using namespace std;
3952   string astring="Hallo Welt.";
3953   astring.erase(0, 6); // now astring is "Welt"
3954   return 0;
3955 ], kde_cv_stl_type_sgi=yes,
3956    kde_cv_stl_type_sgi=no)
3959    AC_MSG_RESULT($kde_cv_stl_type_sgi)
3961    if test "$kde_cv_stl_type_sgi" = "yes"; then
3962         AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI])
3963    fi
3966 AC_DEFUN(KDE_CHECK_STL_HP,
3968     AC_MSG_CHECKING([if STL implementation is HP like])
3969     AC_CACHE_VAL(kde_cv_stl_type_hp,
3970     [
3971       AC_TRY_COMPILE([
3972 #include <string>
3973 using namespace std;
3975   string astring="Hello World";
3976   astring.remove(0, 6); // now astring is "World"
3977   return 0;
3978 ], kde_cv_stl_type_hp=yes,
3979    kde_cv_stl_type_hp=no)
3981    AC_MSG_RESULT($kde_cv_stl_type_hp)
3983    if test "$kde_cv_stl_type_hp" = "yes"; then
3984         AC_DEFINE_UNQUOTED(HAVE_HP_STL, 1, [Define if you have a STL implementation by HP])
3985    fi
3988 AC_DEFUN(KDE_CHECK_STL,
3990     AC_LANG_SAVE
3991     AC_LANG_CPLUSPLUS
3992     ac_save_CXXFLAGS="$CXXFLAGS"
3993     CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
3994     KDE_CHECK_STL_SGI
3996     if test "$kde_cv_stl_type_sgi" = "no"; then
3997        KDE_CHECK_STL_HP
3999        if test "$kde_cv_stl_type_hp" = "no"; then
4000          AC_MSG_ERROR("no known STL type found - did you forget to install libstdc++[-devel] ?")
4001        fi
4002     fi
4004     CXXFLAGS="$ac_save_CXXFLAGS"
4005     AC_LANG_RESTORE
4008 AC_DEFUN(AC_FIND_QIMGIO,
4009    [AC_REQUIRE([AC_FIND_JPEG])
4010 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
4011 AC_MSG_CHECKING([for qimgio])
4012 AC_CACHE_VAL(ac_cv_lib_qimgio,
4014 AC_LANG_SAVE
4015 AC_LANG_CPLUSPLUS
4016 ac_save_LIBS="$LIBS"
4017 ac_save_CXXFLAGS="$CXXFLAGS"
4018 LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT"
4019 CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
4020 AC_TRY_RUN(dnl
4022 #include <qimageio.h>
4023 #include <qstring.h>
4024 int main() {
4025                 QString t = "hallo";
4026                 t.fill('t');
4027                 qInitImageIO();
4030             ac_cv_lib_qimgio=yes,
4031             ac_cv_lib_qimgio=no,
4032             ac_cv_lib_qimgio=no)
4033 LIBS="$ac_save_LIBS"
4034 CXXFLAGS="$ac_save_CXXFLAGS"
4035 AC_LANG_RESTORE
4036 ])dnl
4037 if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then
4038   LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG"
4039   AC_MSG_RESULT(yes)
4040   AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available])
4041   AC_SUBST(LIBQIMGIO)
4042 else
4043   AC_MSG_RESULT(not found)
4047 AC_DEFUN(KDE_CHECK_ANSI,
4051 AC_DEFUN(KDE_CHECK_INSURE,
4053   AC_ARG_ENABLE(insure, [  --enable-insure             use insure++ for debugging [default=no]],
4054   [
4055   if test $enableval = "no"; dnl
4056         then ac_use_insure="no"
4057         else ac_use_insure="yes"
4058    fi
4059   ], [ac_use_insure="no"])
4061   AC_MSG_CHECKING(if we will use Insure++ to debug)
4062   AC_MSG_RESULT($ac_use_insure)
4063   if test "$ac_use_insure" = "yes"; dnl
4064        then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "????
4065    fi
4068 AC_DEFUN(AM_DISABLE_LIBRARIES,
4070     AC_PROVIDE([AM_ENABLE_STATIC])
4071     AC_PROVIDE([AM_ENABLE_SHARED])
4072     enable_static=no
4073     enable_shared=yes
4077 AC_DEFUN(AC_CHECK_UTMP_FILE,
4079     AC_MSG_CHECKING([for utmp file])
4081     AC_CACHE_VAL(kde_cv_utmp_file,
4082     [
4083     kde_cv_utmp_file=no
4085     for ac_file in    \
4086                       \
4087         /var/run/utmp \
4088         /var/adm/utmp \
4089         /etc/utmp     \
4090      ; \
4091     do
4092      if test -r "$ac_file"; then
4093        kde_cv_utmp_file=$ac_file
4094        break
4095      fi
4096     done
4097     ])
4099     if test "$kde_cv_utmp_file" != "no"; then
4100         AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries])
4101         $1
4102         AC_MSG_RESULT($kde_cv_utmp_file)
4103     else
4104         $2
4105         AC_MSG_RESULT([non found])
4106     fi
4110 AC_DEFUN(KDE_CREATE_SUBDIRSLIST,
4113 DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
4115 if test ! -s $srcdir/subdirs; then
4116   dnl Note: Makefile.common creates subdirs, so this is just a fallback
4117   TOPSUBDIRS=""
4118   files=`cd $srcdir && ls -1`
4119   dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
4120   for i in $dirs; do
4121     echo $i >> $srcdir/subdirs
4122   done
4125 if test -s $srcdir/inst-apps; then
4126   ac_topsubdirs="`cat $srcdir/inst-apps`"
4127 else
4128   ac_topsubdirs="`cat $srcdir/subdirs`"
4131 for i in $ac_topsubdirs; do
4132   AC_MSG_CHECKING([if $i should be compiled])
4133   if test -d $srcdir/$i; then
4134     install_it="yes"
4135     for j in $DO_NOT_COMPILE; do
4136       if test $i = $j; then
4137         install_it="no"
4138       fi
4139     done
4140   else
4141     install_it="no"
4142   fi
4143   AC_MSG_RESULT($install_it)
4144   if test $install_it = "yes"; then
4145     TOPSUBDIRS="$TOPSUBDIRS $i"
4146   fi
4147 done
4149 AC_SUBST(TOPSUBDIRS)
4152 AC_DEFUN(KDE_CHECK_NAMESPACES,
4154 AC_MSG_CHECKING(whether C++ compiler supports namespaces)
4155 AC_LANG_SAVE
4156 AC_LANG_CPLUSPLUS
4157 AC_TRY_COMPILE([
4160 namespace Foo {
4161   extern int i;
4162   namespace Bar {
4163     extern int i;
4164   }
4167 int Foo::i = 0;
4168 int Foo::Bar::i = 1;
4170   AC_MSG_RESULT(yes)
4171   AC_DEFINE(HAVE_NAMESPACES)
4172 ], [
4173 AC_MSG_RESULT(no)
4175 AC_LANG_RESTORE
4178 AC_DEFUN(KDE_CHECK_NEWLIBS,
4183 dnl ------------------------------------------------------------------------
4184 dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org
4185 dnl ------------------------------------------------------------------------
4187 AC_DEFUN(AC_CHECK_S_ISSOCK,
4189 AC_MSG_CHECKING(for S_ISSOCK)
4190 AC_CACHE_VAL(ac_cv_have_s_issock,
4192 AC_LANG_SAVE
4193 AC_LANG_C
4194 AC_TRY_LINK(
4196 #include <sys/stat.h>
4199 struct stat buff;
4200 int b = S_ISSOCK( buff.st_mode );
4202 ac_cv_have_s_issock=yes,
4203 ac_cv_have_s_issock=no)
4204 AC_LANG_RESTORE
4206 AC_MSG_RESULT($ac_cv_have_s_issock)
4207 if test "$ac_cv_have_s_issock" = "yes"; then
4208   AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.])
4212 dnl ------------------------------------------------------------------------
4213 dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org
4214 dnl ------------------------------------------------------------------------
4216 AC_DEFUN(AC_CHECK_KDEMAXPATHLEN,
4218 AC_MSG_CHECKING(for MAXPATHLEN)
4219 AC_CACHE_VAL(ac_cv_maxpathlen,
4221 AC_LANG_C
4222 cat > conftest.$ac_ext <<EOF
4223 #ifdef STDC_HEADERS
4224 # include <stdlib.h>
4225 #endif
4226 #include <stdio.h>
4227 #include <sys/param.h>
4228 #ifndef MAXPATHLEN
4229 #define MAXPATHLEN 1024
4230 #endif
4232 KDE_HELLO MAXPATHLEN
4236 ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out"
4238 if AC_TRY_EVAL(ac_try) && test -s conftest.out; then
4239     ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out`
4240 else
4241     ac_cv_maxpathlen=1024
4244 rm conftest.*
4247 AC_MSG_RESULT($ac_cv_maxpathlen)
4248 AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] )
4251 dnl -------------------------------------------------------------------------
4252 dnl See if the compiler supports a template repository         bero@redhat.de
4253 dnl -------------------------------------------------------------------------
4254 AC_DEFUN(KDE_COMPILER_REPO,
4256   REPO=""
4257   NOREPO=""
4259   KDE_CHECK_COMPILER_FLAG(frepo,
4260    [
4261      REPO="-frepo"
4262      NOREPO="-fno-repo"
4263    ])
4265   if test -z "$REPO"; then
4266   KDE_CHECK_COMPILER_FLAG(instances=explicit,
4267   [
4268      REPO="-instances=explicit"
4269      NOREPO="-instances=extern"
4270   ])
4271   fi
4273   if test -n "$REPO"; then
4274      AC_DEFINE_UNQUOTED(HAVE_TEMPLATE_REPOSITORY, 1,
4275                 [C++ compiler supports template repository])
4276      $1
4277   fi
4279   AC_SUBST(REPO)
4280   AC_SUBST(NOREPO)
4283 AC_DEFUN(KDE_CHECK_HEADER,
4285    AC_LANG_SAVE
4286    kde_safe_cppflags=$CPPFLAGS
4287    CPPFLAGS="$CPPFLAGS $all_includes"
4288    AC_LANG_CPLUSPLUS
4289    AC_CHECK_HEADER($1, $2, $3)
4290    CPPFLAGS=$kde_safe_cppflags
4291    AC_LANG_RESTORE
4294 AC_DEFUN(KDE_FAST_CONFIGURE,
4296   dnl makes configure fast (needs perl)
4297   AC_ARG_ENABLE(fast-perl, [  --disable-fast-perl     disable fast Makefile generation (needs perl)],
4298       with_fast_perl=$enableval, with_fast_perl=yes)
4301 AC_DEFUN(KDE_CONF_FILES,
4303   val=
4304   if test -f $srcdir/configure.files ; then
4305     val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files`
4306   fi
4307   CONF_FILES=
4308   if test -n "$val" ; then
4309     for i in $val ; do
4310       CONF_FILES="$CONF_FILES $i"
4311     done
4312   fi
4313   AC_SUBST(CONF_FILES)
4314 ])dnl
4316 AC_DEFUN(KDE_SET_PREFIX,
4318   unset CDPATH
4319   dnl make $KDEDIR the default for the installation
4320   AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
4322   if test "x$prefix" = "xNONE"; then
4323     prefix=$ac_default_prefix
4324     ac_configure_args="$ac_configure_args --prefix=$prefix"
4325   fi
4326   KDE_FAST_CONFIGURE
4327   KDE_CONF_FILES
4330 pushdef([AC_PROG_INSTALL],
4332   dnl our own version, testing for a -p flag
4333   popdef([AC_PROG_INSTALL])
4334   dnl as AC_PROG_INSTALL works as it works we first have
4335   dnl to save if the user didn't specify INSTALL, as the
4336   dnl autoconf one overwrites INSTALL and we have no chance to find
4337   dnl out afterwards
4338   test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL
4339   test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM
4340   test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT
4341   AC_PROG_INSTALL
4343   if test -z "$kde_save_INSTALL_given" ; then
4344     # OK, user hasn't given any INSTALL, autoconf found one for us
4345     # now we test, if it supports the -p flag
4346     AC_MSG_CHECKING(for -p flag to install)
4347     rm -f confinst.$$.* > /dev/null 2>&1
4348     echo "Testtest" > confinst.$$.orig
4349     ac_res=no
4350     if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
4351       if test -f confinst.$$.new ; then
4352         # OK, -p seems to do no harm to install
4353         INSTALL="${INSTALL} -p"
4354         ac_res=yes
4355       fi
4356     fi
4357     rm -f confinst.$$.*
4358     AC_MSG_RESULT($ac_res)
4359   fi
4360   dnl the following tries to resolve some signs and wonders coming up
4361   dnl with different autoconf/automake versions
4362   dnl e.g.:
4363   dnl  *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s
4364   dnl   and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS)
4365   dnl   it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s
4366   dnl  *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has
4367   dnl   INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the
4368   dnl   install-@DIR@PROGRAMS targets to explicitly use that flag
4369   dnl  *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as
4370   dnl   INSTALL_SCRIPT, which breaks with automake <= 1.4
4371   dnl  *autoconf >2.13 (since 10.Apr 1999) has not that failure
4372   dnl  *sometimes KDE does not use the install-@DIR@PROGRAM targets from
4373   dnl   automake (due to broken Makefile.am or whatever) to install programs,
4374   dnl   and so does not see the -s flag in automake > 1.4
4375   dnl to clean up that mess we:
4376   dnl  +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG
4377   dnl   which cleans KDE's program with automake > 1.4;
4378   dnl  +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems
4379   dnl   with automake<=1.4
4380   dnl  note that dues to this sometimes two '-s' flags are used (if KDE
4381   dnl   properly uses install-@DIR@PROGRAMS, but I don't care
4382   dnl
4383   dnl And to all this comes, that I even can't write in comments variable
4384   dnl  names used by automake, because it is so stupid to think I wanted to
4385   dnl  _use_ them, therefor I have written A_M_... instead of AM_
4386   dnl hmm, I wanted to say something ... ahh yes: Arghhh.
4388   if test -z "$kde_save_INSTALL_PROGRAM_given" ; then
4389     INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
4390   fi
4391   if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
4392     INSTALL_SCRIPT='${INSTALL}'
4393   fi
4394 ])dnl
4396 AC_DEFUN(KDE_LANG_CPLUSPLUS,
4397 [AC_LANG_CPLUSPLUS
4398 ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
4399 pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS])
4402 pushdef([AC_LANG_CPLUSPLUS],
4403 [popdef([AC_LANG_CPLUSPLUS])
4404 KDE_LANG_CPLUSPLUS
4407 AC_DEFUN(KDE_CHECK_LONG_LONG,
4409 AC_MSG_CHECKING(for long long)
4410 AC_CACHE_VAL(kde_cv_c_long_long,
4412   AC_LANG_SAVE
4413   AC_LANG_CPLUSPLUS
4414   AC_TRY_LINK([], [
4415   long long foo = 0;
4416   foo = foo+1;
4417   ],
4418   kde_cv_c_long_long=yes, kde_cv_c_long_long=no)
4419   AC_LANG_RESTORE
4421 AC_MSG_RESULT($kde_cv_c_long_long)
4422 if test "$kde_cv_c_long_long" = yes; then
4423    AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype])
4427 AC_DEFUN(KDE_CHECK_LIB,
4429      kde_save_LDFLAGS="$LDFLAGS"
4430      dnl AC_CHECK_LIB modifies LIBS, so save it here
4431      kde_save_LIBS="$LIBS"
4432      LDFLAGS="$LDFLAGS $all_libraries"
4433      case $host_os in
4434       aix*) LDFLAGS="-brtl $LDFLAGS"
4435         test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS"
4436         ;;
4437      esac
4438      AC_CHECK_LIB($1, $2, $3, $4, $5)
4439      LDFLAGS="$kde_save_LDFLAGS"
4440      LIBS="$kde_save_LIBS"
4446 AC_DEFUN(KDE_CHECK_INITGROUPS,
4448   AC_REQUIRE([AC_CANONICAL_HOST])
4449   AC_CHECK_FUNCS(initgroups)
4450   if test "x$ac_cv_func_initgroups" = "xyes"; then
4451     case $host_os in
4452       aix*) AC_LANG_SAVE
4453             AC_LANG_CPLUSPLUS
4454             AC_MSG_CHECKING([for initgroups prototype])
4455             AC_CACHE_VAL(kde_cv_check_initgroups_proto,
4456             [ AC_TRY_COMPILE(
4457               [ #include <grp.h>
4458               ],
4459               [ char buffer[10];
4460                 gid_t id;
4461                 int x = initgroups(buffer,id);
4462               ],
4463               kde_cv_check_initgroups_proto=yes,
4464               kde_cv_check_initgroups_proto=no)
4465             ])
4466             AC_MSG_RESULT($kde_cv_check_initgroups_proto)
4467             AC_LANG_RESTORE
4468             ;;
4469       *)
4470             kde_cv_check_initgroups_proto=yes
4471             ;;
4472     esac
4473   else
4474     kde_cv_check_initgroups_proto=no
4475   fi
4476   if test "x$kde_cv_check_initgroups_proto" = "xyes"; then
4477     kde_check_initgroups_proto=1
4478   else
4479     kde_check_initgroups_proto=0
4480   fi
4481   AC_DEFINE_UNQUOTED(HAVE_INITGROUPS_PROTO,$kde_check_initgroups_proto,
4482            [initgroups may exist but not its prototype (e.g. AIX<4.3.3:8)])
4486 AC_DEFUN(KDE_CHECK_JAVA_DIR,
4488 AC_MSG_CHECKING([for Java directory])
4490 AC_ARG_WITH(java,
4491 [  --with-java=javadir     use java installed in javadir, --without-java disables ],
4492 [  ac_java_dir=$withval
4493 ], ac_java_dir=""
4496 dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH
4497 if test "x$ac_java_dir" = "xno"; then
4498    kde_cv_java_bindir=no
4499    kde_cv_java_includedir=no
4500    kde_java_libjvmdir=no
4501    kde_java_libhpidir=no
4502 else
4503   if test "x$ac_java_dir" = "x"; then
4504     dnl No option set -> look in $PATH
4505     AC_CACHE_VAL(kde_cv_java_bindir,
4506     [
4507       dnl First look for javac in $PATH. If not found we'll look at the option.
4508       KDE_FIND_PATH(javac, JAVAC, [], [])
4509       if test -n "$JAVAC"; then
4510           kde_cv_java_bindir=`echo $JAVAC | sed -e 's,/javac$,/,'`
4511           dnl this substitution might not work - well, we test for jni.h below
4512           kde_cv_java_includedir=`echo $kde_cv_java_bindir | sed -e 's,bin/$,include/,'`
4513       else
4514           kde_cv_java_bindir=no
4515       fi
4516     ])
4517   else
4518     dnl config option set
4519     kde_cv_java_bindir=$ac_java_dir/bin
4520     kde_cv_java_includedir=$ac_java_dir/include
4521   fi
4524 dnl At this point kde_cv_java_bindir and kde_cv_java_includedir are either set or "no"
4525 if test "x$kde_cv_java_bindir" != "xno"; then
4527   dnl Look for libjvm.so
4528   kde_java_libjvmdir=`find $kde_cv_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
4529   dnl Look for libhpi.so and avoid green threads
4530   kde_java_libhpidir=`find $kde_cv_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,'`
4532   dnl Now check everything's fine under there
4534   if test ! -x "$kde_cv_java_bindir/javac"; then
4535     AC_MSG_ERROR([javac not found under $kde_cv_java_bindir - it seems you passed a wrong --with-java.])
4536   fi
4537   if test ! -x "$kde_cv_java_bindir/javah"; then
4538     AC_MSG_ERROR([javah not found under $kde_cv_java_bindir. javac was found though! Use --with-java or --without-java.])
4539   fi
4540   if test ! -x "$kde_cv_java_bindir/jar"; then
4541     AC_MSG_ERROR([jar not found under $kde_cv_java_bindir. javac was found though! Use --with-java or --without-java.])
4542   fi
4543   if test ! -r "$kde_cv_java_includedir/jni.h"; then
4544     AC_MSG_ERROR([jni.h not found under $kde_cv_java_includedir. Use --with-java or --without-java.])
4545   fi
4546   if test ! -r "$kde_java_libjvmdir/libjvm.so"; then
4547     AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.])
4548   fi
4549   if test ! -r "$kde_java_libhpidir/libhpi.so"; then
4550     AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.])
4551   fi
4553   jni_includes="-I$kde_cv_java_includedir"
4554   dnl Strange thing, jni.h requires jni_md.h which is under genunix here..
4555   dnl and under linux here..
4556   test -d "$kde_cv_java_includedir/linux" && jni_includes="$jni_includes -I$kde_cv_java_includedir/linux"
4557   test -d "$kde_cv_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_cv_java_includedir/genunix"
4559   dnl Check for JNI version
4560   AC_LANG_SAVE
4561   AC_LANG_CPLUSPLUS
4562   ac_cxxflags_safe="$CXXFLAGS"
4563   CXXFLAGS="$CXXFLAGS $all_includes $jni_includes"
4565   AC_TRY_COMPILE([
4566 #include <jni.h>
4567             ],
4568             [
4569 #ifndef JNI_VERSION_1_2
4570 Syntax Error
4571 #endif
4572             ],[ kde_jni_works=yes ],
4573             [ kde_jni_works=no ])
4575   if test $kde_jni_works = no; then
4576     AC_MSG_ERROR([Incorrect version of $kde_cv_java_includedir/jni.h.
4577                   You need to have Java Development Kit (JDK) version 1.2. 
4578         
4579                   Use --with-java to specify another location.
4580                   Use --without-java to configure without java support.
4581                   Or download a newer JDK and try again. 
4582                   See e.g. http://java.sun.com/products/jdk/1.2 ])
4583   fi
4585   CXXFLAGS="$ac_cxxflags_safe"    
4586   AC_LANG_RESTORE
4588   dnl All tests ok, inform and subst the variables
4589   AC_MSG_RESULT([javac/javah/jar in $kde_cv_java_bindir, jni.h in $kde_cv_java_includedir])
4591   JAVAC=$kde_cv_java_bindir/javac
4592   AC_SUBST(JAVAC)
4593   JAVAH=$kde_cv_java_bindir/javah
4594   AC_SUBST(JAVAH)
4595   JAR=$kde_cv_java_bindir/jar
4596   AC_SUBST(JAR)
4597   AC_SUBST(jni_includes)
4598   JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi"
4599   AC_SUBST(JVMLIBS)
4603 dnl this is a redefinition of autoconf 2.5x's AC_FOREACH.
4604 dnl When the argument list becomes big, as in KDE for AC_OUTPUT in
4605 dnl big packages, m4_foreach is dog-slow.  So use our own version of
4606 dnl it.  (matz@kde.org)
4607 m4_define([mm_foreach],
4608 [m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])])
4609 m4_define([mm_car], [[$1]])
4610 m4_define([mm_car2], [[$@]])
4611 m4_define([_mm_foreach],
4612 [m4_if(m4_quote($2), [], [],
4613        [m4_define([$1], [mm_car($2)])$3[]_mm_foreach([$1],
4614                                                      mm_car2(m4_shift($2)),
4615                                                      [$3])])])
4616 m4_define([AC_FOREACH],
4617 [mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])])
4619 AC_DEFUN(KDE_NEED_FLEX,
4621 kde_libs_safe=$LIBS
4622 LIBS="$LIBS $USER_LDFLAGS"
4623 AM_PROG_LEX
4624 LIBS=$kde_libs_safe
4625 if test -z "$LEXLIB"; then
4626     AC_MSG_ERROR([You need to have flex installed.])
4628 AC_SUBST(LEXLIB)
4631 AC_DEFUN(AC_PATH_QTOPIA,
4633   dnl TODO: use AC_CACHE_VAL
4635   if test -z "$1"; then
4636     qtopia_minver_maj=1
4637     qtopia_minver_min=5
4638     qtopia_minver_pat=0
4639   else
4640     qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"`
4641     qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"`
4642     qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"`
4643   fi
4645   qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat"
4646   qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat"
4648   AC_REQUIRE([AC_PATH_QT])
4650   AC_MSG_CHECKING([for Qtopia])
4652   LIB_QTOPIA="-lqpe"
4653   AC_SUBST(LIB_QTOPIA)
4655   kde_qtopia_dirs="$QPEDIR /opt/Qtopia"
4657   ac_qtopia_incdir=NO
4659   AC_ARG_WITH(qtopia-dir,
4660               [  --with-qtopia-dir=DIR   where the root of Qtopia is installed ],
4661               [  ac_qtopia_incdir="$withval"/include] ) 
4662   
4663   qtopia_incdirs=""
4664   for dir in $kde_qtopia_dirs; do
4665     qtopia_incdirs="$qtopia_incdirs $dir/include"
4666   done
4668   if test ! "$ac_qtopia_incdir" = "NO"; then
4669     qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs"
4670   fi
4672   qtopia_incdir=""
4673   AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir)
4674   ac_qtopia_incdir="$qtopia_incdir"
4676   if test -z "$qtopia_incdir"; then
4677     AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.])
4678   fi
4680   qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`;
4681   qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`;
4682   qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`;
4684   qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat"
4685   qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat"
4686   if test "$qtopia_ver" -lt "$qtopia_minver"; then
4687     AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr
4688 is required.])
4689   fi
4691   AC_LANG_SAVE
4692   AC_LANG_CPLUSPLUS
4694   ac_cxxflags_safe="$CXXFLAGS"
4695   ac_ldflags_safe="$LDFLAGS"
4696   ac_libs_safe="$LIBS"
4698   CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes"
4699   LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
4700   LIBS="$LIBS $LIB_QTOPIA $LIBQT"
4702   cat > conftest.$ac_ext <<EOF
4703 #include "confdefs.h"
4704 #include <qpe/qpeapplication.h>
4705 #include <qpe/version.h>
4707 int main( int argc, char **argv )
4709     QPEApplication app( argc, argv );
4710     return 0;
4714   if AC_TRY_EVAL(ac_link) && test -s conftest; then
4715     rm -f conftest*
4716   else
4717     rm -f conftest*
4718     AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at
4719 the end of config.log])
4720   fi
4722   CXXFLAGS="$ac_cxxflags_safe"
4723   LDFLAGS="$ac_ldflags_safe"
4724   LIBS="$ac_libs_safe"
4726   AC_LANG_RESTORE
4728   QTOPIA_INCLUDES="-I$qtopia_incdir"
4729   AC_SUBST(QTOPIA_INCLUDES)
4731   AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir])