tagging KDE 3.5.8
[kdevelop:kdevelop.git] / admin / acinclude.m4.in
1 ##   -*- autoconf -*-
2
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)
6
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.
11
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.
16
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., 51 Franklin Street, Fifth Floor,
20 dnl    Boston, MA 02110-1301, USA.
21
22 dnl IMPORTANT NOTE:
23 dnl Please do not modify this file unless you expect your modifications to be
24 dnl carried into every other module in the repository. 
25 dnl
26 dnl Single-module modifications are best placed in configure.in for kdelibs
27 dnl and kdebase or configure.in.in if present.
28
29 # KDE_PATH_X_DIRECT
30 dnl Internal subroutine of AC_PATH_X.
31 dnl Set ac_x_includes and/or ac_x_libraries.
32 AC_DEFUN([KDE_PATH_X_DIRECT],
33 [
34 AC_REQUIRE([KDE_CHECK_LIB64])
35
36 if test "$ac_x_includes" = NO; then
37   # Guess where to find include files, by looking for this one X11 .h file.
38   test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
39
40   # First, try using that file with no special directory specified.
41 AC_TRY_CPP([#include <$x_direct_test_include>],
42 [# We can compile using X headers with no special include directory.
43 ac_x_includes=],
44 [# Look for the header file in a standard set of common directories.
45 # Check X11 before X11Rn because it is often a symlink to the current release.
46   for ac_dir in               \
47     /usr/X11/include          \
48     /usr/X11R6/include        \
49     /usr/X11R5/include        \
50     /usr/X11R4/include        \
51                               \
52     /usr/include/X11          \
53     /usr/include/X11R6        \
54     /usr/include/X11R5        \
55     /usr/include/X11R4        \
56                               \
57     /usr/local/X11/include    \
58     /usr/local/X11R6/include  \
59     /usr/local/X11R5/include  \
60     /usr/local/X11R4/include  \
61                               \
62     /usr/local/include/X11    \
63     /usr/local/include/X11R6  \
64     /usr/local/include/X11R5  \
65     /usr/local/include/X11R4  \
66                               \
67     /usr/X386/include         \
68     /usr/x386/include         \
69     /usr/XFree86/include/X11  \
70                               \
71     /usr/include              \
72     /usr/local/include        \
73     /usr/unsupported/include  \
74     /usr/athena/include       \
75     /usr/local/x11r5/include  \
76     /usr/lpp/Xamples/include  \
77                               \
78     /usr/openwin/include      \
79     /usr/openwin/share/include \
80     ; \
81   do
82     if test -r "$ac_dir/$x_direct_test_include"; then
83       ac_x_includes=$ac_dir
84       break
85     fi
86   done])
87 fi # $ac_x_includes = NO
88
89 if test "$ac_x_libraries" = NO; then
90   # Check for the libraries.
91
92   test -z "$x_direct_test_library" && x_direct_test_library=Xt
93   test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
94
95   # See if we find them without any special options.
96   # Don't add to $LIBS permanently.
97   ac_save_LIBS="$LIBS"
98   LIBS="-l$x_direct_test_library $LIBS"
99 AC_TRY_LINK([#include <X11/Intrinsic.h>], [${x_direct_test_function}(1)],
100 [LIBS="$ac_save_LIBS"
101 # We can link X programs with no special library path.
102 ac_x_libraries=],
103 [LIBS="$ac_save_LIBS"
104 # First see if replacing the include by lib works.
105 # Check X11 before X11Rn because it is often a symlink to the current release.
106 for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \
107     /usr/X11/lib${kdelibsuff}           \
108     /usr/X11R6/lib${kdelibsuff}         \
109     /usr/X11R5/lib${kdelibsuff}         \
110     /usr/X11R4/lib${kdelibsuff}         \
111                                         \
112     /usr/lib${kdelibsuff}/X11           \
113     /usr/lib${kdelibsuff}/X11R6         \
114     /usr/lib${kdelibsuff}/X11R5         \
115     /usr/lib${kdelibsuff}/X11R4         \
116                                         \
117     /usr/local/X11/lib${kdelibsuff}     \
118     /usr/local/X11R6/lib${kdelibsuff}   \
119     /usr/local/X11R5/lib${kdelibsuff}   \
120     /usr/local/X11R4/lib${kdelibsuff}   \
121                                         \
122     /usr/local/lib${kdelibsuff}/X11     \
123     /usr/local/lib${kdelibsuff}/X11R6   \
124     /usr/local/lib${kdelibsuff}/X11R5   \
125     /usr/local/lib${kdelibsuff}/X11R4   \
126                                         \
127     /usr/X386/lib${kdelibsuff}          \
128     /usr/x386/lib${kdelibsuff}          \
129     /usr/XFree86/lib${kdelibsuff}/X11   \
130                                         \
131     /usr/lib${kdelibsuff}               \
132     /usr/local/lib${kdelibsuff}         \
133     /usr/unsupported/lib${kdelibsuff}   \
134     /usr/athena/lib${kdelibsuff}        \
135     /usr/local/x11r5/lib${kdelibsuff}   \
136     /usr/lpp/Xamples/lib${kdelibsuff}   \
137     /lib/usr/lib${kdelibsuff}/X11       \
138                                         \
139     /usr/openwin/lib${kdelibsuff}       \
140     /usr/openwin/share/lib${kdelibsuff} \
141     ; \
142 do
143 dnl Don't even attempt the hair of trying to link an X program!
144   for ac_extension in a so sl; do
145     if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
146       ac_x_libraries=$ac_dir
147       break 2
148     fi
149   done
150 done])
151 fi # $ac_x_libraries = NO
152 ])
153
154
155 dnl ------------------------------------------------------------------------
156 dnl Find a file (or one of more files in a list of dirs)
157 dnl ------------------------------------------------------------------------
158 dnl
159 AC_DEFUN([AC_FIND_FILE],
160 [
161 $3=NO
162 for i in $2;
163 do
164   for j in $1;
165   do
166     echo "configure: __oline__: $i/$j" >&AC_FD_CC
167     if test -r "$i/$j"; then
168       echo "taking that" >&AC_FD_CC
169       $3=$i
170       break 2
171     fi
172   done
173 done
174 ])
175
176 dnl KDE_FIND_PATH(program-name, variable-name, list-of-dirs,
177 dnl     if-not-found, test-parameter, prepend-path)
178 dnl
179 dnl Look for program-name in list-of-dirs+$PATH.
180 dnl If prepend-path is set, look in $PATH+list-of-dirs instead.
181 dnl If found, $variable-name is set. If not, if-not-found is evaluated.
182 dnl test-parameter: if set, the program is executed with this arg,
183 dnl                 and only a successful exit code is required.
184 AC_DEFUN([KDE_FIND_PATH],
185 [
186    AC_MSG_CHECKING([for $1])
187    if test -n "$$2"; then
188         kde_cv_path="$$2";
189    else
190         kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
191
192         AC_CACHE_VAL(kde_cv_path_$kde_cache,
193         [
194         kde_cv_path="NONE"
195         kde_save_IFS=$IFS
196         IFS=':'
197         dirs=""
198         for dir in $PATH; do
199           dirs="$dirs $dir"
200         done
201         if test -z "$6"; then  dnl Append dirs in PATH (default)
202           dirs="$3 $dirs"
203         else  dnl Prepend dirs in PATH (if 6th arg is set)
204           dirs="$dirs $3"
205         fi
206         IFS=$kde_save_IFS
207
208         for dir in $dirs; do
209           if test -x "$dir/$1"; then
210             if test -n "$5"
211             then
212               evalstr="$dir/$1 $5 2>&1 "
213               if eval $evalstr; then
214                 kde_cv_path="$dir/$1"
215                 break
216               fi
217             else
218                 kde_cv_path="$dir/$1"
219                 break
220             fi
221           fi
222         done
223
224         eval "kde_cv_path_$kde_cache=$kde_cv_path"
225
226         ])
227
228       eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
229
230    fi
231
232    if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
233       AC_MSG_RESULT(not found)
234       $4
235    else
236       AC_MSG_RESULT($kde_cv_path)
237       $2=$kde_cv_path
238
239    fi
240 ])
241
242 AC_DEFUN([KDE_MOC_ERROR_MESSAGE],
243 [
244     AC_MSG_ERROR([No Qt meta object compiler (moc) found!
245 Please check whether you installed Qt correctly.
246 You need to have a running moc binary.
247 configure tried to run $ac_cv_path_moc and the test didn't
248 succeed. If configure shouldn't have tried this one, set
249 the environment variable MOC to the right one before running
250 configure.
251 ])
252 ])
253
254 AC_DEFUN([KDE_UIC_ERROR_MESSAGE],
255 [
256     AC_MSG_WARN([No Qt ui compiler (uic) found!
257 Please check whether you installed Qt correctly.
258 You need to have a running uic binary.
259 configure tried to run $ac_cv_path_uic and the test didn't
260 succeed. If configure shouldn't have tried this one, set
261 the environment variable UIC to the right one before running
262 configure.
263 ])
264 ])
265
266
267 AC_DEFUN([KDE_CHECK_UIC_FLAG],
268 [
269     AC_MSG_CHECKING([whether uic supports -$1 ])
270     kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
271     AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache,
272     [
273         cat >conftest.ui <<EOT
274         <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
275 EOT
276         ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null"
277         if AC_TRY_EVAL(ac_uic_testrun); then
278             eval "kde_cv_prog_uic_$kde_cache=yes"
279         else
280             eval "kde_cv_prog_uic_$kde_cache=no"
281         fi
282         rm -f conftest*
283     ])
284
285     if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
286         AC_MSG_RESULT([yes])
287         :
288         $3
289     else
290         AC_MSG_RESULT([no])
291         :
292         $4
293     fi
294 ])
295
296
297 dnl ------------------------------------------------------------------------
298 dnl Find the meta object compiler and the ui compiler in the PATH,
299 dnl in $QTDIR/bin, and some more usual places
300 dnl ------------------------------------------------------------------------
301 dnl
302 AC_DEFUN([AC_PATH_QT_MOC_UIC],
303 [
304    AC_REQUIRE([KDE_CHECK_PERL])
305    qt_bindirs=""
306    for dir in $kde_qt_dirs; do
307       qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
308    done
309    qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
310    if test ! "$ac_qt_bindir" = "NO"; then
311       qt_bindirs="$ac_qt_bindir $qt_bindirs"
312    fi
313
314    KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
315    if test -z "$UIC_NOT_NEEDED"; then
316      KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""])
317      if test -z "$UIC_PATH" ; then
318        KDE_UIC_ERROR_MESSAGE
319        exit 1
320      else
321        UIC=$UIC_PATH
322
323        if test $kde_qtver = 3; then
324          KDE_CHECK_UIC_FLAG(L,[/nonexistent],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no)
325          KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no)
326
327          if test x$ac_uic_supports_libpath = xyes; then
328              UIC="$UIC -L \$(kde_widgetdir)"
329          fi
330          if test x$ac_uic_supports_nounload = xyes; then
331              UIC="$UIC -nounload"
332          fi
333        fi
334      fi
335    else
336      UIC="echo uic not available: "
337    fi
338
339    AC_SUBST(MOC)
340    AC_SUBST(UIC)
341
342    UIC_TR="i18n"
343    if test $kde_qtver = 3; then
344      UIC_TR="tr2i18n"
345    fi
346
347    AC_SUBST(UIC_TR)
348 ])
349
350 AC_DEFUN([KDE_1_CHECK_PATHS],
351 [
352   KDE_1_CHECK_PATH_HEADERS
353
354   KDE_TEST_RPATH=
355
356   if test -n "$USE_RPATH"; then
357
358      if test -n "$kde_libraries"; then
359        KDE_TEST_RPATH="-R $kde_libraries"
360      fi
361
362      if test -n "$qt_libraries"; then
363        KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
364      fi
365
366      if test -n "$x_libraries"; then
367        KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
368      fi
369
370      KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
371   fi
372
373 AC_MSG_CHECKING([for KDE libraries installed])
374 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'
375
376 if AC_TRY_EVAL(ac_link) && test -s conftest; then
377   AC_MSG_RESULT(yes)
378 else
379   AC_MSG_ERROR([your system fails at linking a small KDE application!
380 Check, if your compiler is installed correctly and if you have used the
381 same compiler to compile Qt and kdelibs as you did use now.
382 For more details about this problem, look at the end of config.log.])
383 fi
384
385 if eval `KDEDIR= ./conftest 2>&5`; then
386   kde_result=done
387 else
388   kde_result=problems
389 fi
390
391 KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
392 kde_have_all_paths=yes
393
394 KDE_SET_PATHS($kde_result)
395
396 ])
397
398 AC_DEFUN([KDE_SET_PATHS],
399 [
400   kde_cv_all_paths="kde_have_all_paths=\"yes\" \
401         kde_htmldir=\"$kde_htmldir\" \
402         kde_appsdir=\"$kde_appsdir\" \
403         kde_icondir=\"$kde_icondir\" \
404         kde_sounddir=\"$kde_sounddir\" \
405         kde_datadir=\"$kde_datadir\" \
406         kde_locale=\"$kde_locale\" \
407         kde_cgidir=\"$kde_cgidir\" \
408         kde_confdir=\"$kde_confdir\" \
409         kde_kcfgdir=\"$kde_kcfgdir\" \
410         kde_mimedir=\"$kde_mimedir\" \
411         kde_toolbardir=\"$kde_toolbardir\" \
412         kde_wallpaperdir=\"$kde_wallpaperdir\" \
413         kde_templatesdir=\"$kde_templatesdir\" \
414         kde_bindir=\"$kde_bindir\" \
415         kde_servicesdir=\"$kde_servicesdir\" \
416         kde_servicetypesdir=\"$kde_servicetypesdir\" \
417         kde_moduledir=\"$kde_moduledir\" \
418         kde_styledir=\"$kde_styledir\" \
419         kde_widgetdir=\"$kde_widgetdir\" \
420         xdg_appsdir=\"$xdg_appsdir\" \
421         xdg_menudir=\"$xdg_menudir\" \
422         xdg_directorydir=\"$xdg_directorydir\" \
423         kde_result=$1"
424 ])
425
426 AC_DEFUN([KDE_SET_DEFAULT_PATHS],
427 [
428 if test "$1" = "default"; then
429
430   if test -z "$kde_htmldir"; then
431     kde_htmldir='\${datadir}/doc/HTML'
432   fi
433   if test -z "$kde_appsdir"; then
434     kde_appsdir='\${datadir}/applnk'
435   fi
436   if test -z "$kde_icondir"; then
437     kde_icondir='\${datadir}/icons'
438   fi
439   if test -z "$kde_sounddir"; then
440     kde_sounddir='\${datadir}/sounds'
441   fi
442   if test -z "$kde_datadir"; then
443     kde_datadir='\${datadir}/apps'
444   fi
445   if test -z "$kde_locale"; then
446     kde_locale='\${datadir}/locale'
447   fi
448   if test -z "$kde_cgidir"; then
449     kde_cgidir='\${exec_prefix}/cgi-bin'
450   fi
451   if test -z "$kde_confdir"; then
452     kde_confdir='\${datadir}/config'
453   fi
454   if test -z "$kde_kcfgdir"; then
455     kde_kcfgdir='\${datadir}/config.kcfg'
456   fi
457   if test -z "$kde_mimedir"; then
458     kde_mimedir='\${datadir}/mimelnk'
459   fi
460   if test -z "$kde_toolbardir"; then
461     kde_toolbardir='\${datadir}/toolbar'
462   fi
463   if test -z "$kde_wallpaperdir"; then
464     kde_wallpaperdir='\${datadir}/wallpapers'
465   fi
466   if test -z "$kde_templatesdir"; then
467     kde_templatesdir='\${datadir}/templates'
468   fi
469   if test -z "$kde_bindir"; then
470     kde_bindir='\${exec_prefix}/bin'
471   fi
472   if test -z "$kde_servicesdir"; then
473     kde_servicesdir='\${datadir}/services'
474   fi
475   if test -z "$kde_servicetypesdir"; then
476     kde_servicetypesdir='\${datadir}/servicetypes'
477   fi
478   if test -z "$kde_moduledir"; then
479     if test "$kde_qtver" = "2"; then
480       kde_moduledir='\${libdir}/kde2'
481     else
482       kde_moduledir='\${libdir}/kde3'
483     fi
484   fi
485   if test -z "$kde_styledir"; then
486     kde_styledir='\${libdir}/kde3/plugins/styles'
487   fi
488   if test -z "$kde_widgetdir"; then
489     kde_widgetdir='\${libdir}/kde3/plugins/designer'
490   fi
491   if test -z "$xdg_appsdir"; then
492     xdg_appsdir='\${datadir}/applications/kde'
493   fi
494   if test -z "$xdg_menudir"; then
495     xdg_menudir='\${sysconfdir}/xdg/menus'
496   fi
497   if test -z "$xdg_directorydir"; then
498     xdg_directorydir='\${datadir}/desktop-directories'
499   fi
500
501   KDE_SET_PATHS(defaults)
502
503 else
504
505   if test $kde_qtver = 1; then
506      AC_MSG_RESULT([compiling])
507      KDE_1_CHECK_PATHS
508   else
509      AC_MSG_ERROR([path checking not yet supported for KDE 2])
510   fi
511
512 fi
513 ])
514
515 AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS],
516 [ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
517    test -z "$kde_icondir" || test -z "$kde_sounddir" ||
518    test -z "$kde_datadir" || test -z "$kde_locale"  ||
519    test -z "$kde_cgidir"  || test -z "$kde_confdir" ||
520    test -z "$kde_kcfgdir" ||
521    test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
522    test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
523    test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
524    test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
525    test -z "$kde_styledir" || test -z "kde_widgetdir" ||
526    test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" ||
527    test "x$kde_have_all_paths" != "xyes"; then
528      kde_have_all_paths=no
529   fi
530 ])
531
532 AC_DEFUN([KDE_MISSING_PROG_ERROR],
533 [
534     AC_MSG_ERROR([The important program $1 was not found!
535 Please check whether you installed KDE correctly.
536 ])
537 ])
538
539 AC_DEFUN([KDE_MISSING_ARTS_ERROR],
540 [
541     AC_MSG_ERROR([The important program $1 was not found!
542 Please check whether you installed aRts correctly or use
543 --without-arts to compile without aRts support (this will remove functionality).
544 ])
545 ])
546
547 AC_DEFUN([KDE_SET_DEFAULT_BINDIRS],
548 [
549     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"
550     test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
551     if test -n "$KDEDIRS"; then
552        kde_save_IFS=$IFS
553        IFS=:
554        for dir in $KDEDIRS; do
555             kde_default_bindirs="$dir/bin $kde_default_bindirs "
556        done
557        IFS=$kde_save_IFS
558     fi
559 ])
560
561 AC_DEFUN([KDE_SUBST_PROGRAMS],
562 [
563     AC_ARG_WITH(arts,
564         AC_HELP_STRING([--without-arts],[build without aRts [default=no]]),
565         [build_arts=$withval],
566         [build_arts=yes]
567     )
568     AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
569     if test "$build_arts" = "no"; then
570         AC_DEFINE(WITHOUT_ARTS, 1, [Defined if compiling without arts])
571     fi
572
573         KDE_SET_DEFAULT_BINDIRS
574         kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_prefix/bin $kde_default_bindirs"
575         KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
576         KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
577         if test "$build_arts" '!=' "no"; then
578           KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)])
579           KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)])
580         fi
581         KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
582
583         kde32ornewer=1
584         kde33ornewer=1
585         if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then
586             kde32ornewer=
587             kde33ornewer=
588         else
589             if test "$kde_qtver" = "3"; then
590               if test "$kde_qtsubver" -le 1; then
591                 kde32ornewer=
592               fi
593               if test "$kde_qtsubver" -le 2; then
594                 kde33ornewer=
595               fi
596               if test "$KDECONFIG" != "compiled"; then
597                 if test `$KDECONFIG --version | grep KDE | sed 's/KDE: \(...\).*/\1/'` = 3.2; then
598                   kde33ornewer=
599                 fi
600               fi
601             fi
602         fi
603
604         if test -n "$kde32ornewer"; then
605             KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)])
606             KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)])
607         fi
608         if test -n "$kde33ornewer"; then
609             KDE_FIND_PATH(makekdewidgets, MAKEKDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(makekdewidgets)])
610             AC_SUBST(MAKEKDEWIDGETS)
611         fi
612         KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""])
613
614         if test -n "$MEINPROC" -a "$MEINPROC" != "compiled"; then
615             kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
616             test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
617             AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
618             if test "$KDE_XSL_STYLESHEET" = "NO"; then
619                 KDE_XSL_STYLESHEET=""
620             else
621                 KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl"
622             fi
623         fi
624
625         DCOP_DEPENDENCIES='$(DCOPIDL)'
626         if test -n "$kde32ornewer"; then
627             KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)'
628             DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)'
629             AC_SUBST(KCONFIG_COMPILER)
630             AC_SUBST(KCFG_DEPENDENCIES)
631             AC_SUBST(DCOPIDLNG)
632         fi
633         AC_SUBST(DCOPIDL)
634         AC_SUBST(DCOPIDL2CPP)
635         AC_SUBST(DCOP_DEPENDENCIES)
636         AC_SUBST(MCOPIDL)
637         AC_SUBST(ARTSCCONFIG)
638         AC_SUBST(MEINPROC)
639         AC_SUBST(KDE_XSL_STYLESHEET)
640         AC_SUBST(XMLLINT)
641 ])dnl
642
643 AC_DEFUN([AC_CREATE_KFSSTND],
644 [
645 AC_REQUIRE([AC_CHECK_RPATH])
646
647 AC_MSG_CHECKING([for KDE paths])
648 kde_result=""
649 kde_cached_paths=yes
650 AC_CACHE_VAL(kde_cv_all_paths,
651 [
652   KDE_SET_DEFAULT_PATHS($1)
653   kde_cached_paths=no
654 ])
655 eval "$kde_cv_all_paths"
656 KDE_CHECK_PATHS_FOR_COMPLETENESS
657 if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
658   # wrong values were cached, may be, we can set better ones
659   kde_result=
660   kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
661   kde_datadir= kde_locale=  kde_cgidir=  kde_confdir= kde_kcfgdir=
662   kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
663   kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
664   kde_have_all_paths=
665   kde_styledir=
666   kde_widgetdir=
667   xdg_appsdir = xdg_menudir= xdg_directorydir= 
668   KDE_SET_DEFAULT_PATHS($1)
669   eval "$kde_cv_all_paths"
670   KDE_CHECK_PATHS_FOR_COMPLETENESS
671   kde_result="$kde_result (cache overridden)"
672 fi
673 if test "$kde_have_all_paths" = "no"; then
674   AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
675 Since it had compiled and linked before, it must be a strange problem on your system.
676 Look at config.log for details. If you are not able to fix this, look at
677 http://www.kde.org/faq/installation.html or any www.kde.org mirror.
678 (If you're using an egcs version on Linux, you may update binutils!)
679 ])
680 else
681   rm -f conftest*
682   AC_MSG_RESULT($kde_result)
683 fi
684
685 bindir=$kde_bindir
686
687 KDE_SUBST_PROGRAMS
688
689 ])
690
691 AC_DEFUN([AC_SUBST_KFSSTND],
692 [
693 AC_SUBST(kde_htmldir)
694 AC_SUBST(kde_appsdir)
695 AC_SUBST(kde_icondir)
696 AC_SUBST(kde_sounddir)
697 AC_SUBST(kde_datadir)
698 AC_SUBST(kde_locale)
699 AC_SUBST(kde_confdir)
700 AC_SUBST(kde_kcfgdir)
701 AC_SUBST(kde_mimedir)
702 AC_SUBST(kde_wallpaperdir)
703 AC_SUBST(kde_bindir)
704 dnl X Desktop Group standards
705 AC_SUBST(xdg_appsdir)
706 AC_SUBST(xdg_menudir)
707 AC_SUBST(xdg_directorydir)
708 dnl for KDE 2
709 AC_SUBST(kde_templatesdir)
710 AC_SUBST(kde_servicesdir)
711 AC_SUBST(kde_servicetypesdir)
712 AC_SUBST(kde_moduledir)
713 AC_SUBST(kdeinitdir, '$(kde_moduledir)')
714 AC_SUBST(kde_styledir)
715 AC_SUBST(kde_widgetdir)
716 if test "$kde_qtver" = 1; then
717   kde_minidir="$kde_icondir/mini"
718 else
719 # for KDE 1 - this breaks KDE2 apps using minidir, but
720 # that's the plan ;-/
721   kde_minidir="/dev/null"
722 fi
723 dnl AC_SUBST(kde_minidir)
724 dnl AC_SUBST(kde_cgidir)
725 dnl AC_SUBST(kde_toolbardir)
726 ])
727
728 AC_DEFUN([KDE_MISC_TESTS],
729 [
730    dnl Checks for libraries.
731    AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD 
732    AC_SUBST(LIBUTIL)
733    AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD
734    AC_SUBST(LIBCOMPAT)
735    kde_have_crypt=
736    AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
737       AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
738         AC_MSG_WARN([you have no crypt in either libcrypt or libc.
739 You should install libcrypt from another source or configure with PAM
740 support])
741         kde_have_crypt=no
742       ]))
743    AC_SUBST(LIBCRYPT)
744    if test $kde_have_crypt = yes; then
745       AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
746    fi
747    AC_CHECK_SOCKLEN_T
748    AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
749    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
750       AC_CHECK_LIB(dnet_stub, dnet_ntoa,
751         [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
752    fi
753    AC_CHECK_FUNC(inet_ntoa)
754    if test $ac_cv_func_inet_ntoa = no; then
755      AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
756    fi
757    AC_CHECK_FUNC(connect)
758    if test $ac_cv_func_connect = no; then
759       AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
760         $X_EXTRA_LIBS)
761    fi
762
763    AC_CHECK_FUNC(remove)
764    if test $ac_cv_func_remove = no; then
765       AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
766    fi
767
768    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
769    AC_CHECK_FUNC(shmat, ,
770      AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
771    
772    # more headers that need to be explicitly included on darwin
773    AC_CHECK_HEADERS(sys/types.h stdint.h)
774
775    # sys/bitypes.h is needed for uint32_t and friends on Tru64
776    AC_CHECK_HEADERS(sys/bitypes.h)
777
778    # darwin requires a poll emulation library
779    AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll")
780
781    # for some image handling on Mac OS X
782    AC_CHECK_HEADERS(Carbon/Carbon.h)
783
784    # CoreAudio framework
785    AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [
786      AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API])
787      FRAMEWORK_COREAUDIO="-Wl,-framework,CoreAudio"
788    ])
789
790    AC_CHECK_RES_INIT
791    AC_SUBST(LIB_POLL)
792    AC_SUBST(FRAMEWORK_COREAUDIO)
793    LIBSOCKET="$X_EXTRA_LIBS"
794    AC_SUBST(LIBSOCKET)
795    AC_SUBST(X_EXTRA_LIBS)
796    AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
797    AC_SUBST(LIBUCB)
798
799    case $host in  dnl this *is* LynxOS specific
800    *-*-lynxos* )
801         AC_MSG_CHECKING([LynxOS header file wrappers])
802         [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
803         AC_MSG_RESULT(disabled)
804         AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
805          ;;
806     esac
807
808    KDE_CHECK_TYPES
809    KDE_CHECK_LIBDL
810    KDE_CHECK_STRLCPY
811    KDE_CHECK_PIE_SUPPORT
812
813 # darwin needs this to initialize the environment
814 AC_CHECK_HEADERS(crt_externs.h)
815 AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])])
816  
817 AH_VERBATIM(_DARWIN_ENVIRON,
818 [
819 #if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
820 # include <sys/time.h>
821 # include <crt_externs.h>
822 # define environ (*_NSGetEnviron())
823 #endif
824 ])
825
826 AH_VERBATIM(_AIX_STRINGS_H_BZERO,
827 [
828 /*
829  * AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
830  * that defines bzero.
831  */
832
833 #if defined(_AIX)
834 #include <strings.h>
835 #endif
836 ])
837
838 AC_CHECK_FUNCS([vsnprintf snprintf])
839
840 AH_VERBATIM(_TRU64,[
841 /*
842  * On HP-UX, the declaration of vsnprintf() is needed every time !
843  */
844
845 #if !defined(HAVE_VSNPRINTF) || defined(hpux)
846 #if __STDC__
847 #include <stdarg.h>
848 #include <stdlib.h>
849 #else
850 #include <varargs.h>
851 #endif
852 #ifdef __cplusplus
853 extern "C"
854 #endif
855 int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
856 #ifdef __cplusplus
857 extern "C"
858 #endif
859 int snprintf(char *str, size_t n, char const *fmt, ...);
860 #endif
861 ])
862
863 ])
864
865 dnl ------------------------------------------------------------------------
866 dnl Find the header files and libraries for X-Windows. Extended the
867 dnl macro AC_PATH_X
868 dnl ------------------------------------------------------------------------
869 dnl
870 AC_DEFUN([K_PATH_X],
871 [
872 AC_REQUIRE([KDE_MISC_TESTS])dnl
873 AC_REQUIRE([KDE_CHECK_LIB64])
874
875 AC_ARG_ENABLE(
876   embedded,
877   AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]),
878   kde_use_qt_emb=$enableval,
879   kde_use_qt_emb=no
880 )
881
882 AC_ARG_ENABLE(
883   qtopia,
884   AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]),
885   kde_use_qt_emb_palm=$enableval,
886   kde_use_qt_emb_palm=no
887 )
888
889 AC_ARG_ENABLE(
890   mac,
891   AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]),
892   kde_use_qt_mac=$enableval,
893   kde_use_qt_mac=no
894 )
895
896 # used to disable x11-specific stuff on special platforms
897 AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
898
899 if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then
900
901 AC_MSG_CHECKING(for X)
902
903 AC_CACHE_VAL(kde_cv_have_x,
904 [# One or both of the vars are not set, and there is no cached value.
905 if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
906    kde_x_includes=NO
907 else
908    kde_x_includes=$x_includes
909 fi
910 if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
911    kde_x_libraries=NO
912 else
913    kde_x_libraries=$x_libraries
914 fi
915
916 # below we use the standard autoconf calls
917 ac_x_libraries=$kde_x_libraries
918 ac_x_includes=$kde_x_includes
919
920 KDE_PATH_X_DIRECT
921 dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
922 dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
923 dnl location. The correct location is /usr/lib32 or an undefined value
924 dnl (the linker is smart enough to pick the correct default library).
925 dnl Things work just fine if you use just AC_PATH_X_DIRECT.
926 dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to
927 dnl /usr/openwin/include, which doesn't work. /usr/include does work, so
928 dnl x_includes should be left alone.
929 case "$host" in
930 mips-sgi-irix6*)
931   ;;
932 *-*-solaris*)
933   ;;
934 *)
935   _AC_PATH_X_XMKMF
936   if test -z "$ac_x_includes"; then
937     ac_x_includes="."
938   fi
939   if test -z "$ac_x_libraries"; then
940     ac_x_libraries="/usr/lib${kdelibsuff}"
941   fi
942 esac
943 #from now on we use our own again
944
945 # when the user already gave --x-includes, we ignore
946 # what the standard autoconf macros told us.
947 if test "$kde_x_includes" = NO; then
948   kde_x_includes=$ac_x_includes
949 fi
950
951 # for --x-libraries too
952 if test "$kde_x_libraries" = NO; then
953   kde_x_libraries=$ac_x_libraries
954 fi
955
956 if test "$kde_x_includes" = NO; then
957   AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
958 fi
959
960 if test "$kde_x_libraries" = NO; then
961   AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
962 fi
963
964 # Record where we found X for the cache.
965 kde_cv_have_x="have_x=yes \
966          kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
967 ])dnl
968
969 eval "$kde_cv_have_x"
970
971 if test "$have_x" != yes; then
972   AC_MSG_RESULT($have_x)
973   no_x=yes
974 else
975   AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
976 fi
977
978 if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
979   X_INCLUDES=""
980   x_includes="."; dnl better than nothing :-
981  else
982   x_includes=$kde_x_includes
983   X_INCLUDES="-I$x_includes"
984 fi
985
986 if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE || test "$kde_x_libraries" = "/usr/lib"; then
987   X_LDFLAGS=""
988   x_libraries="/usr/lib"; dnl better than nothing :-
989  else
990   x_libraries=$kde_x_libraries
991   X_LDFLAGS="-L$x_libraries"
992 fi
993 all_includes="$X_INCLUDES"
994 all_libraries="$X_LDFLAGS $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS"
995
996 # Check for libraries that X11R6 Xt/Xaw programs need.
997 ac_save_LDFLAGS="$LDFLAGS"
998 LDFLAGS="$LDFLAGS $X_LDFLAGS"
999 # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
1000 # check for ICE first), but we must link in the order -lSM -lICE or
1001 # we get undefined symbols.  So assume we have SM if we have ICE.
1002 # These have to be linked with before -lX11, unlike the other
1003 # libraries we check for below, so use a different variable.
1004 #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
1005 AC_CHECK_LIB(ICE, IceConnectionNumber,
1006   [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
1007 LDFLAGS="$ac_save_LDFLAGS"
1008
1009 LIB_X11='-lX11 $(LIBSOCKET)'
1010
1011 AC_MSG_CHECKING(for libXext)
1012 AC_CACHE_VAL(kde_cv_have_libXext,
1013 [
1014 kde_ldflags_safe="$LDFLAGS"
1015 kde_libs_safe="$LIBS"
1016
1017 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
1018 LIBS="-lXext -lX11 $LIBSOCKET"
1019
1020 AC_TRY_LINK([
1021 #include <stdio.h>
1022 #ifdef STDC_HEADERS
1023 # include <stdlib.h>
1024 #endif
1025 ],
1026 [
1027 printf("hello Xext\n");
1028 ],
1029 kde_cv_have_libXext=yes,
1030 kde_cv_have_libXext=no
1031 )
1032
1033 LDFLAGS=$kde_ldflags_safe
1034 LIBS=$kde_libs_safe
1035 ])
1036
1037 AC_MSG_RESULT($kde_cv_have_libXext)
1038
1039 if test "$kde_cv_have_libXext" = "no"; then
1040   AC_MSG_ERROR([We need a working libXext to proceed. Since configure
1041 can't find it itself, we stop here assuming that make wouldn't find
1042 them either.])
1043 fi
1044
1045 LIB_XEXT="-lXext"
1046 QTE_NORTTI=""
1047
1048 elif test "$kde_use_qt_emb" = "yes"; then
1049   dnl We're using QT Embedded
1050   CPPFLAGS=-DQWS
1051   CXXFLAGS="$CXXFLAGS -fno-rtti"
1052   QTE_NORTTI="-fno-rtti -DQWS"
1053   X_PRE_LIBS=""
1054   LIB_X11=""
1055   LIB_XEXT=""
1056   LIB_XRENDER=""
1057   LIBSM=""
1058   X_INCLUDES=""
1059   X_LDFLAGS=""
1060   x_includes=""
1061   x_libraries=""
1062 elif test "$kde_use_qt_mac" = "yes"; then
1063   dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to
1064   dnl be included to get the information) --Sam
1065   CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp"
1066   CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp"
1067   X_PRE_LIBS=""
1068   LIB_X11=""
1069   LIB_XEXT=""
1070   LIB_XRENDER=""
1071   LIBSM=""
1072   X_INCLUDES=""
1073   X_LDFLAGS=""
1074   x_includes=""
1075   x_libraries=""
1076 fi
1077 AC_SUBST(X_PRE_LIBS)
1078 AC_SUBST(LIB_X11)
1079 AC_SUBST(LIB_XRENDER)
1080 AC_SUBST(LIBSM)
1081 AC_SUBST(X_INCLUDES)
1082 AC_SUBST(X_LDFLAGS)
1083 AC_SUBST(x_includes)
1084 AC_SUBST(x_libraries)
1085 AC_SUBST(QTE_NORTTI)
1086 AC_SUBST(LIB_XEXT)
1087
1088 ])
1089
1090 AC_DEFUN([KDE_PRINT_QT_PROGRAM],
1091 [
1092 AC_REQUIRE([KDE_USE_QT])
1093 cat > conftest.$ac_ext <<EOF
1094 #include "confdefs.h"
1095 #include <qglobal.h>
1096 #include <qapplication.h>
1097 EOF
1098 if test "$kde_qtver" = "2"; then
1099 cat >> conftest.$ac_ext <<EOF
1100 #include <qevent.h>
1101 #include <qstring.h>
1102 #include <qstyle.h>
1103 EOF
1104
1105 if test $kde_qtsubver -gt 0; then
1106 cat >> conftest.$ac_ext <<EOF
1107 #if QT_VERSION < 210
1108 #error 1
1109 #endif
1110 EOF
1111 fi
1112 fi
1113
1114 if test "$kde_qtver" = "3"; then
1115 cat >> conftest.$ac_ext <<EOF
1116 #include <qcursor.h>
1117 #include <qstylefactory.h>
1118 #include <private/qucomextra_p.h>
1119 EOF
1120 fi
1121
1122 echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
1123 cat >> conftest.$ac_ext <<EOF
1124 #error 1
1125 #endif
1126
1127 int main() {
1128 EOF
1129 if test "$kde_qtver" = "2"; then
1130 cat >> conftest.$ac_ext <<EOF
1131     QStringList *t = new QStringList();
1132     Q_UNUSED(t);
1133 EOF
1134 if test $kde_qtsubver -gt 0; then
1135 cat >> conftest.$ac_ext <<EOF
1136     QString s;
1137     s.setLatin1("Elvis is alive", 14);
1138 EOF
1139 fi
1140 fi
1141 if test "$kde_qtver" = "3"; then
1142 cat >> conftest.$ac_ext <<EOF
1143     (void)QStyleFactory::create(QString::null);
1144     QCursor c(Qt::WhatsThisCursor);
1145 EOF
1146 fi
1147 cat >> conftest.$ac_ext <<EOF
1148     return 0;
1149 }
1150 EOF
1151 ])
1152
1153 AC_DEFUN([KDE_USE_QT],
1154 [
1155 if test -z "$1"; then
1156   # Current default Qt version: 3.3
1157   kde_qtver=3
1158   kde_qtsubver=3
1159 else
1160   kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
1161   # following is the check if subversion isnt found in passed argument
1162   if test "$kde_qtsubver" = "$1"; then
1163     kde_qtsubver=1
1164   fi
1165   kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
1166   if test "$kde_qtver" = "1"; then
1167     kde_qtsubver=42
1168   fi
1169 fi
1170
1171 if test -z "$2"; then
1172   if test "$kde_qtver" = "2"; then
1173     if test $kde_qtsubver -gt 0; then
1174       kde_qt_minversion=">= Qt 2.2.2"
1175     else
1176       kde_qt_minversion=">= Qt 2.0.2"
1177     fi
1178   fi
1179   if test "$kde_qtver" = "3"; then
1180     if test $kde_qtsubver -gt 0; then
1181          if test $kde_qtsubver -gt 1; then
1182             if test $kde_qtsubver -gt 2; then
1183                 kde_qt_minversion=">= Qt 3.3 and < 4.0"
1184             else
1185                 kde_qt_minversion=">= Qt 3.2 and < 4.0"
1186             fi
1187          else
1188             kde_qt_minversion=">= Qt 3.1 (20021021) and < 4.0"
1189          fi
1190     else
1191       kde_qt_minversion=">= Qt 3.0 and < 4.0"
1192     fi
1193   fi
1194   if test "$kde_qtver" = "1"; then
1195     kde_qt_minversion=">= 1.42 and < 2.0"
1196   fi
1197 else
1198    kde_qt_minversion="$2"
1199 fi
1200
1201 if test -z "$3"; then
1202    if test $kde_qtver = 3; then
1203      if test $kde_qtsubver -gt 0; then
1204        kde_qt_verstring="QT_VERSION >= 0x03@VER@00 && QT_VERSION < 0x040000"
1205        qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'`
1206        kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"`
1207      else
1208        kde_qt_verstring="QT_VERSION >= 300 && QT_VERSION < 0x040000"
1209      fi
1210    fi
1211    if test $kde_qtver = 2; then
1212      if test $kde_qtsubver -gt 0; then
1213        kde_qt_verstring="QT_VERSION >= 222"
1214      else
1215        kde_qt_verstring="QT_VERSION >= 200"
1216      fi
1217    fi
1218    if test $kde_qtver = 1; then
1219     kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
1220    fi
1221 else
1222    kde_qt_verstring="$3"
1223 fi
1224
1225 if test $kde_qtver = 4; then
1226   kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4"
1227 fi
1228 if test $kde_qtver = 3; then
1229   kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3"
1230 fi
1231 if test $kde_qtver = 2; then
1232    kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
1233 fi
1234 if test $kde_qtver = 1; then
1235    kde_qt_dirs="$QTDIR /usr/lib/qt"
1236 fi
1237 ])
1238
1239 AC_DEFUN([KDE_CHECK_QT_DIRECT],
1240 [
1241 AC_REQUIRE([KDE_USE_QT])
1242 AC_MSG_CHECKING([if Qt compiles without flags])
1243 AC_CACHE_VAL(kde_cv_qt_direct,
1244 [
1245 AC_LANG_SAVE
1246 AC_LANG_CPLUSPLUS
1247 ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
1248 ac_LIBRARY_PATH="$LIBRARY_PATH"
1249 ac_cxxflags_safe="$CXXFLAGS"
1250 ac_ldflags_safe="$LDFLAGS"
1251 ac_libs_safe="$LIBS"
1252
1253 CXXFLAGS="$CXXFLAGS -I$qt_includes"
1254 LDFLAGS="$LDFLAGS $X_LDFLAGS"
1255 if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
1256 LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
1257 else
1258 LIBS="$LIBQT $LIBSOCKET"
1259 fi
1260 LD_LIBRARY_PATH=
1261 export LD_LIBRARY_PATH
1262 LIBRARY_PATH=
1263 export LIBRARY_PATH
1264
1265 KDE_PRINT_QT_PROGRAM
1266
1267 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1268   kde_cv_qt_direct="yes"
1269 else
1270   kde_cv_qt_direct="no"
1271   echo "configure: failed program was:" >&AC_FD_CC
1272   cat conftest.$ac_ext >&AC_FD_CC
1273 fi
1274
1275 rm -f conftest*
1276 CXXFLAGS="$ac_cxxflags_safe"
1277 LDFLAGS="$ac_ldflags_safe"
1278 LIBS="$ac_libs_safe"
1279
1280 LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
1281 export LD_LIBRARY_PATH
1282 LIBRARY_PATH="$ac_LIBRARY_PATH"
1283 export LIBRARY_PATH
1284 AC_LANG_RESTORE
1285 ])
1286
1287 if test "$kde_cv_qt_direct" = "yes"; then
1288   AC_MSG_RESULT(yes)
1289   $1
1290 else
1291   AC_MSG_RESULT(no)
1292   $2
1293 fi
1294 ])
1295
1296 dnl ------------------------------------------------------------------------
1297 dnl Try to find the Qt headers and libraries.
1298 dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
1299 dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
1300 dnl ------------------------------------------------------------------------
1301 dnl
1302 AC_DEFUN([AC_PATH_QT_1_3],
1303 [
1304 AC_REQUIRE([K_PATH_X])
1305 AC_REQUIRE([KDE_USE_QT])
1306 AC_REQUIRE([KDE_CHECK_LIB64])
1307
1308 dnl ------------------------------------------------------------------------
1309 dnl Add configure flag to enable linking to MT version of Qt library.
1310 dnl ------------------------------------------------------------------------
1311
1312 AC_ARG_ENABLE(
1313   mt,
1314   AC_HELP_STRING([--disable-mt],[link to non-threaded Qt (deprecated)]),
1315   kde_use_qt_mt=$enableval,
1316   [
1317     if test $kde_qtver = 3; then
1318       kde_use_qt_mt=yes
1319     else
1320       kde_use_qt_mt=no
1321     fi
1322   ]
1323 )
1324
1325 USING_QT_MT=""
1326
1327 dnl ------------------------------------------------------------------------
1328 dnl If we not get --disable-qt-mt then adjust some vars for the host.
1329 dnl ------------------------------------------------------------------------
1330
1331 KDE_MT_LDFLAGS=
1332 KDE_MT_LIBS=
1333 if test "x$kde_use_qt_mt" = "xyes"; then
1334   KDE_CHECK_THREADING
1335   if test "x$kde_use_threading" = "xyes"; then
1336     CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS"
1337     KDE_MT_LDFLAGS="$USE_THREADS"
1338     KDE_MT_LIBS="$LIBPTHREAD"
1339   else
1340     kde_use_qt_mt=no
1341   fi
1342 fi
1343 AC_SUBST(KDE_MT_LDFLAGS)
1344 AC_SUBST(KDE_MT_LIBS)
1345
1346 kde_qt_was_given=yes
1347
1348 dnl ------------------------------------------------------------------------
1349 dnl If we haven't been told how to link to Qt, we work it out for ourselves.
1350 dnl ------------------------------------------------------------------------
1351 if test -z "$LIBQT_GLOB"; then
1352   if test "x$kde_use_qt_emb" = "xyes"; then
1353     LIBQT_GLOB="libqte.*"
1354   else
1355     LIBQT_GLOB="libqt.*"
1356   fi
1357 fi
1358
1359 dnl ------------------------------------------------------------
1360 dnl If we got --enable-embedded then adjust the Qt library name.
1361 dnl ------------------------------------------------------------
1362 if test "x$kde_use_qt_emb" = "xyes"; then
1363   qtlib="qte"
1364 else
1365   qtlib="qt"
1366 fi
1367
1368 kde_int_qt="-l$qtlib"
1369
1370 if test -z "$LIBQPE"; then
1371 dnl ------------------------------------------------------------
1372 dnl If we got --enable-palmtop then add -lqpe to the link line
1373 dnl ------------------------------------------------------------
1374   if test "x$kde_use_qt_emb" = "xyes"; then
1375     if test "x$kde_use_qt_emb_palm" = "xyes"; then
1376       LIB_QPE="-lqpe"
1377     else
1378       LIB_QPE=""
1379     fi
1380   else
1381     LIB_QPE=""
1382   fi
1383 fi
1384
1385 dnl ------------------------------------------------------------------------
1386 dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
1387 dnl ------------------------------------------------------------------------
1388
1389 if test "x$kde_use_qt_mt" = "xyes"; then
1390   LIBQT="-l$qtlib-mt"
1391   kde_int_qt="-l$qtlib-mt"
1392   LIBQT_GLOB="lib$qtlib-mt.*"
1393   USING_QT_MT="using -mt"
1394 else
1395   LIBQT="-l$qtlib"
1396 fi
1397
1398 if test $kde_qtver != 1; then
1399
1400   AC_REQUIRE([AC_FIND_PNG])
1401   AC_REQUIRE([AC_FIND_JPEG])
1402   LIBQT="$LIBQT $LIBPNG $LIBJPEG"
1403 fi
1404
1405 if test $kde_qtver = 3; then
1406   AC_REQUIRE([KDE_CHECK_LIBDL])
1407   LIBQT="$LIBQT $LIBDL"
1408 fi
1409
1410 AC_MSG_CHECKING([for Qt])
1411
1412 if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
1413 LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
1414 fi
1415 ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
1416 qt_libraries=""
1417 qt_includes=""
1418 AC_ARG_WITH(qt-dir,
1419     AC_HELP_STRING([--with-qt-dir=DIR],[where the root of Qt is installed ]),
1420     [  ac_qt_includes="$withval"/include
1421        ac_qt_libraries="$withval"/lib${kdelibsuff}
1422        ac_qt_bindir="$withval"/bin
1423     ])
1424
1425 AC_ARG_WITH(qt-includes,
1426     AC_HELP_STRING([--with-qt-includes=DIR],[where the Qt includes are. ]),
1427     [
1428        ac_qt_includes="$withval"
1429     ])
1430
1431 kde_qt_libs_given=no
1432
1433 AC_ARG_WITH(qt-libraries,
1434     AC_HELP_STRING([--with-qt-libraries=DIR],[where the Qt library is installed.]),
1435     [  ac_qt_libraries="$withval"
1436        kde_qt_libs_given=yes
1437     ])
1438
1439 AC_CACHE_VAL(ac_cv_have_qt,
1440 [#try to guess Qt locations
1441
1442 qt_incdirs=""
1443 for dir in $kde_qt_dirs; do
1444    qt_incdirs="$qt_incdirs $dir/include $dir"
1445 done
1446 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 /usr/include/qt3 $x_includes"
1447 if test ! "$ac_qt_includes" = "NO"; then
1448    qt_incdirs="$ac_qt_includes $qt_incdirs"
1449 fi
1450
1451 if test "$kde_qtver" != "1"; then
1452   kde_qt_header=qstyle.h
1453 else
1454   kde_qt_header=qglobal.h
1455 fi
1456
1457 AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
1458 ac_qt_includes="$qt_incdir"
1459
1460 qt_libdirs=""
1461 for dir in $kde_qt_dirs; do
1462    qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir"
1463 done
1464 qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
1465 if test ! "$ac_qt_libraries" = "NO"; then
1466   qt_libdir=$ac_qt_libraries
1467 else
1468   qt_libdirs="$ac_qt_libraries $qt_libdirs"
1469   # if the Qt was given, the chance is too big that libqt.* doesn't exist
1470   qt_libdir=NONE
1471   for dir in $qt_libdirs; do
1472     try="ls -1 $dir/${LIBQT_GLOB}"
1473     if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
1474   done
1475 fi
1476 for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
1477   if test -e "$a"; then
1478     LIBQT="$LIBQT ${kde_int_qt}_incremental"
1479     break
1480   fi
1481 done
1482
1483 ac_qt_libraries="$qt_libdir"
1484
1485 AC_LANG_SAVE
1486 AC_LANG_CPLUSPLUS
1487
1488 ac_cxxflags_safe="$CXXFLAGS"
1489 ac_ldflags_safe="$LDFLAGS"
1490 ac_libs_safe="$LIBS"
1491
1492 CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
1493 LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
1494 LIBS="$LIBS $LIBQT $KDE_MT_LIBS"
1495
1496 KDE_PRINT_QT_PROGRAM
1497
1498 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1499   rm -f conftest*
1500 else
1501   echo "configure: failed program was:" >&AC_FD_CC
1502   cat conftest.$ac_ext >&AC_FD_CC
1503   ac_qt_libraries="NO"
1504 fi
1505 rm -f conftest*
1506 CXXFLAGS="$ac_cxxflags_safe"
1507 LDFLAGS="$ac_ldflags_safe"
1508 LIBS="$ac_libs_safe"
1509
1510 AC_LANG_RESTORE
1511 if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
1512   ac_cv_have_qt="have_qt=no"
1513   ac_qt_notfound=""
1514   missing_qt_mt=""
1515   if test "$ac_qt_includes" = NO; then
1516     if test "$ac_qt_libraries" = NO; then
1517       ac_qt_notfound="(headers and libraries)";
1518     else
1519       ac_qt_notfound="(headers)";
1520     fi
1521   else
1522     if test "x$kde_use_qt_mt" = "xyes"; then
1523        missing_qt_mt="
1524 Make sure that you have compiled Qt with thread support!"
1525        ac_qt_notfound="(library $qtlib-mt)";
1526     else
1527        ac_qt_notfound="(library $qtlib)";
1528     fi
1529   fi
1530
1531   AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
1532 For more details about this problem, look at the end of config.log.$missing_qt_mt])
1533 else
1534   have_qt="yes"
1535 fi
1536 ])
1537
1538 eval "$ac_cv_have_qt"
1539
1540 if test "$have_qt" != yes; then
1541   AC_MSG_RESULT([$have_qt]);
1542 else
1543   ac_cv_have_qt="have_qt=yes \
1544     ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
1545   AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
1546
1547   qt_libraries="$ac_qt_libraries"
1548   qt_includes="$ac_qt_includes"
1549 fi
1550
1551 if test ! "$kde_qt_libs_given" = "yes" && test ! "$kde_qtver" = 3; then
1552      KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
1553 fi
1554
1555 AC_SUBST(qt_libraries)
1556 AC_SUBST(qt_includes)
1557
1558 if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
1559  QT_INCLUDES=""
1560 else
1561  QT_INCLUDES="-I$qt_includes"
1562  all_includes="$QT_INCLUDES $all_includes"
1563 fi
1564
1565 if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
1566  QT_LDFLAGS=""
1567 else
1568  QT_LDFLAGS="-L$qt_libraries"
1569  all_libraries="$QT_LDFLAGS $all_libraries"
1570 fi
1571 test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
1572
1573 AC_SUBST(QT_INCLUDES)
1574 AC_SUBST(QT_LDFLAGS)
1575 AC_PATH_QT_MOC_UIC
1576
1577 KDE_CHECK_QT_JPEG
1578
1579 if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
1580 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)'
1581 else
1582 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)'
1583 fi
1584 test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
1585 for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
1586   if test -e "$a"; then
1587      LIB_QT="$LIB_QT ${kde_int_qt}_incremental"
1588      break
1589   fi
1590 done
1591
1592 AC_SUBST(LIB_QT)
1593 AC_SUBST(LIB_QPE)
1594
1595 AC_SUBST(kde_qtver)
1596 ])
1597
1598 AC_DEFUN([AC_PATH_QT],
1599 [
1600 AC_PATH_QT_1_3
1601 ])
1602
1603 AC_DEFUN([KDE_CHECK_UIC_PLUGINS],
1604 [
1605 AC_REQUIRE([AC_PATH_QT_MOC_UIC])
1606
1607 if test x$ac_uic_supports_libpath = xyes; then
1608
1609 AC_MSG_CHECKING([if UIC has KDE plugins available])
1610 AC_CACHE_VAL(kde_cv_uic_plugins,
1611 [
1612 cat > actest.ui << EOF
1613 <!DOCTYPE UI><UI version="3.0" stdsetdef="1">
1614 <class>NewConnectionDialog</class>
1615 <widget class="QDialog">
1616    <widget class="KLineEdit">
1617         <property name="name">
1618            <cstring>testInput</cstring>
1619         </property>
1620    </widget>
1621 </widget>
1622 </UI>
1623 EOF
1624        
1625
1626
1627 kde_cv_uic_plugins=no
1628 kde_line="$UIC_PATH -L $kde_widgetdir"
1629 if test x$ac_uic_supports_nounload = xyes; then
1630    kde_line="$kde_line -nounload"
1631 fi
1632 kde_line="$kde_line -impl actest.h actest.ui > actest.cpp"
1633 if AC_TRY_EVAL(kde_line); then
1634         # if you're trying to debug this check and think it's incorrect,
1635         # better check your installation. The check _is_ correct - your
1636         # installation is not.
1637         if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then
1638                 kde_cv_uic_plugins=yes
1639         fi
1640 fi
1641 rm -f actest.ui actest.cpp
1642 ])
1643
1644 AC_MSG_RESULT([$kde_cv_uic_plugins])
1645 if test "$kde_cv_uic_plugins" != yes; then
1646         AC_MSG_ERROR([
1647 you need to install kdelibs first.
1648
1649 If you did install kdelibs, then the Qt version that is picked up by
1650 this configure is not the same version you used to compile kdelibs. 
1651 The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the 
1652 _same Qt version_, compiled with the _same compiler_ and the same Qt
1653 configuration settings.
1654 ])
1655 fi
1656 fi
1657 ])
1658
1659 AC_DEFUN([KDE_CHECK_FINAL],
1660 [
1661   AC_ARG_ENABLE(final,
1662         AC_HELP_STRING([--enable-final],
1663                        [build size optimized apps (experimental - needs lots of memory)]),
1664         kde_use_final=$enableval, kde_use_final=no)
1665
1666   if test "x$kde_use_final" = "xyes"; then
1667       KDE_USE_FINAL_TRUE=""
1668       KDE_USE_FINAL_FALSE="#"
1669    else
1670       KDE_USE_FINAL_TRUE="#"
1671       KDE_USE_FINAL_FALSE=""
1672   fi
1673   AC_SUBST(KDE_USE_FINAL_TRUE)
1674   AC_SUBST(KDE_USE_FINAL_FALSE)
1675 ])
1676
1677 AC_DEFUN([KDE_CHECK_CLOSURE],
1678 [
1679   AC_ARG_ENABLE(closure,
1680                 AC_HELP_STRING([--enable-closure],[delay template instantiation]),
1681         kde_use_closure=$enableval, kde_use_closure=no)
1682
1683   KDE_NO_UNDEFINED=""
1684   if test "x$kde_use_closure" = "xyes"; then
1685        KDE_USE_CLOSURE_TRUE=""
1686        KDE_USE_CLOSURE_FALSE="#"
1687 #       CXXFLAGS="$CXXFLAGS $REPO"
1688   else
1689        KDE_USE_CLOSURE_TRUE="#"
1690        KDE_USE_CLOSURE_FALSE=""
1691        KDE_NO_UNDEFINED=""
1692        case $host in 
1693          *-*-linux-gnu)
1694            KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined],
1695                 [KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined],
1696                 [KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"],
1697                 [KDE_NO_UNDEFINED=""])],
1698             [KDE_NO_UNDEFINED=""])
1699            ;;
1700        esac
1701   fi
1702   AC_SUBST(KDE_USE_CLOSURE_TRUE)
1703   AC_SUBST(KDE_USE_CLOSURE_FALSE)
1704   AC_SUBST(KDE_NO_UNDEFINED)
1705 ])
1706
1707 dnl Check if the linker supports --enable-new-dtags and --as-needed
1708 AC_DEFUN([KDE_CHECK_NEW_LDFLAGS],
1709 [
1710   AC_ARG_ENABLE(new_ldflags,
1711                 AC_HELP_STRING([--enable-new-ldflags],
1712                 [enable the new linker flags]),
1713         kde_use_new_ldflags=$enableval, 
1714         kde_use_new_ldflags=no)
1715
1716   LDFLAGS_AS_NEEDED=""
1717   LDFLAGS_NEW_DTAGS=""
1718   if test "x$kde_use_new_ldflags" = "xyes"; then
1719        LDFLAGS_NEW_DTAGS=""
1720        KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags],
1721                 [LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],)
1722
1723        KDE_CHECK_COMPILER_FLAG([Wl,--as-needed],
1724                 [LDFLAGS_AS_NEEDED="-Wl,--as-needed"],)
1725   fi
1726   AC_SUBST(LDFLAGS_AS_NEEDED)
1727   AC_SUBST(LDFLAGS_NEW_DTAGS)
1728 ])
1729
1730 AC_DEFUN([KDE_CHECK_NMCHECK],
1731 [
1732   AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]),
1733         kde_use_nmcheck=$enableval, kde_use_nmcheck=no)
1734
1735   if test "$kde_use_nmcheck" = "yes"; then
1736       KDE_USE_NMCHECK_TRUE=""
1737       KDE_USE_NMCHECK_FALSE="#"
1738    else
1739       KDE_USE_NMCHECK_TRUE="#"
1740       KDE_USE_NMCHECK_FALSE=""
1741   fi
1742   AC_SUBST(KDE_USE_NMCHECK_TRUE)
1743   AC_SUBST(KDE_USE_NMCHECK_FALSE)
1744 ])
1745
1746 AC_DEFUN([KDE_EXPAND_MAKEVAR], [
1747 savex=$exec_prefix
1748 test "x$exec_prefix" = xNONE && exec_prefix=$prefix
1749 tmp=$$2
1750 while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done
1751 exec_prefix=$savex
1752 ])
1753
1754 dnl ------------------------------------------------------------------------
1755 dnl Now, the same with KDE
1756 dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
1757 dnl and $(kde_includes) will be the kdehdrlocation (if needed)
1758 dnl ------------------------------------------------------------------------
1759 dnl
1760 AC_DEFUN([AC_BASE_PATH_KDE],
1761 [
1762 AC_REQUIRE([KDE_CHECK_STL])
1763 AC_REQUIRE([AC_PATH_QT])dnl
1764 AC_REQUIRE([KDE_CHECK_LIB64])
1765
1766 AC_CHECK_RPATH
1767 AC_MSG_CHECKING([for KDE])
1768
1769 if test "${prefix}" != NONE; then
1770   kde_includes=${includedir}
1771   KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir)
1772
1773   kde_libraries=${libdir}
1774   KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir)
1775
1776 else
1777   ac_kde_includes=
1778   ac_kde_libraries=
1779   kde_libraries=""
1780   kde_includes=""
1781 fi
1782
1783 AC_CACHE_VAL(ac_cv_have_kde,
1784 [#try to guess kde locations
1785
1786 if test "$kde_qtver" = 1; then
1787   kde_check_header="ksock.h"
1788   kde_check_lib="libkdecore.la"
1789 else
1790   kde_check_header="ksharedptr.h"
1791   kde_check_lib="libkio.la"
1792 fi
1793
1794 if test -z "$1"; then
1795
1796 kde_incdirs="$kde_libs_prefix/include /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"
1797 test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
1798 kde_incdirs="$ac_kde_includes $kde_incdirs"
1799 AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
1800 ac_kde_includes="$kde_incdir"
1801
1802 if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
1803   AC_MSG_ERROR([
1804 in the prefix, you've chosen, are no KDE headers installed. This will fail.
1805 So, check this please and use another prefix!])
1806 fi
1807
1808 kde_libdirs="$kde_libs_prefix/lib${kdelibsuff} /usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}"
1809 test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs"
1810 kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
1811 AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
1812 ac_kde_libraries="$kde_libdir"
1813
1814 kde_widgetdir=NO
1815 dnl this might be somewhere else
1816 AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir)
1817
1818 if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
1819 AC_MSG_ERROR([
1820 in the prefix, you've chosen, are no KDE libraries installed. This will fail.
1821 So, check this please and use another prefix!])
1822 fi
1823
1824 if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then
1825 AC_MSG_ERROR([
1826 I can't find the designer plugins. These are required and should have been installed
1827 by kdelibs])
1828 fi
1829
1830 if test -n "$kde_widgetdir"; then
1831     kde_widgetdir="$kde_widgetdir/kde3/plugins/designer"
1832 fi
1833
1834
1835 if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then
1836   ac_cv_have_kde="have_kde=no"
1837 else
1838   ac_cv_have_kde="have_kde=yes \
1839     ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1840 fi
1841
1842 else dnl test -z $1, e.g. from kdelibs
1843
1844   ac_cv_have_kde="have_kde=no"
1845
1846 fi
1847 ])dnl
1848
1849 eval "$ac_cv_have_kde"
1850
1851 if test "$have_kde" != "yes"; then
1852  if test "${prefix}" = NONE; then
1853   ac_kde_prefix="$ac_default_prefix"
1854  else
1855   ac_kde_prefix="$prefix"
1856  fi
1857  if test "$exec_prefix" = NONE; then
1858   ac_kde_exec_prefix="$ac_kde_prefix"
1859   AC_MSG_RESULT([will be installed in $ac_kde_prefix])
1860  else
1861   ac_kde_exec_prefix="$exec_prefix"
1862   AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
1863  fi
1864
1865  kde_libraries="${libdir}"
1866  kde_includes="${includedir}"
1867
1868 else
1869   ac_cv_have_kde="have_kde=yes \
1870     ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1871   AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
1872
1873   kde_libraries="$ac_kde_libraries"
1874   kde_includes="$ac_kde_includes"
1875 fi
1876 AC_SUBST(kde_libraries)
1877 AC_SUBST(kde_includes)
1878
1879 if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes"  || test "$kde_includes" = "/usr/include"; then
1880  KDE_INCLUDES=""
1881 else
1882  KDE_INCLUDES="-I$kde_includes"
1883  all_includes="$KDE_INCLUDES $all_includes"
1884 fi
1885
1886 KDE_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION"
1887  
1888 KDE_LDFLAGS="-L$kde_libraries"
1889 if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then 
1890  all_libraries="$KDE_LDFLAGS $all_libraries"
1891 fi
1892
1893 AC_SUBST(KDE_LDFLAGS)
1894 AC_SUBST(KDE_INCLUDES)
1895
1896 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
1897
1898 all_libraries="$all_libraries $USER_LDFLAGS"
1899 all_includes="$all_includes $USER_INCLUDES"
1900 AC_SUBST(all_includes)
1901 AC_SUBST(all_libraries)
1902
1903 if test -z "$1"; then
1904 KDE_CHECK_UIC_PLUGINS
1905 fi
1906
1907 ac_kde_libraries="$kde_libdir"
1908
1909 AC_SUBST(AUTODIRS)
1910
1911
1912 ])
1913
1914 AC_DEFUN([KDE_CHECK_EXTRA_LIBS],
1915 [
1916 AC_MSG_CHECKING(for extra includes)
1917 AC_ARG_WITH(extra-includes,AC_HELP_STRING([--with-extra-includes=DIR],[adds non standard include paths]),
1918   kde_use_extra_includes="$withval",
1919   kde_use_extra_includes=NONE
1920 )
1921 kde_extra_includes=
1922 if test -n "$kde_use_extra_includes" && \
1923    test "$kde_use_extra_includes" != "NONE"; then
1924
1925    ac_save_ifs=$IFS
1926    IFS=':'
1927    for dir in $kde_use_extra_includes; do
1928      kde_extra_includes="$kde_extra_includes $dir"
1929      USER_INCLUDES="$USER_INCLUDES -I$dir"
1930    done
1931    IFS=$ac_save_ifs
1932    kde_use_extra_includes="added"
1933 else
1934    kde_use_extra_includes="no"
1935 fi
1936 AC_SUBST(USER_INCLUDES)
1937
1938 AC_MSG_RESULT($kde_use_extra_includes)
1939
1940 kde_extra_libs=
1941 AC_MSG_CHECKING(for extra libs)
1942 AC_ARG_WITH(extra-libs,AC_HELP_STRING([--with-extra-libs=DIR],[adds non standard library paths]),
1943   kde_use_extra_libs=$withval,
1944   kde_use_extra_libs=NONE
1945 )
1946 if test -n "$kde_use_extra_libs" && \
1947    test "$kde_use_extra_libs" != "NONE"; then
1948
1949    ac_save_ifs=$IFS
1950    IFS=':'
1951    for dir in $kde_use_extra_libs; do
1952      kde_extra_libs="$kde_extra_libs $dir"
1953      KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
1954      USER_LDFLAGS="$USER_LDFLAGS -L$dir"
1955    done
1956    IFS=$ac_save_ifs
1957    kde_use_extra_libs="added"
1958 else
1959    kde_use_extra_libs="no"
1960 fi
1961
1962 AC_SUBST(USER_LDFLAGS)
1963
1964 AC_MSG_RESULT($kde_use_extra_libs)
1965
1966 ])
1967
1968 AC_DEFUN([KDE_1_CHECK_PATH_HEADERS],
1969 [
1970     AC_MSG_CHECKING([for KDE headers installed])
1971     AC_LANG_SAVE
1972     AC_LANG_CPLUSPLUS
1973 cat > conftest.$ac_ext <<EOF
1974 #ifdef STDC_HEADERS
1975 # include <stdlib.h>
1976 #endif
1977 #include <stdio.h>
1978 #include "confdefs.h"
1979 #include <kapp.h>
1980
1981 int main() {
1982     printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
1983     printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
1984     printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
1985     printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
1986     printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
1987     printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
1988     printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
1989     printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
1990     printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
1991     printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
1992     printf("kde_wallpaperdir=\\"%s\\"\n",
1993         KApplication::kde_wallpaperdir().data());
1994     printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
1995     printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
1996     printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
1997     printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
1998     printf("kde_moduledir=\\"/tmp/dummy\\"\n");
1999     printf("kde_styledir=\\"/tmp/dummy\\"\n");
2000     printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
2001     printf("xdg_appsdir=\\"/tmp/dummy\\"\n");
2002     printf("xdg_menudir=\\"/tmp/dummy\\"\n");
2003     printf("xdg_directorydir=\\"/tmp/dummy\\"\n");
2004     printf("kde_kcfgdir=\\"/tmp/dummy\\"\n");
2005     return 0;
2006     }
2007 EOF
2008
2009  ac_save_CPPFLAGS=$CPPFLAGS
2010  CPPFLAGS="$all_includes $CPPFLAGS"
2011  if AC_TRY_EVAL(ac_compile); then
2012    AC_MSG_RESULT(yes)
2013  else
2014    AC_MSG_ERROR([your system is not able to compile a small KDE application!
2015 Check, if you installed the KDE header files correctly.
2016 For more details about this problem, look at the end of config.log.])
2017   fi
2018   CPPFLAGS=$ac_save_CPPFLAGS
2019
2020   AC_LANG_RESTORE
2021 ])
2022
2023 AC_DEFUN([KDE_CHECK_KDEQTADDON],
2024 [
2025 AC_MSG_CHECKING(for kde-qt-addon)
2026 AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
2027 [
2028  kde_ldflags_safe="$LDFLAGS"
2029  kde_libs_safe="$LIBS"
2030  kde_cxxflags_safe="$CXXFLAGS"
2031
2032  LIBS="-lkde-qt-addon $LIBQT $LIBS"
2033  CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
2034  LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
2035
2036  AC_TRY_LINK([
2037    #include <qdom.h>
2038  ],
2039  [
2040    QDomDocument doc;
2041  ],
2042   kde_cv_have_kdeqtaddon=yes,
2043   kde_cv_have_kdeqtaddon=no
2044  )
2045
2046  LDFLAGS=$kde_ldflags_safe
2047  LIBS=$kde_libs_safe
2048  CXXFLAGS=$kde_cxxflags_safe
2049 ])
2050
2051 AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
2052
2053 if test "$kde_cv_have_kdeqtaddon" = "no"; then
2054   AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
2055 It is a separate package (and CVS module) named kde-qt-addon.])
2056 fi
2057 ])
2058
2059 AC_DEFUN([KDE_CREATE_LIBS_ALIASES],
2060 [
2061    AC_REQUIRE([KDE_MISC_TESTS])
2062    AC_REQUIRE([KDE_CHECK_LIBDL])
2063    AC_REQUIRE([K_PATH_X])
2064
2065 if test $kde_qtver = 3; then
2066    case $host in 
2067                *cygwin*) lib_kded="-lkdeinit_kded" ;;
2068                *) lib_kded="" ;;
2069        esac
2070    AC_SUBST(LIB_KDED, $lib_kded)
2071    AC_SUBST(LIB_KDECORE, "-lkdecore")
2072    AC_SUBST(LIB_KDEUI, "-lkdeui")
2073    AC_SUBST(LIB_KIO, "-lkio")
2074    AC_SUBST(LIB_KJS, "-lkjs")
2075    AC_SUBST(LIB_SMB, "-lsmb")
2076    AC_SUBST(LIB_KAB, "-lkab")
2077    AC_SUBST(LIB_KABC, "-lkabc")
2078    AC_SUBST(LIB_KHTML, "-lkhtml")
2079    AC_SUBST(LIB_KSPELL, "-lkspell")
2080    AC_SUBST(LIB_KPARTS, "-lkparts")
2081    AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
2082    AC_SUBST(LIB_KUTILS, "-lkutils")
2083    AC_SUBST(LIB_KDEPIM, "-lkdepim")
2084    AC_SUBST(LIB_KIMPROXY, "-lkimproxy")
2085    AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff")
2086    AC_SUBST(LIB_KDNSSD, "-lkdnssd")
2087    AC_SUBST(LIB_KUNITTEST, "-lkunittest")
2088 # these are for backward compatibility
2089    AC_SUBST(LIB_KSYCOCA, "-lkio")
2090    AC_SUBST(LIB_KFILE, "-lkio")
2091 elif test $kde_qtver = 2; then
2092    AC_SUBST(LIB_KDECORE, "-lkdecore")
2093    AC_SUBST(LIB_KDEUI, "-lkdeui")
2094    AC_SUBST(LIB_KIO, "-lkio")
2095    AC_SUBST(LIB_KSYCOCA, "-lksycoca")
2096    AC_SUBST(LIB_SMB, "-lsmb")
2097    AC_SUBST(LIB_KFILE, "-lkfile")
2098    AC_SUBST(LIB_KAB, "-lkab")
2099    AC_SUBST(LIB_KHTML, "-lkhtml")
2100    AC_SUBST(LIB_KSPELL, "-lkspell")
2101    AC_SUBST(LIB_KPARTS, "-lkparts")
2102    AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
2103 else
2104    AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)")
2105    AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)")
2106    AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)")
2107    AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)")
2108    AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)")
2109 fi
2110 ])
2111
2112 AC_DEFUN([AC_PATH_KDE],
2113 [
2114   AC_BASE_PATH_KDE
2115   AC_ARG_ENABLE(path-check,AC_HELP_STRING([--disable-path-check],[don't try to find out, where to install]),
2116   [
2117   if test "$enableval" = "no";
2118     then ac_use_path_checking="default"
2119     else ac_use_path_checking=""
2120   fi
2121   ],
2122   [
2123   if test "$kde_qtver" = 1;
2124     then ac_use_path_checking=""
2125     else ac_use_path_checking="default"
2126   fi
2127   ]
2128   )
2129
2130   AC_CREATE_KFSSTND($ac_use_path_checking)
2131
2132   AC_SUBST_KFSSTND
2133   KDE_CREATE_LIBS_ALIASES
2134 ])
2135
2136 dnl KDE_CHECK_FUNC_EXT(<func>, [headers], [sample-use], [C prototype], [autoheader define], [call if found])
2137 AC_DEFUN([KDE_CHECK_FUNC_EXT],
2138 [
2139 AC_MSG_CHECKING(for $1)
2140 AC_CACHE_VAL(kde_cv_func_$1,
2141 [
2142 AC_LANG_SAVE
2143 AC_LANG_CPLUSPLUS
2144 save_CXXFLAGS="$CXXFLAGS"
2145 kde_safe_LIBS="$LIBS"
2146 LIBS="$LIBS $X_EXTRA_LIBS"
2147 if test "$GXX" = "yes"; then
2148 CXXFLAGS="$CXXFLAGS -pedantic-errors"
2149 fi
2150 AC_TRY_COMPILE([
2151 $2
2152 ],
2153 [
2154 $3
2155 ],
2156 kde_cv_func_$1=yes,
2157 kde_cv_func_$1=no)
2158 CXXFLAGS="$save_CXXFLAGS"
2159 LIBS="$kde_safe_LIBS"
2160 AC_LANG_RESTORE
2161 ])
2162
2163 AC_MSG_RESULT($kde_cv_func_$1)
2164
2165 AC_MSG_CHECKING([if $1 needs custom prototype])
2166 AC_CACHE_VAL(kde_cv_proto_$1,
2167 [
2168 if test "x$kde_cv_func_$1" = xyes; then
2169   kde_cv_proto_$1=no
2170 else
2171   case "$1" in
2172         setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat)
2173                 kde_cv_proto_$1="yes - in libkdefakes"
2174                 ;;
2175         *)
2176                 kde_cv_proto_$1=unknown
2177                 ;;
2178   esac
2179 fi
2180
2181 if test "x$kde_cv_proto_$1" = xunknown; then
2182
2183 AC_LANG_SAVE
2184 AC_LANG_CPLUSPLUS
2185   kde_safe_libs=$LIBS
2186   LIBS="$LIBS $X_EXTRA_LIBS"
2187   AC_TRY_LINK([
2188 $2
2189
2190 extern "C" $4;
2191 ],
2192 [
2193 $3
2194 ],
2195 [ kde_cv_func_$1=yes
2196   kde_cv_proto_$1=yes ],
2197   [kde_cv_proto_$1="$1 unavailable"]
2198 )
2199 LIBS=$kde_safe_libs
2200 AC_LANG_RESTORE
2201 fi
2202 ])
2203 AC_MSG_RESULT($kde_cv_proto_$1)
2204
2205 if test "x$kde_cv_func_$1" = xyes; then
2206   AC_DEFINE(HAVE_$5, 1, [Define if you have $1])
2207   $6
2208 fi
2209 if test "x$kde_cv_proto_$1" = xno; then
2210   AC_DEFINE(HAVE_$5_PROTO, 1,
2211   [Define if you have the $1 prototype])
2212 fi
2213
2214 AH_VERBATIM([_HAVE_$5_PROTO],
2215 [
2216 #if !defined(HAVE_$5_PROTO)
2217 #ifdef __cplusplus
2218 extern "C" {
2219 #endif
2220 $4;
2221 #ifdef __cplusplus
2222 }
2223 #endif
2224 #endif
2225 ])
2226 ])
2227
2228 AC_DEFUN([AC_CHECK_SETENV],
2229 [
2230         KDE_CHECK_FUNC_EXT(setenv, [
2231 #include <stdlib.h>
2232 ], 
2233                 [setenv("VAR", "VALUE", 1);],
2234                 [int setenv (const char *, const char *, int)],
2235                 [SETENV])
2236 ])
2237
2238 AC_DEFUN([AC_CHECK_UNSETENV],
2239 [
2240         KDE_CHECK_FUNC_EXT(unsetenv, [
2241 #include <stdlib.h>
2242 ], 
2243                 [unsetenv("VAR");],
2244                 [void unsetenv (const char *)],
2245                 [UNSETENV])
2246 ])
2247
2248 AC_DEFUN([AC_CHECK_GETDOMAINNAME],
2249 [
2250         KDE_CHECK_FUNC_EXT(getdomainname, [
2251 #include <stdlib.h>
2252 #include <unistd.h>
2253 #include <netdb.h>
2254 ], 
2255                 [
2256 char buffer[200];
2257 getdomainname(buffer, 200);
2258 ],      
2259                 [#include <sys/types.h>
2260                 int getdomainname (char *, size_t)],
2261                 [GETDOMAINNAME])
2262 ])
2263
2264 AC_DEFUN([AC_CHECK_GETHOSTNAME],
2265 [
2266         KDE_CHECK_FUNC_EXT(gethostname, [
2267 #include <stdlib.h>
2268 #include <unistd.h>
2269 ], 
2270                 [
2271 char buffer[200];
2272 gethostname(buffer, 200);
2273 ],      
2274                 [int gethostname (char *, unsigned int)],
2275                 [GETHOSTNAME])
2276 ])
2277
2278 AC_DEFUN([AC_CHECK_USLEEP],
2279 [
2280         KDE_CHECK_FUNC_EXT(usleep, [
2281 #include <unistd.h>
2282 ], 
2283                 [
2284 usleep(200);
2285 ],      
2286                 [int usleep (unsigned int)],
2287                 [USLEEP])
2288 ])
2289
2290
2291 AC_DEFUN([AC_CHECK_RANDOM],
2292 [
2293         KDE_CHECK_FUNC_EXT(random, [
2294 #include <stdlib.h>
2295 ], 
2296                 [
2297 random();
2298 ],      
2299                 [long int random(void)],
2300                 [RANDOM])
2301
2302         KDE_CHECK_FUNC_EXT(srandom, [
2303 #include <stdlib.h>
2304 ], 
2305                 [
2306 srandom(27);
2307 ],      
2308                 [void srandom(unsigned int)],
2309                 [SRANDOM])
2310
2311 ])
2312
2313 AC_DEFUN([AC_CHECK_INITGROUPS],
2314 [
2315         KDE_CHECK_FUNC_EXT(initgroups, [
2316 #include <sys/types.h>
2317 #include <unistd.h>
2318 #include <grp.h>
2319 ],
2320         [
2321 char buffer[200];
2322 initgroups(buffer, 27);
2323 ],
2324         [int initgroups(const char *, gid_t)],
2325         [INITGROUPS])
2326 ])
2327
2328 AC_DEFUN([AC_CHECK_MKSTEMPS],
2329 [
2330         KDE_CHECK_FUNC_EXT(mkstemps, [
2331 #include <stdlib.h>
2332 #include <unistd.h>
2333 ],
2334         [
2335 mkstemps("/tmp/aaaXXXXXX", 6);
2336 ],
2337         [int mkstemps(char *, int)],
2338         [MKSTEMPS])
2339 ])
2340
2341 AC_DEFUN([AC_CHECK_MKSTEMP],
2342 [
2343         KDE_CHECK_FUNC_EXT(mkstemp, [
2344 #include <stdlib.h>
2345 #include <unistd.h>
2346 ],
2347         [
2348 mkstemp("/tmp/aaaXXXXXX");
2349 ],
2350         [int mkstemp(char *)],
2351         [MKSTEMP])
2352 ])
2353
2354 AC_DEFUN([AC_CHECK_MKDTEMP],
2355 [
2356         KDE_CHECK_FUNC_EXT(mkdtemp, [
2357 #include <stdlib.h>
2358 #include <unistd.h>
2359 ],
2360         [
2361 mkdtemp("/tmp/aaaXXXXXX");
2362 ],
2363         [char *mkdtemp(char *)],
2364         [MKDTEMP])
2365 ])
2366
2367
2368 AC_DEFUN([AC_CHECK_RES_INIT],
2369 [
2370   AC_MSG_CHECKING([if res_init needs -lresolv])
2371   kde_libs_safe="$LIBS"
2372   LIBS="$LIBS $X_EXTRA_LIBS -lresolv"
2373   AC_TRY_LINK(
2374     [
2375 #include <sys/types.h>
2376 #include <netinet/in.h>
2377 #include <arpa/nameser.h>
2378 #include <resolv.h>
2379     ],
2380     [
2381       res_init(); 
2382     ],
2383     [
2384       LIBRESOLV="-lresolv"
2385       AC_MSG_RESULT(yes)
2386       AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
2387     ],
2388     [ AC_MSG_RESULT(no) ]
2389   )
2390   LIBS=$kde_libs_safe
2391   AC_SUBST(LIBRESOLV)
2392
2393   KDE_CHECK_FUNC_EXT(res_init,
2394     [
2395 #include <sys/types.h>
2396 #include <netinet/in.h>
2397 #include <arpa/nameser.h>
2398 #include <resolv.h>
2399     ],
2400     [res_init()],
2401     [int res_init(void)],
2402     [RES_INIT])
2403 ])
2404
2405 AC_DEFUN([AC_CHECK_STRLCPY],
2406 [
2407         KDE_CHECK_FUNC_EXT(strlcpy, [
2408 #include <string.h>
2409 ],
2410 [ char buf[20];
2411   strlcpy(buf, "KDE function test", sizeof(buf));
2412 ],
2413         [unsigned long strlcpy(char*, const char*, unsigned long)],
2414         [STRLCPY])
2415 ])
2416
2417 AC_DEFUN([AC_CHECK_STRLCAT],
2418 [
2419         KDE_CHECK_FUNC_EXT(strlcat, [
2420 #include <string.h>
2421 ],
2422 [ char buf[20];
2423   buf[0]='\0';
2424   strlcat(buf, "KDE function test", sizeof(buf));
2425 ],
2426         [unsigned long strlcat(char*, const char*, unsigned long)],
2427         [STRLCAT])
2428 ])
2429
2430 AC_DEFUN([AC_CHECK_RES_QUERY],
2431 [
2432         KDE_CHECK_FUNC_EXT(res_query, [
2433 #include <sys/types.h>
2434 #include <netinet/in.h>
2435 #include <arpa/nameser.h>
2436 #include <resolv.h>
2437 #include <netdb.h>
2438 ],
2439 [
2440 res_query(NULL, 0, 0, NULL, 0);
2441 ],
2442         [int res_query(const char *, int, int, unsigned char *, int)],
2443         [RES_QUERY])
2444 ])
2445
2446 AC_DEFUN([AC_CHECK_DN_SKIPNAME],
2447 [
2448         KDE_CHECK_FUNC_EXT(dn_skipname, [
2449 #include <sys/types.h>
2450 #include <netinet/in.h>
2451 #include <arpa/nameser.h>
2452 #include <resolv.h>
2453 ],
2454 [
2455 dn_skipname (NULL, NULL);
2456 ],
2457         [int dn_skipname (unsigned char *, unsigned char *)],
2458         [DN_SKIPNAME])
2459 ])
2460
2461
2462 AC_DEFUN([AC_FIND_GIF],
2463    [AC_MSG_CHECKING([for giflib])
2464 AC_CACHE_VAL(ac_cv_lib_gif,
2465 [ac_save_LIBS="$LIBS"
2466 if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
2467 LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
2468 else
2469 LIBS="$all_libraries -lgif"
2470 fi
2471 AC_TRY_LINK(dnl
2472 [
2473 #ifdef __cplusplus
2474 extern "C" {
2475 #endif
2476 int GifLastError(void);
2477 #ifdef __cplusplus
2478 }
2479 #endif
2480 /* We use char because int might match the return type of a gcc2
2481     builtin and then its argument prototype would still apply.  */
2482 ],
2483             [return GifLastError();],
2484             eval "ac_cv_lib_gif=yes",
2485             eval "ac_cv_lib_gif=no")
2486 LIBS="$ac_save_LIBS"
2487 ])dnl
2488 if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
2489   AC_MSG_RESULT(yes)
2490   AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
2491 else
2492   AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
2493 fi
2494 ])
2495
2496 AC_DEFUN([KDE_FIND_JPEG_HELPER],
2497 [
2498 AC_MSG_CHECKING([for libjpeg$2])
2499 AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
2500 [
2501 ac_save_LIBS="$LIBS"
2502 LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
2503 ac_save_CFLAGS="$CFLAGS"
2504 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2505 AC_TRY_LINK(
2506 [
2507 #ifdef __cplusplus
2508 extern "C" {
2509 #endif
2510 void jpeg_CreateDecompress();
2511 #ifdef __cplusplus
2512 }
2513 #endif
2514 ],
2515 [jpeg_CreateDecompress();],
2516             eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
2517             eval "ac_cv_lib_jpeg_$1=no")
2518 LIBS="$ac_save_LIBS"
2519 CFLAGS="$ac_save_CFLAGS"
2520 ])
2521
2522 if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
2523   LIBJPEG="$ac_cv_lib_jpeg_$1"
2524   AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
2525 else
2526   AC_MSG_RESULT(no)
2527   $3
2528 fi
2529
2530 ])
2531
2532 AC_DEFUN([AC_FIND_JPEG],
2533 [
2534 dnl first look for libraries
2535 KDE_FIND_JPEG_HELPER(6b, 6b,
2536    KDE_FIND_JPEG_HELPER(normal, [],
2537     [
2538        LIBJPEG=
2539     ]
2540    )
2541 )
2542
2543 dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
2544 dnl requires system dependent includes loaded before it)
2545 jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes"
2546 AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
2547 test "x$jpeg_incdir" = xNO && jpeg_incdir=
2548
2549 dnl if headers _and_ libraries are missing, this is no error, and we
2550 dnl continue with a warning (the user will get no jpeg support in khtml)
2551 dnl if only one is missing, it means a configuration error, but we still
2552 dnl only warn
2553 if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
2554   AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
2555 else
2556   if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
2557     AC_MSG_WARN([
2558 There is an installation error in jpeg support. You seem to have only one
2559 of either the headers _or_ the libraries installed. You may need to either
2560 provide correct --with-extra-... options, or the development package of
2561 libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
2562 Disabling JPEG support.
2563 ])
2564   else
2565     AC_MSG_WARN([libjpeg not found. disable JPEG support.])
2566   fi
2567   jpeg_incdir=
2568   LIBJPEG=
2569 fi
2570
2571 AC_SUBST(LIBJPEG)
2572 AH_VERBATIM(_AC_CHECK_JPEG,
2573 [/*
2574  * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
2575  * headers and I'm too lazy to write a configure test as long as only
2576  * unixware is related
2577  */
2578 #ifdef _UNIXWARE
2579 #define HAVE_BOOLEAN
2580 #endif
2581 ])
2582 ])
2583
2584 AC_DEFUN([KDE_CHECK_QT_JPEG],
2585 [
2586 if test -n "$LIBJPEG"; then
2587 AC_MSG_CHECKING([if Qt needs $LIBJPEG])
2588 AC_CACHE_VAL(kde_cv_qt_jpeg,
2589 [
2590 AC_LANG_SAVE
2591 AC_LANG_CPLUSPLUS
2592 ac_save_LIBS="$LIBS"
2593 LIBS="$all_libraries $USER_LDFLAGS $LIBQT"
2594 LIBS=`echo $LIBS | sed "s/$LIBJPEG//"`
2595 ac_save_CXXFLAGS="$CXXFLAGS"
2596 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2597 AC_TRY_LINK(
2598 [#include <qapplication.h>],
2599             [
2600             int argc;
2601             char** argv;
2602             QApplication app(argc, argv);],
2603             eval "kde_cv_qt_jpeg=no",
2604             eval "kde_cv_qt_jpeg=yes")
2605 LIBS="$ac_save_LIBS"
2606 CXXFLAGS="$ac_save_CXXFLAGS"
2607 AC_LANG_RESTORE
2608 fi
2609 ])
2610
2611 if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then
2612   AC_MSG_RESULT(yes)
2613   LIBJPEG_QT='$(LIBJPEG)'
2614 else
2615   AC_MSG_RESULT(no)
2616   LIBJPEG_QT=
2617 fi
2618
2619 ])
2620
2621 AC_DEFUN([AC_FIND_ZLIB],
2622 [
2623 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2624 AC_MSG_CHECKING([for libz])
2625 AC_CACHE_VAL(ac_cv_lib_z,
2626 [
2627 kde_save_LIBS="$LIBS"
2628 LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
2629 kde_save_CFLAGS="$CFLAGS"
2630 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2631 AC_TRY_LINK(dnl
2632 [
2633 #include<zlib.h>
2634 ],
2635 [
2636   char buf[42];
2637   gzFile f = (gzFile) 0;
2638   /* this would segfault.. but we only link, don't run */
2639   (void) gzgets(f, buf, sizeof(buf));
2640
2641   return (zlibVersion() == ZLIB_VERSION); 
2642 ],
2643             eval "ac_cv_lib_z='-lz'",
2644             eval "ac_cv_lib_z=no")
2645 LIBS="$kde_save_LIBS"
2646 CFLAGS="$kde_save_CFLAGS"
2647 ])dnl
2648 if test ! "$ac_cv_lib_z" = no; then
2649   AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
2650   LIBZ="$ac_cv_lib_z"
2651   AC_MSG_RESULT($ac_cv_lib_z)
2652 else
2653   AC_MSG_ERROR(not found. 
2654           Possibly configure picks up an outdated version
2655           installed by XFree86. Remove it from your system.
2656
2657           Check your installation and look into config.log)
2658   LIBZ=""
2659 fi
2660 AC_SUBST(LIBZ)
2661 ])
2662
2663 AC_DEFUN([KDE_TRY_TIFFLIB],
2664 [
2665 AC_MSG_CHECKING([for libtiff $1])
2666
2667 AC_CACHE_VAL(kde_cv_libtiff_$1,
2668 [
2669 AC_LANG_SAVE
2670 AC_LANG_CPLUSPLUS
2671 kde_save_LIBS="$LIBS"
2672 if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
2673 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
2674 else
2675 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm"
2676 fi
2677 kde_save_CXXFLAGS="$CXXFLAGS"
2678 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2679
2680 AC_TRY_LINK(dnl
2681 [
2682 #include<tiffio.h>
2683 ],
2684     [return (TIFFOpen( "", "r") == 0); ],
2685 [
2686     kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
2687 ], [
2688     kde_cv_libtiff_$1=no
2689 ])
2690
2691 LIBS="$kde_save_LIBS"
2692 CXXFLAGS="$kde_save_CXXFLAGS"
2693 AC_LANG_RESTORE
2694 ])
2695
2696 if test "$kde_cv_libtiff_$1" = "no"; then
2697     AC_MSG_RESULT(no)
2698     LIBTIFF=""
2699     $3
2700 else
2701     LIBTIFF="$kde_cv_libtiff_$1"
2702     AC_MSG_RESULT(yes)
2703     AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
2704     $2
2705 fi
2706
2707 ])
2708
2709 AC_DEFUN([AC_FIND_TIFF],
2710 [
2711 AC_REQUIRE([K_PATH_X])
2712 AC_REQUIRE([AC_FIND_ZLIB])
2713 AC_REQUIRE([AC_FIND_JPEG])
2714 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2715
2716 KDE_TRY_TIFFLIB(tiff, [],
2717    KDE_TRY_TIFFLIB(tiff34))
2718
2719 AC_SUBST(LIBTIFF)
2720 ])
2721
2722 AC_DEFUN([KDE_FIND_LIBEXR],
2723 [
2724 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2725 AC_REQUIRE([AC_FIND_ZLIB])
2726 AC_CACHE_VAL(ac_cv_libexr,
2727 [
2728   if test -z "$PKG_CONFIG"; then
2729     AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
2730   fi
2731
2732   AC_MSG_CHECKING([for OpenEXR libraries])
2733
2734   if test "$PKG_CONFIG" = "no" ; then
2735      AC_MSG_RESULT(no)
2736      echo "*** The pkg-config script could not be found. Make sure it is"
2737      echo "*** in your path, or set the PKG_CONFIG environment variable"
2738      echo "*** to the full path to pkg-config."
2739      echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
2740   else
2741      if !(`$PKG_CONFIG --exists OpenEXR`) ; then
2742         AC_MSG_RESULT(no)
2743         EXRSTATUS=no
2744      else
2745         if !(`$PKG_CONFIG --atleast-version="1.1.1" OpenEXR`) ; then
2746            AC_MSG_RESULT(no)
2747            EXRSTATUS=old
2748         else
2749            kde_save_LIBS="$LIBS"
2750            LIBS="$LIBS $all_libraries $USER_LDFLAGS `pkg-config --libs OpenEXR` $LIBZ"
2751            AC_LANG_SAVE
2752            AC_LANG_CPLUSPLUS
2753            kde_save_CXXFLAGS="$CXXFLAGS"
2754            EXR_FLAGS=`$PKG_CONFIG --cflags OpenEXR`
2755            CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES $EXR_FLAGS"
2756
2757            AC_TRY_LINK(dnl
2758                [
2759                #include <ImfRgbaFile.h>
2760                ],
2761                [
2762                using namespace Imf;
2763                RgbaInputFile file ("dummy");
2764                return 0;
2765                ],
2766                eval "ac_cv_libexr='`pkg-config --libs OpenEXR`'",
2767                eval "ac_cv_libexr=no"
2768            )
2769            LIBS="$kde_save_LIBS"
2770            CXXFLAGS="$kde_save_CXXFLAGS"
2771            AC_LANG_RESTORE
2772            ])dnl
2773            if eval "test ! \"`echo $ac_cv_libexr`\" = no"; then
2774                AC_DEFINE_UNQUOTED(HAVE_EXR, 1, [Define if you have OpenEXR])
2775                LIB_EXR="$ac_cv_libexr"
2776                AC_MSG_RESULT($ac_cv_libexr)
2777            else
2778                AC_MSG_RESULT(no)
2779                LIB_EXR=""
2780            fi
2781         fi
2782      fi
2783   fi
2784   AC_SUBST(LIB_EXR)
2785   AC_SUBST(EXR_FLAGS)
2786 ])
2787
2788
2789
2790 AC_DEFUN([AC_FIND_PNG],
2791 [
2792 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2793 AC_REQUIRE([AC_FIND_ZLIB])
2794 AC_MSG_CHECKING([for libpng])
2795 AC_CACHE_VAL(ac_cv_lib_png,
2796 [
2797 kde_save_LIBS="$LIBS"
2798 if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
2799 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
2800 else
2801 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
2802 fi
2803 kde_save_CFLAGS="$CFLAGS"
2804 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2805
2806 AC_TRY_LINK(dnl
2807     [
2808     #include<png.h>
2809     ],
2810     [
2811     png_structp png_ptr = png_create_read_struct(  /* image ptr */
2812                 PNG_LIBPNG_VER_STRING, 0, 0, 0 );
2813     return( png_ptr != 0 );
2814     ],
2815     eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
2816     eval "ac_cv_lib_png=no"
2817 )
2818 LIBS="$kde_save_LIBS"
2819 CFLAGS="$kde_save_CFLAGS"
2820 ])dnl
2821 if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
2822   AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
2823   LIBPNG="$ac_cv_lib_png"
2824   AC_SUBST(LIBPNG)
2825   AC_MSG_RESULT($ac_cv_lib_png)
2826 else
2827   AC_MSG_RESULT(no)
2828   LIBPNG=""
2829   AC_SUBST(LIBPNG)
2830 fi
2831 ])
2832
2833
2834 AC_DEFUN([AC_FIND_JASPER],
2835 [
2836 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2837 AC_REQUIRE([AC_FIND_JPEG])
2838 AC_MSG_CHECKING([for jasper])
2839 AC_CACHE_VAL(ac_cv_jasper,
2840 [
2841 kde_save_LIBS="$LIBS"
2842 LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm"
2843 kde_save_CFLAGS="$CFLAGS"
2844 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2845
2846 AC_TRY_LINK(dnl
2847     [
2848     #include<jasper/jasper.h>
2849     ],
2850     [
2851     return( jas_init() );
2852     ],
2853     eval "ac_cv_jasper='-ljasper $LIBJPEG -lm'",
2854     eval "ac_cv_jasper=no"
2855 )
2856 LIBS="$kde_save_LIBS"
2857 CFLAGS="$kde_save_CFLAGS"
2858 ])dnl
2859 if eval "test ! \"`echo $ac_cv_jasper`\" = no"; then
2860   AC_DEFINE_UNQUOTED(HAVE_JASPER, 1, [Define if you have jasper])
2861   LIB_JASPER="$ac_cv_jasper"
2862   AC_MSG_RESULT($ac_cv_jasper)
2863 else
2864   AC_MSG_RESULT(no)
2865   LIB_JASPER=""
2866 fi
2867 AC_SUBST(LIB_JASPER)
2868 ])
2869
2870 AC_DEFUN([AC_CHECK_BOOL],
2871 [
2872   AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
2873 ])
2874
2875 AC_DEFUN([AC_CHECK_GNU_EXTENSIONS],
2876 [
2877 AC_MSG_CHECKING(if you need GNU extensions)
2878 AC_CACHE_VAL(ac_cv_gnu_extensions,
2879 [
2880 cat > conftest.c << EOF
2881 #include <features.h>
2882
2883 #ifdef __GNU_LIBRARY__
2884 yes
2885 #endif
2886 EOF
2887
2888 if (eval "$ac_cpp conftest.c") 2>&5 |
2889   egrep "yes" >/dev/null 2>&1; then
2890   rm -rf conftest*
2891   ac_cv_gnu_extensions=yes
2892 else
2893   ac_cv_gnu_extensions=no
2894 fi
2895 ])
2896
2897 AC_MSG_RESULT($ac_cv_gnu_extensions)
2898 if test "$ac_cv_gnu_extensions" = "yes"; then
2899   AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
2900 fi
2901 ])
2902
2903 AC_DEFUN([KDE_CHECK_COMPILER_FLAG],
2904 [
2905 AC_MSG_CHECKING([whether $CXX supports -$1])
2906 kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
2907 AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
2908 [
2909   AC_LANG_SAVE
2910   AC_LANG_CPLUSPLUS
2911   save_CXXFLAGS="$CXXFLAGS"
2912   CXXFLAGS="$CXXFLAGS -$1"
2913   AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], [])
2914   CXXFLAGS="$save_CXXFLAGS"
2915   AC_LANG_RESTORE
2916 ])
2917 if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
2918  AC_MSG_RESULT(yes)
2919  :
2920  $2
2921 else
2922  AC_MSG_RESULT(no)
2923  :
2924  $3
2925 fi
2926 ])
2927
2928 AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG],
2929 [
2930 AC_MSG_CHECKING([whether $CC supports -$1])
2931 kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
2932 AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache,
2933 [
2934   AC_LANG_SAVE
2935   AC_LANG_C
2936   save_CFLAGS="$CFLAGS"
2937   CFLAGS="$CFLAGS -$1"
2938   AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], [])
2939   CFLAGS="$save_CFLAGS"
2940   AC_LANG_RESTORE
2941 ])
2942 if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then
2943  AC_MSG_RESULT(yes)
2944  :
2945  $2
2946 else
2947  AC_MSG_RESULT(no)
2948  :
2949  $3
2950 fi
2951 ])
2952
2953
2954 dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
2955 dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
2956 dnl it's all white-space separated
2957 AC_DEFUN([AC_REMOVE_FORBIDDEN],
2958 [ __val=$$1
2959   __forbid=" $2 "
2960   if test -n "$__val"; then
2961     __new=""
2962     ac_save_IFS=$IFS
2963     IFS="       "
2964     for i in $__val; do
2965       case "$__forbid" in
2966         *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
2967         *) # Careful to not add spaces, where there were none, because otherwise
2968            # libtool gets confused, if we change e.g. CXX
2969            if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
2970       esac
2971     done
2972     IFS=$ac_save_IFS
2973     $1=$__new
2974   fi
2975 ])
2976
2977
2978 AC_DEFUN([KDE_CHECK_FOR_BAD_COMPILER],
2979 [
2980   AC_MSG_CHECKING([whether $CC is blacklisted])
2981
2982   dnl In theory we have tu run this test against $CC and $CXX
2983   dnl in C and in C++ mode, because its perfectly legal for
2984   dnl the user to mix compiler versions, since C has a defined
2985   dnl ABI. 
2986   dnl 
2987   dnl For now, we assume the user is not on crack.
2988
2989   AC_TRY_COMPILE([
2990 #ifdef __GNUC__
2991 #if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0
2992 choke me
2993 #endif
2994 #endif
2995 ], ,
2996   kde_bad_compiler=no, 
2997   kde_bad_compiler=yes
2998 )
2999
3000   AC_MSG_RESULT($kde_bad_compiler)
3001
3002 if test "$kde_bad_compiler" = "yes"; then
3003   AC_MSG_ERROR([
3004
3005 This particular compiler version is blacklisted because it
3006 is known to miscompile KDE. Please use a newer version, or
3007 if that is not yet available, choose an older version. 
3008
3009 Please do not report a bug or bother us reporting this
3010 configure error. We know about it, and we introduced
3011 it by intention to avoid untraceable bugs or crashes in KDE.
3012
3013 ])
3014 fi
3015
3016 ])
3017
3018
3019 AC_DEFUN([KDE_CHECK_FOR_OPT_NOINLINE_MATCH],
3020 [
3021   AC_CACHE_CHECK([whether system headers can cope with -O2 -fno-inline],
3022     kde_cv_opt_noinline_match,
3023   [
3024   kde_cv_opt_noinline_match=irrelevant
3025   dnl if we don't use both -O2 and -fno-inline, this check is moot
3026   if echo "$CFLAGS" | grep -e -O2 >/dev/null 2>/dev/null \
3027      && echo "$CFLAGS" | grep -e -fno-inline >/dev/null 2>/dev/null ; then
3028
3029     ac_cflags_save="$CFLAGS"
3030     CFLAGS="$CFLAGS -D_USE_GNU"
3031
3032     AC_TRY_LINK([
3033   #include <string.h>
3034 ], [  const char *pt, *et;
3035   et = __extension__      ({ char __a0, __a1, __a2;       (__builtin_constant_p (  ";,"  ) && ((size_t)(const void *)((   ";,"   )+ 1) - (size_t)(const void *)(   ";,"   ) == 1)        ? ((__a0 =((__const char  *) (  ";,"  ))[0], __a0 == '\0')     ? ((void) (  pt ),((void *)0) )        : ((__a1 = ((__const char *) (  ";,"  ))[1], __a1== '\0')      ? (__extension__ (__builtin_constant_p (  __a0 ) && ( __a0 ) == '\0'   ? (char *) __rawmemchr (   pt  ,   __a0)       : strchr(   pt  ,   __a0 )))   : ((__a2 = ((__const char *) (  ";,"  ))[2], __a2 == '\0')      ? __strpbrk_c2 (  pt , __a0, __a1)      :(((__const char *) (  ";,"  ))[3] == '\0'     ? __strpbrk_c3 (  pt ,__a0, __a1, __a2): strpbrk (  pt ,   ";,"  ))))) : strpbrk (  pt ,  ";,"  )); }) ;
3036 ],
3037     kde_cv_opt_noinline_match=yes,
3038     kde_cv_opt_noinline_match=no
3039     )
3040
3041     CFLAGS="$ac_cflags_save"
3042   fi
3043   ])
3044 ])
3045
3046
3047 dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
3048 AC_DEFUN([AC_VALIDIFY_CXXFLAGS],
3049 [dnl
3050 if test "x$kde_use_qt_emb" != "xyes"; then
3051  AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
3052  AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
3053 else
3054  AC_REMOVE_FORBIDDEN(CXX, [-rpath])
3055  AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath])
3056 fi
3057 ])
3058
3059 AC_DEFUN([AC_CHECK_COMPILERS],
3060 [
3061   AC_ARG_ENABLE(debug,
3062                 AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]),
3063   [
3064     case $enableval in
3065       yes)
3066         kde_use_debug_code="yes"
3067         kde_use_debug_define=no
3068         ;;
3069       full)
3070         kde_use_debug_code="full"
3071         kde_use_debug_define=no
3072         ;;
3073       *)
3074         kde_use_debug_code="no"
3075         kde_use_debug_define=yes
3076         ;;
3077     esac
3078   ], 
3079     [kde_use_debug_code="no"
3080       kde_use_debug_define=no
3081   ])
3082
3083   dnl Just for configure --help
3084   AC_ARG_ENABLE(dummyoption,
3085                 AC_HELP_STRING([--disable-debug],
3086                                [disables debug output and debug symbols [default=no]]),
3087                 [],[])
3088
3089   AC_ARG_ENABLE(strict,
3090                 AC_HELP_STRING([--enable-strict],
3091                               [compiles with strict compiler options (may not work!)]),
3092    [
3093     if test $enableval = "no"; then
3094          kde_use_strict_options="no"
3095        else
3096          kde_use_strict_options="yes"
3097     fi
3098    ], [kde_use_strict_options="no"])
3099
3100   AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]),
3101    [
3102     if test $enableval = "no"; then
3103          kde_use_warnings="no"
3104        else
3105          kde_use_warnings="yes"
3106     fi
3107    ], [kde_use_warnings="yes"])
3108
3109   dnl enable warnings for debug build
3110   if test "$kde_use_debug_code" != "no"; then
3111     kde_use_warnings=yes
3112   fi
3113
3114   AC_ARG_ENABLE(profile,AC_HELP_STRING([--enable-profile],[creates profiling infos [default=no]]),