a953be71e0c9174563d4b722b5cddd6d58fe33e7
[pinentry.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., 59 Temple Place - Suite 330,
20 dnl    Boston, MA 02111-1307, 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. If you decide that you
25 dnl really want to modify it, contact coolo@kde.org mentioning that you have
26 dnl and that the modified file should be committed to every module.
27 dnl
28 dnl Single-module modifications are best placed in configure.in for kdelibs
29 dnl and kdebase or configure.in.in if present.
30
31 dnl ------------------------------------------------------------------------
32 dnl Forward compatibility macros (make autoconf 2.13 look like 2.50),
33 dnl thanks to Raja R Harinath.
34 dnl ------------------------------------------------------------------------
35 dnl
36 ifdef([_AC_PATH_X_XMKMF],[],
37    [AC_DEFUN([_AC_PATH_X_XMKMF],[AC_PATH_X_XMKMF])])
38 ifdef([AC_OUTPUT_SUBDIRS],[],
39    [AC_DEFUN([AC_OUTPUT_SUBDIRS],[subdirs=$1; _AC_OUTPUT_SUBDIRS])])
40
41 # KDE_PATH_X_DIRECT
42 dnl Internal subroutine of AC_PATH_X.
43 dnl Set ac_x_includes and/or ac_x_libraries.
44 AC_DEFUN(KDE_PATH_X_DIRECT,
45 [if test "$ac_x_includes" = NO; then
46   # Guess where to find include files, by looking for this one X11 .h file.
47   test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
48
49   # First, try using that file with no special directory specified.
50 AC_TRY_CPP([#include <$x_direct_test_include>],
51 [# We can compile using X headers with no special include directory.
52 ac_x_includes=],
53 [# Look for the header file in a standard set of common directories.
54 # Check X11 before X11Rn because it is often a symlink to the current release.
55   for ac_dir in               \
56     /usr/X11/include          \
57     /usr/X11R6/include        \
58     /usr/X11R5/include        \
59     /usr/X11R4/include        \
60                               \
61     /usr/include/X11          \
62     /usr/include/X11R6        \
63     /usr/include/X11R5        \
64     /usr/include/X11R4        \
65                               \
66     /usr/local/X11/include    \
67     /usr/local/X11R6/include  \
68     /usr/local/X11R5/include  \
69     /usr/local/X11R4/include  \
70                               \
71     /usr/local/include/X11    \
72     /usr/local/include/X11R6  \
73     /usr/local/include/X11R5  \
74     /usr/local/include/X11R4  \
75                               \
76     /usr/X386/include         \
77     /usr/x386/include         \
78     /usr/XFree86/include/X11  \
79                               \
80     /usr/include              \
81     /usr/local/include        \
82     /usr/unsupported/include  \
83     /usr/athena/include       \
84     /usr/local/x11r5/include  \
85     /usr/lpp/Xamples/include  \
86                               \
87     /usr/openwin/include      \
88     /usr/openwin/share/include \
89     ; \
90   do
91     if test -r "$ac_dir/$x_direct_test_include"; then
92       ac_x_includes=$ac_dir
93       break
94     fi
95   done])
96 fi # $ac_x_includes = NO
97
98 if test "$ac_x_libraries" = NO; then
99   # Check for the libraries.
100
101   test -z "$x_direct_test_library" && x_direct_test_library=Xt
102   test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
103
104   # See if we find them without any special options.
105   # Don't add to $LIBS permanently.
106   ac_save_LIBS="$LIBS"
107   LIBS="-l$x_direct_test_library $LIBS"
108 AC_TRY_LINK(, [${x_direct_test_function}()],
109 [LIBS="$ac_save_LIBS"
110 # We can link X programs with no special library path.
111 ac_x_libraries=],
112 [LIBS="$ac_save_LIBS"
113 # First see if replacing the include by lib works.
114 # Check X11 before X11Rn because it is often a symlink to the current release.
115 for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
116     /usr/X11/lib          \
117     /usr/X11R6/lib        \
118     /usr/X11R5/lib        \
119     /usr/X11R4/lib        \
120                           \
121     /usr/lib/X11          \
122     /usr/lib/X11R6        \
123     /usr/lib/X11R5        \
124     /usr/lib/X11R4        \
125                           \
126     /usr/local/X11/lib    \
127     /usr/local/X11R6/lib  \
128     /usr/local/X11R5/lib  \
129     /usr/local/X11R4/lib  \
130                           \
131     /usr/local/lib/X11    \
132     /usr/local/lib/X11R6  \
133     /usr/local/lib/X11R5  \
134     /usr/local/lib/X11R4  \
135                           \
136     /usr/X386/lib         \
137     /usr/x386/lib         \
138     /usr/XFree86/lib/X11  \
139                           \
140     /usr/lib              \
141     /usr/local/lib        \
142     /usr/unsupported/lib  \
143     /usr/athena/lib       \
144     /usr/local/x11r5/lib  \
145     /usr/lpp/Xamples/lib  \
146     /lib/usr/lib/X11      \
147                           \
148     /usr/openwin/lib      \
149     /usr/openwin/share/lib \
150     ; \
151 do
152 dnl Don't even attempt the hair of trying to link an X program!
153   for ac_extension in a so sl; do
154     if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
155       ac_x_libraries=$ac_dir
156       break 2
157     fi
158   done
159 done])
160 fi # $ac_x_libraries = NO
161 ])
162
163
164 dnl ------------------------------------------------------------------------
165 dnl Find a file (or one of more files in a list of dirs)
166 dnl ------------------------------------------------------------------------
167 dnl
168 AC_DEFUN(AC_FIND_FILE,
169 [
170 $3=NO
171 for i in $2;
172 do
173   for j in $1;
174   do
175     echo "configure: __oline__: $i/$j" >&AC_FD_CC
176     if test -r "$i/$j"; then
177       echo "taking that" >&AC_FD_CC
178       $3=$i
179       break 2
180     fi
181   done
182 done
183 ])
184
185 dnl KDE_FIND_PATH(programm-name, variable-name, list of directories,
186 dnl     if-not-found, test-parameter)
187 AC_DEFUN(KDE_FIND_PATH,
188 [
189    AC_MSG_CHECKING([for $1])
190    if test -n "$$2"; then
191         kde_cv_path="$$2";
192    else
193         kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
194
195         AC_CACHE_VAL(kde_cv_path_$kde_cache,
196         [
197         kde_cv_path="NONE"
198         dirs="$3"
199         kde_save_IFS=$IFS
200         IFS=':'
201         for dir in $PATH; do
202           dirs="$dirs $dir"
203         done
204         IFS=$kde_save_IFS
205
206         for dir in $dirs; do
207           if test -x "$dir/$1"; then
208             if test -n "$5"
209             then
210               evalstr="$dir/$1 $5 2>&1 "
211               if eval $evalstr; then
212                 kde_cv_path="$dir/$1"
213                 break
214               fi
215             else
216                 kde_cv_path="$dir/$1"
217                 break
218             fi
219           fi
220         done
221
222         eval "kde_cv_path_$kde_cache=$kde_cv_path"
223
224         ])
225
226       eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
227
228    fi
229
230    if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
231       AC_MSG_RESULT(not found)
232       $4
233    else
234       AC_MSG_RESULT($kde_cv_path)
235       $2=$kde_cv_path
236
237    fi
238 ])
239
240 AC_DEFUN(KDE_MOC_ERROR_MESSAGE,
241 [
242     AC_MSG_ERROR([No Qt meta object compiler (moc) found!
243 Please check whether you installed Qt correctly.
244 You need to have a running moc binary.
245 configure tried to run $ac_cv_path_moc and the test didn't
246 succeed. If configure shouldn't have tried this one, set
247 the environment variable MOC to the right one before running
248 configure.
249 ])
250 ])
251
252 AC_DEFUN(KDE_UIC_ERROR_MESSAGE,
253 [
254     AC_MSG_WARN([No Qt ui compiler (uic) found!
255 Please check whether you installed Qt correctly.
256 You need to have a running uic binary.
257 configure tried to run $ac_cv_path_uic and the test didn't
258 succeed. If configure shouldn't have tried this one, set
259 the environment variable UIC to the right one before running
260 configure.
261 ])
262 ])
263
264 dnl ------------------------------------------------------------------------
265 dnl Find the meta object compiler and the ui compiler in the PATH,
266 dnl in $QTDIR/bin, and some more usual places
267 dnl ------------------------------------------------------------------------
268 dnl
269 AC_DEFUN(AC_PATH_QT_MOC_UIC,
270 [
271    qt_bindirs=""
272    for dir in $kde_qt_dirs; do
273       qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
274    done
275    qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
276    if test ! "$ac_qt_bindir" = "NO"; then
277       qt_bindirs="$ac_qt_bindir $qt_bindirs"
278    fi
279
280    KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
281    if test -z "$UIC_NOT_NEEDED"; then
282      KDE_FIND_PATH(uic, UIC, [$qt_bindirs], [UIC=""])
283      if test -z "$UIC" ; then
284        KDE_UIC_ERROR_MESSAGE
285        exit 1
286      fi
287    else
288      UIC="echo uic not available: "
289    fi
290
291    AC_SUBST(MOC)
292    AC_SUBST(UIC)
293
294    UIC_TR="i18n"
295    if test $kde_qtver = 3; then
296      UIC_TR="tr2i18n"
297    fi
298
299    AC_SUBST(UIC_TR)
300 ])
301
302 AC_DEFUN(KDE_1_CHECK_PATHS,
303 [
304   KDE_1_CHECK_PATH_HEADERS
305
306   KDE_TEST_RPATH=
307
308   if test -n "$USE_RPATH"; then
309
310      if test -n "$kde_libraries"; then
311        KDE_TEST_RPATH="-R $kde_libraries"
312      fi
313
314      if test -n "$qt_libraries"; then
315        KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
316      fi
317
318      if test -n "$x_libraries"; then
319        KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
320      fi
321
322      KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
323   fi
324
325 AC_MSG_CHECKING([for KDE libraries installed])
326 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'
327
328 if AC_TRY_EVAL(ac_link) && test -s conftest; then
329   AC_MSG_RESULT(yes)
330 else
331   AC_MSG_ERROR([your system fails at linking a small KDE application!
332 Check, if your compiler is installed correctly and if you have used the
333 same compiler to compile Qt and kdelibs as you did use now.
334 For more details about this problem, look at the end of config.log.])
335 fi
336
337 if eval `KDEDIR= ./conftest 2>&5`; then
338   kde_result=done
339 else
340   kde_result=problems
341 fi
342
343 KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
344 kde_have_all_paths=yes
345
346 KDE_SET_PATHS($kde_result)
347
348 ])
349
350 AC_DEFUN(KDE_SET_PATHS,
351 [
352   kde_cv_all_paths="kde_have_all_paths=\"yes\" \
353         kde_htmldir=\"$kde_htmldir\" \
354         kde_appsdir=\"$kde_appsdir\" \
355         kde_icondir=\"$kde_icondir\" \
356         kde_sounddir=\"$kde_sounddir\" \
357         kde_datadir=\"$kde_datadir\" \
358         kde_locale=\"$kde_locale\" \
359         kde_cgidir=\"$kde_cgidir\" \
360         kde_confdir=\"$kde_confdir\" \
361         kde_mimedir=\"$kde_mimedir\" \
362         kde_toolbardir=\"$kde_toolbardir\" \
363         kde_wallpaperdir=\"$kde_wallpaperdir\" \
364         kde_templatesdir=\"$kde_templatesdir\" \
365         kde_bindir=\"$kde_bindir\" \
366         kde_servicesdir=\"$kde_servicesdir\" \
367         kde_servicetypesdir=\"$kde_servicetypesdir\" \
368         kde_moduledir=\"$kde_moduledir\" \
369    kde_styledir=\"$kde_styledir\" \
370         kde_widgetdir=\"$kde_widgetdir\" \
371         kde_result=$1"
372 ])
373
374 AC_DEFUN(KDE_SET_DEFAULT_PATHS,
375 [
376 if test "$1" = "default"; then
377
378   if test -z "$kde_htmldir"; then
379     kde_htmldir='\${prefix}/share/doc/HTML'
380   fi
381   if test -z "$kde_appsdir"; then
382     kde_appsdir='\${prefix}/share/applnk'
383   fi
384   if test -z "$kde_icondir"; then
385     kde_icondir='\${prefix}/share/icons'
386   fi
387   if test -z "$kde_sounddir"; then
388     kde_sounddir='\${prefix}/share/sounds'
389   fi
390   if test -z "$kde_datadir"; then
391     kde_datadir='\${prefix}/share/apps'
392   fi
393   if test -z "$kde_locale"; then
394     kde_locale='\${prefix}/share/locale'
395   fi
396   if test -z "$kde_cgidir"; then
397     kde_cgidir='\${exec_prefix}/cgi-bin'
398   fi
399   if test -z "$kde_confdir"; then
400     kde_confdir='\${prefix}/share/config'
401   fi
402   if test -z "$kde_mimedir"; then
403     kde_mimedir='\${prefix}/share/mimelnk'
404   fi
405   if test -z "$kde_toolbardir"; then
406     kde_toolbardir='\${prefix}/share/toolbar'
407   fi
408   if test -z "$kde_wallpaperdir"; then
409     kde_wallpaperdir='\${prefix}/share/wallpapers'
410   fi
411   if test -z "$kde_templatesdir"; then
412     kde_templatesdir='\${prefix}/share/templates'
413   fi
414   if test -z "$kde_bindir"; then
415     kde_bindir='\${exec_prefix}/bin'
416   fi
417   if test -z "$kde_servicesdir"; then
418     kde_servicesdir='\${prefix}/share/services'
419   fi
420   if test -z "$kde_servicetypesdir"; then
421     kde_servicetypesdir='\${prefix}/share/servicetypes'
422   fi
423   if test -z "$kde_moduledir"; then
424     if test "$kde_qtver" = "2"; then
425       kde_moduledir='\${exec_prefix}/lib/kde2'
426     else
427       kde_moduledir='\${exec_prefix}/lib/kde3'
428     fi
429   fi
430   if test -z "$kde_styledir"; then
431     kde_styledir='\${exec_prefix}/lib/kde3/plugins/styles'
432   fi
433   if test -z "$kde_widgetdir"; then
434     kde_widgetdir='\${exec_prefix}/lib/kde3/plugins/designer'
435   fi
436
437   KDE_SET_PATHS(defaults)
438
439 else
440
441   if test $kde_qtver = 1; then
442      AC_MSG_RESULT([compiling])
443      KDE_1_CHECK_PATHS
444   else
445      AC_MSG_ERROR([path checking not yet supported for KDE 2])
446   fi
447
448 fi
449 ])
450
451 AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS,
452 [ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
453    test -z "$kde_icondir" || test -z "$kde_sounddir" ||
454    test -z "$kde_datadir" || test -z "$kde_locale"  ||
455    test -z "$kde_cgidir"  || test -z "$kde_confdir" ||
456    test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
457    test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
458    test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
459    test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
460    test -z "$kde_styledir" || test -z "kde_widgetdir" 
461    test "x$kde_have_all_paths" != "xyes"; then
462      kde_have_all_paths=no
463   fi
464 ])
465
466 AC_DEFUN(KDE_MISSING_PROG_ERROR,
467 [
468     AC_MSG_ERROR([The important program $1 was not found!
469 Please check whether you installed KDE correctly.
470 ])
471 ])
472
473 AC_DEFUN(KDE_SUBST_PROGRAMS,
474 [
475
476         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"
477         if test -n "$KDEDIRS"; then
478            kde_save_IFS=$IFS
479            IFS=:
480            for dir in $KDEDIRS; do
481                 kde_default_bindirs="$dir/bin $kde_default_bindirs "
482            done
483            IFS=$kde_save_IFS
484         fi
485         kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs"
486         KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
487         KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
488         KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(mcopidl)])
489         KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(artsc-config)])
490         KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs])
491         KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
492       
493         if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then  
494             kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
495             test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
496             AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
497             if test "$KDE_XSL_STYLESHEET" = "NO"; then
498                 KDE_XSL_STYLESHEET=""
499             else
500                 KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl"
501             fi
502         fi
503
504         DCOP_DEPENDENCIES='$(DCOPIDL)'
505         AC_SUBST(DCOPIDL)
506         AC_SUBST(DCOPIDL2CPP)
507         AC_SUBST(DCOP_DEPENDENCIES)
508         AC_SUBST(MCOPIDL)
509         AC_SUBST(ARTSCCONFIG)
510         AC_SUBST(KDECONFIG)
511         AC_SUBST(MEINPROC)
512         AC_SUBST(KDE_XSL_STYLESHEET)
513
514         if test -x "$KDECONFIG"; then # it can be "compiled"
515           kde_libs_prefix=`$KDECONFIG --prefix`
516           if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
517                AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
518                           This means it has been moved since you installed it.
519                           This won't work. Please recompile kdelibs for the new prefix.
520                           ])
521            fi
522            kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
523         else
524            kde_libs_prefix='$(prefix)'
525            kde_libs_htmldir='$(kde_htmldir)'
526         fi
527         AC_SUBST(kde_libs_prefix)
528         AC_SUBST(kde_libs_htmldir)
529 ])dnl
530
531 AC_DEFUN(AC_CREATE_KFSSTND,
532 [
533 AC_REQUIRE([AC_CHECK_RPATH])
534
535 AC_MSG_CHECKING([for KDE paths])
536 kde_result=""
537 kde_cached_paths=yes
538 AC_CACHE_VAL(kde_cv_all_paths,
539 [
540   KDE_SET_DEFAULT_PATHS($1)
541   kde_cached_paths=no
542 ])
543 eval "$kde_cv_all_paths"
544 KDE_CHECK_PATHS_FOR_COMPLETENESS
545 if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
546   # wrong values were cached, may be, we can set better ones
547   kde_result=
548   kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
549   kde_datadir= kde_locale=  kde_cgidir=  kde_confdir=
550   kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
551   kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
552   kde_have_all_paths=
553   kde_styledir=
554   kde_widgetdir=
555   KDE_SET_DEFAULT_PATHS($1)
556   eval "$kde_cv_all_paths"
557   KDE_CHECK_PATHS_FOR_COMPLETENESS
558   kde_result="$kde_result (cache overridden)"
559 fi
560 if test "$kde_have_all_paths" = "no"; then
561   AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
562 Since it had compiled and linked before, it must be a strange problem on your system.
563 Look at config.log for details. If you are not able to fix this, look at
564 http://www.kde.org/faq/installation.html or any www.kde.org mirror.
565 (If you're using an egcs version on Linux, you may update binutils!)
566 ])
567 else
568   rm -f conftest*
569   AC_MSG_RESULT($kde_result)
570 fi
571
572 bindir=$kde_bindir
573
574 KDE_SUBST_PROGRAMS
575
576 ])
577
578 AC_DEFUN(AC_SUBST_KFSSTND,
579 [
580 AC_SUBST(kde_htmldir)
581 AC_SUBST(kde_appsdir)
582 AC_SUBST(kde_icondir)
583 AC_SUBST(kde_sounddir)
584 AC_SUBST(kde_datadir)
585 AC_SUBST(kde_locale)
586 AC_SUBST(kde_confdir)
587 AC_SUBST(kde_mimedir)
588 AC_SUBST(kde_wallpaperdir)
589 AC_SUBST(kde_bindir)
590 dnl for KDE 2
591 AC_SUBST(kde_templatesdir)
592 AC_SUBST(kde_servicesdir)
593 AC_SUBST(kde_servicetypesdir)
594 AC_SUBST(kde_moduledir)
595 AC_SUBST(kde_styledir)
596 AC_SUBST(kde_widgetdir)
597 if test "$kde_qtver" = 1; then
598   kde_minidir="$kde_icondir/mini"
599 else
600 # for KDE 1 - this breaks KDE2 apps using minidir, but
601 # that's the plan ;-/
602   kde_minidir="/dev/null"
603 fi
604 dnl AC_SUBST(kde_minidir)
605 dnl AC_SUBST(kde_cgidir)
606 dnl AC_SUBST(kde_toolbardir)
607 ])
608
609 AC_DEFUN(KDE_MISC_TESTS,
610 [
611    AC_LANG_C
612    dnl Checks for libraries.
613    AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD 
614    AC_SUBST(LIBUTIL)
615    AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD
616    AC_SUBST(LIBCOMPAT)
617    kde_have_crypt=
618    AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
619       AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
620         AC_MSG_WARN([you have no crypt in either libcrypt or libc.
621 You should install libcrypt from another source or configure with PAM
622 support])
623         kde_have_crypt=no
624       ]))
625    AC_SUBST(LIBCRYPT)
626    if test $kde_have_crypt = yes; then
627       AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
628    fi
629    AC_CHECK_SOCKLEN_T
630    AC_LANG_C
631    AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
632    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
633       AC_CHECK_LIB(dnet_stub, dnet_ntoa,
634         [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
635    fi
636    AC_CHECK_FUNC(inet_ntoa)
637    if test $ac_cv_func_inet_ntoa = no; then
638      AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
639    fi
640    AC_CHECK_FUNC(connect)
641    if test $ac_cv_func_connect = no; then
642       AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
643         $X_EXTRA_LIBS)
644    fi
645
646    AC_CHECK_FUNC(remove)
647    if test $ac_cv_func_remove = no; then
648       AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
649    fi
650
651    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
652    AC_CHECK_FUNC(shmat, ,
653      AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
654    
655    # Solaris 2.6 and others need -lresolv for res_init
656    AC_CHECK_FUNCS(res_init, , [
657      kde_libs_safe="$LIBS"
658      LIBS="$LIBS $X_EXTRA_LIBS -lresolv"
659      AC_TRY_LINK(
660 [
661 #include <resolv.h>
662 ],
663
664 res_init(); 
665 ],
666         LIBRESOLV="-lresolv"
667         X_EXTRA_LIBS="$X_EXTRA_LIBS $LIBRESOLV"
668         AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
669      )
670      LIBS=$kde_libs_safe
671    ])
672
673    LIBSOCKET="$X_EXTRA_LIBS"
674    AC_SUBST(LIBSOCKET)
675    AC_SUBST(LIBRESOLV)
676    AC_SUBST(X_EXTRA_LIBS)
677    AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
678    AC_SUBST(LIBUCB)
679
680    case $host in  dnl this *is* LynxOS specific
681    *-*-lynxos* )
682         AC_MSG_CHECKING([LynxOS header file wrappers])
683         [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
684         AC_MSG_RESULT(disabled)
685         AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
686          ;;
687     esac
688
689    KDE_CHECK_TYPES
690    KDE_CHECK_LIBDL
691 ])
692
693 dnl ------------------------------------------------------------------------
694 dnl Find the header files and libraries for X-Windows. Extended the
695 dnl macro AC_PATH_X
696 dnl ------------------------------------------------------------------------
697 dnl
698 AC_DEFUN(K_PATH_X,
699 [
700 AC_REQUIRE([KDE_MISC_TESTS])dnl
701
702 AC_ARG_ENABLE(
703   embedded,
704   [  --enable-embedded       link to Qt-embedded, don't use X],
705   kde_use_qt_emb=$enableval,
706   kde_use_qt_emb=no
707 )
708
709 AC_ARG_ENABLE(
710   palmtop,
711   [  --enable-palmtop       link to Qt-embedded, don't use X and link to the Qt Palmtop Environment],
712   kde_use_qt_emb_palm=$enableval,
713   kde_use_qt_emb_palm=no
714 )
715
716 if test "$kde_use_qt_emb" = "no"; then
717
718 AC_MSG_CHECKING(for X)
719 AC_LANG_SAVE
720 AC_LANG_C
721 AC_CACHE_VAL(kde_cv_have_x,
722 [# One or both of the vars are not set, and there is no cached value.
723 if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
724    kde_x_includes=NO
725 else
726    kde_x_includes=$x_includes
727 fi
728 if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
729    kde_x_libraries=NO
730 else
731    kde_x_libraries=$x_libraries
732 fi
733
734 # below we use the standard autoconf calls
735 ac_x_libraries=$kde_x_libraries
736 ac_x_includes=$kde_x_includes
737
738 KDE_PATH_X_DIRECT
739 dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
740 dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
741 dnl location. The correct location is /usr/lib32 or an undefined value
742 dnl (the linker is smart enough to pick the correct default library).
743 dnl Things work just fine if you use just AC_PATH_X_DIRECT.
744 dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to
745 dnl /usr/openwin/include, which doesn't work. /usr/include does work, so
746 dnl x_includes should be left alone.
747 case "$host" in
748 mips-sgi-irix6*)
749   ;;
750 *-*-solaris*)
751   ;;
752 *)
753   _AC_PATH_X_XMKMF
754   if test -z "$ac_x_includes"; then
755     ac_x_includes="."
756   fi
757   if test -z "$ac_x_libraries"; then
758     ac_x_libraries="/usr/lib"
759   fi
760 esac
761 #from now on we use our own again
762
763 # when the user already gave --x-includes, we ignore
764 # what the standard autoconf macros told us.
765 if test "$kde_x_includes" = NO; then
766   kde_x_includes=$ac_x_includes
767 fi
768
769 # for --x-libraries too
770 if test "$kde_x_libraries" = NO; then
771   kde_x_libraries=$ac_x_libraries
772 fi
773
774 if test "$kde_x_includes" = NO; then
775   AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
776 fi
777
778 if test "$kde_x_libraries" = NO; then
779   AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
780 fi
781
782 # Record where we found X for the cache.
783 kde_cv_have_x="have_x=yes \
784          kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
785 ])dnl
786
787 eval "$kde_cv_have_x"
788
789 if test "$have_x" != yes; then
790   AC_MSG_RESULT($have_x)
791   no_x=yes
792 else
793   AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
794 fi
795
796 if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
797   X_INCLUDES=""
798   x_includes="."; dnl better than nothing :-
799  else
800   x_includes=$kde_x_includes
801   X_INCLUDES="-I$x_includes"
802 fi
803
804 if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then
805   X_LDFLAGS=""
806   x_libraries="/usr/lib"; dnl better than nothing :-
807  else
808   x_libraries=$kde_x_libraries
809   X_LDFLAGS="-L$x_libraries"
810 fi
811 all_includes="$X_INCLUDES"
812 all_libraries="$X_LDFLAGS"
813
814 AC_SUBST(X_INCLUDES)
815 AC_SUBST(X_LDFLAGS)
816 AC_SUBST(x_libraries)
817 AC_SUBST(x_includes)
818
819 # Check for libraries that X11R6 Xt/Xaw programs need.
820 ac_save_LDFLAGS="$LDFLAGS"
821 LDFLAGS="$LDFLAGS $X_LDFLAGS"
822 # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
823 # check for ICE first), but we must link in the order -lSM -lICE or
824 # we get undefined symbols.  So assume we have SM if we have ICE.
825 # These have to be linked with before -lX11, unlike the other
826 # libraries we check for below, so use a different variable.
827 #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
828 AC_CHECK_LIB(ICE, IceConnectionNumber,
829   [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
830 AC_SUBST(LIBSM)
831 LDFLAGS="$ac_save_LDFLAGS"
832
833 AC_SUBST(X_PRE_LIBS)
834
835 LIB_X11='-lX11 $(LIBSOCKET)'
836 AC_SUBST(LIB_X11)
837
838 AC_MSG_CHECKING(for libXext)
839 AC_CACHE_VAL(kde_cv_have_libXext,
840 [
841 kde_ldflags_safe="$LDFLAGS"
842 kde_libs_safe="$LIBS"
843
844 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
845 LIBS="-lXext -lX11 $LIBSOCKET"
846
847 AC_TRY_LINK([
848 #include <stdio.h>
849 #ifdef STDC_HEADERS
850 # include <stdlib.h>
851 #endif
852 ],
853 [
854 printf("hello Xext\n");
855 ],
856 kde_cv_have_libXext=yes,
857 kde_cv_have_libXext=no
858    )
859
860 LDFLAGS=$kde_ldflags_safe
861 LIBS=$kde_libs_safe
862  ])
863
864 AC_MSG_RESULT($kde_cv_have_libXext)
865
866 if test "$kde_cv_have_libXext" = "no"; then
867   AC_MSG_ERROR([We need a working libXext to proceed. Since configure
868 can't find it itself, we stop here assuming that make wouldn't find
869 them either.])
870 fi
871
872 AC_MSG_CHECKING(for Xinerama)
873
874  AC_ARG_WITH(xinerama,
875   [  --with-xinerama         enable support for Xinerama ],
876   [
877     no_xinerama=no
878   ], [
879     no_xinerama=yes
880   ]
881 )
882
883 kde_save_LDFLAGS="$LDFLAGS"
884 kde_save_CFLAGS="$CFLAGS"
885 kde_save_LIBS="$LIBS"
886 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
887 CFLAGS="$CFLAGS -I$x_includes"
888 LIBS="-lXinerama -lXext"
889
890 if test "x$no_xinerama" = "xno"; then
891
892   AC_CACHE_VAL(ac_cv_have_xinerama,
893   [
894           AC_TRY_LINK([#include <X11/Xlib.h>
895                         #include <X11/extensions/Xinerama.h>],
896                   [XineramaIsActive(NULL);],
897                   [ac_cv_have_xinerama="yes"],
898                   [ac_cv_have_xinerama="no"])
899   ])
900 else
901   ac_cv_have_xinerama=no;
902 fi
903
904 AC_MSG_RESULT($ac_cv_have_xinerama)
905
906 LIBXINERAMA=""
907
908 if test "$ac_cv_have_xinerama" = "yes"; then
909   AC_DEFINE(HAVE_XINERAMA, 1, [Define if you want Xinerama support])
910   LIBXINERAMA="-lXinerama"
911 fi
912
913 AC_SUBST(LIBXINERAMA)
914
915 LDFLAGS="$kde_save_LDFLAGS"
916 CFLAGS="$kde_save_CFLAGS"
917 LIBS="$kde_save_LIBS"
918
919 LIB_XEXT="-lXext"
920 QTE_NORTTI=""
921
922 else
923   dnl We're using QT Embedded
924   CXXFLAGS="$CXXFLAGS -fno-rtti -DQWS"
925   CFLAGS="$CFLAGS -DQWS"
926   LDFLAGS="$LDFLAGS -DQWS"
927   QTE_NORTTI="-fno-rtti -DQWS"
928   X_PRE_LIBS=""
929   LIB_X11=""
930   LIB_XEXT=""
931   LIBSM=""
932   X_INCLUDES=""
933   X_LDFLAGS=""
934   x_includes=""
935   x_libraries=""
936   AC_SUBST(X_PRE_LIBS)
937   AC_SUBST(LIB_X11)
938   AC_SUBST(LIBSM)
939   AC_SUBST(X_INCLUDES)
940   AC_SUBST(X_LDFLAGS)
941   AC_SUBST(x_includes)
942   AC_SUBST(x_libraries)
943 fi
944 AC_SUBST(QTE_NORTTI)
945 AC_SUBST(LIB_XEXT)
946
947
948 AC_LANG_RESTORE
949
950 ])
951
952 AC_DEFUN(KDE_PRINT_QT_PROGRAM,
953 [
954 AC_REQUIRE([KDE_USE_QT])
955 cat > conftest.$ac_ext <<EOF
956 #include "confdefs.h"
957 #include <qglobal.h>
958 #include <qapplication.h>
959 EOF
960 if test "$kde_qtver" = "2"; then
961 cat >> conftest.$ac_ext <<EOF
962 #include <qevent.h>
963 #include <qstring.h>
964 #include <qstyle.h>
965 EOF
966
967 if test $kde_qtsubver -gt 0; then
968 cat >> conftest.$ac_ext <<EOF
969 #include <qiconview.h>
970 EOF
971 fi
972 fi
973
974 if test "$kde_qtver" = "3"; then
975 cat >> conftest.$ac_ext <<EOF
976 #include <qcursor.h>
977 #include <qstylefactory.h>
978 #include <private/qucomextra_p.h>
979 EOF
980 fi
981
982 echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
983 cat >> conftest.$ac_ext <<EOF
984 #error 1
985 #endif
986
987 int main() {
988 EOF
989 if test "$kde_qtver" = "2"; then
990 cat >> conftest.$ac_ext <<EOF
991     QStringList *t = new QStringList();
992     Q_UNUSED(t);
993 EOF
994 if test $kde_qtsubver -gt 0; then
995 cat >> conftest.$ac_ext <<EOF
996     QIconView iv(0);
997     iv.setWordWrapIconText(false);
998     QString s;
999     s.setLatin1("Elvis is alive", 14);
1000 EOF
1001 fi
1002 fi
1003 if test "$kde_qtver" = "3"; then
1004 cat >> conftest.$ac_ext <<EOF
1005     (void)QStyleFactory::create(QString::null);
1006     QCursor c(Qt::WhatsThisCursor);
1007 EOF
1008 fi
1009 cat >> conftest.$ac_ext <<EOF
1010     return 0;
1011 }
1012 EOF
1013 ])
1014
1015 AC_DEFUN(KDE_USE_QT,
1016 [
1017
1018 if test -z "$1"; then
1019   kde_qtver=3
1020   kde_qtsubver=1
1021 else
1022   kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
1023   # following is the check if subversion isnĀ“t found in passed argument
1024   if test "$kde_qtsubver" = "$1"; then
1025     kde_qtsubver=1
1026   fi
1027   kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
1028   if test "$kde_qtver" = "1"; then
1029     kde_qtsubver=42
1030   fi
1031 fi
1032
1033 if test -z "$2"; then
1034   if test "$kde_qtver" = "2"; then
1035     if test $kde_qtsubver -gt 0; then
1036       kde_qt_minversion=">= Qt 2.2.2"
1037     else
1038       kde_qt_minversion=">= Qt 2.0.2"
1039     fi
1040   fi
1041   if test "$kde_qtver" = "3"; then
1042     kde_qt_minversion=">= Qt 3.0.1"
1043   fi
1044   if test "$kde_qtver" = "1"; then
1045     kde_qt_minversion=">= 1.42 and < 2.0"
1046   fi
1047 else
1048    kde_qt_minversion=$2
1049 fi
1050
1051 if test -z "$3"; then
1052    if test $kde_qtver = 3; then
1053      kde_qt_verstring="QT_VERSION >= 301"
1054    fi
1055    if test $kde_qtver = 2; then
1056      if test $kde_qtsubver -gt 0; then
1057        kde_qt_verstring="QT_VERSION >= 222"
1058      else
1059        kde_qt_verstring="QT_VERSION >= 200"
1060      fi
1061    fi
1062    if test $kde_qtver = 1; then
1063     kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
1064    fi
1065 else
1066    kde_qt_verstring=$3
1067 fi
1068
1069 if test $kde_qtver = 3; then
1070   kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt"
1071 fi
1072 if test $kde_qtver = 2; then
1073    kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
1074 fi
1075 if test $kde_qtver = 1; then
1076    kde_qt_dirs="$QTDIR /usr/lib/qt"
1077 fi
1078 ])
1079
1080 AC_DEFUN(KDE_CHECK_QT_DIRECT,
1081 [
1082 AC_REQUIRE([KDE_USE_QT])
1083 AC_MSG_CHECKING([if Qt compiles without flags])
1084 AC_CACHE_VAL(kde_cv_qt_direct,
1085 [
1086 AC_LANG_SAVE
1087 AC_LANG_CPLUSPLUS
1088 ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
1089 ac_LIBRARY_PATH="$LIBRARY_PATH"
1090 ac_cxxflags_safe="$CXXFLAGS"
1091 ac_ldflags_safe="$LDFLAGS"
1092 ac_libs_safe="$LIBS"
1093
1094 CXXFLAGS="$CXXFLAGS -I$qt_includes"
1095 LDFLAGS="$LDFLAGS $X_LDFLAGS"
1096 if test "x$kde_use_qt_emb" != "xyes"; then
1097 LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
1098 else
1099 LIBS="$LIBQT $LIBSOCKET"
1100 fi
1101 LD_LIBRARY_PATH=
1102 export LD_LIBRARY_PATH
1103 LIBRARY_PATH=
1104 export LIBRARY_PATH
1105
1106 KDE_PRINT_QT_PROGRAM
1107
1108 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1109   kde_cv_qt_direct="yes"
1110 else
1111   kde_cv_qt_direct="no"
1112   echo "configure: failed program was:" >&AC_FD_CC
1113   cat conftest.$ac_ext >&AC_FD_CC
1114 fi
1115
1116 rm -f conftest*
1117 CXXFLAGS="$ac_cxxflags_safe"
1118 LDFLAGS="$ac_ldflags_safe"
1119 LIBS="$ac_libs_safe"
1120
1121 LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
1122 export LD_LIBRARY_PATH
1123 LIBRARY_PATH="$ac_LIBRARY_PATH"
1124 export LIBRARY_PATH
1125 AC_LANG_RESTORE
1126 ])
1127
1128 if test "$kde_cv_qt_direct" = "yes"; then
1129   AC_MSG_RESULT(yes)
1130   $1
1131 else
1132   AC_MSG_RESULT(no)
1133   $2
1134 fi
1135 ])
1136
1137 dnl ------------------------------------------------------------------------
1138 dnl Try to find the Qt headers and libraries.
1139 dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
1140 dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
1141 dnl ------------------------------------------------------------------------
1142 dnl
1143 AC_DEFUN(AC_PATH_QT_1_3,
1144 [
1145 AC_REQUIRE([K_PATH_X])
1146 AC_REQUIRE([KDE_USE_QT])
1147
1148 dnl ------------------------------------------------------------------------
1149 dnl Add configure flag to enable linking to MT version of Qt library.
1150 dnl ------------------------------------------------------------------------
1151
1152 AC_ARG_ENABLE(
1153   mt,
1154   [  --disable-mt            link to non-threaded Qt (deprecated)],
1155   kde_use_qt_mt=$enableval,
1156   [
1157     if test $kde_qtver = 3; then
1158       kde_use_qt_mt=yes
1159     else
1160       kde_use_qt_mt=no
1161     fi
1162   ]
1163 )
1164
1165 USING_QT_MT=""
1166
1167 dnl ------------------------------------------------------------------------
1168 dnl If we not get --disable-qt-mt then adjust some vars for the host.
1169 dnl ------------------------------------------------------------------------
1170
1171 KDE_MT_LDFLAGS=
1172 KDE_MT_LIBS=
1173 if test "x$kde_use_qt_mt" = "xyes"; then
1174   KDE_CHECK_THREADING
1175   if test "x$kde_use_threading" = "xyes"; then
1176     CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS"
1177     KDE_MT_LDFLAGS="$USE_THREADS"
1178     KDE_MT_LIBS="$LIBPTHREAD"
1179   else
1180     kde_use_qt_mt=no
1181   fi
1182 fi
1183 AC_SUBST(KDE_MT_LDFLAGS)
1184 AC_SUBST(KDE_MT_LIBS)
1185
1186 kde_qt_was_given=yes
1187
1188 dnl ------------------------------------------------------------------------
1189 dnl If we haven't been told how to link to Qt, we work it out for ourselves.
1190 dnl ------------------------------------------------------------------------
1191 if test -z "$LIBQT_GLOB"; then
1192   if test "x$kde_use_qt_emb" = "xyes"; then
1193     LIBQT_GLOB="libqte.*"
1194   else
1195     LIBQT_GLOB="libqt.*"
1196   fi
1197 fi
1198
1199 if test -z "$LIBQT"; then
1200 dnl ------------------------------------------------------------
1201 dnl If we got --enable-embedded then adjust the Qt library name.
1202 dnl ------------------------------------------------------------
1203   if test "x$kde_use_qt_emb" = "xyes"; then
1204     qtlib="qte"
1205   else
1206     qtlib="qt"
1207   fi
1208
1209   kde_int_qt="-l$qtlib"
1210 else
1211   kde_int_qt="$LIBQT"
1212   kde_lib_qt_set=yes
1213 fi
1214
1215 if test -z "$LIBQPE"; then
1216 dnl ------------------------------------------------------------
1217 dnl If we got --enable-palmtop then add -lqpe to the link line
1218 dnl ------------------------------------------------------------
1219   if test "x$kde_use_qt_emb" = "xyes"; then
1220     if test "x$kde_use_qt_emb_palm" = "xyes"; then
1221       LIB_QPE="-lqpe"
1222     else
1223       LIB_QPE=""
1224     fi
1225   else
1226     LIB_QPE=""
1227   fi
1228 fi
1229
1230 dnl ------------------------------------------------------------------------
1231 dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
1232 dnl ------------------------------------------------------------------------
1233
1234 if test "x$kde_use_qt_mt" = "xyes"; then
1235   if test -z "$LIBQT"; then
1236     LIBQT="-l$qtlib-mt"
1237     kde_int_qt="-l$qtlib-mt"
1238   else
1239     LIBQT="$qtlib-mt"
1240     kde_int_qt="$qtlib-mt"
1241   fi
1242   LIBQT_GLOB="lib$qtlib-mt.*"
1243   USING_QT_MT="using -mt"
1244 else
1245   LIBQT="-l$qtlib"
1246 fi
1247
1248 if test $kde_qtver != 1; then
1249
1250   AC_REQUIRE([AC_FIND_PNG])
1251   AC_REQUIRE([AC_FIND_JPEG])
1252   LIBQT="$LIBQT $LIBPNG $LIBJPEG"
1253 fi
1254
1255 AC_MSG_CHECKING([for Qt])
1256
1257 if test "x$kde_use_qt_emb" != "xyes"; then
1258 LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
1259 fi
1260 ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
1261 qt_libraries=""
1262 qt_includes=""
1263 AC_ARG_WITH(qt-dir,
1264     [  --with-qt-dir=DIR       where the root of Qt is installed ],
1265     [  ac_qt_includes="$withval"/include
1266        ac_qt_libraries="$withval"/lib
1267        ac_qt_bindir="$withval"/bin
1268     ])
1269
1270 AC_ARG_WITH(qt-includes,
1271     [  --with-qt-includes=DIR  where the Qt includes are. ],
1272     [
1273        ac_qt_includes="$withval"
1274     ])
1275
1276 kde_qt_libs_given=no
1277
1278 AC_ARG_WITH(qt-libraries,
1279     [  --with-qt-libraries=DIR where the Qt library is installed.],
1280     [  ac_qt_libraries="$withval"
1281        kde_qt_libs_given=yes
1282     ])
1283
1284 AC_CACHE_VAL(ac_cv_have_qt,
1285 [#try to guess Qt locations
1286
1287 qt_incdirs=""
1288 for dir in $kde_qt_dirs; do
1289    qt_incdirs="$qt_incdirs $dir/include $dir"
1290 done
1291 qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 $x_includes"
1292 if test ! "$ac_qt_includes" = "NO"; then
1293    qt_incdirs="$ac_qt_includes $qt_incdirs"
1294 fi
1295
1296 if test "$kde_qtver" != "1"; then
1297   kde_qt_header=qstyle.h
1298 else
1299   kde_qt_header=qglobal.h
1300 fi
1301
1302 AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
1303 ac_qt_includes="$qt_incdir"
1304
1305 qt_libdirs=""
1306 for dir in $kde_qt_dirs; do
1307    qt_libdirs="$qt_libdirs $dir/lib $dir"
1308 done
1309 qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
1310 if test ! "$ac_qt_libraries" = "NO"; then
1311   qt_libdir=$ac_qt_libraries
1312 else
1313   qt_libdirs="$ac_qt_libraries $qt_libdirs"
1314   # if the Qt was given, the chance is too big that libqt.* doesn't exist
1315   qt_libdir=NONE
1316   for dir in $qt_libdirs; do
1317     try="ls -1 $dir/${LIBQT_GLOB}"
1318     if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
1319   done
1320 fi
1321
1322 ac_qt_libraries="$qt_libdir"
1323
1324 AC_LANG_SAVE
1325 AC_LANG_CPLUSPLUS
1326
1327 ac_cxxflags_safe="$CXXFLAGS"
1328 ac_ldflags_safe="$LDFLAGS"
1329 ac_libs_safe="$LIBS"
1330
1331 CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
1332 LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
1333 LIBS="$LIBS $LIBQT $KDE_MT_LIBS"
1334
1335 KDE_PRINT_QT_PROGRAM
1336
1337 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1338   rm -f conftest*
1339 else
1340   echo "configure: failed program was:" >&AC_FD_CC
1341   cat conftest.$ac_ext >&AC_FD_CC
1342   ac_qt_libraries="NO"
1343 fi
1344 rm -f conftest*
1345 CXXFLAGS="$ac_cxxflags_safe"
1346 LDFLAGS="$ac_ldflags_safe"
1347 LIBS="$ac_libs_safe"
1348
1349 AC_LANG_RESTORE
1350 if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
1351   ac_cv_have_qt="have_qt=no"
1352   ac_qt_notfound=""
1353   missing_qt_mt=""
1354   if test "$ac_qt_includes" = NO; then
1355     if test "$ac_qt_libraries" = NO; then
1356       ac_qt_notfound="(headers and libraries)";
1357     else
1358       ac_qt_notfound="(headers)";
1359     fi
1360   else
1361     if test "x$kde_use_qt_mt" = "xyes"; then
1362        missing_qt_mt="
1363 Make sure that you have compiled Qt with thread support!"
1364        ac_qt_notfound="(library $qtlib-mt)";
1365     else
1366        ac_qt_notfound="(library $qtlib)";
1367     fi
1368   fi
1369
1370   AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
1371 For more details about this problem, look at the end of config.log.$missing_qt_mt])
1372 else
1373   have_qt="yes"
1374 fi
1375 ])
1376
1377 eval "$ac_cv_have_qt"
1378
1379 if test "$have_qt" != yes; then
1380   AC_MSG_RESULT([$have_qt]);
1381 else
1382   ac_cv_have_qt="have_qt=yes \
1383     ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
1384   AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
1385
1386   qt_libraries="$ac_qt_libraries"
1387   qt_includes="$ac_qt_includes"
1388 fi
1389
1390 if test ! "$kde_qt_libs_given" = "yes"; then
1391 KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
1392 fi
1393
1394 AC_SUBST(qt_libraries)
1395 AC_SUBST(qt_includes)
1396
1397 if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
1398  QT_INCLUDES=""
1399 else
1400  QT_INCLUDES="-I$qt_includes"
1401  all_includes="$QT_INCLUDES $all_includes"
1402 fi
1403
1404 if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
1405  QT_LDFLAGS=""
1406 else
1407  QT_LDFLAGS="-L$qt_libraries"
1408  all_libraries="$all_libraries $QT_LDFLAGS"
1409 fi
1410 test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
1411
1412 AC_SUBST(QT_INCLUDES)
1413 AC_SUBST(QT_LDFLAGS)
1414 AC_PATH_QT_MOC_UIC
1415
1416 if test "x$kde_use_qt_emb" != "xyes"; then
1417 LIB_QT="$kde_int_qt "'$(LIBPNG) $(LIBJPEG) -lXext $(LIB_X11) $(LIBSM)'
1418 else
1419 LIB_QT="$kde_int_qt "'$(LIBPNG) $(LIBJPEG)'
1420 fi
1421 test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
1422
1423 AC_SUBST(LIB_QT)
1424 AC_SUBST(LIB_QPE)
1425
1426 AC_SUBST(kde_qtver)
1427 ])
1428
1429 AC_DEFUN(AC_PATH_QT,
1430 [
1431 AC_PATH_QT_1_3
1432 ])
1433
1434 AC_DEFUN(KDE_CHECK_FINAL,
1435 [
1436   AC_ARG_ENABLE(final, [  --enable-final          build size optimized apps (experimental - needs lots of memory)],
1437         kde_use_final=$enableval, kde_use_final=no)
1438
1439   KDE_COMPILER_REPO
1440   if test "x$kde_use_final" = "xyes"; then
1441       KDE_USE_FINAL_TRUE=""
1442       KDE_USE_FINAL_FALSE="#"
1443    else
1444       KDE_USE_FINAL_TRUE="#"
1445       KDE_USE_FINAL_FALSE=""
1446   fi
1447   AC_SUBST(KDE_USE_FINAL_TRUE)
1448   AC_SUBST(KDE_USE_FINAL_FALSE)
1449
1450   AC_ARG_ENABLE(closure, [  --disable-closure       don't delay template instantiation],
1451         kde_use_closure=$enableval, kde_use_closure=yes)
1452
1453   if test "x$kde_use_closure" = "xyes"; then
1454        KDE_USE_CLOSURE_TRUE=""
1455        KDE_USE_CLOSURE_FALSE="#"
1456 #       CXXFLAGS="$CXXFLAGS $REPO"
1457   else
1458        KDE_USE_CLOSURE_TRUE="#"
1459        KDE_USE_CLOSURE_FALSE=""
1460   fi
1461   AC_SUBST(KDE_USE_CLOSURE_TRUE)
1462   AC_SUBST(KDE_USE_CLOSURE_FALSE)
1463 ])
1464
1465 dnl ------------------------------------------------------------------------
1466 dnl Now, the same with KDE
1467 dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
1468 dnl and $(kde_includes) will be the kdehdrlocation (if needed)
1469 dnl ------------------------------------------------------------------------
1470 dnl
1471 AC_DEFUN(AC_BASE_PATH_KDE,
1472 [
1473 AC_PREREQ([2.13])
1474 AC_REQUIRE([AC_PATH_QT])dnl
1475 AC_CHECK_RPATH
1476 AC_MSG_CHECKING([for KDE])
1477
1478 if test "${prefix}" != NONE; then
1479   kde_includes=${prefix}/include
1480   ac_kde_includes=$prefix/include
1481
1482   if test "${exec_prefix}" != NONE; then
1483     kde_libraries=${exec_prefix}/lib
1484     ac_kde_libraries=$exec_prefix/lib
1485   else
1486     kde_libraries=${prefix}/lib
1487     ac_kde_libraries=$prefix/lib
1488   fi
1489 else
1490   ac_kde_includes=
1491   ac_kde_libraries=
1492   kde_libraries=""
1493   kde_includes=""
1494 fi
1495
1496 AC_CACHE_VAL(ac_cv_have_kde,
1497 [#try to guess kde locations
1498
1499 if test "$kde_qtver" = 1; then
1500   kde_check_header="ksock.h"
1501   kde_check_lib="libkdecore.la"
1502 else
1503   kde_check_header="ksharedptr.h"
1504   kde_check_lib="libkio.la"
1505 fi
1506
1507 if test -z "$1"; then
1508
1509 kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
1510 test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
1511 kde_incdirs="$ac_kde_includes $kde_incdirs"
1512 AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
1513 ac_kde_includes="$kde_incdir"
1514
1515 if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
1516   AC_MSG_ERROR([
1517 in the prefix, you've chosen, are no KDE headers installed. This will fail.
1518 So, check this please and use another prefix!])
1519 fi
1520
1521 kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib"
1522 test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib $KDEDIR $kde_libdirs"
1523 kde_libdirs="$ac_kde_libraries $kde_libdirs"
1524 AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
1525 ac_kde_libraries="$kde_libdir"
1526
1527 if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
1528 AC_MSG_ERROR([
1529 in the prefix, you've chosen, are no KDE libraries installed. This will fail.
1530 So, check this please and use another prefix!])
1531 fi
1532 ac_kde_libraries="$kde_libdir"
1533
1534 if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO; then
1535   ac_cv_have_kde="have_kde=no"
1536 else
1537   ac_cv_have_kde="have_kde=yes \
1538     ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1539 fi
1540
1541 else dnl test -z $1
1542
1543   ac_cv_have_kde="have_kde=no"
1544
1545 fi
1546 ])dnl
1547
1548 eval "$ac_cv_have_kde"
1549
1550 if test "$have_kde" != "yes"; then
1551  if test "${prefix}" = NONE; then
1552   ac_kde_prefix="$ac_default_prefix"
1553  else
1554   ac_kde_prefix="$prefix"
1555  fi
1556  if test "$exec_prefix" = NONE; then
1557   ac_kde_exec_prefix="$ac_kde_prefix"
1558   AC_MSG_RESULT([will be installed in $ac_kde_prefix])
1559  else
1560   ac_kde_exec_prefix="$exec_prefix"
1561   AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
1562  fi
1563
1564  kde_libraries="${ac_kde_exec_prefix}/lib"
1565  kde_includes=${ac_kde_prefix}/include
1566
1567 else
1568   ac_cv_have_kde="have_kde=yes \
1569     ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1570   AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
1571
1572   kde_libraries="$ac_kde_libraries"
1573   kde_includes="$ac_kde_includes"
1574 fi
1575 AC_SUBST(kde_libraries)
1576 AC_SUBST(kde_includes)
1577
1578 if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes"  || test "$kde_includes" = "/usr/include"; then
1579  KDE_INCLUDES=""
1580 else
1581  KDE_INCLUDES="-I$kde_includes"
1582  all_includes="$KDE_INCLUDES $all_includes"
1583 fi
1584  
1585 KDE_LDFLAGS="-L$kde_libraries"
1586 if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then 
1587  all_libraries="$all_libraries $KDE_LDFLAGS"
1588 fi
1589
1590 AC_SUBST(KDE_LDFLAGS)
1591 AC_SUBST(KDE_INCLUDES)
1592
1593 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
1594
1595 all_libraries="$all_libraries $USER_LDFLAGS"
1596 all_includes="$all_includes $USER_INCLUDES"
1597 AC_SUBST(all_includes)
1598 AC_SUBST(all_libraries)
1599
1600 AC_SUBST(AUTODIRS)
1601 ])
1602
1603 AC_DEFUN(KDE_CHECK_EXTRA_LIBS,
1604 [
1605 AC_MSG_CHECKING(for extra includes)
1606 AC_ARG_WITH(extra-includes, [  --with-extra-includes=DIR
1607                           adds non standard include paths],
1608   kde_use_extra_includes="$withval",
1609   kde_use_extra_includes=NONE
1610 )
1611 kde_extra_includes=
1612 if test -n "$kde_use_extra_includes" && \
1613    test "$kde_use_extra_includes" != "NONE"; then
1614
1615    ac_save_ifs=$IFS
1616    IFS=':'
1617    for dir in $kde_use_extra_includes; do
1618      kde_extra_includes="$kde_extra_includes $dir"
1619      USER_INCLUDES="$USER_INCLUDES -I$dir"
1620    done
1621    IFS=$ac_save_ifs
1622    kde_use_extra_includes="added"
1623 else
1624    kde_use_extra_includes="no"
1625 fi
1626 AC_SUBST(USER_INCLUDES)
1627
1628 AC_MSG_RESULT($kde_use_extra_includes)
1629
1630 kde_extra_libs=
1631 AC_MSG_CHECKING(for extra libs)
1632 AC_ARG_WITH(extra-libs, [  --with-extra-libs=DIR   adds non standard library paths],
1633   kde_use_extra_libs=$withval,
1634   kde_use_extra_libs=NONE
1635 )
1636 if test -n "$kde_use_extra_libs" && \
1637    test "$kde_use_extra_libs" != "NONE"; then
1638
1639    ac_save_ifs=$IFS
1640    IFS=':'
1641    for dir in $kde_use_extra_libs; do
1642      kde_extra_libs="$kde_extra_libs $dir"
1643      KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
1644      USER_LDFLAGS="$USER_LDFLAGS -L$dir"
1645    done
1646    IFS=$ac_save_ifs
1647    kde_use_extra_libs="added"
1648 else
1649    kde_use_extra_libs="no"
1650 fi
1651
1652 AC_SUBST(USER_LDFLAGS)
1653
1654 AC_MSG_RESULT($kde_use_extra_libs)
1655
1656 ])
1657
1658 AC_DEFUN(KDE_1_CHECK_PATH_HEADERS,
1659 [
1660     AC_MSG_CHECKING([for KDE headers installed])
1661     AC_LANG_SAVE
1662     AC_LANG_CPLUSPLUS
1663 cat > conftest.$ac_ext <<EOF
1664 #ifdef STDC_HEADERS
1665 # include <stdlib.h>
1666 #endif
1667 #include <stdio.h>
1668 #include "confdefs.h"
1669 #include <kapp.h>
1670
1671 int main() {
1672     printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
1673     printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
1674     printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
1675     printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
1676     printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
1677     printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
1678     printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
1679     printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
1680     printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
1681     printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
1682     printf("kde_wallpaperdir=\\"%s\\"\n",
1683         KApplication::kde_wallpaperdir().data());
1684     printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
1685     printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
1686     printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
1687     printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
1688     printf("kde_moduledir=\\"/tmp/dummy\\"\n");
1689     printf("kde_styledir=\\"/tmp/dummy\\"\n");
1690     printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
1691     return 0;
1692     }
1693 EOF
1694
1695  ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext'
1696  if AC_TRY_EVAL(ac_compile); then
1697    AC_MSG_RESULT(yes)
1698  else
1699    AC_MSG_ERROR([your system is not able to compile a small KDE application!
1700 Check, if you installed the KDE header files correctly.
1701 For more details about this problem, look at the end of config.log.])
1702   fi
1703
1704   AC_LANG_RESTORE
1705 ])
1706
1707 AC_DEFUN(KDE_CHECK_KDEQTADDON,
1708 [
1709 AC_MSG_CHECKING(for kde-qt-addon)
1710 AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
1711 [
1712  kde_ldflags_safe="$LDFLAGS"
1713  kde_libs_safe="$LIBS"
1714  kde_cxxflags_safe="$CXXFLAGS"
1715
1716  LIBS="-lkde-qt-addon $LIBQT $LIBS"
1717  CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
1718  LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
1719
1720  AC_TRY_LINK([
1721    #include <qdom.h>
1722  ],
1723  [
1724    QDomDocument doc;
1725  ],
1726   kde_cv_have_kdeqtaddon=yes,
1727   kde_cv_have_kdeqtaddon=no
1728  )
1729
1730  LDFLAGS=$kde_ldflags_safe
1731  LIBS=$kde_libs_safe
1732  kde_cxxflags_safe="$CXXFLAGS"
1733 ])
1734
1735 AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
1736
1737 if test "$kde_cv_have_kdeqtaddon" = "no"; then
1738   AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
1739 It is a separate package (and CVS module) named kde-qt-addon.])
1740 fi
1741 ])
1742
1743 AC_DEFUN(KDE_CHECK_KIMGIO,
1744 [
1745    AC_REQUIRE([AC_BASE_PATH_KDE])
1746    AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
1747    AC_REQUIRE([AC_FIND_TIFF])
1748    AC_REQUIRE([AC_FIND_JPEG])
1749    AC_REQUIRE([AC_FIND_PNG])
1750    AC_REQUIRE([KDE_CREATE_LIBS_ALIASES])
1751
1752    if test "$1" = "existance"; then
1753      AC_LANG_SAVE
1754      AC_LANG_CPLUSPLUS
1755      kde_save_LIBS="$LIBS"
1756      LIBS="$LIBS $all_libraries $LIBJPEG $LIBTIFF $LIBPNG $LIBQT -lm"
1757      AC_CHECK_LIB(kimgio, kimgioRegister, [
1758       LIBKIMGIO_EXISTS=yes],LIBKIMGIO_EXISTS=no)
1759      LIBS="$kde_save_LIBS"
1760      AC_LANG_RESTORE
1761    else
1762      LIBKIMGIO_EXISTS=yes
1763    fi
1764
1765    if test "$LIBKIMGIO_EXISTS" = "yes"; then
1766      LIB_KIMGIO='-lkimgio'
1767    else
1768      LIB_KIMGIO=''
1769    fi
1770    AC_SUBST(LIB_KIMGIO)
1771 ])
1772
1773 AC_DEFUN(KDE_CREATE_LIBS_ALIASES,
1774 [
1775    AC_REQUIRE([KDE_MISC_TESTS])
1776    AC_REQUIRE([KDE_CHECK_LIBDL])
1777    AC_REQUIRE([K_PATH_X])
1778
1779 if test $kde_qtver != 1; then
1780    LIB_KDECORE='-lkdecore'
1781    AC_SUBST(LIB_KDECORE)
1782    LIB_KDEUI='-lkdeui'
1783    AC_SUBST(LIB_KDEUI)
1784    LIB_KIO='-lkio'
1785    AC_SUBST(LIB_KIO)
1786    LIB_KSYCOCA='-lksycoca'
1787    AC_SUBST(LIB_KSYCOCA)
1788    LIB_SMB='-lsmb'
1789    AC_SUBST(LIB_SMB)
1790    LIB_KFILE='-lkfile'
1791    AC_SUBST(LIB_KFILE)
1792    LIB_KAB='-lkab'
1793    AC_SUBST(LIB_KAB)
1794    LIB_KHTML='-lkhtml'
1795    AC_SUBST(LIB_KHTML)
1796    LIB_KSPELL='-lkspell'
1797    AC_SUBST(LIB_KSPELL)
1798    LIB_KPARTS='-lkparts'
1799    AC_SUBST(LIB_KPARTS)
1800    LIB_KDEPRINT='-lkdeprint'
1801    AC_SUBST(LIB_KDEPRINT)
1802 else
1803    LIB_KDECORE='-lkdecore -lXext $(LIB_QT)'
1804    AC_SUBST(LIB_KDECORE)
1805    LIB_KDEUI='-lkdeui $(LIB_KDECORE)'
1806    AC_SUBST(LIB_KDEUI)
1807    LIB_KFM='-lkfm $(LIB_KDECORE)'
1808    AC_SUBST(LIB_KFM)
1809    LIB_KFILE='-lkfile $(LIB_KFM) $(LIB_KDEUI)'
1810    AC_SUBST(LIB_KFILE)
1811    LIB_KAB='-lkab $(LIB_KIMGIO) $(LIB_KDECORE)'
1812    AC_SUBST(LIB_KAB)
1813 fi
1814 ])
1815
1816 AC_DEFUN(AC_PATH_KDE,
1817 [
1818   AC_BASE_PATH_KDE
1819   AC_ARG_ENABLE(path-check, [  --disable-path-check    don't try to find out, where to install],
1820   [
1821   if test "$enableval" = "no";
1822     then ac_use_path_checking="default"
1823     else ac_use_path_checking=""
1824   fi
1825   ],
1826   [
1827   if test "$kde_qtver" = 1;
1828     then ac_use_path_checking=""
1829     else ac_use_path_checking="default"
1830   fi
1831   ]
1832   )
1833
1834   AC_CREATE_KFSSTND($ac_use_path_checking)
1835
1836   AC_SUBST_KFSSTND
1837   KDE_CREATE_LIBS_ALIASES
1838 ])
1839
1840 dnl obsolete
1841 AC_DEFUN(AC_CHECK_SETENV,
1842 [
1843    AC_OBSOLETE([$0], [; instead use AC_CHECK_FUNCS([setenv unsetenv])])dnl 
1844    AC_CHECK_FUNCS([setenv unsetenv])
1845 ])
1846
1847 AC_DEFUN(AC_CHECK_GETDOMAINNAME,
1848 [
1849 AC_MSG_CHECKING(for getdomainname)
1850 AC_CACHE_VAL(ac_cv_func_getdomainname,
1851 [
1852 AC_LANG_SAVE
1853 AC_LANG_CPLUSPLUS
1854 save_CXXFLAGS="$CXXFLAGS"
1855 kde_safe_LIBS="$LIBS"
1856 LIBS="$LIBS $X_EXTRA_LIBS"
1857 if test "$GCC" = "yes"; then
1858 CXXFLAGS="$CXXFLAGS -pedantic-errors"
1859 fi
1860 AC_TRY_COMPILE([
1861 #include <stdlib.h>
1862 #include <unistd.h>
1863 ],
1864 [
1865 char buffer[200];
1866 getdomainname(buffer, 200);
1867 ],
1868 ac_cv_func_getdomainname=yes,
1869 ac_cv_func_getdomainname=no)
1870 CXXFLAGS="$save_CXXFLAGS"
1871 LIBS=$kde_safe_LIBS
1872 AC_LANG_RESTORE
1873 ])
1874 AC_MSG_RESULT($ac_cv_func_getdomainname)
1875
1876 AC_MSG_CHECKING([if getdomainname needs custom prototype])
1877 AC_CACHE_VAL(ac_cv_proto_getdomainname,
1878 [
1879 AC_LANG_SAVE
1880 AC_LANG_CPLUSPLUS
1881 if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
1882   ac_cv_proto_getdomainname=no
1883 else
1884   kde_safe_libs=$LIBS
1885   LIBS="$LIBS $X_EXTRA_LIBS"
1886   AC_TRY_LINK([
1887 #include <stdlib.h>
1888 #include <unistd.h>
1889
1890 extern "C" int getdomainname (char *, int);
1891 ],
1892 [
1893 char buffer[200];
1894 getdomainname(buffer, 200);
1895 ],
1896   ac_cv_func_getdomainname=yes
1897   ac_cv_proto_getdomainname=yes,
1898   AC_MSG_RESULT([fatal error])
1899   AC_MSG_ERROR([getdomainname unavailable]))
1900 fi
1901 LIBS=$kde_safe_libs
1902 AC_LANG_RESTORE
1903 ])
1904 AC_MSG_RESULT($ac_cv_proto_getdomainname)
1905
1906 if eval "test \"`echo $ac_cv_func_getdomainname`\" = yes"; then
1907   AC_DEFINE(HAVE_GETDOMAINNAME, 1, [Define if you have getdomainname])
1908 fi
1909 if eval "test \"`echo $ac_cv_proto_getdomainname`\" = no"; then
1910   AC_DEFINE(HAVE_GETDOMAINNAME_PROTO, 1,
1911   [Define if you have getdomainname prototype])
1912 fi
1913
1914 ])
1915
1916 AC_DEFUN(AC_CHECK_GETHOSTNAME,
1917 [
1918
1919 AC_MSG_CHECKING([for gethostname])
1920 AC_CACHE_VAL(ac_cv_func_gethostname,
1921 [
1922 AC_LANG_SAVE
1923 AC_LANG_CPLUSPLUS
1924 save_CXXFLAGS="$CXXFLAGS"
1925 if test "$GCC" = "yes"; then
1926 CXXFLAGS="$CXXFLAGS -pedantic-errors"
1927 fi
1928 AC_TRY_LINK([
1929 #include <stdlib.h>
1930 #include <unistd.h>
1931 ],
1932 [
1933 char buffer[200];
1934 gethostname(buffer, 200);
1935 ],
1936 ac_cv_func_gethostname=yes,
1937 ac_cv_func_gethostname=no)
1938 CXXFLAGS="$save_CXXFLAGS"
1939 AC_LANG_RESTORE
1940 ])
1941 AC_MSG_RESULT($ac_cv_func_gethostname)
1942
1943 AC_MSG_CHECKING([if gethostname needs custom prototype])
1944 AC_CACHE_VAL(ac_cv_proto_gethostname,
1945 [
1946 AC_LANG_SAVE
1947 AC_LANG_CPLUSPLUS
1948 if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
1949   ac_cv_proto_gethostname=no
1950 else
1951   AC_TRY_LINK([
1952 #include <stdlib.h>
1953 #include <unistd.h>
1954
1955 extern "C" int gethostname (char *, int);
1956 ],
1957 [
1958 char buffer[200];
1959 gethostname(buffer, 200);
1960 ],
1961   ac_cv_func_gethostname=yes
1962   ac_cv_proto_gethostname=yes,
1963   AC_MSG_RESULT([fatal error])
1964   AC_MSG_ERROR(gethostname unavailable))
1965 fi
1966 AC_LANG_RESTORE
1967 ])
1968 AC_MSG_RESULT($ac_cv_proto_gethostname)
1969
1970 if eval "test \"`echo $ac_cv_proto_gethostname`\" = no"; then
1971   AC_DEFINE(HAVE_GETHOSTNAME_PROTO, 1,
1972   [Define if you have gethostname prototype])
1973 fi
1974 if eval "test \"`echo $ac_cv_func_gethostname`\" = yes"; then
1975   AC_DEFINE(HAVE_GETHOSTNAME, 1, [Define if you have gethostname])
1976 fi
1977 ])
1978
1979 AC_DEFUN(AC_CHECK_USLEEP,
1980 [
1981 AC_MSG_CHECKING([for usleep])
1982 AC_CACHE_VAL(ac_cv_func_usleep,
1983 [
1984 AC_LANG_SAVE
1985 AC_LANG_CPLUSPLUS
1986 ac_libs_safe="$LIBS"
1987 LIBS="$LIBS $LIBUCB"
1988 AC_TRY_LINK([
1989 #include <stdlib.h>
1990 #include <unistd.h>
1991 ],
1992 [
1993 usleep(200);
1994 ],
1995 ac_cv_func_usleep=yes,
1996 ac_cv_func_usleep=no)
1997 LIBS="$ac_libs_safe"
1998 AC_LANG_RESTORE
1999 ])
2000 AC_MSG_RESULT($ac_cv_func_usleep)
2001 if eval "test \"`echo $ac_cv_func_usleep`\" = yes"; then
2002   AC_DEFINE(HAVE_USLEEP, 1, [Define if you have the usleep function])
2003 fi
2004 ])
2005
2006 AC_DEFUN(AC_CHECK_RANDOM,
2007 [
2008 AC_MSG_CHECKING([for random])
2009 AC_CACHE_VAL(ac_cv_func_random,
2010 [
2011 AC_LANG_SAVE
2012 AC_LANG_CPLUSPLUS
2013 ac_libs_safe="$LIBS"
2014 LIBS="$LIBS $LIBUCB"
2015 AC_TRY_LINK([
2016 #include <stdlib.h>
2017 ],
2018 [
2019 random();
2020 ],
2021 ac_cv_func_random=yes,
2022 ac_cv_func_random=no)
2023 LIBS="$ac_libs_safe"
2024 AC_LANG_RESTORE
2025 ])
2026 AC_MSG_RESULT($ac_cv_func_random)
2027 if eval "test \"`echo $ac_cv_func_random`\" = yes"; then
2028   AC_DEFINE(HAVE_RANDOM, 1, [Define if you have random])
2029 fi
2030 ])
2031
2032 AC_DEFUN(AC_FIND_GIF,
2033    [AC_MSG_CHECKING([for giflib])
2034 AC_CACHE_VAL(ac_cv_lib_gif,
2035 [ac_save_LIBS="$LIBS"
2036 if test "x$kde_use_qt_emb" != "xyes"; then
2037 LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
2038 else
2039 LIBS="$all_libraries -lgif"
2040 fi
2041 AC_TRY_LINK(dnl
2042 [
2043 #ifdef __cplusplus
2044 extern "C" {
2045 #endif
2046 int GifLastError(void);
2047 #ifdef __cplusplus
2048 }
2049 #endif
2050 /* We use char because int might match the return type of a gcc2
2051     builtin and then its argument prototype would still apply.  */
2052 ],
2053             [return GifLastError();],
2054             eval "ac_cv_lib_gif=yes",
2055             eval "ac_cv_lib_gif=no")
2056 LIBS="$ac_save_LIBS"
2057 ])dnl
2058 if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
2059   AC_MSG_RESULT(yes)
2060   AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
2061 else
2062   AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
2063 fi
2064 ])
2065
2066 AC_DEFUN(KDE_FIND_JPEG_HELPER,
2067 [
2068 AC_MSG_CHECKING([for libjpeg$2])
2069 AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
2070 [
2071 AC_LANG_C
2072 ac_save_LIBS="$LIBS"
2073 LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
2074 ac_save_CFLAGS="$CFLAGS"
2075 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2076 AC_TRY_LINK(
2077 [/* Override any gcc2 internal prototype to avoid an error.  */
2078 struct jpeg_decompress_struct;
2079 typedef struct jpeg_decompress_struct * j_decompress_ptr;
2080 typedef int size_t;
2081 #ifdef __cplusplus
2082 extern "C" {
2083 #endif
2084     void jpeg_CreateDecompress(j_decompress_ptr cinfo,
2085                                     int version, size_t structsize);
2086 #ifdef __cplusplus
2087 }
2088 #endif
2089 /* We use char because int might match the return type of a gcc2
2090     builtin and then its argument prototype would still apply.  */
2091 ],
2092             [jpeg_CreateDecompress(0L, 0, 0);],
2093             eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
2094             eval "ac_cv_lib_jpeg_$1=no")
2095 LIBS="$ac_save_LIBS"
2096 CFLAGS="$ac_save_CFLAGS"
2097 ])
2098
2099 if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
2100   LIBJPEG="$ac_cv_lib_jpeg_$1"
2101   AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
2102 else
2103   AC_MSG_RESULT(no)
2104   $3
2105 fi
2106
2107 ])
2108
2109 AC_DEFUN(AC_FIND_JPEG,
2110 [
2111 dnl first look for libraries
2112 KDE_FIND_JPEG_HELPER(6b, 6b,
2113    KDE_FIND_JPEG_HELPER(normal, [],
2114     [
2115        LIBJPEG=
2116     ]
2117    )
2118 )
2119
2120 dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
2121 dnl requires system dependent includes loaded before it)
2122 jpeg_incdirs="/usr/include /usr/local/include $kde_extra_includes"
2123 AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
2124 test "x$jpeg_incdir" = xNO && jpeg_incdir=
2125
2126 dnl if headers _and_ libraries are missing, this is no error, and we
2127 dnl continue with a warning (the user will get no jpeg support in khtml)
2128 dnl if only one is missing, it means a configuration error, but we still
2129 dnl only warn
2130 if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
2131   AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
2132 else
2133   if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
2134     AC_MSG_WARN([
2135 There is an installation error in jpeg support. You seem to have only one
2136 of either the headers _or_ the libraries installed. You may need to either
2137 provide correct --with-extra-... options, or the development package of
2138 libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
2139 Disabling JPEG support.
2140 ])
2141   else
2142     AC_MSG_WARN([libjpeg not found. disable JPEG support.])
2143   fi
2144   jpeg_incdir=
2145   LIBJPEG=
2146 fi
2147
2148 AC_SUBST(LIBJPEG)
2149 ])
2150
2151 AC_DEFUN(AC_FIND_ZLIB,
2152 [
2153 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2154 AC_MSG_CHECKING([for libz])
2155 AC_CACHE_VAL(ac_cv_lib_z,
2156 [
2157 AC_LANG_C
2158 kde_save_LIBS="$LIBS"
2159 LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
2160 kde_save_CFLAGS="$CFLAGS"
2161 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2162 AC_TRY_LINK(dnl
2163 [
2164 #include<zlib.h>
2165 ],
2166             [return (zlibVersion() == ZLIB_VERSION); ],
2167             eval "ac_cv_lib_z='-lz'",
2168             eval "ac_cv_lib_z=no")
2169 LIBS="$kde_save_LIBS"
2170 CFLAGS="$kde_save_CFLAGS"
2171 ])dnl
2172 if test ! "$ac_cv_lib_z" = no; then
2173   AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
2174   LIBZ="$ac_cv_lib_z"
2175   AC_SUBST(LIBZ)
2176   AC_MSG_RESULT($ac_cv_lib_z)
2177 else
2178   AC_MSG_ERROR(not found. Check your installation and look into config.log)
2179   LIBZ=""
2180   AC_SUBST(LIBZ)
2181 fi
2182 ])
2183
2184 AC_DEFUN(KDE_TRY_TIFFLIB,
2185 [
2186 AC_MSG_CHECKING([for libtiff $1])
2187
2188 AC_CACHE_VAL(kde_cv_libtiff_$1,
2189 [
2190 AC_LANG_SAVE
2191 AC_LANG_CPLUSPLUS
2192 kde_save_LIBS="$LIBS"
2193 if test "x$kde_use_qt_emb" != "xyes"; then
2194 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
2195 else
2196 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm"
2197 fi
2198 kde_save_CXXFLAGS="$CXXFLAGS"
2199 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2200
2201 AC_TRY_LINK(dnl
2202 [
2203 #include<tiffio.h>
2204 ],
2205     [return (TIFFOpen( "", "r") == 0); ],
2206 [
2207     kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
2208 ], [
2209     kde_cv_libtiff_$1=no
2210 ])
2211
2212 LIBS="$kde_save_LIBS"
2213 CXXFLAGS="$kde_save_CXXFLAGS"
2214 AC_LANG_RESTORE
2215 ])
2216
2217 if test "$kde_cv_libtiff_$1" = "no"; then
2218     AC_MSG_RESULT(no)
2219     LIBTIFF=""
2220     $3
2221 else
2222     LIBTIFF="$kde_cv_libtiff_$1"
2223     AC_MSG_RESULT(yes)
2224     AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
2225     $2
2226 fi
2227
2228 ])
2229
2230 AC_DEFUN(AC_FIND_TIFF,
2231 [
2232 AC_REQUIRE([K_PATH_X])
2233 AC_REQUIRE([AC_FIND_ZLIB])
2234 AC_REQUIRE([AC_FIND_JPEG])
2235 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2236
2237 KDE_TRY_TIFFLIB(tiff, [],
2238    KDE_TRY_TIFFLIB(tiff34))
2239
2240 AC_SUBST(LIBTIFF)
2241 ])
2242
2243
2244 AC_DEFUN(AC_FIND_PNG,
2245 [
2246 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2247 AC_REQUIRE([AC_FIND_ZLIB])
2248 AC_MSG_CHECKING([for libpng])
2249 AC_CACHE_VAL(ac_cv_lib_png,
2250 [
2251 kde_save_LIBS="$LIBS"
2252 if test "x$kde_use_qt_emb" != "xyes"; then
2253 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
2254 else
2255 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
2256 fi
2257 kde_save_CFLAGS="$CFLAGS"
2258 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2259 AC_LANG_C
2260 AC_TRY_LINK(dnl
2261     [
2262     #include<png.h>
2263     ],
2264     [
2265     png_structp png_ptr = png_create_read_struct(  /* image ptr */
2266                 PNG_LIBPNG_VER_STRING, 0, 0, 0 );
2267     return( png_ptr != 0 );
2268     ],
2269     eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
2270     eval "ac_cv_lib_png=no"
2271 )
2272 LIBS="$kde_save_LIBS"
2273 CFLAGS="$kde_save_CFLAGS"
2274 ])dnl
2275 if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
2276   AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
2277   LIBPNG="$ac_cv_lib_png"
2278   AC_SUBST(LIBPNG)
2279   AC_MSG_RESULT($ac_cv_lib_png)
2280 else
2281   AC_MSG_RESULT(no)
2282   LIBPNG=""
2283   AC_SUBST(LIBPNG)
2284 fi
2285 ])
2286
2287 AC_DEFUN(AC_CHECK_BOOL,
2288 [
2289   AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
2290 ])
2291
2292 AC_DEFUN(AC_CHECK_GNU_EXTENSIONS,
2293 [
2294 AC_MSG_CHECKING(if you need GNU extensions)
2295 AC_CACHE_VAL(ac_cv_gnu_extensions,
2296 [
2297 cat > conftest.c << EOF
2298 #include <features.h>
2299
2300 #ifdef __GNU_LIBRARY__
2301 yes
2302 #endif
2303 EOF
2304
2305 if (eval "$ac_cpp conftest.c") 2>&5 |
2306   egrep "yes" >/dev/null 2>&1; then
2307   rm -rf conftest*
2308   ac_cv_gnu_extensions=yes
2309 else
2310   ac_cv_gnu_extensions=no
2311 fi
2312 ])
2313
2314 AC_MSG_RESULT($ac_cv_gnu_extensions)
2315 if test "$ac_cv_gnu_extensions" = "yes"; then
2316   AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
2317 fi
2318 ])
2319
2320 AC_DEFUN(KDE_CHECK_COMPILER_FLAG,
2321 [
2322 AC_MSG_CHECKING(whether $CXX supports -$1)
2323 kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
2324 AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
2325 [
2326   AC_LANG_SAVE
2327   AC_LANG_CPLUSPLUS
2328   save_CXXFLAGS="$CXXFLAGS"
2329   CXXFLAGS="$CXXFLAGS -$1"
2330   AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], [])
2331   CXXFLAGS="$save_CXXFLAGS"
2332   AC_LANG_RESTORE
2333 ])
2334 if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
2335  AC_MSG_RESULT(yes)
2336  :
2337  $2
2338 else
2339  AC_MSG_RESULT(no)
2340  :
2341  $3
2342 fi
2343 ])
2344
2345 dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
2346 dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
2347 dnl it's all white-space separated
2348 AC_DEFUN(AC_REMOVE_FORBIDDEN,
2349 [ __val=$$1
2350   __forbid=" $2 "
2351   if test -n "$__val"; then
2352     __new=""
2353     ac_save_IFS=$IFS
2354     IFS="       "
2355     for i in $__val; do
2356       case "$__forbid" in
2357         *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
2358         *) # Careful to not add spaces, where there were none, because otherwise
2359            # libtool gets confused, if we change e.g. CXX
2360            if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
2361       esac
2362     done
2363     IFS=$ac_save_IFS
2364     $1=$__new
2365   fi
2366 ])
2367
2368 dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
2369 AC_DEFUN(AC_VALIDIFY_CXXFLAGS,
2370 [dnl
2371 if test "x$kde_use_qt_emb" != "xyes"; then
2372  AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
2373  AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
2374 else
2375  AC_REMOVE_FORBIDDEN(CXX, [-rpath])
2376  AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath])
2377 fi
2378 ])
2379
2380 AC_DEFUN(AC_CHECK_COMPILERS,
2381 [
2382   AC_ARG_ENABLE(debug,[  --enable-debug[=ARG]    enables debug symbols (yes|no|full) [default=no]],
2383   [
2384     case $enableval in
2385       yes)
2386         kde_use_debug_code="yes"
2387         kde_use_debug_define=no
2388         ;;
2389       full)
2390         kde_use_debug_code="full"
2391         kde_use_debug_define=no
2392         ;;
2393       *)
2394         kde_use_debug_code="no"
2395         kde_use_debug_define=yes
2396         ;;
2397     esac
2398   ], 
2399     [kde_use_debug_code="no"
2400       kde_use_debug_define=no
2401   ])
2402
2403   dnl Just for configure --help
2404   AC_ARG_ENABLE(dummyoption,[  --disable-debug         disables debug output and debug symbols [default=no]],[],[])
2405
2406   AC_ARG_ENABLE(strict,[  --enable-strict         compiles with strict compiler options (may not work!)],
2407    [
2408     if test $enableval = "no"; then
2409          kde_use_strict_options="no"
2410        else
2411          kde_use_strict_options="yes"
2412     fi
2413    ], [kde_use_strict_options="no"])
2414
2415   AC_ARG_ENABLE(profile,[  --enable-profile        creates profiling infos [default=no]],
2416     [kde_use_profiling=$enableval],
2417     [kde_use_profiling="no"]
2418   )
2419
2420   dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
2421   CFLAGS=" $CFLAGS"
2422
2423   AC_PROG_CC 
2424
2425   AC_PROG_CPP
2426
2427   if test "$GCC" = "yes"; then
2428     if test "$kde_use_debug_code" != "no"; then
2429       if test $kde_use_debug_code = "full"; then
2430         CFLAGS="-g3 $CFLAGS"
2431       else
2432         CFLAGS="-g -O2 $CFLAGS"
2433       fi
2434       case $host in
2435         *-*-linux-gnu)  
2436           CFLAGS="-ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
2437         ;;
2438       esac
2439     else
2440       CFLAGS="-O2 $CFLAGS"
2441     fi
2442   fi
2443
2444   if test "$kde_use_debug_define" = "yes"; then
2445     CFLAGS="-DNDEBUG $CFLAGS"
2446   fi
2447
2448   case "$host" in
2449   *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";;
2450   *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";;
2451   esac
2452
2453   if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
2454      LDFLAGS=""
2455   fi
2456
2457   CXXFLAGS=" $CXXFLAGS"
2458
2459   AC_PROG_CXX
2460
2461   if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
2462     if test "$kde_use_debug_code" != "no"; then
2463       if test "$CXX" = "KCC"; then
2464         CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS"
2465       else
2466         if test $kde_use_debug_code = "full"; then
2467           CXXFLAGS="-g3 -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS"
2468         else
2469           CXXFLAGS="-g -O2 -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS"
2470         fi
2471       fi
2472       KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"])
2473       KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"])
2474       KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"])
2475
2476       case $host in  dnl
2477       *-*-linux-gnu)
2478         CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wbad-function-cast -Wcast-align -Wundef -Wconversion $CXXFLAGS"
2479         ;;
2480       esac
2481
2482       if test "$kde_use_strict_options" = "yes"; then
2483         CXXFLAGS="-Wcast-qual -Wbad-function-cast -Wshadow -Wcast-align $CXXFLAGS"
2484       fi
2485
2486       if test "$kde_very_strict" = "yes"; then
2487         CXXFLAGS="-Wold-style-cast -Wredundant-decls -Wconversion $CXXFLAGS"
2488       fi
2489     else
2490       if test "$CXX" = "KCC"; then
2491         CXXFLAGS="+K3 $CXXFLAGS"
2492       else
2493         CXXFLAGS="-O2 $CXXFLAGS"
2494       fi  
2495     fi
2496   fi
2497
2498   if test "$kde_use_debug_define" = "yes"; then
2499     CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS"
2500   fi  
2501
2502   if test "$kde_use_profiling" = "yes"; then
2503     KDE_CHECK_COMPILER_FLAG(pg,
2504     [
2505       CFLAGS="-pg $CFLAGS"
2506       CXXFLAGS="-pg $CXXFLAGS"
2507     ])
2508   fi
2509     
2510   if test "$GXX" = "yes"; then
2511     KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
2512     KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
2513     KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS=       )
2514   fi
2515   if test "$CXX" = "KCC"; then
2516     dnl unfortunately we currently cannot disable exception support in KCC
2517     dnl because doing so is binary incompatible and Qt by default links with exceptions :-(
2518     dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"])
2519     dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS=   )
2520
2521     AC_ARG_ENABLE(pch,[  --enable-pch            enables precompiled header support (currently only KCC) [default=no]],
2522     [
2523       kde_use_pch=$enableval
2524     ],[kde_use_pch=no])
2525  
2526     if test "$kde_use_pch" = "yes"; then
2527       dnl TODO: support --pch-dir!
2528       KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"])
2529       dnl the below works (but the dir must exist), but it's
2530       dnl useless for a whole package.
2531       dnl The are precompiled headers for each source file, so when compiling
2532       dnl from scratch, it doesn't make a difference, and they take up
2533       dnl around ~5Mb _per_ sourcefile.
2534       dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp,
2535       dnl   [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"])
2536     fi
2537     dnl this flag controls inlining. by default KCC inlines in optimisation mode
2538     dnl all implementations that are defined inside the class {} declaration. 
2539     dnl because of templates-compatibility with broken gcc compilers, this
2540     dnl can cause excessive inlining. This flag limits it to a sane level
2541     KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"])
2542     KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"])
2543     KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"])
2544     KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"])
2545     dnl Some source files are shared between multiple executables
2546     dnl (or libraries) and some of those need template instantiations.
2547     dnl In that case KCC needs to compile those sources with
2548     dnl --one_instantiation_per_object.  To make it easy for us we compile
2549     dnl _all_ objects with that flag (--one_per is a shorthand).
2550     KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"])
2551   fi
2552   AC_SUBST(USE_EXCEPTIONS)
2553   dnl obsolete macro - provided to keep things going
2554   USE_RTTI=
2555   AC_SUBST(USE_RTTI)
2556
2557   case "$host" in
2558       *-*-irix*)  test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;;
2559       *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";;
2560       *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";;
2561       *-*-solaris*) 
2562         if test "$GXX" = yes; then
2563           libstdcpp=`$CXX -print-file-name=libstdc++.so`
2564           if test ! -f $libstdcpp; then
2565              AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so])
2566           fi
2567         fi
2568         ;;
2569   esac
2570
2571   AC_VALIDIFY_CXXFLAGS
2572
2573   AC_PROG_CXXCPP
2574
2575   # the following is to allow programs, that are known to
2576   # have problems when compiled with -O2
2577   if test -n "$CXXFLAGS"; then
2578       kde_safe_IFS=$IFS
2579       IFS=" "
2580       NOOPT_CXXFLAGS=""
2581       for i in $CXXFLAGS; do
2582         case $i in
2583           -O*)
2584                 ;;
2585           *)
2586                 NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS $i"
2587                 ;;
2588         esac
2589       done
2590       IFS=$kde_safe_IFS
2591   fi
2592
2593   if test "x$kde_use_qt_emb" = "xyes"; then
2594     NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS -fno-rtti -DQWS"
2595   fi
2596
2597   AC_SUBST(NOOPT_CXXFLAGS)
2598
2599   KDE_CHECK_FINAL
2600
2601   ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
2602
2603   KDE_CXXFLAGS=
2604   AC_SUBST(KDE_CXXFLAGS)
2605 ])
2606
2607 AC_DEFUN(KDE_ADD_DEPENDENCIES,
2608 [
2609    [A]M_DEPENDENCIES(CC)
2610    [A]M_DEPENDENCIES(CXX)
2611 ])
2612
2613 dnl just a wrapper to clean up configure.in
2614 AC_DEFUN(KDE_PROG_LIBTOOL,
2615 [
2616 AC_REQUIRE([AC_CHECK_COMPILERS])
2617 AC_REQUIRE([AC_ENABLE_SHARED])
2618 AC_REQUIRE([AC_ENABLE_STATIC])
2619
2620 AC_REQUIRE([AC_LIBTOOL_DLOPEN])
2621
2622 AC_LANG_SAVE
2623 AC_LANG_C
2624 AC_OBJEXT
2625 AC_EXEEXT
2626 AC_LANG_RESTORE
2627
2628 AM_PROG_LIBTOOL
2629 AC_LIBTOOL_CXX
2630
2631 LIBTOOL_SHELL="/bin/sh ./libtool"
2632 #  LIBTOOL="$LIBTOOL --silent"
2633 KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
2634 AC_SUBST(KDE_PLUGIN)
2635 ])
2636
2637 AC_DEFUN(KDE_CHECK_TYPES,
2638 [  AC_CHECK_SIZEOF(int, 4)dnl
2639   AC_CHECK_SIZEOF(long, 4)dnl
2640   AC_CHECK_SIZEOF(char *, 4)dnl
2641   AC_CHECK_SIZEOF(char, 1)dnl
2642 ])dnl
2643
2644 AC_DEFUN(KDE_DO_IT_ALL,
2645 [
2646 AC_CANONICAL_SYSTEM
2647 AC_ARG_PROGRAM
2648 AM_INIT_AUTOMAKE($1, $2)
2649 AM_DISABLE_LIBRARIES
2650 AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
2651 AC_CHECK_COMPILERS
2652 KDE_PROG_LIBTOOL
2653 AM_KDE_WITH_NLS
2654 AC_PATH_KDE
2655 ])
2656
2657 AC_DEFUN(AC_CHECK_RPATH,
2658 [
2659 AC_MSG_CHECKING(for rpath)
2660 AC_ARG_ENABLE(rpath,
2661       [  --disable-rpath         do not use the rpath feature of ld],
2662       USE_RPATH=$enableval, USE_RPATH=yes)
2663
2664 if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
2665
2666   KDE_RPATH="-R \$(kde_libraries)"
2667
2668   if test -n "$qt_libraries"; then
2669     KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
2670   fi
2671   dnl $x_libraries is set to /usr/lib in case
2672   if test -n "$X_LDFLAGS"; then
2673     KDE_RPATH="$KDE_RPATH -R \$(x_libraries)"
2674   fi
2675   if test -n "$KDE_EXTRA_RPATH"; then
2676     KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
2677   fi
2678 fi
2679 AC_SUBST(KDE_EXTRA_RPATH)
2680 AC_SUBST(KDE_RPATH)
2681 AC_MSG_RESULT($USE_RPATH)
2682 ])
2683
2684 dnl Check for the type of the third argument of getsockname
2685 AC_DEFUN(AC_CHECK_SOCKLEN_T, [
2686   AC_MSG_CHECKING(for socklen_t)
2687   AC_CACHE_VAL(ac_cv_socklen_t, [
2688     AC_LANG_SAVE
2689     AC_LANG_CPLUSPLUS
2690     AC_TRY_COMPILE([
2691 #include <sys/types.h>
2692 #include <sys/socket.h>
2693       ],[
2694 socklen_t a=0;
2695 getsockname(0,(struct sockaddr*)0, &a);
2696       ],
2697       ac_cv_socklen_t=socklen_t,
2698       AC_TRY_COMPILE([
2699 #include <sys/types.h>
2700 #include <sys/socket.h>
2701         ],[
2702 int a=0;
2703 getsockname(0,(struct sockaddr*)0, &a);
2704         ],
2705         ac_cv_socklen_t=int,
2706         ac_cv_socklen_t=size_t
2707       )
2708     )
2709     AC_LANG_RESTORE
2710   ])
2711
2712   AC_MSG_RESULT($ac_cv_socklen_t)
2713   if test "$ac_cv_socklen_t" != "socklen_t"; then
2714     AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t,
2715         [Define the real type of socklen_t])
2716   fi
2717   AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define])
2718
2719 ])
2720
2721 dnl This is a merge of some macros out of the gettext aclocal.m4
2722 dnl since we don't need anything, I took the things we need
2723 dnl the copyright for them is:
2724 dnl >
2725 dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
2726 dnl This Makefile.in is free software; the Free Software Foundation
2727 dnl gives unlimited permission to copy and/or distribute it,
2728 dnl with or without modifications, as long as this notice is preserved.
2729
2730 dnl This program is distributed in the hope that it will be useful,
2731 dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
2732 dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
2733 dnl PARTICULAR PURPOSE.
2734 dnl >
2735 dnl for this file it is relicensed under LGPL
2736
2737 AC_DEFUN(AM_KDE_WITH_NLS,
2738   [
2739     dnl If we use NLS figure out what method
2740
2741     AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
2742         [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
2743     AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
2744
2745      if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
2746         AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
2747         GMSGFMT=":"
2748       fi
2749       MSGFMT=$GMSGFMT
2750       AC_SUBST(GMSGFMT)
2751       AC_SUBST(MSGFMT)
2752
2753       AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
2754         [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
2755
2756       dnl Test whether we really found GNU xgettext.
2757       if test "$XGETTEXT" != ":"; then
2758         dnl If it is no GNU xgettext we define it as : so that the
2759         dnl Makefiles still can work.
2760         if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
2761           : ;
2762         else
2763           AC_MSG_RESULT(
2764             [found xgettext programs is not GNU xgettext; ignore it])
2765           XGETTEXT=":"
2766         fi
2767       fi
2768      AC_SUBST(XGETTEXT)
2769
2770   ])
2771
2772 # Search path for a program which passes the given test.
2773 # Ulrich Drepper <drepper@cygnus.com>, 1996.
2774
2775 # serial 1
2776 # Stephan Kulow: I appended a _KDE against name conflicts
2777
2778 dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR,
2779 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
2780 AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE,
2781 [# Extract the first word of "$2", so it can be a program name with args.
2782 set dummy $2; ac_word=[$]2
2783 AC_MSG_CHECKING([for $ac_word])
2784 AC_CACHE_VAL(ac_cv_path_$1,
2785 [case "[$]$1" in
2786   /*)
2787   ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
2788   ;;
2789   *)
2790   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
2791   for ac_dir in ifelse([$5], , $PATH, [$5]); do
2792     test -z "$ac_dir" && ac_dir=.
2793     if test -f $ac_dir/$ac_word; then
2794       if [$3]; then
2795         ac_cv_path_$1="$ac_dir/$ac_word"
2796         break
2797       fi
2798     fi
2799   done
2800   IFS="$ac_save_ifs"
2801 dnl If no 4th arg is given, leave the cache variable unset,
2802 dnl so AC_PATH_PROGS will keep looking.
2803 ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
2804 ])dnl
2805   ;;
2806 esac])dnl
2807 $1="$ac_cv_path_$1"
2808 if test -n "[$]$1"; then
2809   AC_MSG_RESULT([$]$1)
2810 else
2811   AC_MSG_RESULT(no)
2812 fi
2813 AC_SUBST($1)dnl
2814 ])
2815
2816
2817 # Check whether LC_MESSAGES is available in <locale.h>.
2818 # Ulrich Drepper <drepper@cygnus.com>, 1995.
2819
2820 # serial 1
2821
2822 AC_DEFUN(AM_LC_MESSAGES,
2823   [if test $ac_cv_header_locale_h = yes; then
2824     AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
2825       [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
2826        am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
2827     if test $am_cv_val_LC_MESSAGES = yes; then
2828       AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES])
2829     fi
2830   fi])
2831
2832 dnl From Jim Meyering.
2833 dnl FIXME: migrate into libit.
2834
2835 AC_DEFUN([AM_FUNC_OBSTACK],
2836 [AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
2837  [AC_TRY_LINK([#include "obstack.h"],
2838               [struct obstack *mem;obstack_free(mem,(char *) 0)],
2839               am_cv_func_obstack=yes,
2840               am_cv_func_obstack=no)])
2841  if test $am_cv_func_obstack = yes; then
2842    AC_DEFINE(HAVE_OBSTACK)
2843  else
2844    LIBOBJS="$LIBOBJS obstack.o"
2845  fi
2846 ])
2847
2848 dnl From Jim Meyering.  Use this if you use the GNU error.[ch].
2849 dnl FIXME: Migrate into libit
2850
2851 AC_DEFUN([AM_FUNC_ERROR_AT_LINE],
2852 [AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
2853  [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
2854               am_cv_lib_error_at_line=yes,
2855               am_cv_lib_error_at_line=no)])
2856  if test $am_cv_lib_error_at_line = no; then
2857    LIBOBJS="$LIBOBJS error.o"
2858  fi
2859  AC_SUBST(LIBOBJS)dnl
2860 ])
2861
2862 # Macro to add for using GNU gettext.
2863 # Ulrich Drepper <drepper@cygnus.com>, 1995.
2864
2865 # serial 1
2866 # Stephan Kulow: I put a KDE in it to avoid name conflicts
2867
2868 AC_DEFUN(AM_KDE_GNU_GETTEXT,
2869   [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
2870    AC_REQUIRE([AC_PROG_RANLIB])dnl
2871    AC_REQUIRE([AC_HEADER_STDC])dnl
2872    AC_REQUIRE([AC_TYPE_OFF_T])dnl
2873    AC_REQUIRE([AC_TYPE_SIZE_T])dnl
2874    AC_REQUIRE([AC_FUNC_ALLOCA])dnl
2875    AC_REQUIRE([AC_FUNC_MMAP])dnl
2876    AC_REQUIRE([AM_KDE_WITH_NLS])dnl
2877    AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h string.h values.h alloca.h])
2878    AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
2879 __argz_count __argz_stringify __argz_next])
2880
2881    AC_MSG_CHECKING(for stpcpy)
2882    AC_CACHE_VAL(kde_cv_func_stpcpy,
2883    [
2884    kde_safe_cxxflags=$CXXFLAGS
2885    CXXFLAGS="-Wmissing-prototypes -Werror"
2886    AC_LANG_SAVE
2887    AC_LANG_CPLUSPLUS
2888    AC_TRY_COMPILE([
2889    #include <string.h>
2890    ],
2891    [
2892    char buffer[200];
2893    stpcpy(buffer, buffer);
2894    ],
2895    kde_cv_func_stpcpy=yes,
2896    kde_cv_func_stpcpy=no)
2897    AC_LANG_RESTORE
2898    CXXFLAGS=$kde_safe_cxxflags
2899    ])
2900    AC_MSG_RESULT($kde_cv_func_stpcpy)
2901    if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then
2902      AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy])
2903    fi
2904
2905    AM_LC_MESSAGES
2906
2907    if test "x$CATOBJEXT" != "x"; then
2908      if test "x$ALL_LINGUAS" = "x"; then
2909        LINGUAS=
2910      else
2911        AC_MSG_CHECKING(for catalogs to be installed)
2912        NEW_LINGUAS=
2913        for lang in ${LINGUAS=$ALL_LINGUAS}; do
2914          case "$ALL_LINGUAS" in
2915           *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
2916          esac
2917        done
2918        LINGUAS=$NEW_LINGUAS
2919        AC_MSG_RESULT($LINGUAS)
2920      fi
2921
2922      dnl Construct list of names of catalog files to be constructed.
2923      if test -n "$LINGUAS"; then
2924        for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
2925      fi
2926    fi
2927
2928   ])
2929
2930 AC_DEFUN(AC_HAVE_XPM,
2931  [AC_REQUIRE_CPP()dnl
2932   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2933
2934  test -z "$XPM_LDFLAGS" && XPM_LDFLAGS=
2935  test -z "$XPM_INCLUDE" && XPM_INCLUDE=
2936
2937  AC_ARG_WITH(xpm, [  --without-xpm           disable color pixmap XPM tests],
2938         xpm_test=$withval, xpm_test="yes")
2939  if test "x$xpm_test" = xno; then
2940    ac_cv_have_xpm=no
2941  else
2942    AC_MSG_CHECKING(for XPM)
2943    AC_CACHE_VAL(ac_cv_have_xpm,
2944    [
2945     AC_LANG_C
2946     ac_save_ldflags="$LDFLAGS"
2947     ac_save_cflags="$CFLAGS"
2948     if test "x$kde_use_qt_emb" != "xyes"; then
2949       LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
2950     else
2951       LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET"
2952     fi
2953     CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
2954     test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
2955     AC_TRY_LINK([#include <X11/xpm.h>],[],
2956         ac_cv_have_xpm="yes",ac_cv_have_xpm="no")
2957     LDFLAGS="$ac_save_ldflags"
2958     CFLAGS="$ac_save_cflags"
2959    ])dnl
2960
2961   if test "$ac_cv_have_xpm" = no; then
2962     AC_MSG_RESULT(no)
2963     XPM_LDFLAGS=""
2964     XPMINC=""
2965     $2
2966   else
2967     AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
2968     if test "$XPM_LDFLAGS" = ""; then
2969        XPMLIB='-lXpm $(LIB_X11)'
2970     else
2971        XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
2972     fi
2973     if test "$XPM_INCLUDE" = ""; then
2974        XPMINC=""
2975     else
2976        XPMINC="-I$XPM_INCLUDE"
2977     fi
2978     AC_MSG_RESULT(yes)
2979     $1
2980   fi
2981  fi
2982  AC_SUBST(XPMINC)
2983  AC_SUBST(XPMLIB)
2984 ])
2985
2986 AC_DEFUN(AC_HAVE_DPMS,
2987  [AC_REQUIRE_CPP()dnl
2988   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2989
2990  test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS=
2991  test -z "$DPMS_INCLUDE" && DPMS_INCLUDE=
2992  DPMS_LIB=
2993
2994  AC_ARG_WITH(dpms, [  --without-dpms          disable DPMS power saving],
2995         dpms_test=$withval, dpms_test="yes")
2996  if test "x$dpms_test" = xno; then
2997    ac_cv_have_dpms=no
2998  else
2999    AC_MSG_CHECKING(for DPMS)
3000    dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
3001    dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
3002    AC_CACHE_VAL(ac_cv_have_dpms,
3003    [
3004     if test "x$kde_use_qt_emb" = "xyes"; then
3005       AC_MSG_RESULT(no)
3006       ac_cv_have_dpms="no"
3007     else
3008       AC_LANG_C
3009       ac_save_ldflags="$LDFLAGS"
3010       ac_save_cflags="$CFLAGS"
3011       ac_save_libs="$LIBS"
3012       LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
3013       CFLAGS="$CFLAGS $X_INCLUDES"
3014       test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3015       AC_TRY_LINK([
3016           #include <X11/Xproto.h>
3017           #include <X11/X.h>
3018           #include <X11/Xlib.h>
3019           #include <X11/extensions/dpms.h>
3020           int foo_test_dpms()
3021           { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3022           ac_cv_have_dpms="yes", [
3023               LDFLAGS="$ac_save_ldflags"
3024               CFLAGS="$ac_save_cflags"
3025               LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
3026               LIBS="$LIBS -lXdpms"
3027               CFLAGS="$CFLAGS $X_INCLUDES"
3028               test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3029               AC_TRY_LINK([
3030                   #include <X11/Xproto.h>
3031                   #include <X11/X.h>
3032                   #include <X11/Xlib.h>
3033                   #include <X11/extensions/dpms.h>
3034                   int foo_test_dpms()
3035                   { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3036                   [
3037                   ac_cv_have_dpms="-lXdpms"
3038                   ],ac_cv_have_dpms="no")
3039               ])
3040       LDFLAGS="$ac_save_ldflags"
3041       CFLAGS="$ac_save_cflags"
3042       LIBS="$ac_save_libs"
3043     fi
3044    ])dnl
3045
3046   if test "$ac_cv_have_dpms" = no; then
3047     AC_MSG_RESULT(no)
3048     DPMS_LDFLAGS=""
3049     DPMSINC=""
3050     $2
3051   else
3052     AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
3053     if test "$ac_cv_have_dpms" = "-lXdpms"; then
3054        DPMS_LIB="-lXdpms"
3055     fi
3056     if test "$DPMS_LDFLAGS" = ""; then
3057        DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
3058     else
3059        DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
3060     fi
3061     if test "$DPMS_INCLUDE" = ""; then
3062        DPMSINC=""
3063     else
3064        DPMSINC="-I$DPMS_INCLUDE"
3065     fi
3066     AC_MSG_RESULT(yes)
3067     $1
3068   fi
3069  fi
3070  AC_SUBST(DPMSINC)
3071  AC_SUBST(DPMSLIB)
3072 ])
3073
3074 AC_DEFUN(AC_HAVE_GL,
3075  [AC_REQUIRE_CPP()dnl
3076   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3077
3078  test -z "$GL_LDFLAGS" && GL_LDFLAGS=
3079  test -z "$GL_INCLUDE" && GL_INCLUDE=
3080
3081  AC_ARG_WITH(gl, [  --without-gl            disable 3D GL modes],
3082         gl_test=$withval, gl_test="yes")
3083  if test "x$kde_use_qt_emb" = "xyes"; then
3084    # GL and Qt Embedded is a no-go for now.
3085    ac_cv_have_gl=no
3086  elif test "x$gl_test" = xno; then
3087    ac_cv_have_gl=no
3088  else
3089    AC_MSG_CHECKING(for GL)
3090    AC_CACHE_VAL(ac_cv_have_gl,
3091    [
3092     AC_LANG_C
3093     ac_save_ldflags="$LDFLAGS"
3094     ac_save_cflags="$CFLAGS"
3095     LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU"
3096     test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3097     LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
3098     CFLAGS="$CFLAGS $X_INCLUDES"
3099     test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3100     AC_TRY_LINK([#include <GL/gl.h>
3101 #include <GL/glu.h>
3102 ], [],
3103         ac_cv_have_gl="mesa", ac_cv_have_gl="no")
3104     if test "x$ac_cv_have_gl" = "xno"; then
3105       LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGL -lGLU"
3106       test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3107       LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
3108       CFLAGS="$ac_save_cflags $X_INCLUDES"
3109       test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3110       AC_TRY_LINK([#include <GL/gl.h>
3111 #include <GL/glu.h>
3112 ], [],
3113           ac_cv_have_gl="yes", ac_cv_have_gl="no")
3114     fi
3115     LDFLAGS="$ac_save_ldflags"
3116     CFLAGS="$ac_save_cflags"
3117    ])dnl
3118
3119   if test "$ac_cv_have_gl" = "no"; then
3120     AC_MSG_RESULT(no)
3121     GL_LDFLAGS=""
3122     GLINC=""
3123     $2
3124   else
3125     AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
3126     if test "$GL_LDFLAGS" = ""; then
3127        if test "$ac_cv_have_gl" = "mesa"; then
3128           GLLIB='-lMesaGL -lMesaGLU $(LIB_X11)'
3129        else
3130           GLLIB='-lGL -lGLU $(LIB_X11)'
3131        fi
3132     else
3133        if test "$ac_cv_have_gl" = "mesa"; then
3134           GLLIB="$GL_LDFLAGS -lMesaGL -lMesaGLU "'$(LIB_X11)'
3135        else
3136           GLLIB="$GL_LDFLAGS -lGL -lGLU "'$(LIB_X11)'
3137        fi
3138     fi
3139     if test "$GL_INCLUDE" = ""; then
3140        GLINC=""
3141     else
3142        GLINC="-I$GL_INCLUDE"
3143     fi
3144     AC_MSG_RESULT($ac_cv_have_gl)
3145     $1
3146   fi
3147  fi
3148  AC_SUBST(GLINC)
3149  AC_SUBST(GLLIB)
3150 ])
3151
3152
3153  dnl shadow password and PAM magic - maintained by ossi@kde.org
3154
3155 AC_DEFUN(KDE_PAM, [
3156   AC_REQUIRE([KDE_CHECK_LIBDL])
3157
3158   AC_ARG_WITH(pam,
3159     [  --with-pam[=ARG]        enable support for PAM: ARG=[yes|no|service name]],
3160     [ if test "x$withval" = "xyes"; then
3161         use_pam=yes
3162         pam_service=kde
3163       elif test "x$withval" = "xno"; then
3164         use_pam=no
3165       else
3166         use_pam=yes
3167         pam_service=$withval
3168       fi
3169       ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3170     ], [
3171       AC_CACHE_VAL(ac_cv_path_pam,
3172         [ use_pam=no
3173           AC_CHECK_LIB(pam, pam_start,
3174             [ AC_CHECK_HEADER(security/pam_appl.h,
3175                 [ use_pam=yes
3176                   pam_service=kde ]) 
3177             ], , $LIBDL)
3178           ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3179         ])
3180     ])
3181   eval "$ac_cv_path_pam"
3182
3183   AC_MSG_CHECKING(for PAM)
3184   if test "x$use_pam" = xno; then
3185     AC_MSG_RESULT(no)
3186     PAMLIBS=""
3187   else
3188     AC_MSG_RESULT(yes)
3189     AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)])
3190     PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL"
3191
3192     dnl test whether struct pam_message is const (Linux) or not (Sun)
3193     AC_MSG_CHECKING(for const pam_message)
3194     AC_EGREP_HEADER([struct pam_message], security/pam_appl.h,
3195       [ AC_EGREP_HEADER([const struct pam_message], security/pam_appl.h,
3196                         [AC_MSG_RESULT([const: Linux-type PAM])],
3197                         [AC_MSG_RESULT([nonconst: Sun-type PAM])
3198                         AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])]
3199                         )],
3200       [AC_MSG_RESULT([not found - assume const, Linux-type PAM])])
3201   fi
3202
3203   AC_SUBST(PAMLIBS)
3204 ])
3205
3206 dnl DEF_PAM_SERVICE(arg name, full name, define name)
3207 AC_DEFUN(DEF_PAM_SERVICE, [
3208   AC_ARG_WITH($1-pam,
3209     [  --with-$1-pam=[val]    override PAM service from --with-pam for $2],
3210     [ if test "x$use_pam" = xyes; then
3211         $3_PAM_SERVICE="$withval"
3212       else
3213         AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected.
3214 You may want to enforce it by using --with-pam.])
3215       fi
3216     ], 
3217     [ if test "x$use_pam" = xyes; then
3218         $3_PAM_SERVICE="$pam_service"
3219       fi
3220     ])
3221     if test -n "$$3_PAM_SERVICE"; then
3222       AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE])
3223       AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2])
3224     fi
3225     AC_SUBST($3_PAM_SERVICE)
3226 ])
3227
3228 AC_DEFUN(KDE_SHADOWPASSWD, [
3229   AC_REQUIRE([KDE_PAM])
3230
3231   AC_CHECK_LIB(shadow, getspent,
3232     [ LIBSHADOW="-lshadow"
3233       ac_use_shadow=yes
3234     ],
3235     [ dnl for UnixWare
3236       AC_CHECK_LIB(gen, getspent, 
3237         [ LIBGEN="-lgen"
3238           ac_use_shadow=yes
3239         ], 
3240         [ AC_CHECK_FUNC(getspent, 
3241             [ ac_use_shadow=yes ],
3242             [ ac_use_shadow=no ])
3243         ])
3244     ])
3245   AC_SUBST(LIBSHADOW)
3246   AC_SUBST(LIBGEN)
3247   
3248   AC_MSG_CHECKING([for shadow passwords])
3249
3250   AC_ARG_WITH(shadow,
3251     [  --with-shadow              If you want shadow password support ],
3252     [ if test "x$withval" != "xno"; then
3253         use_shadow=yes
3254       else
3255         use_shadow=no
3256       fi
3257     ], [
3258       use_shadow="$ac_use_shadow"
3259     ])
3260
3261   if test "x$use_shadow" = xyes; then
3262     AC_MSG_RESULT(yes)
3263     AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords])
3264   else
3265     AC_MSG_RESULT(no)
3266     LIBSHADOW=
3267     LIBGEN=
3268   fi
3269
3270   dnl finally make the relevant binaries setuid root, if we have shadow passwds.
3271   dnl this still applies, if we could use it indirectly through pam.
3272   if test "x$use_shadow" = xyes || 
3273      ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then
3274       case $host in
3275       *-*-freebsd* | *-*-netbsd* | *-*-openbsd*)
3276         SETUIDFLAGS="-m 4755 -o root";;
3277       *)
3278         SETUIDFLAGS="-m 4755";;
3279       esac
3280   fi
3281   AC_SUBST(SETUIDFLAGS)
3282
3283 ])
3284
3285 AC_DEFUN(KDE_PASSWDLIBS, [
3286   AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT
3287   AC_REQUIRE([KDE_PAM])
3288   AC_REQUIRE([KDE_SHADOWPASSWD])
3289
3290   if test "x$use_pam" = "xyes"; then 
3291     PASSWDLIBS="$PAMLIBS"
3292   else
3293     PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN"
3294   fi
3295
3296   AC_SUBST(PASSWDLIBS)
3297 ])
3298
3299 AC_DEFUN(KDE_CHECK_LIBDL,
3300 [
3301 AC_CHECK_LIB(dl, dlopen, [
3302 LIBDL="-ldl"
3303 ac_cv_have_dlfcn=yes
3304 ])
3305
3306 AC_CHECK_LIB(dld, shl_unload, [
3307 LIBDL="-ldld"
3308 ac_cv_have_shload=yes
3309 ])
3310
3311 AC_SUBST(LIBDL)
3312 ])
3313
3314 AC_DEFUN(KDE_CHECK_DLOPEN,
3315 [
3316 KDE_CHECK_LIBDL
3317 AC_CHECK_HEADERS(dlfcn.h dl.h)
3318 if test "$ac_cv_header_dlfcn_h" = "no"; then
3319   ac_cv_have_dlfcn=no
3320 fi
3321
3322 if test "$ac_cv_header_dl_h" = "no"; then
3323   ac_cv_have_shload=no
3324 fi
3325
3326 dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE
3327 dnl (MM)
3328 AC_ARG_ENABLE(dlopen,
3329 [  --disable-dlopen        link statically [default=no]] ,
3330 enable_dlopen=$enableval,
3331 enable_dlopen=yes)
3332
3333 # override the user's opinion, if we know it better ;)
3334 if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then
3335   enable_dlopen=no
3336 fi
3337
3338 if test "$ac_cv_have_dlfcn" = "yes"; then
3339   AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn])
3340 fi
3341
3342 if test "$ac_cv_have_shload" = "yes"; then
3343   AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload])
3344 fi
3345
3346 if test "$enable_dlopen" = no ; then
3347   test -n "$1" && eval $1
3348 else
3349   test -n "$2" && eval $2
3350 fi
3351
3352 ])
3353
3354 AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING,
3355 [
3356 KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no)
3357 KDE_PROG_LIBTOOL
3358 AC_MSG_CHECKING([dynamic loading])
3359 eval "`egrep '^build_libtool_libs=' libtool`"
3360 if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then
3361   dynamic_loading=yes
3362   AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
3363 else
3364   dynamic_loading=no
3365 fi
3366 AC_MSG_RESULT($dynamic_loading)
3367 if test "$dynamic_loading" = "yes"; then
3368   $1
3369 else
3370   $2
3371 fi
3372 ])
3373
3374 AC_DEFUN(KDE_ADD_INCLUDES,
3375 [
3376 if test -z "$1"; then
3377   test_include="Pix.h"
3378 else
3379   test_include="$1"
3380 fi
3381
3382 AC_MSG_CHECKING([for libg++ ($test_include)])
3383
3384 AC_CACHE_VAL(kde_cv_libgpp_includes,
3385 [
3386 kde_cv_libgpp_includes=no
3387
3388    for ac_dir in               \
3389                                \
3390      /usr/include/g++          \
3391      /usr/include              \
3392      /usr/unsupported/include  \
3393      /opt/include              \
3394      $extra_include            \
3395      ; \
3396    do
3397      if test -r "$ac_dir/$test_include"; then
3398        kde_cv_libgpp_includes=$ac_dir
3399        break
3400      fi
3401    done
3402 ])
3403
3404 AC_MSG_RESULT($kde_cv_libgpp_includes)
3405 if test "$kde_cv_libgpp_includes" != "no"; then
3406   all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES"
3407 fi
3408 ])
3409 ])
3410
3411
3412 AC_DEFUN(KDE_CHECK_MICO,
3413 [
3414 AC_REQUIRE([KDE_CHECK_LIBDL])
3415 AC_REQUIRE([KDE_MISC_TESTS])
3416 AC_MSG_CHECKING(for MICO)
3417
3418 if test -z "$MICODIR"; then
3419     kde_micodir=/usr/local
3420  else
3421     kde_micodir="$MICODIR"
3422 fi
3423
3424 AC_ARG_WITH(micodir,
3425   [  --with-micodir=micodir  where mico is installed ],
3426   kde_micodir=$withval,
3427   kde_micodir=$kde_micodir
3428 )
3429
3430 AC_CACHE_VAL(kde_cv_mico_incdir,
3431 [
3432   mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes"
3433 AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir)
3434
3435 ])
3436 kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'`
3437
3438 if test ! -r  $kde_micodir/include/CORBA.h; then
3439   AC_MSG_ERROR([No CORBA.h found, specify another micodir])
3440 fi
3441
3442 AC_MSG_RESULT($kde_micodir)
3443
3444 MICO_INCLUDES=-I$kde_micodir/include
3445 AC_SUBST(MICO_INCLUDES)
3446 MICO_LDFLAGS=-L$kde_micodir/lib
3447 AC_SUBST(MICO_LDFLAGS)
3448 micodir=$kde_micodir
3449 AC_SUBST(micodir)
3450
3451 AC_MSG_CHECKING([for MICO version])
3452 AC_CACHE_VAL(kde_cv_mico_version,
3453 [
3454 AC_LANG_C
3455 cat >conftest.$ac_ext <<EOF
3456 #include <stdio.h>
3457 #include <mico/version.h>
3458 int main() {
3459
3460    printf("MICO_VERSION=%s\n",MICO_VERSION);
3461    return (0);
3462 }
3463 EOF
3464 ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest'
3465 if AC_TRY_EVAL(ac_compile); then
3466   if eval `./conftest 2>&5`; then
3467     kde_cv_mico_version=$MICO_VERSION
3468   else
3469     AC_MSG_ERROR([your system is not able to execute a small application to
3470     find MICO version! Check $kde_micodir/include/mico/version.h])
3471   fi
3472 else
3473   AC_MSG_ERROR([your system is not able to compile a small application to
3474   find MICO version! Check $kde_micodir/include/mico/version.h])
3475 fi
3476 ])
3477
3478 dnl installed MICO version
3479 mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
3480 mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
3481 mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
3482
3483 if test "x$1" = "x"; then
3484  req_version="2.3.0"
3485 else
3486  req_version=$1
3487 fi
3488
3489 dnl required MICO version
3490 req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
3491 req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
3492 req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
3493
3494 if test "$mico_v_maj" -lt "$req_v_maj" || \
3495    ( test "$mico_v_maj" -eq "$req_v_maj" && \
3496         test "$mico_v_mid" -lt "$req_v_mid" ) || \
3497    ( test "$mico_v_mid" -eq "$req_v_mid" && \
3498         test "$mico_v_min" -lt "$req_v_min" )
3499
3500 then
3501   AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
3502 at least is required. You should upgrade MICO.])
3503 else
3504   AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
3505 fi
3506
3507 LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
3508 AC_SUBST(LIBMICO)
3509 if test -z "$IDL"; then
3510   IDL='$(kde_bindir)/cuteidl'
3511 fi
3512 AC_SUBST(IDL)
3513 IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
3514 AC_SUBST(IDL_DEPENDENCIES)
3515
3516 idldir="\$(includedir)/idl"
3517 AC_SUBST(idldir)
3518
3519 ])
3520
3521 AC_DEFUN(KDE_CHECK_MINI_STL,
3522 [
3523 AC_REQUIRE([KDE_CHECK_MICO])
3524
3525 AC_MSG_CHECKING(if we use mico's mini-STL)
3526 AC_CACHE_VAL(kde_cv_have_mini_stl,
3527 [
3528 AC_LANG_SAVE
3529 AC_LANG_CPLUSPLUS
3530 kde_save_cxxflags="$CXXFLAGS"
3531 CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
3532 AC_TRY_COMPILE(
3533 [
3534 #include <mico/config.h>
3535 ],
3536 [
3537 #ifdef HAVE_MINI_STL
3538 #error "nothing"
3539 #endif
3540 ],
3541 kde_cv_have_mini_stl=no,
3542 kde_cv_have_mini_stl=yes)
3543 CXXFLAGS="$kde_save_cxxflags"
3544 AC_LANG_RESTORE
3545 ])
3546
3547 if test "x$kde_cv_have_mini_stl" = "xyes"; then
3548    AC_MSG_RESULT(yes)
3549    $1
3550 else
3551    AC_MSG_RESULT(no)
3552    $2
3553 fi
3554 ])
3555
3556 ])
3557
3558
3559 AC_DEFUN(KDE_CHECK_LIBPTHREAD,
3560 [
3561 AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] )
3562 AC_SUBST(LIBPTHREAD)
3563 ])
3564
3565 AC_DEFUN(KDE_CHECK_PTHREAD_OPTION,
3566 [
3567     AC_ARG_ENABLE(kernel-threads, [  --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.],
3568         kde_use_kernthreads=$enableval, kde_use_kernthreads=no)
3569
3570     if test "$kde_use_kernthreads" = "yes"; then
3571       ac_save_CXXFLAGS="$CXXFLAGS"
3572       ac_save_CFLAGS="$CXXFLAGS"
3573       CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS"
3574       CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS"
3575       AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h)
3576       CXXFLAGS="$ac_save_CXXFLAGS"
3577       CFLAGS="$ac_save_CFLAGS"
3578       if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then
3579         kde_use_kernthreads=no
3580       else
3581         dnl Add proper -I and -l statements
3582         AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD
3583         if test "x$LIBPTHREAD" = "x"; then
3584           kde_use_kernthreads=no
3585         else
3586           USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads"
3587         fi
3588       fi
3589     else 
3590       USE_THREADS=""
3591       if test -z "$LIBPTHREAD"; then
3592         KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] )
3593       fi
3594     fi
3595
3596     case $host_os in
3597         solaris*)
3598                 KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
3599                 CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4"
3600                 ;;
3601         freebsd*)
3602                 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3603                 ;;
3604         aix*)
3605                 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3606                 LIBPTHREAD="$LIBPTHREAD -lc_r"
3607                 ;;
3608         linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
3609                 if test "$CXX" = "KCC"; then
3610                   CXXFLAGS="$CXXFLAGS --thread_safe"
3611                   NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe"
3612                 fi
3613                 ;;
3614         *)
3615                 ;;
3616     esac
3617     AC_SUBST(USE_THREADS)
3618     AC_SUBST(LIBPTHREAD)
3619 ])
3620
3621 AC_DEFUN(KDE_CHECK_THREADING,
3622 [
3623   AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
3624   AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION])
3625   dnl default is yes if libpthread is found and no if no libpthread is available
3626   if test -z "$LIBPTHREAD"; then
3627     if test -z "$USE_THREADS"; then
3628       kde_check_threading_default=no
3629     else
3630       kde_check_threading_default=yes
3631     fi
3632   else
3633     kde_check_threading_default=yes
3634   fi
3635   AC_ARG_ENABLE(threading, [  --disable-threading     disables threading even if libpthread found ],
3636    kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default)
3637   if test "x$kde_use_threading" = "xyes"; then
3638     AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)])
3639   fi
3640 ])
3641
3642 AC_DEFUN(KDE_TRY_LINK_PYTHON,
3643 [
3644 if test "$kde_python_link_found" = no; then
3645
3646 if test "$1" = normal; then
3647   AC_MSG_CHECKING(if a Python application links)
3648 else
3649   AC_MSG_CHECKING(if Python depends on $2)
3650 fi
3651
3652 AC_CACHE_VAL(kde_cv_try_link_python_$1,
3653 [
3654 AC_LANG_SAVE
3655 AC_LANG_C
3656 kde_save_cflags="$CFLAGS"
3657 CFLAGS="$CFLAGS $PYTHONINC"
3658 kde_save_libs="$LIBS"
3659 LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET"
3660 kde_save_ldflags="$LDFLAGS"
3661 LDFLAGS="$LDFLAGS $PYTHONLIB"
3662
3663 AC_TRY_LINK(
3664 [
3665 #include <Python.h>
3666 ],[
3667         PySys_SetArgv(1, 0);
3668 ],
3669         [kde_cv_try_link_python_$1=yes],
3670         [kde_cv_try_link_python_$1=no]
3671 )
3672 CFLAGS="$kde_save_cflags"
3673 LIBS="$kde_save_libs"
3674 LDFLAGS="$kde_save_ldflags"
3675 ])
3676
3677 if test "$kde_cv_try_link_python_$1" = "yes"; then
3678   AC_MSG_RESULT(yes)
3679   kde_python_link_found=yes
3680   if test ! "$1" = normal; then
3681     LIBPYTHON="$LIBPYTHON $2"
3682   fi
3683   $3
3684 else
3685   AC_MSG_RESULT(no)
3686   $4
3687 fi
3688 AC_LANG_RESTORE
3689
3690 fi
3691
3692 ])
3693
3694 AC_DEFUN(KDE_CHECK_PYTHON_DIR,
3695 [
3696 AC_MSG_CHECKING([for Python directory])
3697  
3698 AC_CACHE_VAL(kde_cv_pythondir,
3699 [
3700   if test -z "$PYTHONDIR"; then
3701     kde_cv_pythondir=/usr/local
3702   else
3703     kde_cv_pythondir="$PYTHONDIR"
3704   fi
3705 ])
3706  
3707 AC_ARG_WITH(pythondir,
3708 [  --with-pythondir=pythondir   use python installed in pythondir ],
3709 [
3710   ac_python_dir=$withval
3711 ], ac_python_dir=$kde_cv_pythondir
3712 )
3713  
3714 AC_MSG_RESULT($ac_python_dir)
3715 ])
3716
3717 AC_DEFUN(KDE_CHECK_PYTHON_INTERN,
3718 [
3719 AC_REQUIRE([KDE_CHECK_LIBDL])
3720 AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
3721 AC_REQUIRE([KDE_CHECK_PYTHON_DIR])
3722
3723 if test -z "$1"; then
3724   version="1.5"
3725 else
3726   version="$1"
3727 fi
3728
3729 AC_MSG_CHECKING([for Python$version])
3730
3731 python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes"
3732 AC_FIND_FILE(Python.h, $python_incdirs, python_incdir)
3733 if test ! -r $python_incdir/Python.h; then
3734   AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir)
3735   python_incdir=$python_incdir/python$version
3736   if test ! -r $python_incdir/Python.h; then
3737     python_incdir=no
3738   fi
3739 fi
3740
3741 PYTHONINC=-I$python_incdir
3742
3743 python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
3744 AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir)
3745 if test ! -r $python_libdir/libpython$version.a; then
3746   AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir)
3747   python_libdir=$python_libdir/python$version/config
3748   if test ! -r $python_libdir/libpython$version.a; then
3749     python_libdir=no
3750   fi
3751 fi
3752
3753 PYTHONLIB=-L$python_libdir
3754 kde_orig_LIBPYTHON=$LIBPYTHON
3755 if test -z "$LIBPYTHON"; then
3756   LIBPYTHON=-lpython$version
3757 fi
3758
3759 python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
3760 AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir)
3761 python_moddir=$python_moddir/python$version
3762 if test ! -r $python_moddir/copy.py; then
3763   python_moddir=no
3764 fi
3765
3766 PYTHONMODDIR=$python_moddir
3767
3768 AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir)
3769
3770 if test x$python_incdir = xno ||  test x$python_libdir = xno ||  test x$python_moddir = xno; then
3771    LIBPYTHON=$kde_orig_LIBPYTHON
3772    test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB=""