libftdi: (tomj) applied status byte filtering patch for large readbuffers
[libftdi] / 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. 
25 dnl
26 dnl Single-module modifications are best placed in configure.in for kdelibs
27 dnl and kdebase or configure.in.in if present.
28
29 dnl ------------------------------------------------------------------------
30 dnl Forward compatibility macros (make autoconf 2.13 look like 2.50),
31 dnl thanks to Raja R Harinath.
32 dnl ------------------------------------------------------------------------
33 dnl
34 ifdef([_AC_PATH_X_XMKMF],[],
35    [AC_DEFUN([_AC_PATH_X_XMKMF],[AC_PATH_X_XMKMF])])
36 ifdef([AC_OUTPUT_SUBDIRS],[],
37    [AC_DEFUN([AC_OUTPUT_SUBDIRS],[subdirs=$1; _AC_OUTPUT_SUBDIRS])])
38
39 # KDE_PATH_X_DIRECT
40 dnl Internal subroutine of AC_PATH_X.
41 dnl Set ac_x_includes and/or ac_x_libraries.
42 AC_DEFUN(KDE_PATH_X_DIRECT,
43 [
44 AC_REQUIRE([KDE_CHECK_LIB64])
45
46 if test "$ac_x_includes" = NO; then
47   # Guess where to find include files, by looking for this one X11 .h file.
48   test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
49
50   # First, try using that file with no special directory specified.
51 AC_TRY_CPP([#include <$x_direct_test_include>],
52 [# We can compile using X headers with no special include directory.
53 ac_x_includes=],
54 [# Look for the header file in a standard set of common directories.
55 # Check X11 before X11Rn because it is often a symlink to the current release.
56   for ac_dir in               \
57     /usr/X11/include          \
58     /usr/X11R6/include        \
59     /usr/X11R5/include        \
60     /usr/X11R4/include        \
61                               \
62     /usr/include/X11          \
63     /usr/include/X11R6        \
64     /usr/include/X11R5        \
65     /usr/include/X11R4        \
66                               \
67     /usr/local/X11/include    \
68     /usr/local/X11R6/include  \
69     /usr/local/X11R5/include  \
70     /usr/local/X11R4/include  \
71                               \
72     /usr/local/include/X11    \
73     /usr/local/include/X11R6  \
74     /usr/local/include/X11R5  \
75     /usr/local/include/X11R4  \
76                               \
77     /usr/X386/include         \
78     /usr/x386/include         \
79     /usr/XFree86/include/X11  \
80                               \
81     /usr/include              \
82     /usr/local/include        \
83     /usr/unsupported/include  \
84     /usr/athena/include       \
85     /usr/local/x11r5/include  \
86     /usr/lpp/Xamples/include  \
87                               \
88     /usr/openwin/include      \
89     /usr/openwin/share/include \
90     ; \
91   do
92     if test -r "$ac_dir/$x_direct_test_include"; then
93       ac_x_includes=$ac_dir
94       break
95     fi
96   done])
97 fi # $ac_x_includes = NO
98
99 if test "$ac_x_libraries" = NO; then
100   # Check for the libraries.
101
102   test -z "$x_direct_test_library" && x_direct_test_library=Xt
103   test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
104
105   # See if we find them without any special options.
106   # Don't add to $LIBS permanently.
107   ac_save_LIBS="$LIBS"
108   LIBS="-l$x_direct_test_library $LIBS"
109 AC_TRY_LINK(, [${x_direct_test_function}()],
110 [LIBS="$ac_save_LIBS"
111 # We can link X programs with no special library path.
112 ac_x_libraries=],
113 [LIBS="$ac_save_LIBS"
114 # First see if replacing the include by lib works.
115 # Check X11 before X11Rn because it is often a symlink to the current release.
116 for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \
117     /usr/X11/lib${kdelibsuff}           \
118     /usr/X11R6/lib${kdelibsuff}         \
119     /usr/X11R5/lib${kdelibsuff}         \
120     /usr/X11R4/lib${kdelibsuff}         \
121                                         \
122     /usr/lib${kdelibsuff}/X11           \
123     /usr/lib${kdelibsuff}/X11R6         \
124     /usr/lib${kdelibsuff}/X11R5         \
125     /usr/lib${kdelibsuff}/X11R4         \
126                                         \
127     /usr/local/X11/lib${kdelibsuff}     \
128     /usr/local/X11R6/lib${kdelibsuff}   \
129     /usr/local/X11R5/lib${kdelibsuff}   \
130     /usr/local/X11R4/lib${kdelibsuff}   \
131                                         \
132     /usr/local/lib${kdelibsuff}/X11     \
133     /usr/local/lib${kdelibsuff}/X11R6   \
134     /usr/local/lib${kdelibsuff}/X11R5   \
135     /usr/local/lib${kdelibsuff}/X11R4   \
136                                         \
137     /usr/X386/lib${kdelibsuff}          \
138     /usr/x386/lib${kdelibsuff}          \
139     /usr/XFree86/lib${kdelibsuff}/X11   \
140                                         \
141     /usr/lib${kdelibsuff}               \
142     /usr/local/lib${kdelibsuff}         \
143     /usr/unsupported/lib${kdelibsuff}   \
144     /usr/athena/lib${kdelibsuff}        \
145     /usr/local/x11r5/lib${kdelibsuff}   \
146     /usr/lpp/Xamples/lib${kdelibsuff}   \
147     /lib/usr/lib${kdelibsuff}/X11       \
148                                         \
149     /usr/openwin/lib${kdelibsuff}       \
150     /usr/openwin/share/lib${kdelibsuff} \
151     ; \
152 do
153 dnl Don't even attempt the hair of trying to link an X program!
154   for ac_extension in a so sl; do
155     if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
156       ac_x_libraries=$ac_dir
157       break 2
158     fi
159   done
160 done])
161 fi # $ac_x_libraries = NO
162 ])
163
164
165 dnl ------------------------------------------------------------------------
166 dnl Find a file (or one of more files in a list of dirs)
167 dnl ------------------------------------------------------------------------
168 dnl
169 AC_DEFUN(AC_FIND_FILE,
170 [
171 $3=NO
172 for i in $2;
173 do
174   for j in $1;
175   do
176     echo "configure: __oline__: $i/$j" >&AC_FD_CC
177     if test -r "$i/$j"; then
178       echo "taking that" >&AC_FD_CC
179       $3=$i
180       break 2
181     fi
182   done
183 done
184 ])
185
186 dnl KDE_FIND_PATH(programm-name, variable-name, list of directories,
187 dnl     if-not-found, test-parameter)
188 AC_DEFUN(KDE_FIND_PATH,
189 [
190    AC_MSG_CHECKING([for $1])
191    if test -n "$$2"; then
192         kde_cv_path="$$2";
193    else
194         kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
195
196         AC_CACHE_VAL(kde_cv_path_$kde_cache,
197         [
198         kde_cv_path="NONE"
199         dirs="$3"
200         kde_save_IFS=$IFS
201         IFS=':'
202         for dir in $PATH; do
203           dirs="$dirs $dir"
204         done
205         IFS=$kde_save_IFS
206
207         for dir in $dirs; do
208           if test -x "$dir/$1"; then
209             if test -n "$5"
210             then
211               evalstr="$dir/$1 $5 2>&1 "
212               if eval $evalstr; then
213                 kde_cv_path="$dir/$1"
214                 break
215               fi
216             else
217                 kde_cv_path="$dir/$1"
218                 break
219             fi
220           fi
221         done
222
223         eval "kde_cv_path_$kde_cache=$kde_cv_path"
224
225         ])
226
227       eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
228
229    fi
230
231    if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
232       AC_MSG_RESULT(not found)
233       $4
234    else
235       AC_MSG_RESULT($kde_cv_path)
236       $2=$kde_cv_path
237
238    fi
239 ])
240
241 AC_DEFUN(KDE_MOC_ERROR_MESSAGE,
242 [
243     AC_MSG_ERROR([No Qt meta object compiler (moc) found!
244 Please check whether you installed Qt correctly.
245 You need to have a running moc binary.
246 configure tried to run $ac_cv_path_moc and the test didn't
247 succeed. If configure shouldn't have tried this one, set
248 the environment variable MOC to the right one before running
249 configure.
250 ])
251 ])
252
253 AC_DEFUN(KDE_UIC_ERROR_MESSAGE,
254 [
255     AC_MSG_WARN([No Qt ui compiler (uic) found!
256 Please check whether you installed Qt correctly.
257 You need to have a running uic binary.
258 configure tried to run $ac_cv_path_uic and the test didn't
259 succeed. If configure shouldn't have tried this one, set
260 the environment variable UIC to the right one before running
261 configure.
262 ])
263 ])
264
265
266 AC_DEFUN(KDE_CHECK_UIC_FLAG,
267 [
268     AC_MSG_CHECKING([whether uic supports -$1 ])
269     kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
270     AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache,
271     [
272         cat >conftest.ui <<EOT
273         <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
274 EOT
275         ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null"
276         if AC_TRY_EVAL(ac_uic_testrun); then
277             eval "kde_cv_prog_uic_$kde_cache=yes"
278         else
279             eval "kde_cv_prog_uic_$kde_cache=no"
280         fi
281         rm -f conftest*
282     ])
283
284     if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
285         AC_MSG_RESULT([yes])
286         :
287         $3
288     else
289         AC_MSG_RESULT([no])
290         :
291         $4
292     fi
293 ])
294
295
296 dnl ------------------------------------------------------------------------
297 dnl Find the meta object compiler and the ui compiler in the PATH,
298 dnl in $QTDIR/bin, and some more usual places
299 dnl ------------------------------------------------------------------------
300 dnl
301 AC_DEFUN(AC_PATH_QT_MOC_UIC,
302 [
303    qt_bindirs=""
304    for dir in $kde_qt_dirs; do
305       qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
306    done
307    qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
308    if test ! "$ac_qt_bindir" = "NO"; then
309       qt_bindirs="$ac_qt_bindir $qt_bindirs"
310    fi
311
312    KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
313    if test -z "$UIC_NOT_NEEDED"; then
314      KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""])
315      if test -z "$UIC_PATH" ; then
316        KDE_UIC_ERROR_MESSAGE
317        exit 1
318      elif test $kde_qtver = 3; then
319        KDE_CHECK_UIC_FLAG(L,[/nonexistant],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no)
320        KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no)
321
322        UIC=$UIC_PATH
323        if test x$ac_uic_supports_libpath = xyes; then
324            UIC="$UIC -L \$(kde_widgetdir)"
325        fi
326        if test x$ac_uic_supports_nounload = xyes; then
327            UIC="$UIC -nounload"
328        fi
329      fi
330    else
331      UIC="echo uic not available: "
332    fi
333
334    AC_SUBST(MOC)
335    AC_SUBST(UIC)
336
337    UIC_TR="i18n"
338    if test $kde_qtver = 3; then
339      UIC_TR="tr2i18n"
340    fi
341
342    AC_SUBST(UIC_TR)
343 ])
344
345 AC_DEFUN(KDE_1_CHECK_PATHS,
346 [
347   KDE_1_CHECK_PATH_HEADERS
348
349   KDE_TEST_RPATH=
350
351   if test -n "$USE_RPATH"; then
352
353      if test -n "$kde_libraries"; then
354        KDE_TEST_RPATH="-R $kde_libraries"
355      fi
356
357      if test -n "$qt_libraries"; then
358        KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
359      fi
360
361      if test -n "$x_libraries"; then
362        KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
363      fi
364
365      KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
366   fi
367
368 AC_MSG_CHECKING([for KDE libraries installed])
369 ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5'
370
371 if AC_TRY_EVAL(ac_link) && test -s conftest; then
372   AC_MSG_RESULT(yes)
373 else
374   AC_MSG_ERROR([your system fails at linking a small KDE application!
375 Check, if your compiler is installed correctly and if you have used the
376 same compiler to compile Qt and kdelibs as you did use now.
377 For more details about this problem, look at the end of config.log.])
378 fi
379
380 if eval `KDEDIR= ./conftest 2>&5`; then
381   kde_result=done
382 else
383   kde_result=problems
384 fi
385
386 KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
387 kde_have_all_paths=yes
388
389 KDE_SET_PATHS($kde_result)
390
391 ])
392
393 AC_DEFUN(KDE_SET_PATHS,
394 [
395   kde_cv_all_paths="kde_have_all_paths=\"yes\" \
396         kde_htmldir=\"$kde_htmldir\" \
397         kde_appsdir=\"$kde_appsdir\" \
398         kde_icondir=\"$kde_icondir\" \
399         kde_sounddir=\"$kde_sounddir\" \
400         kde_datadir=\"$kde_datadir\" \
401         kde_locale=\"$kde_locale\" \
402         kde_cgidir=\"$kde_cgidir\" \
403         kde_confdir=\"$kde_confdir\" \
404         kde_mimedir=\"$kde_mimedir\" \
405         kde_toolbardir=\"$kde_toolbardir\" \
406         kde_wallpaperdir=\"$kde_wallpaperdir\" \
407         kde_templatesdir=\"$kde_templatesdir\" \
408         kde_bindir=\"$kde_bindir\" \
409         kde_servicesdir=\"$kde_servicesdir\" \
410         kde_servicetypesdir=\"$kde_servicetypesdir\" \
411         kde_moduledir=\"$kde_moduledir\" \
412    kde_styledir=\"$kde_styledir\" \
413         kde_widgetdir=\"$kde_widgetdir\" \
414         kde_result=$1"
415 ])
416
417 AC_DEFUN(KDE_SET_DEFAULT_PATHS,
418 [
419 if test "$1" = "default"; then
420
421   if test -z "$kde_htmldir"; then
422     kde_htmldir='\${prefix}/share/doc/HTML'
423   fi
424   if test -z "$kde_appsdir"; then
425     kde_appsdir='\${prefix}/share/applnk'
426   fi
427   if test -z "$kde_icondir"; then
428     kde_icondir='\${prefix}/share/icons'
429   fi
430   if test -z "$kde_sounddir"; then
431     kde_sounddir='\${prefix}/share/sounds'
432   fi
433   if test -z "$kde_datadir"; then
434     kde_datadir='\${prefix}/share/apps'
435   fi
436   if test -z "$kde_locale"; then
437     kde_locale='\${prefix}/share/locale'
438   fi
439   if test -z "$kde_cgidir"; then
440     kde_cgidir='\${exec_prefix}/cgi-bin'
441   fi
442   if test -z "$kde_confdir"; then
443     kde_confdir='\${prefix}/share/config'
444   fi
445   if test -z "$kde_mimedir"; then
446     kde_mimedir='\${prefix}/share/mimelnk'
447   fi
448   if test -z "$kde_toolbardir"; then
449     kde_toolbardir='\${prefix}/share/toolbar'
450   fi
451   if test -z "$kde_wallpaperdir"; then
452     kde_wallpaperdir='\${prefix}/share/wallpapers'
453   fi
454   if test -z "$kde_templatesdir"; then
455     kde_templatesdir='\${prefix}/share/templates'
456   fi
457   if test -z "$kde_bindir"; then
458     kde_bindir='\${exec_prefix}/bin'
459   fi
460   if test -z "$kde_servicesdir"; then
461     kde_servicesdir='\${prefix}/share/services'
462   fi
463   if test -z "$kde_servicetypesdir"; then
464     kde_servicetypesdir='\${prefix}/share/servicetypes'
465   fi
466   if test -z "$kde_moduledir"; then
467     if test "$kde_qtver" = "2"; then
468       kde_moduledir='\${libdir}/kde2'
469     else
470       kde_moduledir='\${libdir}/kde3'
471     fi
472   fi
473   if test -z "$kde_styledir"; then
474     kde_styledir='\${libdir}/kde3/plugins/styles'
475   fi
476   if test -z "$kde_widgetdir"; then
477     kde_widgetdir='\${libdir}/kde3/plugins/designer'
478   fi
479
480   KDE_SET_PATHS(defaults)
481
482 else
483
484   if test $kde_qtver = 1; then
485      AC_MSG_RESULT([compiling])
486      KDE_1_CHECK_PATHS
487   else
488      AC_MSG_ERROR([path checking not yet supported for KDE 2])
489   fi
490
491 fi
492 ])
493
494 AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS,
495 [ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
496    test -z "$kde_icondir" || test -z "$kde_sounddir" ||
497    test -z "$kde_datadir" || test -z "$kde_locale"  ||
498    test -z "$kde_cgidir"  || test -z "$kde_confdir" ||
499    test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
500    test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
501    test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
502    test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
503    test -z "$kde_styledir" || test -z "kde_widgetdir" 
504    test "x$kde_have_all_paths" != "xyes"; then
505      kde_have_all_paths=no
506   fi
507 ])
508
509 AC_DEFUN(KDE_MISSING_PROG_ERROR,
510 [
511     AC_MSG_ERROR([The important program $1 was not found!
512 Please check whether you installed KDE correctly.
513 ])
514 ])
515
516 AC_DEFUN(KDE_MISSING_ARTS_ERROR,
517 [
518     AC_MSG_ERROR([The important program $1 was not found!
519 Please check whether you installed aRts correctly.
520 ])
521 ])
522
523 AC_DEFUN(KDE_SUBST_PROGRAMS,
524 [
525
526         kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
527         test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
528         if test -n "$KDEDIRS"; then
529            kde_save_IFS=$IFS
530            IFS=:
531            for dir in $KDEDIRS; do
532                 kde_default_bindirs="$dir/bin $kde_default_bindirs "
533            done
534            IFS=$kde_save_IFS
535         fi
536         kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs"
537         KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
538         KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
539         KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)])
540         KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)])
541         KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs])
542         KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
543       
544         if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then  
545             kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
546             test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
547             AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
548             if test "$KDE_XSL_STYLESHEET" = "NO"; then
549                 KDE_XSL_STYLESHEET=""
550             else
551                 KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl"
552             fi
553         fi
554
555         DCOP_DEPENDENCIES='$(DCOPIDL)'
556         AC_SUBST(DCOPIDL)
557         AC_SUBST(DCOPIDL2CPP)
558         AC_SUBST(DCOP_DEPENDENCIES)
559         AC_SUBST(MCOPIDL)
560         AC_SUBST(ARTSCCONFIG)
561         AC_SUBST(KDECONFIG)
562         AC_SUBST(MEINPROC)
563         AC_SUBST(KDE_XSL_STYLESHEET)
564
565         if test -x "$KDECONFIG"; then # it can be "compiled"
566           kde_libs_prefix=`$KDECONFIG --prefix`
567           if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
568                AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
569                           This means it has been moved since you installed it.
570                           This won't work. Please recompile kdelibs for the new prefix.
571                           ])
572            fi
573            kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
574         else
575            kde_libs_prefix='$(prefix)'
576            kde_libs_htmldir='$(kde_htmldir)'
577         fi
578         AC_SUBST(kde_libs_prefix)
579         AC_SUBST(kde_libs_htmldir)
580 ])dnl
581
582 AC_DEFUN(AC_CREATE_KFSSTND,
583 [
584 AC_REQUIRE([AC_CHECK_RPATH])
585
586 AC_MSG_CHECKING([for KDE paths])
587 kde_result=""
588 kde_cached_paths=yes
589 AC_CACHE_VAL(kde_cv_all_paths,
590 [
591   KDE_SET_DEFAULT_PATHS($1)
592   kde_cached_paths=no
593 ])
594 eval "$kde_cv_all_paths"
595 KDE_CHECK_PATHS_FOR_COMPLETENESS
596 if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
597   # wrong values were cached, may be, we can set better ones
598   kde_result=
599   kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
600   kde_datadir= kde_locale=  kde_cgidir=  kde_confdir=
601   kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
602   kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
603   kde_have_all_paths=
604   kde_styledir=
605   kde_widgetdir=
606   KDE_SET_DEFAULT_PATHS($1)
607   eval "$kde_cv_all_paths"
608   KDE_CHECK_PATHS_FOR_COMPLETENESS
609   kde_result="$kde_result (cache overridden)"
610 fi
611 if test "$kde_have_all_paths" = "no"; then
612   AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
613 Since it had compiled and linked before, it must be a strange problem on your system.
614 Look at config.log for details. If you are not able to fix this, look at
615 http://www.kde.org/faq/installation.html or any www.kde.org mirror.
616 (If you're using an egcs version on Linux, you may update binutils!)
617 ])
618 else
619   rm -f conftest*
620   AC_MSG_RESULT($kde_result)
621 fi
622
623 bindir=$kde_bindir
624
625 KDE_SUBST_PROGRAMS
626
627 ])
628
629 AC_DEFUN(AC_SUBST_KFSSTND,
630 [
631 AC_SUBST(kde_htmldir)
632 AC_SUBST(kde_appsdir)
633 AC_SUBST(kde_icondir)
634 AC_SUBST(kde_sounddir)
635 AC_SUBST(kde_datadir)
636 AC_SUBST(kde_locale)
637 AC_SUBST(kde_confdir)
638 AC_SUBST(kde_mimedir)
639 AC_SUBST(kde_wallpaperdir)
640 AC_SUBST(kde_bindir)
641 dnl for KDE 2
642 AC_SUBST(kde_templatesdir)
643 AC_SUBST(kde_servicesdir)
644 AC_SUBST(kde_servicetypesdir)
645 AC_SUBST(kde_moduledir)
646 AC_SUBST(kde_styledir)
647 AC_SUBST(kde_widgetdir)
648 if test "$kde_qtver" = 1; then
649   kde_minidir="$kde_icondir/mini"
650 else
651 # for KDE 1 - this breaks KDE2 apps using minidir, but
652 # that's the plan ;-/
653   kde_minidir="/dev/null"
654 fi
655 dnl AC_SUBST(kde_minidir)
656 dnl AC_SUBST(kde_cgidir)
657 dnl AC_SUBST(kde_toolbardir)
658 ])
659
660 AC_DEFUN(KDE_MISC_TESTS,
661 [
662    AC_LANG_C
663    dnl Checks for libraries.
664    AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD 
665    AC_SUBST(LIBUTIL)
666    AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD
667    AC_SUBST(LIBCOMPAT)
668    kde_have_crypt=
669    AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
670       AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
671         AC_MSG_WARN([you have no crypt in either libcrypt or libc.
672 You should install libcrypt from another source or configure with PAM
673 support])
674         kde_have_crypt=no
675       ]))
676    AC_SUBST(LIBCRYPT)
677    if test $kde_have_crypt = yes; then
678       AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
679    fi
680    AC_CHECK_SOCKLEN_T
681    AC_LANG_C
682    AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
683    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
684       AC_CHECK_LIB(dnet_stub, dnet_ntoa,
685         [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
686    fi
687    AC_CHECK_FUNC(inet_ntoa)
688    if test $ac_cv_func_inet_ntoa = no; then
689      AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
690    fi
691    AC_CHECK_FUNC(connect)
692    if test $ac_cv_func_connect = no; then
693       AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
694         $X_EXTRA_LIBS)
695    fi
696
697    AC_CHECK_FUNC(remove)
698    if test $ac_cv_func_remove = no; then
699       AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
700    fi
701
702    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
703    AC_CHECK_FUNC(shmat, ,
704      AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
705    
706    # darwin needs this to initialize the environment
707    AC_CHECK_HEADERS(crt_externs.h)
708    AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])])
709  
710    # more headers that need to be explicitly included on darwin
711    AC_CHECK_HEADERS(sys/types.h stdint.h)
712
713    # darwin requires a poll emulation library
714    AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll")
715
716    # CoreAudio framework
717    AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [
718      AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API])
719      FRAMEWORK_COREAUDIO="-framework CoreAudio"
720    ])
721
722    AC_CHECK_RES_INIT
723    AC_SUBST(LIB_POLL)
724    AC_SUBST(FRAMEWORK_COREAUDIO)
725    LIBSOCKET="$X_EXTRA_LIBS"
726    AC_SUBST(LIBSOCKET)
727    AC_SUBST(X_EXTRA_LIBS)
728    AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
729    AC_SUBST(LIBUCB)
730
731    case $host in  dnl this *is* LynxOS specific
732    *-*-lynxos* )
733         AC_MSG_CHECKING([LynxOS header file wrappers])
734         [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
735         AC_MSG_RESULT(disabled)
736         AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
737          ;;
738     esac
739
740    KDE_CHECK_TYPES
741    KDE_CHECK_LIBDL
742
743 AH_VERBATIM(_AIX_STRINGS_H_BZERO,
744 [
745 /*
746  * AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
747  * that defines bzero.
748  */
749
750 #if defined(_AIX)
751 #include <strings.h>
752 #endif
753 ])
754
755 AC_CHECK_FUNCS([vsnprintf snprintf])
756
757 AH_VERBATIM(_TRU64,[
758 /*
759  * On HP-UX, the declaration of vsnprintf() is needed every time !
760  */
761
762 #if !defined(HAVE_VSNPRINTF) || defined(hpux)
763 #if __STDC__
764 #include <stdarg.h>
765 #include <stdlib.h>
766 #else
767 #include <varargs.h>
768 #endif
769 #ifdef __cplusplus
770 extern "C"
771 #endif
772 int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
773 #ifdef __cplusplus
774 extern "C"
775 #endif
776 int snprintf(char *str, size_t n, char const *fmt, ...);
777 #endif
778 ])
779
780 ])
781
782 dnl ------------------------------------------------------------------------
783 dnl Find the header files and libraries for X-Windows. Extended the
784 dnl macro AC_PATH_X
785 dnl ------------------------------------------------------------------------
786 dnl
787 AC_DEFUN(K_PATH_X,
788 [
789 AC_REQUIRE([KDE_MISC_TESTS])dnl
790 AC_REQUIRE([KDE_CHECK_LIB64])
791
792 AC_ARG_ENABLE(
793   embedded,
794   [  --enable-embedded       link to Qt-embedded, don't use X],
795   kde_use_qt_emb=$enableval,
796   kde_use_qt_emb=no
797 )
798
799 AC_ARG_ENABLE(
800   qtopia,
801   [  --enable-qtopia         link to Qt-embedded, link to the Qtopia Environment],
802   kde_use_qt_emb_palm=$enableval,
803   kde_use_qt_emb_palm=no
804 )
805
806 if test "$kde_use_qt_emb" = "no"; then
807
808 AC_MSG_CHECKING(for X)
809 AC_LANG_SAVE
810 AC_LANG_C
811 AC_CACHE_VAL(kde_cv_have_x,
812 [# One or both of the vars are not set, and there is no cached value.
813 if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
814    kde_x_includes=NO
815 else
816    kde_x_includes=$x_includes
817 fi
818 if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
819    kde_x_libraries=NO
820 else
821    kde_x_libraries=$x_libraries
822 fi
823
824 # below we use the standard autoconf calls
825 ac_x_libraries=$kde_x_libraries
826 ac_x_includes=$kde_x_includes
827
828 KDE_PATH_X_DIRECT
829 dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
830 dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
831 dnl location. The correct location is /usr/lib32 or an undefined value
832 dnl (the linker is smart enough to pick the correct default library).
833 dnl Things work just fine if you use just AC_PATH_X_DIRECT.
834 dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to
835 dnl /usr/openwin/include, which doesn't work. /usr/include does work, so
836 dnl x_includes should be left alone.
837 case "$host" in
838 mips-sgi-irix6*)
839   ;;
840 *-*-solaris*)
841   ;;
842 *)
843   _AC_PATH_X_XMKMF
844   if test -z "$ac_x_includes"; then
845     ac_x_includes="."
846   fi
847   if test -z "$ac_x_libraries"; then
848     ac_x_libraries="/usr/lib${kdelibsuff}"
849   fi
850 esac
851 #from now on we use our own again
852
853 # when the user already gave --x-includes, we ignore
854 # what the standard autoconf macros told us.
855 if test "$kde_x_includes" = NO; then
856   kde_x_includes=$ac_x_includes
857 fi
858
859 # for --x-libraries too
860 if test "$kde_x_libraries" = NO; then
861   kde_x_libraries=$ac_x_libraries
862 fi
863
864 if test "$kde_x_includes" = NO; then
865   AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
866 fi
867
868 if test "$kde_x_libraries" = NO; then
869   AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
870 fi
871
872 # Record where we found X for the cache.
873 kde_cv_have_x="have_x=yes \
874          kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
875 ])dnl
876
877 eval "$kde_cv_have_x"
878
879 if test "$have_x" != yes; then
880   AC_MSG_RESULT($have_x)
881   no_x=yes
882 else
883   AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
884 fi
885
886 if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
887   X_INCLUDES=""
888   x_includes="."; dnl better than nothing :-
889  else
890   x_includes=$kde_x_includes
891   X_INCLUDES="-I$x_includes"
892 fi
893
894 if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then
895   X_LDFLAGS=""
896   x_libraries="/usr/lib"; dnl better than nothing :-
897  else
898   x_libraries=$kde_x_libraries
899   X_LDFLAGS="-L$x_libraries"
900 fi
901 all_includes="$X_INCLUDES"
902 all_libraries="$X_LDFLAGS"
903
904 AC_SUBST(X_INCLUDES)
905 AC_SUBST(X_LDFLAGS)
906 AC_SUBST(x_libraries)
907 AC_SUBST(x_includes)
908
909 # Check for libraries that X11R6 Xt/Xaw programs need.
910 ac_save_LDFLAGS="$LDFLAGS"
911 LDFLAGS="$LDFLAGS $X_LDFLAGS"
912 # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
913 # check for ICE first), but we must link in the order -lSM -lICE or
914 # we get undefined symbols.  So assume we have SM if we have ICE.
915 # These have to be linked with before -lX11, unlike the other
916 # libraries we check for below, so use a different variable.
917 #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
918 AC_CHECK_LIB(ICE, IceConnectionNumber,
919   [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
920 AC_SUBST(LIBSM)
921 LDFLAGS="$ac_save_LDFLAGS"
922
923 AC_SUBST(X_PRE_LIBS)
924
925 LIB_X11='-lX11 $(LIBSOCKET)'
926 AC_SUBST(LIB_X11)
927
928 AC_MSG_CHECKING(for libXext)
929 AC_CACHE_VAL(kde_cv_have_libXext,
930 [
931 kde_ldflags_safe="$LDFLAGS"
932 kde_libs_safe="$LIBS"
933
934 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
935 LIBS="-lXext -lX11 $LIBSOCKET"
936
937 AC_TRY_LINK([
938 #include <stdio.h>
939 #ifdef STDC_HEADERS
940 # include <stdlib.h>
941 #endif
942 ],
943 [
944 printf("hello Xext\n");
945 ],
946 kde_cv_have_libXext=yes,
947 kde_cv_have_libXext=no
948    )
949
950 LDFLAGS=$kde_ldflags_safe
951 LIBS=$kde_libs_safe
952  ])
953
954 AC_MSG_RESULT($kde_cv_have_libXext)
955
956 if test "$kde_cv_have_libXext" = "no"; then
957   AC_MSG_ERROR([We need a working libXext to proceed. Since configure
958 can't find it itself, we stop here assuming that make wouldn't find
959 them either.])
960 fi
961
962 AC_MSG_CHECKING(for Xinerama)
963
964  AC_ARG_WITH(xinerama,
965   [  --with-xinerama         enable support for Xinerama ],
966   [
967     no_xinerama=no
968   ], [
969     no_xinerama=yes
970   ]
971 )
972
973 kde_save_LDFLAGS="$LDFLAGS"
974 kde_save_CFLAGS="$CFLAGS"
975 kde_save_LIBS="$LIBS"
976 LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
977 CFLAGS="$CFLAGS -I$x_includes"
978 LIBS="-lXinerama -lXext"
979
980 if test "x$no_xinerama" = "xno"; then
981
982   AC_CACHE_VAL(ac_cv_have_xinerama,
983   [
984           AC_TRY_LINK([#include <X11/Xlib.h>
985                         #include <X11/extensions/Xinerama.h>],
986                   [XineramaIsActive(NULL);],
987                   [ac_cv_have_xinerama="yes"],
988                   [ac_cv_have_xinerama="no"])
989   ])
990 else
991   ac_cv_have_xinerama=no;
992 fi
993
994 AC_MSG_RESULT($ac_cv_have_xinerama)
995
996 LIBXINERAMA=""
997
998 if test "$ac_cv_have_xinerama" = "yes"; then
999   AC_DEFINE(HAVE_XINERAMA, 1, [Define if you want Xinerama support])
1000   LIBXINERAMA="-lXinerama"
1001 fi
1002
1003 AC_SUBST(LIBXINERAMA)
1004
1005 LDFLAGS="$kde_save_LDFLAGS"
1006 CFLAGS="$kde_save_CFLAGS"
1007 LIBS="$kde_save_LIBS"
1008
1009 LIB_XEXT="-lXext"
1010 QTE_NORTTI=""
1011
1012 else
1013   dnl We're using QT Embedded
1014   CPPFLAGS=-DQWS
1015   CXXFLAGS="$CXXFLAGS -fno-rtti"
1016   QTE_NORTTI="-fno-rtti -DQWS"
1017   X_PRE_LIBS=""
1018   LIB_X11=""
1019   LIB_XEXT=""
1020   LIBSM=""
1021   X_INCLUDES=""
1022   X_LDFLAGS=""
1023   x_includes=""
1024   x_libraries=""
1025   AC_SUBST(X_PRE_LIBS)
1026   AC_SUBST(LIB_X11)
1027   AC_SUBST(LIBSM)
1028   AC_SUBST(X_INCLUDES)
1029   AC_SUBST(X_LDFLAGS)
1030   AC_SUBST(x_includes)
1031   AC_SUBST(x_libraries)
1032 fi
1033 AC_SUBST(QTE_NORTTI)
1034 AC_SUBST(LIB_XEXT)
1035
1036
1037 AC_LANG_RESTORE
1038
1039 ])
1040
1041 AC_DEFUN(KDE_PRINT_QT_PROGRAM,
1042 [
1043 AC_REQUIRE([KDE_USE_QT])
1044 cat > conftest.$ac_ext <<EOF
1045 #include "confdefs.h"
1046 #include <qglobal.h>
1047 #include <qapplication.h>
1048 EOF
1049 if test "$kde_qtver" = "2"; then
1050 cat >> conftest.$ac_ext <<EOF
1051 #include <qevent.h>
1052 #include <qstring.h>
1053 #include <qstyle.h>
1054 EOF
1055
1056 if test $kde_qtsubver -gt 0; then
1057 cat >> conftest.$ac_ext <<EOF
1058 #if QT_VERSION < 210
1059 #error 1
1060 #endif
1061 EOF
1062 fi
1063 fi
1064
1065 if test "$kde_qtver" = "3"; then
1066 cat >> conftest.$ac_ext <<EOF
1067 #include <qcursor.h>
1068 #include <qstylefactory.h>
1069 #include <private/qucomextra_p.h>
1070 EOF
1071 fi
1072
1073 echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
1074 cat >> conftest.$ac_ext <<EOF
1075 #error 1
1076 #endif
1077
1078 int main() {
1079 EOF
1080 if test "$kde_qtver" = "2"; then
1081 cat >> conftest.$ac_ext <<EOF
1082     QStringList *t = new QStringList();
1083     Q_UNUSED(t);
1084 EOF
1085 if test $kde_qtsubver -gt 0; then
1086 cat >> conftest.$ac_ext <<EOF
1087     QString s;
1088     s.setLatin1("Elvis is alive", 14);
1089 EOF
1090 fi
1091 fi
1092 if test "$kde_qtver" = "3"; then
1093 cat >> conftest.$ac_ext <<EOF
1094     (void)QStyleFactory::create(QString::null);
1095     QCursor c(Qt::WhatsThisCursor);
1096 EOF
1097 fi
1098 cat >> conftest.$ac_ext <<EOF
1099     return 0;
1100 }
1101 EOF
1102 ])
1103
1104 AC_DEFUN(KDE_USE_QT,
1105 [
1106 if test -z "$1"; then
1107   # Current default Qt version: 3.1
1108   kde_qtver=3
1109   kde_qtsubver=1
1110 else
1111   kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
1112   # following is the check if subversion isnt found in passed argument
1113   if test "$kde_qtsubver" = "$1"; then
1114     kde_qtsubver=1
1115   fi
1116   kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
1117   if test "$kde_qtver" = "1"; then
1118     kde_qtsubver=42
1119   fi
1120 fi
1121
1122 if test -z "$2"; then
1123   if test "$kde_qtver" = "2"; then
1124     if test $kde_qtsubver -gt 0; then
1125       kde_qt_minversion=">= Qt 2.2.2"
1126     else
1127       kde_qt_minversion=">= Qt 2.0.2"
1128     fi
1129   fi
1130   if test "$kde_qtver" = "3"; then
1131     if test $kde_qtsubver -gt 0; then
1132       kde_qt_minversion=">= Qt 3.1 (20021021)"
1133     else
1134       kde_qt_minversion=">= Qt 3.0"
1135     fi
1136   fi
1137   if test "$kde_qtver" = "1"; then
1138     kde_qt_minversion=">= 1.42 and < 2.0"
1139   fi
1140 else
1141    kde_qt_minversion=$2
1142 fi
1143
1144 if test -z "$3"; then
1145    if test $kde_qtver = 3; then
1146      if test $kde_qtsubver -gt 0; then
1147        kde_qt_verstring="QT_VERSION >= 0x030100"
1148      else
1149        kde_qt_verstring="QT_VERSION >= 300"
1150      fi
1151    fi
1152    if test $kde_qtver = 2; then
1153      if test $kde_qtsubver -gt 0; then
1154        kde_qt_verstring="QT_VERSION >= 222"
1155      else
1156        kde_qt_verstring="QT_VERSION >= 200"
1157      fi
1158    fi
1159    if test $kde_qtver = 1; then
1160     kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
1161    fi
1162 else
1163    kde_qt_verstring=$3
1164 fi
1165
1166 if test $kde_qtver = 3; then
1167   kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt"
1168 fi
1169 if test $kde_qtver = 2; then
1170    kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
1171 fi
1172 if test $kde_qtver = 1; then
1173    kde_qt_dirs="$QTDIR /usr/lib/qt"
1174 fi
1175 ])
1176
1177 AC_DEFUN(KDE_CHECK_QT_DIRECT,
1178 [
1179 AC_REQUIRE([KDE_USE_QT])
1180 AC_MSG_CHECKING([if Qt compiles without flags])
1181 AC_CACHE_VAL(kde_cv_qt_direct,
1182 [
1183 AC_LANG_SAVE
1184 AC_LANG_CPLUSPLUS
1185 ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
1186 ac_LIBRARY_PATH="$LIBRARY_PATH"
1187 ac_cxxflags_safe="$CXXFLAGS"
1188 ac_ldflags_safe="$LDFLAGS"
1189 ac_libs_safe="$LIBS"
1190
1191 CXXFLAGS="$CXXFLAGS -I$qt_includes"
1192 LDFLAGS="$LDFLAGS $X_LDFLAGS"
1193 if test "x$kde_use_qt_emb" != "xyes"; then
1194 LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
1195 else
1196 LIBS="$LIBQT $LIBSOCKET"
1197 fi
1198 LD_LIBRARY_PATH=
1199 export LD_LIBRARY_PATH
1200 LIBRARY_PATH=
1201 export LIBRARY_PATH
1202
1203 KDE_PRINT_QT_PROGRAM
1204
1205 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1206   kde_cv_qt_direct="yes"
1207 else
1208   kde_cv_qt_direct="no"
1209   echo "configure: failed program was:" >&AC_FD_CC
1210   cat conftest.$ac_ext >&AC_FD_CC
1211 fi
1212
1213 rm -f conftest*
1214 CXXFLAGS="$ac_cxxflags_safe"
1215 LDFLAGS="$ac_ldflags_safe"
1216 LIBS="$ac_libs_safe"
1217
1218 LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
1219 export LD_LIBRARY_PATH
1220 LIBRARY_PATH="$ac_LIBRARY_PATH"
1221 export LIBRARY_PATH
1222 AC_LANG_RESTORE
1223 ])
1224
1225 if test "$kde_cv_qt_direct" = "yes"; then
1226   AC_MSG_RESULT(yes)
1227   $1
1228 else
1229   AC_MSG_RESULT(no)
1230   $2
1231 fi
1232 ])
1233
1234 dnl ------------------------------------------------------------------------
1235 dnl Try to find the Qt headers and libraries.
1236 dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
1237 dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
1238 dnl ------------------------------------------------------------------------
1239 dnl
1240 AC_DEFUN(AC_PATH_QT_1_3,
1241 [
1242 AC_REQUIRE([K_PATH_X])
1243 AC_REQUIRE([KDE_USE_QT])
1244 AC_REQUIRE([KDE_CHECK_LIB64])
1245
1246 dnl ------------------------------------------------------------------------
1247 dnl Add configure flag to enable linking to MT version of Qt library.
1248 dnl ------------------------------------------------------------------------
1249
1250 AC_ARG_ENABLE(
1251   mt,
1252   [  --disable-mt            link to non-threaded Qt (deprecated)],
1253   kde_use_qt_mt=$enableval,
1254   [
1255     if test $kde_qtver = 3; then
1256       kde_use_qt_mt=yes
1257     else
1258       kde_use_qt_mt=no
1259     fi
1260   ]
1261 )
1262
1263 USING_QT_MT=""
1264
1265 dnl ------------------------------------------------------------------------
1266 dnl If we not get --disable-qt-mt then adjust some vars for the host.
1267 dnl ------------------------------------------------------------------------
1268
1269 KDE_MT_LDFLAGS=
1270 KDE_MT_LIBS=
1271 if test "x$kde_use_qt_mt" = "xyes"; then
1272   KDE_CHECK_THREADING
1273   if test "x$kde_use_threading" = "xyes"; then
1274     CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS"
1275     KDE_MT_LDFLAGS="$USE_THREADS"
1276     KDE_MT_LIBS="$LIBPTHREAD"
1277   else
1278     kde_use_qt_mt=no
1279   fi
1280 fi
1281 AC_SUBST(KDE_MT_LDFLAGS)
1282 AC_SUBST(KDE_MT_LIBS)
1283
1284 kde_qt_was_given=yes
1285
1286 dnl ------------------------------------------------------------------------
1287 dnl If we haven't been told how to link to Qt, we work it out for ourselves.
1288 dnl ------------------------------------------------------------------------
1289 if test -z "$LIBQT_GLOB"; then
1290   if test "x$kde_use_qt_emb" = "xyes"; then
1291     LIBQT_GLOB="libqte.*"
1292   else
1293     LIBQT_GLOB="libqt.*"
1294   fi
1295 fi
1296
1297 if test -z "$LIBQT"; then
1298 dnl ------------------------------------------------------------
1299 dnl If we got --enable-embedded then adjust the Qt library name.
1300 dnl ------------------------------------------------------------
1301   if test "x$kde_use_qt_emb" = "xyes"; then
1302     qtlib="qte"
1303   else
1304     qtlib="qt"
1305   fi
1306
1307   kde_int_qt="-l$qtlib"
1308 else
1309   kde_int_qt="$LIBQT"
1310   kde_lib_qt_set=yes
1311 fi
1312
1313 if test -z "$LIBQPE"; then
1314 dnl ------------------------------------------------------------
1315 dnl If we got --enable-palmtop then add -lqpe to the link line
1316 dnl ------------------------------------------------------------
1317   if test "x$kde_use_qt_emb" = "xyes"; then
1318     if test "x$kde_use_qt_emb_palm" = "xyes"; then
1319       LIB_QPE="-lqpe"
1320     else
1321       LIB_QPE=""
1322     fi
1323   else
1324     LIB_QPE=""
1325   fi
1326 fi
1327
1328 dnl ------------------------------------------------------------------------
1329 dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
1330 dnl ------------------------------------------------------------------------
1331
1332 if test "x$kde_use_qt_mt" = "xyes"; then
1333   if test -z "$LIBQT"; then
1334     LIBQT="-l$qtlib-mt"
1335     kde_int_qt="-l$qtlib-mt"
1336   else
1337     LIBQT="$qtlib-mt"
1338     kde_int_qt="$qtlib-mt"
1339   fi
1340   LIBQT_GLOB="lib$qtlib-mt.*"
1341   USING_QT_MT="using -mt"
1342 else
1343   LIBQT="-l$qtlib"
1344 fi
1345
1346 if test $kde_qtver != 1; then
1347
1348   AC_REQUIRE([AC_FIND_PNG])
1349   AC_REQUIRE([AC_FIND_JPEG])
1350   LIBQT="$LIBQT $LIBPNG $LIBJPEG"
1351 fi
1352
1353 if test $kde_qtver = 3; then
1354   AC_REQUIRE([KDE_CHECK_LIBDL])
1355   LIBQT="$LIBQT $LIBDL"
1356 fi
1357
1358 AC_MSG_CHECKING([for Qt])
1359
1360 if test "x$kde_use_qt_emb" != "xyes"; then
1361 LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
1362 fi
1363 ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
1364 qt_libraries=""
1365 qt_includes=""
1366 AC_ARG_WITH(qt-dir,
1367     [  --with-qt-dir=DIR       where the root of Qt is installed ],
1368     [  ac_qt_includes="$withval"/include
1369        ac_qt_libraries="$withval"/lib${kdelibsuff}
1370        ac_qt_bindir="$withval"/bin
1371     ])
1372
1373 AC_ARG_WITH(qt-includes,
1374     [  --with-qt-includes=DIR  where the Qt includes are. ],
1375     [
1376        ac_qt_includes="$withval"
1377     ])
1378
1379 kde_qt_libs_given=no
1380
1381 AC_ARG_WITH(qt-libraries,
1382     [  --with-qt-libraries=DIR where the Qt library is installed.],
1383     [  ac_qt_libraries="$withval"
1384        kde_qt_libs_given=yes
1385     ])
1386
1387 AC_CACHE_VAL(ac_cv_have_qt,
1388 [#try to guess Qt locations
1389
1390 qt_incdirs=""
1391 for dir in $kde_qt_dirs; do
1392    qt_incdirs="$qt_incdirs $dir/include $dir"
1393 done
1394 qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 $x_includes"
1395 if test ! "$ac_qt_includes" = "NO"; then
1396    qt_incdirs="$ac_qt_includes $qt_incdirs"
1397 fi
1398
1399 if test "$kde_qtver" != "1"; then
1400   kde_qt_header=qstyle.h
1401 else
1402   kde_qt_header=qglobal.h
1403 fi
1404
1405 AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
1406 ac_qt_includes="$qt_incdir"
1407
1408 qt_libdirs=""
1409 for dir in $kde_qt_dirs; do
1410    qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir"
1411 done
1412 qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
1413 if test ! "$ac_qt_libraries" = "NO"; then
1414   qt_libdir=$ac_qt_libraries
1415 else
1416   qt_libdirs="$ac_qt_libraries $qt_libdirs"
1417   # if the Qt was given, the chance is too big that libqt.* doesn't exist
1418   qt_libdir=NONE
1419   for dir in $qt_libdirs; do
1420     try="ls -1 $dir/${LIBQT_GLOB}"
1421     if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
1422   done
1423 fi
1424
1425 ac_qt_libraries="$qt_libdir"
1426
1427 AC_LANG_SAVE
1428 AC_LANG_CPLUSPLUS
1429
1430 ac_cxxflags_safe="$CXXFLAGS"
1431 ac_ldflags_safe="$LDFLAGS"
1432 ac_libs_safe="$LIBS"
1433
1434 CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
1435 LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
1436 LIBS="$LIBS $LIBQT $KDE_MT_LIBS"
1437
1438 KDE_PRINT_QT_PROGRAM
1439
1440 if AC_TRY_EVAL(ac_link) && test -s conftest; then
1441   rm -f conftest*
1442 else
1443   echo "configure: failed program was:" >&AC_FD_CC
1444   cat conftest.$ac_ext >&AC_FD_CC
1445   ac_qt_libraries="NO"
1446 fi
1447 rm -f conftest*
1448 CXXFLAGS="$ac_cxxflags_safe"
1449 LDFLAGS="$ac_ldflags_safe"
1450 LIBS="$ac_libs_safe"
1451
1452 AC_LANG_RESTORE
1453 if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
1454   ac_cv_have_qt="have_qt=no"
1455   ac_qt_notfound=""
1456   missing_qt_mt=""
1457   if test "$ac_qt_includes" = NO; then
1458     if test "$ac_qt_libraries" = NO; then
1459       ac_qt_notfound="(headers and libraries)";
1460     else
1461       ac_qt_notfound="(headers)";
1462     fi
1463   else
1464     if test "x$kde_use_qt_mt" = "xyes"; then
1465        missing_qt_mt="
1466 Make sure that you have compiled Qt with thread support!"
1467        ac_qt_notfound="(library $qtlib-mt)";
1468     else
1469        ac_qt_notfound="(library $qtlib)";
1470     fi
1471   fi
1472
1473   AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
1474 For more details about this problem, look at the end of config.log.$missing_qt_mt])
1475 else
1476   have_qt="yes"
1477 fi
1478 ])
1479
1480 eval "$ac_cv_have_qt"
1481
1482 if test "$have_qt" != yes; then
1483   AC_MSG_RESULT([$have_qt]);
1484 else
1485   ac_cv_have_qt="have_qt=yes \
1486     ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
1487   AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
1488
1489   qt_libraries="$ac_qt_libraries"
1490   qt_includes="$ac_qt_includes"
1491 fi
1492
1493 if test ! "$kde_qt_libs_given" = "yes"; then
1494 KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
1495 fi
1496
1497 AC_SUBST(qt_libraries)
1498 AC_SUBST(qt_includes)
1499
1500 if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
1501  QT_INCLUDES=""
1502 else
1503  QT_INCLUDES="-I$qt_includes"
1504  all_includes="$QT_INCLUDES $all_includes"
1505 fi
1506
1507 if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
1508  QT_LDFLAGS=""
1509 else
1510  QT_LDFLAGS="-L$qt_libraries"
1511  all_libraries="$all_libraries $QT_LDFLAGS"
1512 fi
1513 test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
1514
1515 AC_SUBST(QT_INCLUDES)
1516 AC_SUBST(QT_LDFLAGS)
1517 AC_PATH_QT_MOC_UIC
1518
1519 KDE_CHECK_QT_JPEG
1520
1521 if test "x$kde_use_qt_emb" != "xyes"; then
1522 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG) -lXext $(LIB_X11) $(LIBSM)'
1523 else
1524 LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG)'
1525 fi
1526 test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
1527
1528 AC_SUBST(LIB_QT)
1529 AC_SUBST(LIB_QPE)
1530
1531 AC_SUBST(kde_qtver)
1532 ])
1533
1534 AC_DEFUN(AC_PATH_QT,
1535 [
1536 AC_PATH_QT_1_3
1537 ])
1538
1539 AC_DEFUN(KDE_CHECK_UIC_PLUGINS,
1540 [
1541 AC_REQUIRE([AC_PATH_QT_MOC_UIC])
1542
1543 if test x$ac_uic_supports_libpath = xyes; then
1544
1545 AC_MSG_CHECKING([if UIC has KDE plugins available])
1546 AC_CACHE_VAL(kde_cv_uic_plugins,
1547 [
1548 cat > actest.ui << EOF
1549 <!DOCTYPE UI><UI version="3.0" stdsetdef="1">
1550 <class>NewConnectionDialog</class>
1551 <widget class="QDialog">
1552    <widget class="KLineEdit">
1553         <property name="name">
1554            <cstring>testInput</cstring>
1555         </property>
1556    </widget>
1557 </widget>
1558 </UI>
1559 EOF
1560        
1561
1562
1563 kde_cv_uic_plugins=no
1564 kde_line="$UIC_PATH -L $kde_widgetdir"
1565 if test x$ac_uic_supports_nounload = xyes; then
1566    kde_line="$kde_line -nounload"
1567 fi
1568 kde_line="$kde_line -impl actest.h actest.ui > actest.cpp"
1569 if AC_TRY_EVAL(kde_line); then
1570         if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then
1571                 kde_cv_uic_plugins=yes
1572         fi
1573 fi
1574 rm -f actest.ui actest.cpp
1575 ])
1576
1577 if test "$kde_cv_uic_plugins" = yes; then
1578         AC_MSG_RESULT([yes])
1579 else
1580         AC_MSG_ERROR([not found - you need to install kdelibs first.])
1581 fi
1582 fi
1583 ])
1584
1585 AC_DEFUN(KDE_CHECK_FINAL,
1586 [
1587   AC_ARG_ENABLE(final, [  --enable-final          build size optimized apps (experimental - needs lots of memory)],
1588         kde_use_final=$enableval, kde_use_final=no)
1589
1590   KDE_COMPILER_REPO
1591   if test "x$kde_use_final" = "xyes"; then
1592       KDE_USE_FINAL_TRUE=""
1593       KDE_USE_FINAL_FALSE="#"
1594    else
1595       KDE_USE_FINAL_TRUE="#"
1596       KDE_USE_FINAL_FALSE=""
1597   fi
1598   AC_SUBST(KDE_USE_FINAL_TRUE)
1599   AC_SUBST(KDE_USE_FINAL_FALSE)
1600
1601   AC_ARG_ENABLE(closure, [  --disable-closure       don't delay template instantiation],
1602         kde_use_closure=$enableval, kde_use_closure=yes)
1603
1604   if test "x$kde_use_closure" = "xyes"; then
1605        KDE_USE_CLOSURE_TRUE=""
1606        KDE_USE_CLOSURE_FALSE="#"
1607 #       CXXFLAGS="$CXXFLAGS $REPO"
1608   else
1609        KDE_USE_CLOSURE_TRUE="#"
1610        KDE_USE_CLOSURE_FALSE=""
1611   fi
1612   AC_SUBST(KDE_USE_CLOSURE_TRUE)
1613   AC_SUBST(KDE_USE_CLOSURE_FALSE)
1614 ])
1615
1616 dnl ------------------------------------------------------------------------
1617 dnl Now, the same with KDE
1618 dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
1619 dnl and $(kde_includes) will be the kdehdrlocation (if needed)
1620 dnl ------------------------------------------------------------------------
1621 dnl
1622 AC_DEFUN(AC_BASE_PATH_KDE,
1623 [
1624 AC_PREREQ([2.13])
1625 AC_REQUIRE([AC_PATH_QT])dnl
1626 AC_REQUIRE([KDE_CHECK_LIB64])
1627
1628 AC_CHECK_RPATH
1629 AC_MSG_CHECKING([for KDE])
1630
1631 if test "${prefix}" != NONE; then
1632   kde_includes=${prefix}/include
1633   ac_kde_includes=$prefix/include
1634
1635   if test "${exec_prefix}" != NONE; then
1636      kde_libraries=${libdir}
1637      ac_kde_libraries=$libdir
1638      if test "$ac_kde_libraries" = '${exec_prefix}/lib'${kdelibsuff}; then
1639         ac_kde_libraries=$exec_prefix/lib${kdelibsuff}
1640      fi
1641   else
1642      kde_libraries=${prefix}/lib${kdelibsuff}
1643      ac_kde_libraries=$prefix/lib${kdelibsuff}
1644   fi
1645 else
1646   ac_kde_includes=
1647   ac_kde_libraries=
1648   kde_libraries=""
1649   kde_includes=""
1650 fi
1651
1652 AC_CACHE_VAL(ac_cv_have_kde,
1653 [#try to guess kde locations
1654
1655 if test "$kde_qtver" = 1; then
1656   kde_check_header="ksock.h"
1657   kde_check_lib="libkdecore.la"
1658 else
1659   kde_check_header="ksharedptr.h"
1660   kde_check_lib="libkio.la"
1661 fi
1662
1663 if test -z "$1"; then
1664
1665 kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
1666 test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
1667 kde_incdirs="$ac_kde_includes $kde_incdirs"
1668 AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
1669 ac_kde_includes="$kde_incdir"
1670
1671 if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
1672   AC_MSG_ERROR([
1673 in the prefix, you've chosen, are no KDE headers installed. This will fail.
1674 So, check this please and use another prefix!])
1675 fi
1676
1677 kde_libdirs="/usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}"
1678 test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs"
1679 kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
1680 AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
1681 ac_kde_libraries="$kde_libdir"
1682
1683 kde_widgetdir=NO
1684 dnl this might be somewhere else
1685 AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir)
1686
1687 if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
1688 AC_MSG_ERROR([
1689 in the prefix, you've chosen, are no KDE libraries installed. This will fail.
1690 So, check this please and use another prefix!])
1691 fi
1692
1693 if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then
1694 AC_MSG_ERROR([
1695 I can't find the designer plugins. These are required and should have been installed
1696 by kdelibs])
1697 fi
1698
1699 if test -n "$kde_widgetdir"; then
1700     kde_widgetdir="$kde_widgetdir/kde3/plugins/designer"
1701 fi
1702
1703
1704 if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then
1705   ac_cv_have_kde="have_kde=no"
1706 else
1707   ac_cv_have_kde="have_kde=yes \
1708     ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1709 fi
1710
1711 else dnl test -z $1
1712
1713   ac_cv_have_kde="have_kde=no"
1714
1715 fi
1716 ])dnl
1717
1718 eval "$ac_cv_have_kde"
1719
1720 if test "$have_kde" != "yes"; then
1721  if test "${prefix}" = NONE; then
1722   ac_kde_prefix="$ac_default_prefix"
1723  else
1724   ac_kde_prefix="$prefix"
1725  fi
1726  if test "$exec_prefix" = NONE; then
1727   ac_kde_exec_prefix="$ac_kde_prefix"
1728   AC_MSG_RESULT([will be installed in $ac_kde_prefix])
1729  else
1730   ac_kde_exec_prefix="$exec_prefix"
1731   AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
1732  fi
1733
1734  kde_libraries="${libdir}"
1735  kde_includes=${ac_kde_prefix}/include
1736
1737 else
1738   ac_cv_have_kde="have_kde=yes \
1739     ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1740   AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
1741
1742   kde_libraries="$ac_kde_libraries"
1743   kde_includes="$ac_kde_includes"
1744 fi
1745 AC_SUBST(kde_libraries)
1746 AC_SUBST(kde_includes)
1747
1748 if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes"  || test "$kde_includes" = "/usr/include"; then
1749  KDE_INCLUDES=""
1750 else
1751  KDE_INCLUDES="-I$kde_includes"
1752  all_includes="$KDE_INCLUDES $all_includes"
1753 fi
1754  
1755 KDE_LDFLAGS="-L$kde_libraries"
1756 if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then 
1757  all_libraries="$all_libraries $KDE_LDFLAGS"
1758 fi
1759
1760 AC_SUBST(KDE_LDFLAGS)
1761 AC_SUBST(KDE_INCLUDES)
1762
1763 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
1764
1765 all_libraries="$all_libraries $USER_LDFLAGS"
1766 all_includes="$all_includes $USER_INCLUDES"
1767 AC_SUBST(all_includes)
1768 AC_SUBST(all_libraries)
1769
1770 if test -z "$1"; then
1771 KDE_CHECK_UIC_PLUGINS
1772 fi
1773
1774 ac_kde_libraries="$kde_libdir"
1775
1776 AC_SUBST(AUTODIRS)
1777
1778
1779 ])
1780
1781 AC_DEFUN(KDE_CHECK_EXTRA_LIBS,
1782 [
1783 AC_MSG_CHECKING(for extra includes)
1784 AC_ARG_WITH(extra-includes, [  --with-extra-includes=DIR
1785                           adds non standard include paths],
1786   kde_use_extra_includes="$withval",
1787   kde_use_extra_includes=NONE
1788 )
1789 kde_extra_includes=
1790 if test -n "$kde_use_extra_includes" && \
1791    test "$kde_use_extra_includes" != "NONE"; then
1792
1793    ac_save_ifs=$IFS
1794    IFS=':'
1795    for dir in $kde_use_extra_includes; do
1796      kde_extra_includes="$kde_extra_includes $dir"
1797      USER_INCLUDES="$USER_INCLUDES -I$dir"
1798    done
1799    IFS=$ac_save_ifs
1800    kde_use_extra_includes="added"
1801 else
1802    kde_use_extra_includes="no"
1803 fi
1804 AC_SUBST(USER_INCLUDES)
1805
1806 AC_MSG_RESULT($kde_use_extra_includes)
1807
1808 kde_extra_libs=
1809 AC_MSG_CHECKING(for extra libs)
1810 AC_ARG_WITH(extra-libs, [  --with-extra-libs=DIR   adds non standard library paths],
1811   kde_use_extra_libs=$withval,
1812   kde_use_extra_libs=NONE
1813 )
1814 if test -n "$kde_use_extra_libs" && \
1815    test "$kde_use_extra_libs" != "NONE"; then
1816
1817    ac_save_ifs=$IFS
1818    IFS=':'
1819    for dir in $kde_use_extra_libs; do
1820      kde_extra_libs="$kde_extra_libs $dir"
1821      KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
1822      USER_LDFLAGS="$USER_LDFLAGS -L$dir"
1823    done
1824    IFS=$ac_save_ifs
1825    kde_use_extra_libs="added"
1826 else
1827    kde_use_extra_libs="no"
1828 fi
1829
1830 AC_SUBST(USER_LDFLAGS)
1831
1832 AC_MSG_RESULT($kde_use_extra_libs)
1833
1834 ])
1835
1836 AC_DEFUN(KDE_1_CHECK_PATH_HEADERS,
1837 [
1838     AC_MSG_CHECKING([for KDE headers installed])
1839     AC_LANG_SAVE
1840     AC_LANG_CPLUSPLUS
1841 cat > conftest.$ac_ext <<EOF
1842 #ifdef STDC_HEADERS
1843 # include <stdlib.h>
1844 #endif
1845 #include <stdio.h>
1846 #include "confdefs.h"
1847 #include <kapp.h>
1848
1849 int main() {
1850     printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
1851     printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
1852     printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
1853     printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
1854     printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
1855     printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
1856     printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
1857     printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
1858     printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
1859     printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
1860     printf("kde_wallpaperdir=\\"%s\\"\n",
1861         KApplication::kde_wallpaperdir().data());
1862     printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
1863     printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
1864     printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
1865     printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
1866     printf("kde_moduledir=\\"/tmp/dummy\\"\n");
1867     printf("kde_styledir=\\"/tmp/dummy\\"\n");
1868     printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
1869     return 0;
1870     }
1871 EOF
1872
1873  ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext'
1874  if AC_TRY_EVAL(ac_compile); then
1875    AC_MSG_RESULT(yes)
1876  else
1877    AC_MSG_ERROR([your system is not able to compile a small KDE application!
1878 Check, if you installed the KDE header files correctly.
1879 For more details about this problem, look at the end of config.log.])
1880   fi
1881
1882   AC_LANG_RESTORE
1883 ])
1884
1885 AC_DEFUN(KDE_CHECK_KDEQTADDON,
1886 [
1887 AC_MSG_CHECKING(for kde-qt-addon)
1888 AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
1889 [
1890  kde_ldflags_safe="$LDFLAGS"
1891  kde_libs_safe="$LIBS"
1892  kde_cxxflags_safe="$CXXFLAGS"
1893
1894  LIBS="-lkde-qt-addon $LIBQT $LIBS"
1895  CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
1896  LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
1897
1898  AC_TRY_LINK([
1899    #include <qdom.h>
1900  ],
1901  [
1902    QDomDocument doc;
1903  ],
1904   kde_cv_have_kdeqtaddon=yes,
1905   kde_cv_have_kdeqtaddon=no
1906  )
1907
1908  LDFLAGS=$kde_ldflags_safe
1909  LIBS=$kde_libs_safe
1910  CXXFLAGS=$kde_cxxflags_safe
1911 ])
1912
1913 AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
1914
1915 if test "$kde_cv_have_kdeqtaddon" = "no"; then
1916   AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
1917 It is a separate package (and CVS module) named kde-qt-addon.])
1918 fi
1919 ])
1920
1921 AC_DEFUN(KDE_CHECK_KIMGIO,
1922 [
1923    AC_REQUIRE([AC_BASE_PATH_KDE])
1924    AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
1925    AC_REQUIRE([AC_FIND_TIFF])
1926    AC_REQUIRE([AC_FIND_JPEG])
1927    AC_REQUIRE([AC_FIND_PNG])
1928    AC_REQUIRE([KDE_CREATE_LIBS_ALIASES])
1929
1930    if test "$1" = "existance"; then
1931      AC_LANG_SAVE
1932      AC_LANG_CPLUSPLUS
1933      kde_save_LIBS="$LIBS"
1934      LIBS="$LIBS $all_libraries $LIBJPEG $LIBTIFF $LIBPNG $LIBQT -lm"
1935      AC_CHECK_LIB(kimgio, kimgioRegister, [
1936       LIBKIMGIO_EXISTS=yes],LIBKIMGIO_EXISTS=no)
1937      LIBS="$kde_save_LIBS"
1938      AC_LANG_RESTORE
1939    else
1940      LIBKIMGIO_EXISTS=yes
1941    fi
1942
1943    if test "$LIBKIMGIO_EXISTS" = "yes"; then
1944      LIB_KIMGIO='-lkimgio'
1945    else
1946      LIB_KIMGIO=''
1947    fi
1948    AC_SUBST(LIB_KIMGIO)
1949 ])
1950
1951 AC_DEFUN(KDE_CREATE_LIBS_ALIASES,
1952 [
1953    AC_REQUIRE([KDE_MISC_TESTS])
1954    AC_REQUIRE([KDE_CHECK_LIBDL])
1955    AC_REQUIRE([K_PATH_X])
1956
1957 if test $kde_qtver = 3; then
1958    AC_SUBST(LIB_KDECORE, "-lkdecore")
1959    AC_SUBST(LIB_KDEUI, "-lkdeui")
1960    AC_SUBST(LIB_KIO, "-lkio")
1961    AC_SUBST(LIB_SMB, "-lsmb")
1962    AC_SUBST(LIB_KAB, "-lkab")
1963    AC_SUBST(LIB_KABC, "-lkabc")
1964    AC_SUBST(LIB_KHTML, "-lkhtml")
1965    AC_SUBST(LIB_KSPELL, "-lkspell")
1966    AC_SUBST(LIB_KPARTS, "-lkparts")
1967    AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
1968 # these are for backward compatibility
1969    AC_SUBST(LIB_KSYCOCA, "-lkio")
1970    AC_SUBST(LIB_KFILE, "-lkio")
1971 elif test $kde_qtver = 2; then
1972    AC_SUBST(LIB_KDECORE, "-lkdecore")
1973    AC_SUBST(LIB_KDEUI, "-lkdeui")
1974    AC_SUBST(LIB_KIO, "-lkio")
1975    AC_SUBST(LIB_KSYCOCA, "-lksycoca")
1976    AC_SUBST(LIB_SMB, "-lsmb")
1977    AC_SUBST(LIB_KFILE, "-lkfile")
1978    AC_SUBST(LIB_KAB, "-lkab")
1979    AC_SUBST(LIB_KHTML, "-lkhtml")
1980    AC_SUBST(LIB_KSPELL, "-lkspell")
1981    AC_SUBST(LIB_KPARTS, "-lkparts")
1982    AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
1983 else
1984    AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)")
1985    AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)")
1986    AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)")
1987    AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)")
1988    AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)")
1989 fi
1990 ])
1991
1992 AC_DEFUN(AC_PATH_KDE,
1993 [
1994   AC_BASE_PATH_KDE
1995   AC_ARG_ENABLE(path-check, [  --disable-path-check    don't try to find out, where to install],
1996   [
1997   if test "$enableval" = "no";
1998     then ac_use_path_checking="default"
1999     else ac_use_path_checking=""
2000   fi
2001   ],
2002   [
2003   if test "$kde_qtver" = 1;
2004     then ac_use_path_checking=""
2005     else ac_use_path_checking="default"
2006   fi
2007   ]
2008   )
2009
2010   AC_CREATE_KFSSTND($ac_use_path_checking)
2011
2012   AC_SUBST_KFSSTND
2013   KDE_CREATE_LIBS_ALIASES
2014 ])
2015
2016 dnl KDE_CHECK_FUNC_EXT(<func>, [headers], [sample-use], [C prototype], [autoheader define], [call if found])
2017 AC_DEFUN(KDE_CHECK_FUNC_EXT,
2018 [
2019 AC_MSG_CHECKING(for $1)
2020 AC_CACHE_VAL(kde_cv_func_$1,
2021 [
2022 AC_LANG_SAVE
2023 AC_LANG_CPLUSPLUS
2024 save_CXXFLAGS="$CXXFLAGS"
2025 kde_safe_LIBS="$LIBS"
2026 LIBS="$LIBS $X_EXTRA_LIBS"
2027 if test "$GXX" = "yes"; then
2028   CXXFLAGS="$CXXFLAGS -pedantic-errors"
2029 fi
2030 AC_TRY_COMPILE([
2031 $2
2032 ],
2033 [
2034 $3
2035 ],
2036 kde_cv_func_$1=yes,
2037 kde_cv_func_$1=no)
2038 CXXFLAGS="$save_CXXFLAGS"
2039 LIBS=$kde_safe_LIBS
2040 AC_LANG_RESTORE
2041 ])
2042
2043 AC_MSG_RESULT($kde_cv_func_$1)
2044
2045 AC_MSG_CHECKING([if $1 needs custom prototype])
2046 AC_CACHE_VAL(kde_cv_proto_$1,
2047 [
2048 if test "x$kde_cv_func_$1" = xyes; then
2049   kde_cv_proto_$1=no
2050 else
2051   case "$1" in
2052         setenv|unsetenv|usleep|getdomainname|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat)
2053                 kde_cv_proto_$1="yes - in libkdefakes"
2054                 ;;
2055         *)
2056                 kde_cv_proto_$1=unknown
2057                 ;;
2058   esac
2059 fi
2060
2061 if test "x$kde_cv_proto_$1" = xunknown; then
2062
2063 AC_LANG_SAVE
2064 AC_LANG_CPLUSPLUS
2065   kde_safe_libs=$LIBS
2066   LIBS="$LIBS $X_EXTRA_LIBS"
2067   AC_TRY_LINK([
2068 $2
2069
2070 extern "C" $4;
2071 ],
2072 [
2073 $3
2074 ],
2075 [ kde_cv_func_$1=yes
2076   kde_cv_proto_$1=yes ],
2077   [kde_cv_proto_$1="$1 unavailable"]
2078 )
2079 LIBS=$kde_safe_libs
2080 AC_LANG_RESTORE
2081 fi
2082 ])
2083 AC_MSG_RESULT($kde_cv_proto_$1)
2084
2085 if test "x$kde_cv_func_$1" = xyes; then
2086   AC_DEFINE(HAVE_$5, 1, [Define if you have $1])
2087   $6
2088 fi
2089 if test "x$kde_cv_proto_$1" = xno; then
2090   AC_DEFINE(HAVE_$5_PROTO, 1,
2091   [Define if you have the $1 prototype])
2092 fi
2093
2094 AH_VERBATIM([_HAVE_$5_PROTO],
2095 [
2096 #if !defined(HAVE_$5_PROTO)
2097 #ifdef __cplusplus
2098 extern "C"
2099 #endif
2100 $4;
2101 #endif
2102 ])
2103 ])
2104
2105 AC_DEFUN(AC_CHECK_SETENV,
2106 [
2107         KDE_CHECK_FUNC_EXT(setenv, [
2108 #include <stdlib.h>
2109 ], 
2110                 [setenv("VAR", "VALUE", 1);],
2111                 [int setenv (const char *, const char *, int)],
2112                 [SETENV])
2113 ])
2114
2115 AC_DEFUN(AC_CHECK_UNSETENV,
2116 [
2117         KDE_CHECK_FUNC_EXT(unsetenv, [
2118 #include <stdlib.h>
2119 ], 
2120                 [unsetenv("VAR");],
2121                 [void unsetenv (const char *)],
2122                 [UNSETENV])
2123 ])
2124
2125 AC_DEFUN(AC_CHECK_GETDOMAINNAME,
2126 [
2127         KDE_CHECK_FUNC_EXT(getdomainname, [
2128 #include <stdlib.h>
2129 #include <unistd.h>
2130 ], 
2131                 [
2132 char buffer[200];
2133 getdomainname(buffer, 200);
2134 ],      
2135                 [int getdomainname (char *, unsigned int)],
2136                 [GETDOMAINNAME])
2137 ])
2138
2139 AC_DEFUN(AC_CHECK_GETHOSTNAME,
2140 [
2141         KDE_CHECK_FUNC_EXT(gethostname, [
2142 #include <stdlib.h>
2143 #include <unistd.h>
2144 ], 
2145                 [
2146 char buffer[200];
2147 gethostname(buffer, 200);
2148 ],      
2149                 [int gethostname (char *, unsigned int)],
2150                 [GETHOSTNAME])
2151 ])
2152
2153 AC_DEFUN(AC_CHECK_USLEEP,
2154 [
2155         KDE_CHECK_FUNC_EXT(usleep, [
2156 #include <unistd.h>
2157 ], 
2158                 [
2159 usleep(200);
2160 ],      
2161                 [int usleep (unsigned int)],
2162                 [USLEEP])
2163 ])
2164
2165
2166 AC_DEFUN(AC_CHECK_RANDOM,
2167 [
2168         KDE_CHECK_FUNC_EXT(random, [
2169 #include <stdlib.h>
2170 ], 
2171                 [
2172 random();
2173 ],      
2174                 [long int random(void)],
2175                 [RANDOM])
2176
2177         KDE_CHECK_FUNC_EXT(srandom, [
2178 #include <stdlib.h>
2179 ], 
2180                 [
2181 srandom(27);
2182 ],      
2183                 [void srandom(unsigned int)],
2184                 [SRANDOM])
2185
2186 ])
2187
2188 AC_DEFUN(AC_CHECK_INITGROUPS,
2189 [
2190         KDE_CHECK_FUNC_EXT(initgroups, [
2191 #include <sys/types.h>
2192 #include <unistd.h>
2193 #include <grp.h>
2194 ],
2195         [
2196 char buffer[200];
2197 initgroups(buffer, 27);
2198 ],
2199         [int initgroups(const char *, gid_t)],
2200         [INITGROUPS])
2201 ])
2202
2203 AC_DEFUN(AC_CHECK_MKSTEMP,
2204 [
2205         KDE_CHECK_FUNC_EXT(mkstemp, [
2206 #include <stdlib.h>
2207 ],
2208         [
2209 mkstemp("/tmp/aaaXXXXXX");
2210 ],
2211         [int mkstemp(char *)],
2212         [MKSTEMP])
2213 ])
2214
2215 AC_DEFUN(AC_CHECK_MKSTEMPS,
2216 [
2217         KDE_CHECK_FUNC_EXT(mkstemps, [
2218 #include <stdlib.h>
2219 #include <unistd.h>
2220 ],
2221         [
2222 mkstemps("/tmp/aaaXXXXXX", 6);
2223 ],
2224         [int mkstemps(char *, int)],
2225         [MKSTEMPS])
2226 ])
2227
2228 AC_DEFUN(AC_CHECK_RES_INIT,
2229 [
2230   AC_MSG_CHECKING([if res_init needs -lresolv])
2231   kde_libs_safe="$LIBS"
2232   LIBS="$LIBS $X_EXTRA_LIBS -lresolv"
2233   AC_TRY_LINK(
2234     [
2235 #include <sys/types.h>
2236 #include <netinet/in.h>
2237 #include <arpa/nameser.h>
2238 #include <resolv.h>
2239     ],
2240     [
2241       res_init(); 
2242     ],
2243     [
2244       LIBRESOLV="-lresolv"
2245       AC_MSG_RESULT(yes)
2246       AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
2247     ],
2248     [ AC_MSG_RESULT(no) ]
2249   )
2250   LIBS=$kde_libs_safe
2251   AC_SUBST(LIBRESOLV)
2252
2253   AC_MSG_CHECKING([if res_init is available])
2254   AC_TRY_COMPILE(
2255     [
2256 #include <sys/types.h>
2257 #include <netinet/in.h>
2258 #include <arpa/nameser.h>
2259 #include <resolv.h>
2260     ],
2261     [
2262       res_init();
2263     ],
2264     [
2265       AC_MSG_RESULT(yes)
2266       AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
2267     ],
2268     [ AC_MSG_RESULT(no) ]
2269   )
2270 ])
2271
2272 AC_DEFUN(AC_CHECK_STRLCPY,
2273 [
2274         KDE_CHECK_FUNC_EXT(strlcpy, [
2275 #include <string.h>
2276 ],
2277 [ char buf[20];
2278   strlcpy(buf, "KDE function test", sizeof(buf));
2279 ],
2280         [unsigned long strlcpy(char*, const char*, unsigned long)],
2281         [STRLCPY])
2282 ])
2283
2284 AC_DEFUN(AC_CHECK_STRLCAT,
2285 [
2286         KDE_CHECK_FUNC_EXT(strlcat, [
2287 #include <string.h>
2288 ],
2289 [ char buf[20];
2290   buf[0]='\0';
2291   strlcat(buf, "KDE function test", sizeof(buf));
2292 ],
2293         [unsigned long strlcat(char*, const char*, unsigned long)],
2294         [STRLCAT])
2295 ])
2296
2297 AC_DEFUN(AC_FIND_GIF,
2298    [AC_MSG_CHECKING([for giflib])
2299 AC_CACHE_VAL(ac_cv_lib_gif,
2300 [ac_save_LIBS="$LIBS"
2301 if test "x$kde_use_qt_emb" != "xyes"; then
2302 LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
2303 else
2304 LIBS="$all_libraries -lgif"
2305 fi
2306 AC_TRY_LINK(dnl
2307 [
2308 #ifdef __cplusplus
2309 extern "C" {
2310 #endif
2311 int GifLastError(void);
2312 #ifdef __cplusplus
2313 }
2314 #endif
2315 /* We use char because int might match the return type of a gcc2
2316     builtin and then its argument prototype would still apply.  */
2317 ],
2318             [return GifLastError();],
2319             eval "ac_cv_lib_gif=yes",
2320             eval "ac_cv_lib_gif=no")
2321 LIBS="$ac_save_LIBS"
2322 ])dnl
2323 if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
2324   AC_MSG_RESULT(yes)
2325   AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
2326 else
2327   AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
2328 fi
2329 ])
2330
2331 AC_DEFUN(KDE_FIND_JPEG_HELPER,
2332 [
2333 AC_MSG_CHECKING([for libjpeg$2])
2334 AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
2335 [
2336 AC_LANG_C
2337 ac_save_LIBS="$LIBS"
2338 LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
2339 ac_save_CFLAGS="$CFLAGS"
2340 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2341 AC_TRY_LINK(
2342 [/* Override any gcc2 internal prototype to avoid an error.  */
2343 struct jpeg_decompress_struct;
2344 typedef struct jpeg_decompress_struct * j_decompress_ptr;
2345 typedef int size_t;
2346 #ifdef __cplusplus
2347 extern "C" {
2348 #endif
2349     void jpeg_CreateDecompress(j_decompress_ptr cinfo,
2350                                     int version, size_t structsize);
2351 #ifdef __cplusplus
2352 }
2353 #endif
2354 /* We use char because int might match the return type of a gcc2
2355     builtin and then its argument prototype would still apply.  */
2356 ],
2357             [jpeg_CreateDecompress(0L, 0, 0);],
2358             eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
2359             eval "ac_cv_lib_jpeg_$1=no")
2360 LIBS="$ac_save_LIBS"
2361 CFLAGS="$ac_save_CFLAGS"
2362 ])
2363
2364 if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
2365   LIBJPEG="$ac_cv_lib_jpeg_$1"
2366   AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
2367 else
2368   AC_MSG_RESULT(no)
2369   $3
2370 fi
2371
2372 ])
2373
2374 AC_DEFUN(AC_FIND_JPEG,
2375 [
2376 dnl first look for libraries
2377 KDE_FIND_JPEG_HELPER(6b, 6b,
2378    KDE_FIND_JPEG_HELPER(normal, [],
2379     [
2380        LIBJPEG=
2381     ]
2382    )
2383 )
2384
2385 dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
2386 dnl requires system dependent includes loaded before it)
2387 jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes"
2388 AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
2389 test "x$jpeg_incdir" = xNO && jpeg_incdir=
2390
2391 dnl if headers _and_ libraries are missing, this is no error, and we
2392 dnl continue with a warning (the user will get no jpeg support in khtml)
2393 dnl if only one is missing, it means a configuration error, but we still
2394 dnl only warn
2395 if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
2396   AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
2397 else
2398   if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
2399     AC_MSG_WARN([
2400 There is an installation error in jpeg support. You seem to have only one
2401 of either the headers _or_ the libraries installed. You may need to either
2402 provide correct --with-extra-... options, or the development package of
2403 libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
2404 Disabling JPEG support.
2405 ])
2406   else
2407     AC_MSG_WARN([libjpeg not found. disable JPEG support.])
2408   fi
2409   jpeg_incdir=
2410   LIBJPEG=
2411 fi
2412
2413 AC_SUBST(LIBJPEG)
2414 AH_VERBATIM(_AC_CHECK_JPEG,
2415 [/*
2416  * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
2417  * headers and I'm too lazy to write a configure test as long as only
2418  * unixware is related
2419  */
2420 #ifdef _UNIXWARE
2421 #define HAVE_BOOLEAN
2422 #endif
2423 ])
2424 ])
2425
2426 AC_DEFUN(KDE_CHECK_QT_JPEG,
2427 [
2428 AC_MSG_CHECKING([if Qt needs $LIBJPEG])
2429 AC_CACHE_VAL(kde_cv_qt_jpeg,
2430 [
2431 AC_LANG_SAVE
2432 AC_LANG_CPLUSPLUS
2433 ac_save_LIBS="$LIBS"
2434 LIBS="$all_libraries $USER_LDFLAGS $LIBQT"
2435 LIBS=`echo $LIBS | sed "s/$LIBJPEG//"`
2436 ac_save_CXXFLAGS="$CXXFLAGS"
2437 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2438 AC_TRY_LINK(
2439 [#include <qapplication.h>],
2440             [
2441             int argc;
2442             char** argv;
2443             QApplication app(argc, argv);],
2444             eval "kde_cv_qt_jpeg=no",
2445             eval "kde_cv_qt_jpeg=yes")
2446 LIBS="$ac_save_LIBS"
2447 CXXFLAGS="$ac_save_CXXFLAGS"
2448 AC_LANG_RESTORE
2449 ])
2450
2451 if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then
2452   AC_MSG_RESULT(yes)
2453   LIBJPEG_QT='$(LIBJPEG)'
2454 else
2455   AC_MSG_RESULT(no)
2456   LIBJPEG_QT=
2457 fi
2458
2459 ])
2460
2461 AC_DEFUN(AC_FIND_ZLIB,
2462 [
2463 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2464 AC_MSG_CHECKING([for libz])
2465 AC_CACHE_VAL(ac_cv_lib_z,
2466 [
2467 AC_LANG_C
2468 kde_save_LIBS="$LIBS"
2469 LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
2470 kde_save_CFLAGS="$CFLAGS"
2471 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2472 AC_TRY_LINK(dnl
2473 [
2474 #include<zlib.h>
2475 ],
2476             [return (zlibVersion() == ZLIB_VERSION); ],
2477             eval "ac_cv_lib_z='-lz'",
2478             eval "ac_cv_lib_z=no")
2479 LIBS="$kde_save_LIBS"
2480 CFLAGS="$kde_save_CFLAGS"
2481 ])dnl
2482 if test ! "$ac_cv_lib_z" = no; then
2483   AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
2484   LIBZ="$ac_cv_lib_z"
2485   AC_SUBST(LIBZ)
2486   AC_MSG_RESULT($ac_cv_lib_z)
2487 else
2488   AC_MSG_ERROR(not found. Check your installation and look into config.log)
2489   LIBZ=""
2490   AC_SUBST(LIBZ)
2491 fi
2492 ])
2493
2494 AC_DEFUN(KDE_TRY_TIFFLIB,
2495 [
2496 AC_MSG_CHECKING([for libtiff $1])
2497
2498 AC_CACHE_VAL(kde_cv_libtiff_$1,
2499 [
2500 AC_LANG_SAVE
2501 AC_LANG_CPLUSPLUS
2502 kde_save_LIBS="$LIBS"
2503 if test "x$kde_use_qt_emb" != "xyes"; then
2504 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
2505 else
2506 LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm"
2507 fi
2508 kde_save_CXXFLAGS="$CXXFLAGS"
2509 CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
2510
2511 AC_TRY_LINK(dnl
2512 [
2513 #include<tiffio.h>
2514 ],
2515     [return (TIFFOpen( "", "r") == 0); ],
2516 [
2517     kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
2518 ], [
2519     kde_cv_libtiff_$1=no
2520 ])
2521
2522 LIBS="$kde_save_LIBS"
2523 CXXFLAGS="$kde_save_CXXFLAGS"
2524 AC_LANG_RESTORE
2525 ])
2526
2527 if test "$kde_cv_libtiff_$1" = "no"; then
2528     AC_MSG_RESULT(no)
2529     LIBTIFF=""
2530     $3
2531 else
2532     LIBTIFF="$kde_cv_libtiff_$1"
2533     AC_MSG_RESULT(yes)
2534     AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
2535     $2
2536 fi
2537
2538 ])
2539
2540 AC_DEFUN(AC_FIND_TIFF,
2541 [
2542 AC_REQUIRE([K_PATH_X])
2543 AC_REQUIRE([AC_FIND_ZLIB])
2544 AC_REQUIRE([AC_FIND_JPEG])
2545 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2546
2547 KDE_TRY_TIFFLIB(tiff, [],
2548    KDE_TRY_TIFFLIB(tiff34))
2549
2550 AC_SUBST(LIBTIFF)
2551 ])
2552
2553
2554 AC_DEFUN(AC_FIND_PNG,
2555 [
2556 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2557 AC_REQUIRE([AC_FIND_ZLIB])
2558 AC_MSG_CHECKING([for libpng])
2559 AC_CACHE_VAL(ac_cv_lib_png,
2560 [
2561 kde_save_LIBS="$LIBS"
2562 if test "x$kde_use_qt_emb" != "xyes"; then
2563 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
2564 else
2565 LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
2566 fi
2567 kde_save_CFLAGS="$CFLAGS"
2568 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2569 AC_LANG_C
2570 AC_TRY_LINK(dnl
2571     [
2572     #include<png.h>
2573     ],
2574     [
2575     png_structp png_ptr = png_create_read_struct(  /* image ptr */
2576                 PNG_LIBPNG_VER_STRING, 0, 0, 0 );
2577     return( png_ptr != 0 );
2578     ],
2579     eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
2580     eval "ac_cv_lib_png=no"
2581 )
2582 LIBS="$kde_save_LIBS"
2583 CFLAGS="$kde_save_CFLAGS"
2584 ])dnl
2585 if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
2586   AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
2587   LIBPNG="$ac_cv_lib_png"
2588   AC_SUBST(LIBPNG)
2589   AC_MSG_RESULT($ac_cv_lib_png)
2590 else
2591   AC_MSG_RESULT(no)
2592   LIBPNG=""
2593   AC_SUBST(LIBPNG)
2594 fi
2595 ])
2596
2597 AC_DEFUN(AC_CHECK_BOOL,
2598 [
2599   AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
2600 ])
2601
2602 AC_DEFUN(AC_CHECK_GNU_EXTENSIONS,
2603 [
2604 AC_MSG_CHECKING(if you need GNU extensions)
2605 AC_CACHE_VAL(ac_cv_gnu_extensions,
2606 [
2607 cat > conftest.c << EOF
2608 #include <features.h>
2609
2610 #ifdef __GNU_LIBRARY__
2611 yes
2612 #endif
2613 EOF
2614
2615 if (eval "$ac_cpp conftest.c") 2>&5 |
2616   egrep "yes" >/dev/null 2>&1; then
2617   rm -rf conftest*
2618   ac_cv_gnu_extensions=yes
2619 else
2620   ac_cv_gnu_extensions=no
2621 fi
2622 ])
2623
2624 AC_MSG_RESULT($ac_cv_gnu_extensions)
2625 if test "$ac_cv_gnu_extensions" = "yes"; then
2626   AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
2627 fi
2628 ])
2629
2630 AC_DEFUN(KDE_CHECK_COMPILER_FLAG,
2631 [
2632 AC_MSG_CHECKING(whether $CXX supports -$1)
2633 kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
2634 AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
2635 [
2636   AC_LANG_SAVE
2637   AC_LANG_CPLUSPLUS
2638   save_CXXFLAGS="$CXXFLAGS"
2639   CXXFLAGS="$CXXFLAGS -$1"
2640   AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], [])
2641   CXXFLAGS="$save_CXXFLAGS"
2642   AC_LANG_RESTORE
2643 ])
2644 if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
2645  AC_MSG_RESULT(yes)
2646  :
2647  $2
2648 else
2649  AC_MSG_RESULT(no)
2650  :
2651  $3
2652 fi
2653 ])
2654
2655 dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
2656 dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
2657 dnl it's all white-space separated
2658 AC_DEFUN(AC_REMOVE_FORBIDDEN,
2659 [ __val=$$1
2660   __forbid=" $2 "
2661   if test -n "$__val"; then
2662     __new=""
2663     ac_save_IFS=$IFS
2664     IFS="       "
2665     for i in $__val; do
2666       case "$__forbid" in
2667         *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
2668         *) # Careful to not add spaces, where there were none, because otherwise
2669            # libtool gets confused, if we change e.g. CXX
2670            if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
2671       esac
2672     done
2673     IFS=$ac_save_IFS
2674     $1=$__new
2675   fi
2676 ])
2677
2678 dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
2679 AC_DEFUN(AC_VALIDIFY_CXXFLAGS,
2680 [dnl
2681 if test "x$kde_use_qt_emb" != "xyes"; then
2682  AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
2683  AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
2684 else
2685  AC_REMOVE_FORBIDDEN(CXX, [-rpath])
2686  AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath])
2687 fi
2688 ])
2689
2690 AC_DEFUN(AC_CHECK_COMPILERS,
2691 [
2692   AC_ARG_ENABLE(debug,[  --enable-debug[=ARG]    enables debug symbols (yes|no|full) [default=no]],
2693   [
2694     case $enableval in
2695       yes)
2696         kde_use_debug_code="yes"
2697         kde_use_debug_define=no
2698         ;;
2699       full)
2700         kde_use_debug_code="full"
2701         kde_use_debug_define=no
2702         ;;
2703       *)
2704         kde_use_debug_code="no"
2705         kde_use_debug_define=yes
2706         ;;
2707     esac
2708   ], 
2709     [kde_use_debug_code="no"
2710       kde_use_debug_define=no
2711   ])
2712
2713   dnl Just for configure --help
2714   AC_ARG_ENABLE(dummyoption,[  --disable-debug         disables debug output and debug symbols [default=no]],[],[])
2715
2716   AC_ARG_ENABLE(strict,[  --enable-strict         compiles with strict compiler options (may not work!)],
2717    [
2718     if test $enableval = "no"; then
2719          kde_use_strict_options="no"
2720        else
2721          kde_use_strict_options="yes"
2722     fi
2723    ], [kde_use_strict_options="no"])
2724
2725   AC_ARG_ENABLE(warnings,[  --disable-warnings      disables compilation with -Wall and similiar],
2726    [
2727     if test $enableval = "no"; then
2728          kde_use_warnings="no"
2729        else
2730          kde_use_warnings="yes"
2731     fi
2732    ], [kde_use_warnings="yes"])
2733
2734   dnl enable warnings for debug build
2735   if test "$kde_use_debug_code" != "no"; then
2736     kde_use_warnings=yes
2737   fi
2738
2739   AC_ARG_ENABLE(profile,[  --enable-profile        creates profiling infos [default=no]],
2740     [kde_use_profiling=$enableval],
2741     [kde_use_profiling="no"]
2742   )
2743
2744   dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
2745   CFLAGS=" $CFLAGS"
2746
2747   AC_PROG_CC 
2748
2749   AC_PROG_CPP
2750
2751   if test "$GCC" = "yes"; then
2752     if test "$kde_use_debug_code" != "no"; then
2753       if test $kde_use_debug_code = "full"; then
2754         CFLAGS="-g3 $CFLAGS"
2755       else
2756         CFLAGS="-g -O2 $CFLAGS"
2757       fi
2758     else
2759       CFLAGS="-O2 $CFLAGS"
2760     fi
2761   fi
2762
2763   if test "$kde_use_debug_define" = "yes"; then
2764     CFLAGS="-DNDEBUG $CFLAGS"
2765   fi
2766
2767
2768   case "$host" in
2769   *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";;
2770   *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";;
2771   esac
2772
2773   if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
2774      LDFLAGS=""
2775   fi
2776
2777   CXXFLAGS=" $CXXFLAGS"
2778
2779   AC_PROG_CXX
2780
2781   if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
2782     if test "$kde_use_debug_code" != "no"; then
2783       if test "$CXX" = "KCC"; then
2784         CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS"
2785       else
2786         if test "$kde_use_debug_code" = "full"; then
2787           CXXFLAGS="-g3 $CXXFLAGS"
2788         else
2789           CXXFLAGS="-g -O2 $CXXFLAGS"
2790         fi
2791       fi
2792       KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"])
2793
2794       dnl convenience compiler flags
2795       KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""])
2796       AC_SUBST(WOVERLOADED_VIRTUAL)
2797     else
2798       if test "$CXX" = "KCC"; then
2799         CXXFLAGS="+K3 $CXXFLAGS"
2800       else
2801         CXXFLAGS="-O2 $CXXFLAGS"
2802       fi  
2803     fi
2804   fi
2805
2806   if test "$kde_use_debug_define" = "yes"; then
2807     CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS"
2808   fi  
2809
2810   if test "$kde_use_profiling" = "yes"; then
2811     KDE_CHECK_COMPILER_FLAG(pg,
2812     [
2813       CFLAGS="-pg $CFLAGS"
2814       CXXFLAGS="-pg $CXXFLAGS"
2815     ])
2816   fi
2817
2818   if test "$kde_use_warnings" = "yes"; then
2819       if test "$GCC" = "yes"; then
2820         case $host in
2821           *-*-linux-gnu)        
2822             CFLAGS="-ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
2823             CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion $CXXFLAGS"
2824           ;;
2825         esac
2826         CXXFLAGS="-Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS"
2827         KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"])
2828         KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"])
2829         KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"])
2830      fi
2831   fi
2832
2833   if test "$GCC" = "yes" && test "$kde_use_strict_options" = "yes"; then
2834     CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
2835   fi
2836     
2837   if test "$GXX" = "yes"; then
2838     KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
2839     KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
2840     KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS=       )
2841   fi
2842   if test "$CXX" = "KCC"; then
2843     dnl unfortunately we currently cannot disable exception support in KCC
2844     dnl because doing so is binary incompatible and Qt by default links with exceptions :-(
2845     dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"])
2846     dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS=   )
2847
2848     AC_ARG_ENABLE(pch,[  --enable-pch            enables precompiled header support (currently only KCC) [default=no]],
2849     [
2850       kde_use_pch=$enableval
2851     ],[kde_use_pch=no])
2852  
2853     if test "$kde_use_pch" = "yes"; then
2854       dnl TODO: support --pch-dir!
2855       KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"])
2856       dnl the below works (but the dir must exist), but it's
2857       dnl useless for a whole package.
2858       dnl The are precompiled headers for each source file, so when compiling
2859       dnl from scratch, it doesn't make a difference, and they take up
2860       dnl around ~5Mb _per_ sourcefile.
2861       dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp,
2862       dnl   [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"])
2863     fi
2864     dnl this flag controls inlining. by default KCC inlines in optimisation mode
2865     dnl all implementations that are defined inside the class {} declaration. 
2866     dnl because of templates-compatibility with broken gcc compilers, this
2867     dnl can cause excessive inlining. This flag limits it to a sane level
2868     KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"])
2869     KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"])
2870     KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"])
2871     KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"])
2872     dnl Some source files are shared between multiple executables
2873     dnl (or libraries) and some of those need template instantiations.
2874     dnl In that case KCC needs to compile those sources with
2875     dnl --one_instantiation_per_object.  To make it easy for us we compile
2876     dnl _all_ objects with that flag (--one_per is a shorthand).
2877     KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"])
2878   fi
2879   AC_SUBST(USE_EXCEPTIONS)
2880   dnl obsolete macro - provided to keep things going
2881   USE_RTTI=
2882   AC_SUBST(USE_RTTI)
2883
2884   case "$host" in
2885       *-*-irix*)  test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;;
2886       *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";;
2887       *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";;
2888       *-*-solaris*) 
2889         if test "$GXX" = yes; then
2890           libstdcpp=`$CXX -print-file-name=libstdc++.so`
2891           if test ! -f $libstdcpp; then
2892              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])
2893           fi
2894         fi
2895         ;;
2896   esac
2897
2898   AC_VALIDIFY_CXXFLAGS
2899
2900   AC_PROG_CXXCPP
2901
2902   if test "$GCC" = yes; then
2903      NOOPT_CXXFLAGS=-O0
2904      NOOPT_CFLAGS=-O0
2905   fi
2906
2907   AC_SUBST(NOOPT_CXXFLAGS)
2908   AC_SUBST(NOOPT_CFLAGS)
2909
2910   KDE_CHECK_FINAL
2911
2912   ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
2913 ])
2914
2915 AC_DEFUN(KDE_ADD_DEPENDENCIES,
2916 [
2917    [A]M_DEPENDENCIES(CC)
2918    [A]M_DEPENDENCIES(CXX)
2919 ])
2920
2921 dnl just a wrapper to clean up configure.in
2922 AC_DEFUN(KDE_PROG_LIBTOOL,
2923 [
2924 AC_REQUIRE([AC_CHECK_COMPILERS])
2925 AC_REQUIRE([AC_ENABLE_SHARED])
2926 AC_REQUIRE([AC_ENABLE_STATIC])
2927
2928 AC_REQUIRE([AC_LIBTOOL_DLOPEN])
2929 AC_REQUIRE([KDE_CHECK_LIB64])
2930
2931 AC_LANG_SAVE
2932 AC_LANG_C
2933 AC_OBJEXT
2934 AC_EXEEXT
2935 AC_LANG_RESTORE
2936
2937 AM_PROG_LIBTOOL
2938 AC_LIBTOOL_CXX
2939
2940 LIBTOOL_SHELL="/bin/sh ./libtool"
2941 #  LIBTOOL="$LIBTOOL --silent"
2942 KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
2943 AC_SUBST(KDE_PLUGIN)
2944
2945 AC_ARG_ENABLE(objprelink, [  --enable-objprelink     prelink apps using objprelink (obsolete)],
2946        kde_use_objprelink=$enableval, kde_use_objprelink=no)
2947   if test "x$kde_use_objprelink" = "xyes"; then 
2948         AC_MSG_WARN([
2949 ------------------------------------------------------------
2950 Configuration option --enable-objprelink is no longer useful.
2951 See http:://objprelink.sourceforge.net for details:
2952 1- Recent binutils are fast enough to do without objprelink.
2953 2- Newer versions of objprelink do not need this option.
2954 ------------------------------------------------------------
2955 ])
2956   fi
2957 ])
2958
2959 AC_DEFUN(KDE_CHECK_LIB64,
2960 [
2961     kdelibsuff=none
2962     AC_ARG_ENABLE(libsuffix,
2963         AC_HELP_STRING([--enable-libsuffix],
2964             [/lib directory suffix (64,32,none)]),
2965             kdelibsuff=$enableval)
2966     if test "$kdelibsuff" = "none"; then
2967         if test -d /lib64 ; then
2968             kdelibsuff=64
2969         else
2970             kdelibsuff=
2971         fi
2972     fi
2973     if test -z "$kdelibsuff"; then
2974         AC_MSG_RESULT([not using lib directory suffix])
2975         AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories)
2976     else
2977         if test "$libdir" = '${exec_prefix}/lib'; then
2978             libdir="$libdir${kdelibsuff}"
2979             AC_SUBST([libdir], ["$libdir"])  dnl ugly hack for lib64 platforms
2980         fi
2981         AC_DEFINE_UNQUOTED(KDELIBSUFF, ["\"${kdelibsuff}\""], Suffix for lib directories)
2982         AC_MSG_RESULT([using lib directory suffix $kdelibsuff])
2983     fi
2984 ])
2985
2986 AC_DEFUN(KDE_CHECK_TYPES,
2987 [  AC_CHECK_SIZEOF(int, 4)dnl
2988   AC_CHECK_SIZEOF(long, 4)dnl
2989   AC_CHECK_SIZEOF(char *, 4)dnl
2990   AC_CHECK_SIZEOF(char, 1)dnl
2991 ])dnl
2992
2993 AC_DEFUN(KDE_DO_IT_ALL,
2994 [
2995 AC_CANONICAL_SYSTEM
2996 AC_ARG_PROGRAM
2997 AM_INIT_AUTOMAKE($1, $2)
2998 AM_DISABLE_LIBRARIES
2999 AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
3000 AC_CHECK_COMPILERS
3001 KDE_PROG_LIBTOOL
3002 AM_KDE_WITH_NLS
3003 AC_PATH_KDE
3004 ])
3005
3006 AC_DEFUN(AC_CHECK_RPATH,
3007 [
3008 AC_MSG_CHECKING(for rpath)
3009 AC_ARG_ENABLE(rpath,
3010       [  --disable-rpath         do not use the rpath feature of ld],
3011       USE_RPATH=$enableval, USE_RPATH=yes)
3012
3013 if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
3014
3015   KDE_RPATH="-R \$(kde_libraries)"
3016
3017   if test -n "$qt_libraries"; then
3018     KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
3019   fi
3020   dnl $x_libraries is set to /usr/lib in case
3021   if test -n "$X_LDFLAGS"; then
3022     KDE_RPATH="$KDE_RPATH -R \$(x_libraries)"
3023   fi
3024   if test -n "$KDE_EXTRA_RPATH"; then
3025     KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
3026   fi
3027 fi
3028 AC_SUBST(KDE_EXTRA_RPATH)
3029 AC_SUBST(KDE_RPATH)
3030 AC_MSG_RESULT($USE_RPATH)
3031 ])
3032
3033 dnl Check for the type of the third argument of getsockname
3034 AC_DEFUN(AC_CHECK_SOCKLEN_T, [
3035   AC_MSG_CHECKING(for socklen_t)
3036   AC_CACHE_VAL(ac_cv_socklen_t, [
3037     AC_LANG_SAVE
3038     AC_LANG_CPLUSPLUS
3039     AC_TRY_COMPILE([
3040 #include <sys/types.h>
3041 #include <sys/socket.h>
3042       ],[
3043 socklen_t a=0;
3044 getsockname(0,(struct sockaddr*)0, &a);
3045       ],
3046       ac_cv_socklen_t=socklen_t,
3047       AC_TRY_COMPILE([
3048 #include <sys/types.h>
3049 #include <sys/socket.h>
3050         ],[
3051 int a=0;
3052 getsockname(0,(struct sockaddr*)0, &a);
3053         ],
3054         ac_cv_socklen_t=int,
3055         ac_cv_socklen_t=size_t
3056       )
3057     )
3058     AC_LANG_RESTORE
3059   ])
3060
3061   AC_MSG_RESULT($ac_cv_socklen_t)
3062   if test "$ac_cv_socklen_t" != "socklen_t"; then
3063     AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t,
3064         [Define the real type of socklen_t])
3065   fi
3066   AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define])
3067
3068 ])
3069
3070 dnl This is a merge of some macros out of the gettext aclocal.m4
3071 dnl since we don't need anything, I took the things we need
3072 dnl the copyright for them is:
3073 dnl >
3074 dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
3075 dnl This Makefile.in is free software; the Free Software Foundation
3076 dnl gives unlimited permission to copy and/or distribute it,
3077 dnl with or without modifications, as long as this notice is preserved.
3078
3079 dnl This program is distributed in the hope that it will be useful,
3080 dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
3081 dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
3082 dnl PARTICULAR PURPOSE.
3083 dnl >
3084 dnl for this file it is relicensed under LGPL
3085
3086 AC_DEFUN(AM_KDE_WITH_NLS,
3087   [
3088     dnl If we use NLS figure out what method
3089
3090     AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
3091         [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
3092     AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
3093
3094      if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
3095         AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
3096         GMSGFMT=":"
3097       fi
3098       MSGFMT=$GMSGFMT
3099       AC_SUBST(GMSGFMT)
3100       AC_SUBST(MSGFMT)
3101
3102       AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
3103         [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
3104
3105       dnl Test whether we really found GNU xgettext.
3106       if test "$XGETTEXT" != ":"; then
3107         dnl If it is no GNU xgettext we define it as : so that the
3108         dnl Makefiles still can work.
3109         if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
3110           : ;
3111         else
3112           AC_MSG_RESULT(
3113             [found xgettext programs is not GNU xgettext; ignore it])
3114           XGETTEXT=":"
3115         fi
3116       fi
3117      AC_SUBST(XGETTEXT)
3118
3119   ])
3120
3121 # Search path for a program which passes the given test.
3122 # Ulrich Drepper <drepper@cygnus.com>, 1996.
3123
3124 # serial 1
3125 # Stephan Kulow: I appended a _KDE against name conflicts
3126
3127 dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR,
3128 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
3129 AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE,
3130 [# Extract the first word of "$2", so it can be a program name with args.
3131 set dummy $2; ac_word=[$]2
3132 AC_MSG_CHECKING([for $ac_word])
3133 AC_CACHE_VAL(ac_cv_path_$1,
3134 [case "[$]$1" in
3135   /*)
3136   ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
3137   ;;
3138   *)
3139   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
3140   for ac_dir in ifelse([$5], , $PATH, [$5]); do
3141     test -z "$ac_dir" && ac_dir=.
3142     if test -f $ac_dir/$ac_word; then
3143       if [$3]; then
3144         ac_cv_path_$1="$ac_dir/$ac_word"
3145         break
3146       fi
3147     fi
3148   done
3149   IFS="$ac_save_ifs"
3150 dnl If no 4th arg is given, leave the cache variable unset,
3151 dnl so AC_PATH_PROGS will keep looking.
3152 ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
3153 ])dnl
3154   ;;
3155 esac])dnl
3156 $1="$ac_cv_path_$1"
3157 if test -n "[$]$1"; then
3158   AC_MSG_RESULT([$]$1)
3159 else
3160   AC_MSG_RESULT(no)
3161 fi
3162 AC_SUBST($1)dnl
3163 ])
3164
3165
3166 # Check whether LC_MESSAGES is available in <locale.h>.
3167 # Ulrich Drepper <drepper@cygnus.com>, 1995.
3168
3169 # serial 1
3170
3171 AC_DEFUN(AM_LC_MESSAGES,
3172   [if test $ac_cv_header_locale_h = yes; then
3173     AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
3174       [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
3175        am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
3176     if test $am_cv_val_LC_MESSAGES = yes; then
3177       AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES])
3178     fi
3179   fi])
3180
3181 dnl From Jim Meyering.
3182 dnl FIXME: migrate into libit.
3183
3184 AC_DEFUN([AM_FUNC_OBSTACK],
3185 [AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
3186  [AC_TRY_LINK([#include "obstack.h"],
3187               [struct obstack *mem;obstack_free(mem,(char *) 0)],
3188               am_cv_func_obstack=yes,
3189               am_cv_func_obstack=no)])
3190  if test $am_cv_func_obstack = yes; then
3191    AC_DEFINE(HAVE_OBSTACK)
3192  else
3193    LIBOBJS="$LIBOBJS obstack.o"
3194  fi
3195 ])
3196
3197 dnl From Jim Meyering.  Use this if you use the GNU error.[ch].
3198 dnl FIXME: Migrate into libit
3199
3200 AC_DEFUN([AM_FUNC_ERROR_AT_LINE],
3201 [AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
3202  [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
3203               am_cv_lib_error_at_line=yes,
3204               am_cv_lib_error_at_line=no)])
3205  if test $am_cv_lib_error_at_line = no; then
3206    LIBOBJS="$LIBOBJS error.o"
3207  fi
3208  AC_SUBST(LIBOBJS)dnl
3209 ])
3210
3211 # Macro to add for using GNU gettext.
3212 # Ulrich Drepper <drepper@cygnus.com>, 1995.
3213
3214 # serial 1
3215 # Stephan Kulow: I put a KDE in it to avoid name conflicts
3216
3217 AC_DEFUN(AM_KDE_GNU_GETTEXT,
3218   [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
3219    AC_REQUIRE([AC_PROG_RANLIB])dnl
3220    AC_REQUIRE([AC_HEADER_STDC])dnl
3221    AC_REQUIRE([AC_TYPE_OFF_T])dnl
3222    AC_REQUIRE([AC_TYPE_SIZE_T])dnl
3223    AC_REQUIRE([AC_FUNC_ALLOCA])dnl
3224    AC_REQUIRE([AC_FUNC_MMAP])dnl
3225    AC_REQUIRE([AM_KDE_WITH_NLS])dnl
3226    AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h])
3227    AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \
3228 __argz_count __argz_stringify __argz_next])
3229
3230    AC_MSG_CHECKING(for stpcpy)
3231    AC_CACHE_VAL(kde_cv_func_stpcpy,
3232    [
3233    kde_safe_cxxflags=$CXXFLAGS
3234    CXXFLAGS="-Wmissing-prototypes -Werror"
3235    AC_LANG_SAVE
3236    AC_LANG_CPLUSPLUS
3237    AC_TRY_COMPILE([
3238    #include <string.h>
3239    ],
3240    [
3241    char buffer[200];
3242    stpcpy(buffer, buffer);
3243    ],
3244    kde_cv_func_stpcpy=yes,
3245    kde_cv_func_stpcpy=no)
3246    AC_LANG_RESTORE
3247    CXXFLAGS=$kde_safe_cxxflags
3248    ])
3249    AC_MSG_RESULT($kde_cv_func_stpcpy)
3250    if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then
3251      AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy])
3252    fi
3253
3254    AM_LC_MESSAGES
3255
3256    if test "x$CATOBJEXT" != "x"; then
3257      if test "x$ALL_LINGUAS" = "x"; then
3258        LINGUAS=
3259      else
3260        AC_MSG_CHECKING(for catalogs to be installed)
3261        NEW_LINGUAS=
3262        for lang in ${LINGUAS=$ALL_LINGUAS}; do
3263          case "$ALL_LINGUAS" in
3264           *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
3265          esac
3266        done
3267        LINGUAS=$NEW_LINGUAS
3268        AC_MSG_RESULT($LINGUAS)
3269      fi
3270
3271      dnl Construct list of names of catalog files to be constructed.
3272      if test -n "$LINGUAS"; then
3273        for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
3274      fi
3275    fi
3276
3277   ])
3278
3279 AC_DEFUN(AC_HAVE_XPM,
3280  [AC_REQUIRE_CPP()dnl
3281   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3282
3283  test -z "$XPM_LDFLAGS" && XPM_LDFLAGS=
3284  test -z "$XPM_INCLUDE" && XPM_INCLUDE=
3285
3286  AC_ARG_WITH(xpm, [  --without-xpm           disable color pixmap XPM tests],
3287         xpm_test=$withval, xpm_test="yes")
3288  if test "x$xpm_test" = xno; then
3289    ac_cv_have_xpm=no
3290  else
3291    AC_MSG_CHECKING(for XPM)
3292    AC_CACHE_VAL(ac_cv_have_xpm,
3293    [
3294     AC_LANG_C
3295     ac_save_ldflags="$LDFLAGS"
3296     ac_save_cflags="$CFLAGS"
3297     if test "x$kde_use_qt_emb" != "xyes"; then
3298       LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
3299     else
3300       LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET"
3301     fi
3302     CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
3303     test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
3304     AC_TRY_LINK([#include <X11/xpm.h>],[],
3305         ac_cv_have_xpm="yes",ac_cv_have_xpm="no")
3306     LDFLAGS="$ac_save_ldflags"
3307     CFLAGS="$ac_save_cflags"
3308    ])dnl
3309
3310   if test "$ac_cv_have_xpm" = no; then
3311     AC_MSG_RESULT(no)
3312     XPM_LDFLAGS=""
3313     XPMINC=""
3314     $2
3315   else
3316     AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
3317     if test "$XPM_LDFLAGS" = ""; then
3318        XPMLIB='-lXpm $(LIB_X11)'
3319     else
3320        XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
3321     fi
3322     if test "$XPM_INCLUDE" = ""; then
3323        XPMINC=""
3324     else
3325        XPMINC="-I$XPM_INCLUDE"
3326     fi
3327     AC_MSG_RESULT(yes)
3328     $1
3329   fi
3330  fi
3331  AC_SUBST(XPMINC)
3332  AC_SUBST(XPMLIB)
3333 ])
3334
3335 AC_DEFUN(AC_HAVE_DPMS,
3336  [AC_REQUIRE_CPP()dnl
3337   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3338
3339  test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS=
3340  test -z "$DPMS_INCLUDE" && DPMS_INCLUDE=
3341  DPMS_LIB=
3342
3343  AC_ARG_WITH(dpms, [  --without-dpms          disable DPMS power saving],
3344         dpms_test=$withval, dpms_test="yes")
3345  if test "x$dpms_test" = xno; then
3346    ac_cv_have_dpms=no
3347  else
3348    AC_MSG_CHECKING(for DPMS)
3349    dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
3350    dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
3351    AC_CACHE_VAL(ac_cv_have_dpms,
3352    [
3353     if test "x$kde_use_qt_emb" = "xyes"; then
3354       AC_MSG_RESULT(no)
3355       ac_cv_have_dpms="no"
3356     else
3357       AC_LANG_C
3358       ac_save_ldflags="$LDFLAGS"
3359       ac_save_cflags="$CFLAGS"
3360       ac_save_libs="$LIBS"
3361       LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
3362       CFLAGS="$CFLAGS $X_INCLUDES"
3363       test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3364       AC_TRY_LINK([
3365           #include <X11/Xproto.h>
3366           #include <X11/X.h>
3367           #include <X11/Xlib.h>
3368           #include <X11/extensions/dpms.h>
3369           int foo_test_dpms()
3370           { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3371           ac_cv_have_dpms="yes", [
3372               LDFLAGS="$ac_save_ldflags"
3373               CFLAGS="$ac_save_cflags"
3374               LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
3375               LIBS="$LIBS -lXdpms"
3376               CFLAGS="$CFLAGS $X_INCLUDES"
3377               test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3378               AC_TRY_LINK([
3379                   #include <X11/Xproto.h>
3380                   #include <X11/X.h>
3381                   #include <X11/Xlib.h>
3382                   #include <X11/extensions/dpms.h>
3383                   int foo_test_dpms()
3384                   { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3385                   [
3386                   ac_cv_have_dpms="-lXdpms"
3387                   ],ac_cv_have_dpms="no")
3388               ])
3389       LDFLAGS="$ac_save_ldflags"
3390       CFLAGS="$ac_save_cflags"
3391       LIBS="$ac_save_libs"
3392     fi
3393    ])dnl
3394
3395   if test "$ac_cv_have_dpms" = no; then
3396     AC_MSG_RESULT(no)
3397     DPMS_LDFLAGS=""
3398     DPMSINC=""
3399     $2
3400   else
3401     AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
3402     if test "$ac_cv_have_dpms" = "-lXdpms"; then
3403        DPMS_LIB="-lXdpms"
3404     fi
3405     if test "$DPMS_LDFLAGS" = ""; then
3406        DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
3407     else
3408        DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
3409     fi
3410     if test "$DPMS_INCLUDE" = ""; then
3411        DPMSINC=""
3412     else
3413        DPMSINC="-I$DPMS_INCLUDE"
3414     fi
3415     AC_MSG_RESULT(yes)
3416     $1
3417   fi
3418  fi
3419  AC_SUBST(DPMSINC)
3420  AC_SUBST(DPMSLIB)
3421 ])
3422
3423 AC_DEFUN(AC_HAVE_GL,
3424  [AC_REQUIRE_CPP()dnl
3425   AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
3426
3427  test -z "$GL_LDFLAGS" && GL_LDFLAGS=
3428  test -z "$GL_INCLUDE" && GL_INCLUDE=
3429
3430  AC_ARG_WITH(gl, [  --without-gl            disable 3D GL modes],
3431         gl_test=$withval, gl_test="yes")
3432  if test "x$kde_use_qt_emb" = "xyes"; then
3433    # GL and Qt Embedded is a no-go for now.
3434    ac_cv_have_gl=no
3435  elif test "x$gl_test" = xno; then
3436    ac_cv_have_gl=no
3437  else
3438    AC_MSG_CHECKING(for GL)
3439    AC_CACHE_VAL(ac_cv_have_gl,
3440    [
3441     AC_LANG_SAVE
3442     AC_LANG_CPLUSPLUS
3443     ac_save_ldflags="$LDFLAGS"
3444     ac_save_cxxflags="$CXXFLAGS"
3445     LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU"
3446     test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3447     LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
3448     CXXFLAGS="$CFLAGS $X_INCLUDES"
3449     test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3450     AC_TRY_LINK([#include <GL/gl.h>
3451 #include <GL/glu.h>
3452 ], [],
3453         ac_cv_have_gl="mesa", ac_cv_have_gl="no")
3454     if test "x$ac_cv_have_gl" = "xno"; then
3455       LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGLU -lGL"
3456       test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3457       LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
3458       CXXFLAGS="$ac_save_cflags $X_INCLUDES"
3459       test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3460       AC_TRY_LINK([#include <GL/gl.h>
3461 #include <GL/glu.h>
3462 ], [],
3463           ac_cv_have_gl="yes", ac_cv_have_gl="no")
3464     fi
3465     AC_LANG_RESTORE
3466     LDFLAGS="$ac_save_ldflags"
3467     CXXFLAGS="$ac_save_cxxflags"
3468    ])dnl
3469
3470   if test "$ac_cv_have_gl" = "no"; then
3471     AC_MSG_RESULT(no)
3472     GL_LDFLAGS=""
3473     GLINC=""
3474     $2
3475   else
3476     AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
3477     if test "$GL_LDFLAGS" = ""; then
3478        if test "$ac_cv_have_gl" = "mesa"; then
3479           GLLIB='-lMesaGLU -lMesaGL $(LIB_X11)'
3480        else
3481           GLLIB='-lGLU -lGL $(LIB_X11)'
3482        fi
3483     else
3484        if test "$ac_cv_have_gl" = "mesa"; then
3485           GLLIB="$GL_LDFLAGS -lMesaGLU -lMesaGL "'$(LIB_X11)'
3486        else
3487           GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
3488        fi
3489     fi
3490     if test "$GL_INCLUDE" = ""; then
3491        GLINC=""
3492     else
3493        GLINC="-I$GL_INCLUDE"
3494     fi
3495     AC_MSG_RESULT($ac_cv_have_gl)
3496     $1
3497   fi
3498  fi
3499  AC_SUBST(GLINC)
3500  AC_SUBST(GLLIB)
3501 ])
3502
3503
3504  dnl shadow password and PAM magic - maintained by ossi@kde.org
3505
3506 AC_DEFUN(KDE_PAM, [
3507   AC_REQUIRE([KDE_CHECK_LIBDL])
3508
3509   AC_ARG_WITH(pam,
3510     [  --with-pam[=ARG]        enable support for PAM: ARG=[yes|no|service name]],
3511     [ if test "x$withval" = "xyes"; then
3512         use_pam=yes
3513         pam_service=kde
3514       elif test "x$withval" = "xno"; then
3515         use_pam=no
3516       else
3517         use_pam=yes
3518         pam_service=$withval
3519       fi
3520       ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3521     ], [
3522       AC_CACHE_VAL(ac_cv_path_pam,
3523         [ use_pam=no
3524           AC_CHECK_LIB(pam, pam_start,
3525             [ AC_CHECK_HEADER(security/pam_appl.h,
3526                 [ use_pam=yes
3527                   pam_service=kde ]) 
3528             ], , $LIBDL)
3529           ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service"
3530         ])
3531     ])
3532   eval "$ac_cv_path_pam"
3533
3534   AC_MSG_CHECKING(for PAM)
3535   if test "x$use_pam" = xno; then
3536     AC_MSG_RESULT(no)
3537     PAMLIBS=""
3538   else
3539     AC_MSG_RESULT(yes)
3540     AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)])
3541     PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL"
3542
3543     dnl test whether struct pam_message is const (Linux) or not (Sun)
3544     AC_MSG_CHECKING(for const pam_message)
3545     AC_EGREP_HEADER([struct pam_message], security/pam_appl.h,
3546       [ AC_EGREP_HEADER([const struct pam_message], security/pam_appl.h,
3547                         [AC_MSG_RESULT([const: Linux-type PAM])],
3548                         [AC_MSG_RESULT([nonconst: Sun-type PAM])
3549                         AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])]
3550                         )],
3551       [AC_MSG_RESULT([not found - assume const, Linux-type PAM])])
3552   fi
3553
3554   AC_SUBST(PAMLIBS)
3555 ])
3556
3557 dnl DEF_PAM_SERVICE(arg name, full name, define name)
3558 AC_DEFUN(DEF_PAM_SERVICE, [
3559   AC_ARG_WITH($1-pam,
3560     [  --with-$1-pam=[val]    override PAM service from --with-pam for $2],
3561     [ if test "x$use_pam" = xyes; then
3562         $3_PAM_SERVICE="$withval"
3563       else
3564         AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected.
3565 You may want to enforce it by using --with-pam.])
3566       fi
3567     ], 
3568     [ if test "x$use_pam" = xyes; then
3569         $3_PAM_SERVICE="$pam_service"
3570       fi
3571     ])
3572     if test -n "$$3_PAM_SERVICE"; then
3573       AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE])
3574       AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2])
3575     fi
3576     AC_SUBST($3_PAM_SERVICE)
3577 ])
3578
3579 AC_DEFUN(KDE_SHADOWPASSWD, [
3580   AC_REQUIRE([KDE_PAM])
3581
3582   AC_CHECK_LIB(shadow, getspent,
3583     [ LIBSHADOW="-lshadow"
3584       ac_use_shadow=yes
3585     ],
3586     [ dnl for UnixWare
3587       AC_CHECK_LIB(gen, getspent, 
3588         [ LIBGEN="-lgen"
3589           ac_use_shadow=yes
3590         ], 
3591         [ AC_CHECK_FUNC(getspent, 
3592             [ ac_use_shadow=yes ],
3593             [ ac_use_shadow=no ])
3594         ])
3595     ])
3596   AC_SUBST(LIBSHADOW)
3597   AC_SUBST(LIBGEN)
3598   
3599   AC_MSG_CHECKING([for shadow passwords])
3600
3601   AC_ARG_WITH(shadow,
3602     [  --with-shadow              If you want shadow password support ],
3603     [ if test "x$withval" != "xno"; then
3604         use_shadow=yes
3605       else
3606         use_shadow=no
3607       fi
3608     ], [
3609       use_shadow="$ac_use_shadow"
3610     ])
3611
3612   if test "x$use_shadow" = xyes; then
3613     AC_MSG_RESULT(yes)
3614     AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords])
3615   else
3616     AC_MSG_RESULT(no)
3617     LIBSHADOW=
3618     LIBGEN=
3619   fi
3620
3621   dnl finally make the relevant binaries setuid root, if we have shadow passwds.
3622   dnl this still applies, if we could use it indirectly through pam.
3623   if test "x$use_shadow" = xyes || 
3624      ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then
3625       case $host in
3626       *-*-freebsd* | *-*-netbsd* | *-*-openbsd*)
3627         SETUIDFLAGS="-m 4755 -o root";;
3628       *)
3629         SETUIDFLAGS="-m 4755";;
3630       esac
3631   fi
3632   AC_SUBST(SETUIDFLAGS)
3633
3634 ])
3635
3636 AC_DEFUN(KDE_PASSWDLIBS, [
3637   AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT
3638   AC_REQUIRE([KDE_PAM])
3639   AC_REQUIRE([KDE_SHADOWPASSWD])
3640
3641   if test "x$use_pam" = "xyes"; then 
3642     PASSWDLIBS="$PAMLIBS"
3643   else
3644     PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN"
3645   fi
3646
3647   dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but
3648   dnl /etc/master.passwd holds the actual passwords.  /etc/master.passwd requires
3649   dnl root to read, so kcheckpass needs to be root (even when using pam, since pam
3650   dnl may need to read /etc/master.passwd).
3651   case $host in
3652   *-*-freebsd*)
3653     SETUIDFLAGS="-m 4755 -o root"
3654     ;;
3655   *)
3656     ;;
3657   esac
3658
3659   AC_SUBST(PASSWDLIBS)
3660 ])
3661
3662 AC_DEFUN(KDE_CHECK_LIBDL,
3663 [
3664 AC_CHECK_LIB(dl, dlopen, [
3665 LIBDL="-ldl"
3666 ac_cv_have_dlfcn=yes
3667 ])
3668
3669 AC_CHECK_LIB(dld, shl_unload, [
3670 LIBDL="-ldld"
3671 ac_cv_have_shload=yes
3672 ])
3673
3674 AC_SUBST(LIBDL)
3675 ])
3676
3677 AC_DEFUN(KDE_CHECK_DLOPEN,
3678 [
3679 KDE_CHECK_LIBDL
3680 AC_CHECK_HEADERS(dlfcn.h dl.h)
3681 if test "$ac_cv_header_dlfcn_h" = "no"; then
3682   ac_cv_have_dlfcn=no
3683 fi
3684
3685 if test "$ac_cv_header_dl_h" = "no"; then
3686   ac_cv_have_shload=no
3687 fi
3688
3689 dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE
3690 dnl (MM)
3691 AC_ARG_ENABLE(dlopen,
3692 [  --disable-dlopen        link statically [default=no]] ,
3693 enable_dlopen=$enableval,
3694 enable_dlopen=yes)
3695
3696 # override the user's opinion, if we know it better ;)
3697 if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then
3698   enable_dlopen=no
3699 fi
3700
3701 if test "$ac_cv_have_dlfcn" = "yes"; then
3702   AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn])
3703 fi
3704
3705 if test "$ac_cv_have_shload" = "yes"; then
3706   AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload])
3707 fi
3708
3709 if test "$enable_dlopen" = no ; then
3710   test -n "$1" && eval $1
3711 else
3712   test -n "$2" && eval $2
3713 fi
3714
3715 ])
3716
3717 AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING,
3718 [
3719 KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no)
3720 KDE_PROG_LIBTOOL
3721 AC_MSG_CHECKING([dynamic loading])
3722 eval "`egrep '^build_libtool_libs=' libtool`"
3723 if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then
3724   dynamic_loading=yes
3725   AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
3726 else
3727   dynamic_loading=no
3728 fi
3729 AC_MSG_RESULT($dynamic_loading)
3730 if test "$dynamic_loading" = "yes"; then
3731   $1
3732 else
3733   $2
3734 fi
3735 ])
3736
3737 AC_DEFUN(KDE_ADD_INCLUDES,
3738 [
3739 if test -z "$1"; then
3740   test_include="Pix.h"
3741 else
3742   test_include="$1"
3743 fi
3744
3745 AC_MSG_CHECKING([for libg++ ($test_include)])
3746
3747 AC_CACHE_VAL(kde_cv_libgpp_includes,
3748 [
3749 kde_cv_libgpp_includes=no
3750
3751    for ac_dir in               \
3752                                \
3753      /usr/include/g++          \
3754      /usr/include              \
3755      /usr/unsupported/include  \
3756      /opt/include              \
3757      $extra_include            \
3758      ; \
3759    do
3760      if test -r "$ac_dir/$test_include"; then
3761        kde_cv_libgpp_includes=$ac_dir
3762        break
3763      fi
3764    done
3765 ])
3766
3767 AC_MSG_RESULT($kde_cv_libgpp_includes)
3768 if test "$kde_cv_libgpp_includes" != "no"; then
3769   all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES"
3770 fi
3771 ])
3772 ])
3773
3774
3775 AC_DEFUN(KDE_CHECK_MICO,
3776 [
3777 AC_REQUIRE([KDE_CHECK_LIBDL])
3778 AC_REQUIRE([KDE_MISC_TESTS])
3779 AC_MSG_CHECKING(for MICO)
3780
3781 if test -z "$MICODIR"; then
3782     kde_micodir=/usr/local
3783  else
3784     kde_micodir="$MICODIR"
3785 fi
3786
3787 AC_ARG_WITH(micodir,
3788   [  --with-micodir=micodir  where mico is installed ],
3789   kde_micodir=$withval,
3790   kde_micodir=$kde_micodir
3791 )
3792
3793 AC_CACHE_VAL(kde_cv_mico_incdir,
3794 [
3795   mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes"
3796 AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir)
3797
3798 ])
3799 kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'`
3800
3801 if test ! -r  $kde_micodir/include/CORBA.h; then
3802   AC_MSG_ERROR([No CORBA.h found, specify another micodir])
3803 fi
3804
3805 AC_MSG_RESULT($kde_micodir)
3806
3807 MICO_INCLUDES=-I$kde_micodir/include
3808 AC_SUBST(MICO_INCLUDES)
3809 MICO_LDFLAGS=-L$kde_micodir/lib
3810 AC_SUBST(MICO_LDFLAGS)
3811 micodir=$kde_micodir
3812 AC_SUBST(micodir)
3813
3814 AC_MSG_CHECKING([for MICO version])
3815 AC_CACHE_VAL(kde_cv_mico_version,
3816 [
3817 AC_LANG_C
3818 cat >conftest.$ac_ext <<EOF
3819 #include <stdio.h>
3820 #include <mico/version.h>
3821 int main() {
3822
3823    printf("MICO_VERSION=%s\n",MICO_VERSION);
3824    return (0);
3825 }
3826 EOF
3827 ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest'
3828 if AC_TRY_EVAL(ac_compile); then
3829   if eval `./conftest 2>&5`; then
3830     kde_cv_mico_version=$MICO_VERSION
3831   else
3832     AC_MSG_ERROR([your system is not able to execute a small application to
3833     find MICO version! Check $kde_micodir/include/mico/version.h])
3834   fi
3835 else
3836   AC_MSG_ERROR([your system is not able to compile a small application to
3837   find MICO version! Check $kde_micodir/include/mico/version.h])
3838 fi
3839 ])
3840
3841 dnl installed MICO version
3842 mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
3843 mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
3844 mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
3845
3846 if test "x$1" = "x"; then
3847  req_version="2.3.0"
3848 else
3849  req_version=$1
3850 fi
3851
3852 dnl required MICO version
3853 req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'`
3854 req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'`
3855 req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'`
3856
3857 if test "$mico_v_maj" -lt "$req_v_maj" || \
3858    ( test "$mico_v_maj" -eq "$req_v_maj" && \
3859         test "$mico_v_mid" -lt "$req_v_mid" ) || \
3860    ( test "$mico_v_mid" -eq "$req_v_mid" && \
3861         test "$mico_v_min" -lt "$req_v_min" )
3862
3863 then
3864   AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \
3865 at least is required. You should upgrade MICO.])
3866 else
3867   AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)])
3868 fi
3869
3870 LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL"
3871 AC_SUBST(LIBMICO)
3872 if test -z "$IDL"; then
3873   IDL='$(kde_bindir)/cuteidl'
3874 fi
3875 AC_SUBST(IDL)
3876 IDL_DEPENDENCIES='$(kde_includes)/CUTE.h'
3877 AC_SUBST(IDL_DEPENDENCIES)
3878
3879 idldir="\$(includedir)/idl"
3880 AC_SUBST(idldir)
3881
3882 ])
3883
3884 AC_DEFUN(KDE_CHECK_MINI_STL,
3885 [
3886 AC_REQUIRE([KDE_CHECK_MICO])
3887
3888 AC_MSG_CHECKING(if we use mico's mini-STL)
3889 AC_CACHE_VAL(kde_cv_have_mini_stl,
3890 [
3891 AC_LANG_SAVE
3892 AC_LANG_CPLUSPLUS
3893 kde_save_cxxflags="$CXXFLAGS"
3894 CXXFLAGS="$CXXFLAGS $MICO_INCLUDES"
3895 AC_TRY_COMPILE(
3896 [
3897 #include <mico/config.h>
3898 ],
3899 [
3900 #ifdef HAVE_MINI_STL
3901 #error "nothing"
3902 #endif
3903 ],
3904 kde_cv_have_mini_stl=no,
3905 kde_cv_have_mini_stl=yes)
3906 CXXFLAGS="$kde_save_cxxflags"
3907 AC_LANG_RESTORE
3908 ])
3909
3910 if test "x$kde_cv_have_mini_stl" = "xyes"; then
3911    AC_MSG_RESULT(yes)
3912    $1
3913 else
3914    AC_MSG_RESULT(no)
3915    $2
3916 fi
3917 ])
3918
3919 ])
3920
3921
3922 AC_DEFUN(KDE_CHECK_LIBPTHREAD,
3923 [
3924 AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] )
3925 AC_SUBST(LIBPTHREAD)
3926 ])
3927
3928 AC_DEFUN(KDE_CHECK_PTHREAD_OPTION,
3929 [
3930     AC_ARG_ENABLE(kernel-threads, [  --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.],
3931         kde_use_kernthreads=$enableval, kde_use_kernthreads=no)
3932
3933     if test "$kde_use_kernthreads" = "yes"; then
3934       ac_save_CXXFLAGS="$CXXFLAGS"
3935       ac_save_CFLAGS="$CFLAGS"
3936       CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS"
3937       CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS"
3938       AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h)
3939       CXXFLAGS="$ac_save_CXXFLAGS"
3940       CFLAGS="$ac_save_CFLAGS"
3941       if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then
3942         kde_use_kernthreads=no
3943       else
3944         dnl Add proper -I and -l statements
3945         AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD
3946         if test "x$LIBPTHREAD" = "x"; then
3947           kde_use_kernthreads=no
3948         else
3949           USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads"
3950         fi
3951       fi
3952     else 
3953       USE_THREADS=""
3954       if test -z "$LIBPTHREAD"; then
3955         KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] )
3956       fi
3957     fi
3958
3959     AH_VERBATIM(__svr_define, [
3960 #if defined(__SVR4) && !defined(__svr4__)
3961 #define __svr4__ 1
3962 #endif
3963 ])
3964     case $host_os in
3965         solaris*)
3966                 KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
3967                 CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4"
3968                 ;;
3969         freebsd*)
3970                 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3971                 ;;
3972         aix*)
3973                 CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
3974                 LIBPTHREAD="$LIBPTHREAD -lc_r"
3975                 ;;
3976         linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
3977                 if test "$CXX" = "KCC"; then
3978                   CXXFLAGS="$CXXFLAGS --thread_safe"
3979                   NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe"
3980                 fi
3981                 ;;
3982         *)
3983                 ;;
3984     esac
3985     AC_SUBST(USE_THREADS)
3986     AC_SUBST(LIBPTHREAD)
3987 ])
3988
3989 AC_DEFUN(KDE_CHECK_THREADING,
3990 [
3991   AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
3992   AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION])
3993   dnl default is yes if libpthread is found and no if no libpthread is available
3994   if test -z "$LIBPTHREAD"; then
3995     if test -z "$USE_THREADS"; then
3996       kde_check_threading_default=no
3997     else
3998       kde_check_threading_default=yes
3999     fi
4000   else
4001     kde_check_threading_default=yes
4002   fi
4003   AC_ARG_ENABLE(threading, [  --disable-threading     disables threading even if libpthread found ],
4004    kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default)
4005   if test "x$kde_use_threading" = "xyes"; then
4006     AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)])
4007   fi
4008 ])
4009
4010 AC_DEFUN(KDE_TRY_LINK_PYTHON,
4011 [
4012 if test "$kde_python_link_found" = no; then
4013
4014 if test "$1" = normal; then
4015   AC_MSG_CHECKING(if a Python application links)
4016 else
4017   AC_MSG_CHECKING(if Python depends on $2)
4018 fi
4019
4020 AC_CACHE_VAL(kde_cv_try_link_python_$1,
4021 [
4022 AC_LANG_SAVE
4023 AC_LANG_C
4024 kde_save_cflags="$CFLAGS"
4025 CFLAGS="$CFLAGS $PYTHONINC"
4026 kde_save_libs="$LIBS"
4027 LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET"
4028 kde_save_ldflags="$LDFLAGS"
4029 LDFLAGS="$LDFLAGS $PYTHONLIB"
4030
4031 AC_TRY_LINK(
4032 [
4033 #include <Python.h>
4034 ],[
4035         PySys_SetArgv(1, 0);
4036 ],
4037         [kde_cv_try_link_python_$1=yes],
4038         [kde_cv_try_link_python_$1=no]
4039 )
4040 CFLAGS="$kde_save_cflags"
4041 LIBS="$kde_save_libs"
4042 LDFLAGS="$kde_save_ldflags"
4043 ])
4044
4045 if test "$kde_cv_try_link_python_$1" = "yes"; then
4046   AC_MSG_RESULT(yes)
4047   kde_python_link_found=yes
4048   if test ! "$1" = normal; then
4049     LIBPYTHON="$LIBPYTHON $2"
4050   fi
4051   $3
4052 else
4053   AC_MSG_RESULT(no)
4054   $4
4055 fi
4056 AC_LANG_RESTORE
4057
4058 fi
4059
4060 ])
4061
4062 AC_DEFUN(KDE_CHECK_PYTHON_DIR,
4063 [
4064 AC_MSG_CHECKING([for Python directory])
4065  
4066 AC_CACHE_VAL(kde_cv_pythondir,
4067 [
4068   if test -z "$PYTHONDIR"; then
4069     kde_cv_pythondir=/usr/local
4070   else
4071     kde_cv_pythondir="$PYTHONDIR"
4072   fi
4073 ])
4074  
4075 AC_ARG_WITH(pythondir,
4076 [  --with-pythondir=pythondir   use python installed in pythondir ],
4077 [
4078   ac_python_dir=$withval
4079 ], ac_python_dir=$kde_cv_pythondir
4080 )
4081  
4082 AC_MSG_RESULT($ac_python_dir)
4083 ])
4084
4085 AC_DEFUN(KDE_CHECK_PYTHON_INTERN,
4086 [
4087 AC_REQUIRE([KDE_CHECK_LIBDL])
4088 AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
4089 AC_REQUIRE([KDE_CHECK_PYTHON_DIR])
4090
4091 if test -z "$1"; then
4092   version="1.5"
4093 else
4094   version="$1"
4095 fi
4096
4097 AC_MSG_CHECKING([for Python$version])
4098
4099 python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes"
4100 AC_FIND_FILE(Python.h, $python_incdirs, python_incdir)
4101 if test ! -r $python_incdir/Python.h; then
4102   AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir)
4103   python_incdir=$python_incdir/python$version
4104   if test ! -r $python_incdir/Python.h; then
4105     python_incdir=no
4106   fi
4107 fi
4108
4109 PYTHONINC=-I$python_incdir
4110
4111 python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
4112 AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir)
4113 if test ! -r $python_libdir/libpython$version.a; then
4114   AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir)
4115   python_libdir=$python_libdir/python$version/config
4116   if test ! -r $python_libdir/libpython$version.a; then
4117     python_libdir=no
4118   fi
4119 fi
4120
4121 PYTHONLIB=-L$python_libdir
4122 kde_orig_LIBPYTHON=$LIBPYTHON
4123 if test -z "$LIBPYTHON"; then
4124   LIBPYTHON=-lpython$version
4125 fi
4126
4127 python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs"
4128 AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir)
4129 python_moddir=$python_moddir/python$version
4130 if test ! -r $python_moddir/copy.py; then
4131   python_moddir=no
4132 fi
4133
4134 PYTHONMODDIR=$python_moddir
4135
4136 AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir)
4137
4138 if test x$python_incdir = xno ||  test x$python_libdir = xno ||  test x$python_moddir = xno; then
4139    LIBPYTHON=$kde_orig_LIBPYTHON
4140    test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB=""
4141    test "x$PYTHONINC" = "x-Ino" && PYTHONINC=""
4142    $2
4143 else 
4144   dnl Note: this test is very weak
4145   kde_python_link_found=no
4146   KDE_TRY_LINK_PYTHON(normal)
4147   KDE_TRY_LINK_PYTHON(m, -lm)
4148   KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD)
4149   KDE_TRY_LINK_PYTHON(tcl, -ltcl)
4150   KDE_TRY_LINK_PYTHON(db2, -ldb2)
4151   KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm])
4152   KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil])
4153   KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil])
4154   KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3])
4155   KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil])
4156   KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm])
4157   KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [],
4158         [AC_MSG_WARN([it seems, Python depends on another library.
4159     Pleae set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this
4160     and contact the authors to let them know about this problem])
4161         ])
4162
4163   LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET"
4164   AC_SUBST(PYTHONINC)
4165   AC_SUBST(PYTHONLIB)
4166   AC_SUBST(LIBPYTHON)
4167   AC_SUBST(PYTHONMODDIR)
4168   AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python])
4169 fi
4170
4171 ])
4172
4173
4174 AC_DEFUN(KDE_CHECK_PYTHON,
4175 [
4176   KDE_CHECK_PYTHON_INTERN("2.2", 
4177     [KDE_CHECK_PYTHON_INTERN("2.1", 
4178       [KDE_CHECK_PYTHON_INTERN("2.0", [ KDE_CHECK_PYTHON_INTERN($1, $2) ])
4179   ])])
4180 ])
4181
4182 AC_DEFUN(KDE_CHECK_STL_SGI,
4183 [
4184     AC_MSG_CHECKING([if STL implementation is SGI like])
4185     AC_CACHE_VAL(kde_cv_stl_type_sgi,
4186     [
4187       AC_TRY_COMPILE([
4188 #include <string>
4189 using namespace std;
4190 ],[
4191   string astring="Hallo Welt.";
4192   astring.erase(0, 6); // now astring is "Welt"
4193   return 0;
4194 ], kde_cv_stl_type_sgi=yes,
4195    kde_cv_stl_type_sgi=no)
4196 ])
4197
4198    AC_MSG_RESULT($kde_cv_stl_type_sgi)
4199
4200    if test "$kde_cv_stl_type_sgi" = "yes"; then
4201         AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI])
4202    fi
4203 ])
4204
4205 AC_DEFUN(KDE_CHECK_STL_HP,
4206 [
4207     AC_MSG_CHECKING([if STL implementation is HP like])
4208     AC_CACHE_VAL(kde_cv_stl_type_hp,
4209     [
4210       AC_TRY_COMPILE([
4211 #include <string>
4212 using namespace std;
4213 ],[
4214   string astring="Hello World";
4215   astring.remove(0, 6); // now astring is "World"
4216   return 0;
4217 ], kde_cv_stl_type_hp=yes,
4218    kde_cv_stl_type_hp=no)
4219 ])
4220    AC_MSG_RESULT($kde_cv_stl_type_hp)
4221
4222    if test "$kde_cv_stl_type_hp" = "yes"; then
4223         AC_DEFINE_UNQUOTED(HAVE_HP_STL, 1, [Define if you have a STL implementation by HP])
4224    fi
4225 ])
4226
4227 AC_DEFUN(KDE_CHECK_STL,
4228 [
4229     AC_LANG_SAVE
4230     AC_LANG_CPLUSPLUS
4231     ac_save_CXXFLAGS="$CXXFLAGS"
4232     CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
4233     KDE_CHECK_STL_SGI
4234
4235     if test "$kde_cv_stl_type_sgi" = "no"; then
4236        KDE_CHECK_STL_HP
4237
4238        if test "$kde_cv_stl_type_hp" = "no"; then
4239          AC_MSG_ERROR("no known STL type found - did you forget to install libstdc++[-devel] ?")
4240        fi
4241     fi
4242
4243     CXXFLAGS="$ac_save_CXXFLAGS"
4244     AC_LANG_RESTORE
4245 ])
4246
4247 AC_DEFUN(AC_FIND_QIMGIO,
4248    [AC_REQUIRE([AC_FIND_JPEG])
4249 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
4250 AC_MSG_CHECKING([for qimgio])
4251 AC_CACHE_VAL(ac_cv_lib_qimgio,
4252 [
4253 AC_LANG_SAVE
4254 AC_LANG_CPLUSPLUS
4255 ac_save_LIBS="$LIBS"
4256 ac_save_CXXFLAGS="$CXXFLAGS"
4257 LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT"
4258 CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
4259 AC_TRY_RUN(dnl
4260 [
4261 #include <qimageio.h>
4262 #include <qstring.h>
4263 int main() {
4264                 QString t = "hallo";
4265                 t.fill('t');
4266                 qInitImageIO();
4267 }
4268 ],
4269             ac_cv_lib_qimgio=yes,
4270             ac_cv_lib_qimgio=no,
4271             ac_cv_lib_qimgio=no)
4272 LIBS="$ac_save_LIBS"
4273 CXXFLAGS="$ac_save_CXXFLAGS"
4274 AC_LANG_RESTORE
4275 ])dnl
4276 if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then
4277   LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG"
4278   AC_MSG_RESULT(yes)
4279   AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available])
4280   AC_SUBST(LIBQIMGIO)
4281 else
4282   AC_MSG_RESULT(not found)
4283 fi
4284 ])
4285
4286 AC_DEFUN(KDE_CHECK_ANSI,
4287 [
4288 ])
4289
4290 AC_DEFUN(KDE_CHECK_INSURE,
4291 [
4292   AC_ARG_ENABLE(insure, [  --enable-insure             use insure++ for debugging [default=no]],
4293   [
4294   if test $enableval = "no"; dnl
4295         then ac_use_insure="no"
4296         else ac_use_insure="yes"
4297    fi
4298   ], [ac_use_insure="no"])
4299
4300   AC_MSG_CHECKING(if we will use Insure++ to debug)
4301   AC_MSG_RESULT($ac_use_insure)
4302   if test "$ac_use_insure" = "yes"; dnl
4303        then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "????
4304    fi
4305 ])
4306
4307 AC_DEFUN(AM_DISABLE_LIBRARIES,
4308 [
4309     AC_PROVIDE([AM_ENABLE_STATIC])
4310     AC_PROVIDE([AM_ENABLE_SHARED])
4311     enable_static=no
4312     enable_shared=yes
4313 ])
4314
4315
4316 AC_DEFUN(AC_CHECK_UTMP_FILE,
4317 [
4318     AC_MSG_CHECKING([for utmp file])
4319
4320     AC_CACHE_VAL(kde_cv_utmp_file,
4321     [
4322     kde_cv_utmp_file=no
4323
4324     for ac_file in    \
4325                       \
4326         /var/run/utmp \
4327         /var/adm/utmp \
4328         /etc/utmp     \
4329      ; \
4330     do
4331      if test -r "$ac_file"; then
4332        kde_cv_utmp_file=$ac_file
4333        break
4334      fi
4335     done
4336     ])
4337
4338     if test "$kde_cv_utmp_file" != "no"; then
4339         AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries])
4340         $1
4341         AC_MSG_RESULT($kde_cv_utmp_file)
4342     else
4343         $2
4344         AC_MSG_RESULT([non found])
4345     fi
4346 ])
4347
4348
4349 AC_DEFUN(KDE_CREATE_SUBDIRSLIST,
4350 [
4351
4352 DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
4353
4354 if test ! -s $srcdir/subdirs; then
4355   dnl Note: Makefile.common creates subdirs, so this is just a fallback
4356   TOPSUBDIRS=""
4357   files=`cd $srcdir && ls -1`
4358   dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
4359   for i in $dirs; do
4360     echo $i >> $srcdir/subdirs
4361   done
4362 fi
4363
4364 if test -s $srcdir/inst-apps; then
4365   ac_topsubdirs="`cat $srcdir/inst-apps`"
4366 else
4367   ac_topsubdirs="`cat $srcdir/subdirs`"
4368 fi
4369
4370 for i in $ac_topsubdirs; do
4371   AC_MSG_CHECKING([if $i should be compiled])
4372   if test -d $srcdir/$i; then
4373     install_it="yes"
4374     for j in $DO_NOT_COMPILE; do
4375       if test $i = $j; then
4376         install_it="no"
4377       fi
4378     done
4379   else
4380     install_it="no"
4381   fi
4382   AC_MSG_RESULT($install_it)
4383   vari=`echo $i | sed -e 's,[[-+.]],_,g'`
4384   if test $install_it = "yes"; then
4385     TOPSUBDIRS="$TOPSUBDIRS $i"
4386     eval "$vari""_SUBDIR_included=yes"
4387   else
4388     eval "$vari""_SUBDIR_included=no"
4389   fi
4390 done
4391
4392 AC_SUBST(TOPSUBDIRS)
4393 ])
4394
4395 AC_DEFUN(KDE_CHECK_NAMESPACES,
4396 [
4397 AC_MSG_CHECKING(whether C++ compiler supports namespaces)
4398 AC_LANG_SAVE
4399 AC_LANG_CPLUSPLUS
4400 AC_TRY_COMPILE([
4401 ],
4402 [
4403 namespace Foo {
4404   extern int i;
4405   namespace Bar {
4406     extern int i;
4407   }
4408 }
4409
4410 int Foo::i = 0;
4411 int Foo::Bar::i = 1;
4412 ],[
4413   AC_MSG_RESULT(yes)
4414   AC_DEFINE(HAVE_NAMESPACES)
4415 ], [
4416 AC_MSG_RESULT(no)
4417 ])
4418 AC_LANG_RESTORE
4419 ])
4420
4421 AC_DEFUN(KDE_CHECK_NEWLIBS,
4422 [
4423
4424 ])
4425
4426 dnl ------------------------------------------------------------------------
4427 dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org
4428 dnl ------------------------------------------------------------------------
4429 dnl
4430 AC_DEFUN(AC_CHECK_S_ISSOCK,
4431 [
4432 AC_MSG_CHECKING(for S_ISSOCK)
4433 AC_CACHE_VAL(ac_cv_have_s_issock,
4434 [
4435 AC_LANG_SAVE
4436 AC_LANG_C
4437 AC_TRY_LINK(
4438 [
4439 #include <sys/stat.h>
4440 ],
4441 [
4442 struct stat buff;
4443 int b = S_ISSOCK( buff.st_mode );
4444 ],
4445 ac_cv_have_s_issock=yes,
4446 ac_cv_have_s_issock=no)
4447 AC_LANG_RESTORE
4448 ])
4449 AC_MSG_RESULT($ac_cv_have_s_issock)
4450 if test "$ac_cv_have_s_issock" = "yes"; then
4451   AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.])
4452 fi
4453
4454 AH_VERBATIM(_ISSOCK,
4455 [
4456 #ifndef HAVE_S_ISSOCK
4457 #define HAVE_S_ISSOCK
4458 #define S_ISSOCK(mode) (1==0)
4459 #endif
4460 ])
4461
4462 ])
4463
4464 dnl ------------------------------------------------------------------------
4465 dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org
4466 dnl ------------------------------------------------------------------------
4467 dnl
4468 AC_DEFUN(AC_CHECK_KDEMAXPATHLEN,
4469 [
4470 AC_MSG_CHECKING(for MAXPATHLEN)
4471 AC_CACHE_VAL(ac_cv_maxpathlen,
4472 [
4473 AC_LANG_C
4474 cat > conftest.$ac_ext <<EOF
4475 #ifdef STDC_HEADERS
4476 # include <stdlib.h>
4477 #endif
4478 #include <stdio.h>
4479 #include <sys/param.h>
4480 #ifndef MAXPATHLEN
4481 #define MAXPATHLEN 1024
4482 #endif
4483
4484 KDE_HELLO MAXPATHLEN
4485
4486 EOF
4487
4488 ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out"
4489
4490 if AC_TRY_EVAL(ac_try) && test -s conftest.out; then
4491     ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out`
4492 else
4493     ac_cv_maxpathlen=1024
4494 fi
4495
4496 rm conftest.*
4497
4498 ])
4499 AC_MSG_RESULT($ac_cv_maxpathlen)
4500 AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] )
4501 ])
4502
4503 dnl -------------------------------------------------------------------------
4504 dnl See if the compiler supports a template repository         bero@redhat.de
4505 dnl -------------------------------------------------------------------------
4506 AC_DEFUN(KDE_COMPILER_REPO,
4507 [
4508   REPO=""
4509   NOREPO=""
4510
4511   KDE_CHECK_COMPILER_FLAG(frepo,
4512    [
4513      REPO="-frepo"
4514      NOREPO="-fno-repo"
4515    ])
4516
4517   if test -z "$REPO"; then
4518   KDE_CHECK_COMPILER_FLAG(instances=explicit,
4519   [
4520      REPO="-instances=explicit"
4521      NOREPO="-instances=extern"
4522   ])
4523   fi
4524
4525   if test -n "$REPO"; then
4526      AC_DEFINE_UNQUOTED(HAVE_TEMPLATE_REPOSITORY, 1,
4527                 [C++ compiler supports template repository])
4528      $1
4529   fi
4530
4531   AC_SUBST(REPO)
4532   AC_SUBST(NOREPO)
4533 ])
4534
4535 AC_DEFUN(KDE_CHECK_HEADER,
4536 [
4537    AC_LANG_SAVE
4538    kde_safe_cppflags=$CPPFLAGS
4539    CPPFLAGS="$CPPFLAGS $all_includes"
4540    AC_LANG_CPLUSPLUS
4541    AC_CHECK_HEADER($1, $2, $3)
4542    CPPFLAGS=$kde_safe_cppflags
4543    AC_LANG_RESTORE
4544 ])
4545
4546 AC_DEFUN(KDE_CHECK_HEADERS,
4547 [
4548    AH_CHECK_HEADERS([$1])
4549    AC_LANG_SAVE
4550    kde_safe_cppflags=$CPPFLAGS
4551    CPPFLAGS="$CPPFLAGS $all_includes"
4552    AC_LANG_CPLUSPLUS
4553    AC_CHECK_HEADERS([$1], [$2], [$3], [$4])
4554    CPPFLAGS=$kde_safe_cppflags
4555    AC_LANG_RESTORE
4556 ])
4557
4558 AC_DEFUN(KDE_FAST_CONFIGURE,
4559 [
4560   dnl makes configure fast (needs perl)
4561   AC_ARG_ENABLE(fast-perl, [  --disable-fast-perl     disable fast Makefile generation (needs perl)],
4562       with_fast_perl=$enableval, with_fast_perl=yes)
4563 ])
4564
4565 AC_DEFUN(KDE_CONF_FILES,
4566 [
4567   val=
4568   if test -f $srcdir/configure.files ; then
4569     val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files`
4570   fi
4571   CONF_FILES=
4572   if test -n "$val" ; then
4573     for i in $val ; do
4574       CONF_FILES="$CONF_FILES $i"
4575     done
4576   fi
4577   AC_SUBST(CONF_FILES)
4578 ])dnl
4579
4580 AC_DEFUN(KDE_SET_PREFIX,
4581 [
4582   unset CDPATH
4583   dnl make $KDEDIR the default for the installation
4584   AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
4585
4586   if test "x$prefix" = "xNONE"; then
4587     prefix=$ac_default_prefix
4588     ac_configure_args="$ac_configure_args --prefix=$prefix"
4589   fi
4590   # And delete superflous '/' to make compares easier
4591   prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
4592   exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
4593   KDE_FAST_CONFIGURE
4594   KDE_CONF_FILES
4595 ])
4596
4597 pushdef([AC_PROG_INSTALL],
4598 [
4599   dnl our own version, testing for a -p flag
4600   popdef([AC_PROG_INSTALL])
4601   dnl as AC_PROG_INSTALL works as it works we first have
4602   dnl to save if the user didn't specify INSTALL, as the
4603   dnl autoconf one overwrites INSTALL and we have no chance to find
4604   dnl out afterwards
4605   test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL
4606   test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM
4607   test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT
4608   AC_PROG_INSTALL
4609
4610   if test -z "$kde_save_INSTALL_given" ; then
4611     # OK, user hasn't given any INSTALL, autoconf found one for us
4612     # now we test, if it supports the -p flag
4613     AC_MSG_CHECKING(for -p flag to install)
4614     rm -f confinst.$$.* > /dev/null 2>&1
4615     echo "Testtest" > confinst.$$.orig
4616     ac_res=no
4617     if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
4618       if test -f confinst.$$.new ; then
4619         # OK, -p seems to do no harm to install
4620         INSTALL="${INSTALL} -p"
4621         ac_res=yes
4622       fi
4623     fi
4624     rm -f confinst.$$.*
4625     AC_MSG_RESULT($ac_res)
4626   fi
4627   dnl the following tries to resolve some signs and wonders coming up
4628   dnl with different autoconf/automake versions
4629   dnl e.g.:
4630   dnl  *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s
4631   dnl   and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS)
4632   dnl   it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s
4633   dnl  *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has
4634   dnl   INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the
4635   dnl   install-@DIR@PROGRAMS targets to explicitly use that flag
4636   dnl  *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as
4637   dnl   INSTALL_SCRIPT, which breaks with automake <= 1.4
4638   dnl  *autoconf >2.13 (since 10.Apr 1999) has not that failure
4639   dnl  *sometimes KDE does not use the install-@DIR@PROGRAM targets from
4640   dnl   automake (due to broken Makefile.am or whatever) to install programs,
4641   dnl   and so does not see the -s flag in automake > 1.4
4642   dnl to clean up that mess we:
4643   dnl  +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG
4644   dnl   which cleans KDE's program with automake > 1.4;
4645   dnl  +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems
4646   dnl   with automake<=1.4
4647   dnl  note that dues to this sometimes two '-s' flags are used (if KDE
4648   dnl   properly uses install-@DIR@PROGRAMS, but I don't care
4649   dnl
4650   dnl And to all this comes, that I even can't write in comments variable
4651   dnl  names used by automake, because it is so stupid to think I wanted to
4652   dnl  _use_ them, therefor I have written A_M_... instead of AM_
4653   dnl hmm, I wanted to say something ... ahh yes: Arghhh.
4654
4655   if test -z "$kde_save_INSTALL_PROGRAM_given" ; then
4656     INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
4657   fi
4658   if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
4659     INSTALL_SCRIPT='${INSTALL}'
4660   fi
4661 ])dnl
4662
4663 AC_DEFUN(KDE_LANG_CPLUSPLUS,
4664 [AC_LANG_CPLUSPLUS
4665 ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
4666 pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS])
4667 ])
4668
4669 pushdef([AC_LANG_CPLUSPLUS],
4670 [popdef([AC_LANG_CPLUSPLUS])
4671 KDE_LANG_CPLUSPLUS
4672 ])
4673
4674 AC_DEFUN(KDE_CHECK_LONG_LONG,
4675 [
4676 AC_MSG_CHECKING(for long long)
4677 AC_CACHE_VAL(kde_cv_c_long_long,
4678 [
4679   AC_LANG_SAVE
4680   AC_LANG_CPLUSPLUS
4681   AC_TRY_LINK([], [
4682   long long foo = 0;
4683   foo = foo+1;
4684   ],
4685   kde_cv_c_long_long=yes, kde_cv_c_long_long=no)
4686   AC_LANG_RESTORE
4687 ])
4688 AC_MSG_RESULT($kde_cv_c_long_long)
4689 if test "$kde_cv_c_long_long" = yes; then
4690    AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype])
4691 fi
4692 ])
4693
4694 AC_DEFUN(KDE_CHECK_LIB,
4695 [
4696      kde_save_LDFLAGS="$LDFLAGS"
4697      dnl AC_CHECK_LIB modifies LIBS, so save it here
4698      kde_save_LIBS="$LIBS"
4699      LDFLAGS="$LDFLAGS $all_libraries"
4700      case $host_os in
4701       aix*) LDFLAGS="-brtl $LDFLAGS"
4702         test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS"
4703         ;;
4704      esac
4705      AC_CHECK_LIB($1, $2, $3, $4, $5)
4706      LDFLAGS="$kde_save_LDFLAGS"
4707      LIBS="$kde_save_LIBS"
4708 ])
4709
4710 AC_DEFUN(KDE_JAVA_PREFIX,
4711 [
4712         dir=`dirname "$1"`
4713         base=`basename "$1"`
4714         list=`ls -1 $dir 2> /dev/null`
4715         for entry in $list; do 
4716                 if test -d $dir/$entry/bin; then
4717                         case $entry in
4718                            $base)
4719                                 javadirs="$javadirs $dir/$entry/bin"
4720                                 ;;
4721                         esac
4722                 elif test -d $dir/$entry/jre/bin; then
4723                         case $entry in
4724                            $base)
4725                                 javadirs="$javadirs $dir/$entry/jre/bin"
4726                                 ;;
4727                         esac
4728                 fi
4729         done
4730 ])
4731
4732 dnl KDE_CHEC_JAVA_DIR(onlyjre)
4733 AC_DEFUN(KDE_CHECK_JAVA_DIR,
4734 [
4735
4736 AC_ARG_WITH(java,
4737 [  --with-java=javadir     use java installed in javadir, --without-java disables ],
4738 [  ac_java_dir=$withval
4739 ], ac_java_dir=""
4740 )
4741
4742 AC_MSG_CHECKING([for Java])
4743
4744 dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH
4745 if test "x$ac_java_dir" = "xno"; then
4746    kde_java_bindir=no
4747    kde_java_includedir=no
4748    kde_java_libjvmdir=no
4749    kde_java_libhpidir=no
4750 else
4751   if test "x$ac_java_dir" = "x"; then
4752      
4753      
4754       dnl No option set -> look in $PATH
4755       KDE_JAVA_PREFIX(/usr/j2se)
4756       KDE_JAVA_PREFIX(/usr/j*dk*)
4757       KDE_JAVA_PREFIX(/usr/lib/j*dk*)
4758       KDE_JAVA_PREFIX(/opt/j*sdk*)
4759       KDE_JAVA_PREFIX(/usr/lib/java*)
4760       KDE_JAVA_PREFIX(/usr/java*)
4761       KDE_JAVA_PREFIX(/usr/lib/SunJava2*)
4762       KDE_JAVA_PREFIX(/usr/lib/SunJava*)
4763       KDE_JAVA_PREFIX(/usr/lib/IBMJava2*)
4764       KDE_JAVA_PREFIX(/usr/lib/IBMJava*)
4765       KDE_JAVA_PREFIX(/opt/java*)
4766     
4767       kde_cv_path="NONE"
4768       kde_save_IFS=$IFS
4769       IFS=':'
4770       for dir in $PATH; do
4771           javadirs="$javadirs $dir"
4772       done
4773       IFS=$kde_save_IFS
4774       jredirs=
4775
4776       for dir in $javadirs; do
4777           if test ! -d $dir; then break; fi
4778           if test -x "$dir/java"; then
4779                 libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
4780                 if test ! -f $libjvmdir/libjvm.so; then continue; fi
4781                 jredirs="$jredirs $dir"
4782           fi
4783       done
4784
4785       JAVAC=
4786       JAVA=
4787       kde_java_bindir=no
4788       for dir in $jredirs; do
4789           JAVA="$dir/java"
4790           kde_java_bindir=$dir
4791           if test -x "$dir/javac"; then
4792                 JAVAC="$dir/javac"
4793                 break
4794           fi
4795       done
4796
4797       if test -n "$JAVAC"; then
4798           dnl this substitution might not work - well, we test for jni.h below
4799           kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'`
4800       else
4801           kde_java_includedir=no
4802       fi
4803   else
4804     dnl config option set
4805     kde_java_bindir=$ac_java_dir/bin
4806     if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then
4807         kde_java_includedir=no
4808     else
4809         kde_java_includedir=$ac_java_dir/include
4810     fi
4811   fi
4812 fi
4813
4814 dnl At this point kde_java_bindir and kde_java_includedir are either set or "no"
4815 if test "x$kde_java_bindir" != "xno"; then
4816
4817   dnl Look for libjvm.so
4818   kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
4819   dnl Look for libhpi.so and avoid green threads
4820   kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1`
4821
4822   dnl Now check everything's fine under there
4823   dnl the include dir is our flag for having the JDK
4824   if test -d "$kde_java_includedir"; then
4825     if test ! -x "$kde_java_bindir/javac"; then
4826       AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.])
4827     fi
4828     if test ! -x "$kde_java_bindir/javah"; then
4829       AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
4830     fi
4831     if test ! -x "$kde_java_bindir/jar"; then
4832       AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
4833     fi
4834     if test ! -r "$kde_java_includedir/jni.h"; then
4835       AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.])
4836     fi
4837
4838     jni_includes="-I$kde_java_includedir"
4839     dnl Strange thing, jni.h requires jni_md.h which is under genunix here..
4840     dnl and under linux here..
4841     test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux"
4842     test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris"
4843     test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix"
4844
4845   else
4846     JAVAC=
4847     jni_includes=
4848   fi
4849
4850   if test ! -r "$kde_java_libjvmdir/libjvm.so"; then
4851      AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.])
4852   fi 
4853
4854   if test ! -x "$kde_java_bindir/java"; then
4855       AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
4856   fi
4857
4858   if test ! -r "$kde_java_libhpidir/libhpi.so"; then
4859     AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.])
4860   fi
4861
4862   if test -n "$jni_includes"; then
4863     dnl Check for JNI version
4864     AC_LANG_SAVE
4865     AC_LANG_CPLUSPLUS
4866     ac_cxxflags_safe="$CXXFLAGS"
4867     CXXFLAGS="$CXXFLAGS $all_includes $jni_includes"
4868
4869     AC_TRY_COMPILE([
4870   #include <jni.h>
4871               ],
4872               [
4873   #ifndef JNI_VERSION_1_2
4874   Syntax Error
4875   #endif
4876               ],[ kde_jni_works=yes ],
4877               [ kde_jni_works=no ])
4878
4879     if test $kde_jni_works = no; then
4880       AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h.
4881                     You need to have Java Development Kit (JDK) version 1.2. 
4882
4883                     Use --with-java to specify another location.
4884                     Use --without-java to configure without java support.
4885                     Or download a newer JDK and try again. 
4886                     See e.g. http://java.sun.com/products/jdk/1.2 ])
4887     fi
4888
4889     CXXFLAGS="$ac_cxxflags_safe"    
4890     AC_LANG_RESTORE
4891
4892     dnl All tests ok, inform and subst the variables
4893
4894     JAVAC=$kde_java_bindir/javac
4895     JAVAH=$kde_java_bindir/javah
4896     JAR=$kde_java_bindir/jar
4897     AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
4898     JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi"
4899     AC_MSG_RESULT([java JDK in $kde_java_bindir])
4900
4901   else
4902       AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
4903       AC_MSG_RESULT([java JRE in $kde_java_bindir])
4904   fi
4905 else # no
4906   AC_MSG_RESULT([none found])
4907 fi
4908
4909 AC_SUBST(JAVAC)
4910 AC_SUBST(JAVAH)
4911 AC_SUBST(JAR)
4912 AC_SUBST(JVMLIBS)
4913 AC_SUBST(jni_includes)
4914
4915 # for backward compat
4916 kde_cv_java_includedir=$kde_java_includedir
4917 kde_cv_java_bindir=$kde_java_bindir
4918 ])
4919
4920 dnl this is a redefinition of autoconf 2.5x's AC_FOREACH.
4921 dnl When the argument list becomes big, as in KDE for AC_OUTPUT in
4922 dnl big packages, m4_foreach is dog-slow.  So use our own version of
4923 dnl it.  (matz@kde.org)
4924 m4_define([mm_foreach],
4925 [m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])])
4926 m4_define([mm_car], [[$1]])
4927 m4_define([mm_car2], [[$@]])
4928 m4_define([_mm_foreach],
4929 [m4_if(m4_quote($2), [], [],
4930        [m4_define([$1], [mm_car($2)])$3[]_mm_foreach([$1],
4931                                                      mm_car2(m4_shift($2)),
4932                                                      [$3])])])
4933 m4_define([AC_FOREACH],
4934 [mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])])
4935
4936 AC_DEFUN(KDE_NEED_FLEX,
4937 [
4938 kde_libs_safe=$LIBS
4939 LIBS="$LIBS $USER_LDFLAGS"
4940 AM_PROG_LEX
4941 LIBS=$kde_libs_safe
4942 if test -z "$LEXLIB"; then
4943     AC_MSG_ERROR([You need to have flex installed.])
4944 fi
4945 AC_SUBST(LEXLIB)
4946 ])
4947
4948 AC_DEFUN(AC_PATH_QTOPIA,
4949 [
4950   dnl TODO: use AC_CACHE_VAL
4951
4952   if test -z "$1"; then
4953     qtopia_minver_maj=1
4954     qtopia_minver_min=5
4955     qtopia_minver_pat=0
4956   else
4957     qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"`
4958     qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"`
4959     qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"`
4960   fi
4961
4962   qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat"
4963   qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat"
4964
4965   AC_REQUIRE([AC_PATH_QT])
4966
4967   AC_MSG_CHECKING([for Qtopia])
4968
4969   LIB_QTOPIA="-lqpe"
4970   AC_SUBST(LIB_QTOPIA)
4971
4972   kde_qtopia_dirs="$QPEDIR /opt/Qtopia"
4973
4974   ac_qtopia_incdir=NO
4975
4976   AC_ARG_WITH(qtopia-dir,
4977               [  --with-qtopia-dir=DIR   where the root of Qtopia is installed ],
4978               [  ac_qtopia_incdir="$withval"/include] ) 
4979   
4980   qtopia_incdirs=""
4981   for dir in $kde_qtopia_dirs; do
4982     qtopia_incdirs="$qtopia_incdirs $dir/include"
4983   done
4984
4985   if test ! "$ac_qtopia_incdir" = "NO"; then
4986     qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs"
4987   fi
4988
4989   qtopia_incdir=""
4990   AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir)
4991   ac_qtopia_incdir="$qtopia_incdir"
4992
4993   if test -z "$qtopia_incdir"; then
4994     AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.])
4995   fi
4996
4997   qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`;
4998   qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`;
4999   qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`;
5000
5001   qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat"
5002   qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat"
5003   if test "$qtopia_ver" -lt "$qtopia_minver"; then
5004     AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr
5005 is required.])
5006   fi
5007
5008   AC_LANG_SAVE
5009   AC_LANG_CPLUSPLUS
5010
5011   ac_cxxflags_safe="$CXXFLAGS"
5012   ac_ldflags_safe="$LDFLAGS"
5013   ac_libs_safe="$LIBS"
5014
5015   CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes"
5016   LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
5017   LIBS="$LIBS $LIB_QTOPIA $LIBQT"
5018
5019   cat > conftest.$ac_ext <<EOF
5020 #include "confdefs.h"
5021 #include <qpe/qpeapplication.h>
5022 #include <qpe/version.h>
5023
5024 int main( int argc, char **argv )
5025 {
5026     QPEApplication app( argc, argv );
5027     return 0;
5028 }
5029 EOF
5030
5031   if AC_TRY_EVAL(ac_link) && test -s conftest; then
5032     rm -f conftest*
5033   else
5034     rm -f conftest*
5035     AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at
5036 the end of config.log])
5037   fi
5038
5039   CXXFLAGS="$ac_cxxflags_safe"
5040   LDFLAGS="$ac_ldflags_safe"
5041   LIBS="$ac_libs_safe"
5042
5043   AC_LANG_RESTORE
5044
5045   QTOPIA_INCLUDES="-I$qtopia_incdir"
5046   AC_SUBST(QTOPIA_INCLUDES)
5047
5048   AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir])
5049 ])
5050
5051
5052 AC_DEFUN(KDE_INIT_DOXYGEN,
5053 [
5054 AC_MSG_CHECKING([for Qt docs])
5055 kde_qtdir=
5056 if test "${with_qt_dir+set}" = set; then
5057   kde_qtdir="$with_qt_dir"
5058 fi
5059
5060 AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc], QTDOCDIR)
5061 AC_MSG_RESULT($QTDOCDIR)
5062
5063 AC_SUBST(QTDOCDIR)
5064
5065 KDE_FIND_PATH(dot, DOT, [], [])
5066 if test -n "$DOT"; then
5067   KDE_HAVE_DOT="YES"
5068 else
5069   KDE_HAVE_DOT="NO"
5070 fi
5071 AC_SUBST(KDE_HAVE_DOT)
5072 KDE_FIND_PATH(doxygen, DOXYGEN, [], [])
5073 AC_SUBST(DOXYGEN)
5074
5075 DOXYGEN_PROJECT_NAME="$1"
5076 DOXYGEN_PROJECT_NUMBER="$2"
5077 AC_SUBST(DOXYGEN_PROJECT_NAME)
5078 AC_SUBST(DOXYGEN_PROJECT_NUMBER)
5079
5080 KDE_HAS_DOXYGEN=no
5081 if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then
5082   KDE_HAS_DOXYGEN=yes
5083 fi
5084 AC_SUBST(KDE_HAS_DOXYGEN)
5085
5086 ])
5087
5088
5089 AC_DEFUN(AC_FIND_BZIP2,
5090 [
5091 AC_MSG_CHECKING([for bzDecompress in libbz2])
5092 AC_CACHE_VAL(ac_cv_lib_bzip2,
5093 [
5094 AC_LANG_C
5095 kde_save_LIBS="$LIBS"
5096 LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET"
5097 kde_save_CFLAGS="$CFLAGS"
5098 CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
5099 AC_TRY_LINK(dnl
5100 [
5101 #define BZ_NO_STDIO
5102 #include<bzlib.h>
5103 ],
5104             [ bz_stream s; (void) bzDecompress(&s); ],
5105             eval "ac_cv_lib_bzip2='-lbz2'",
5106             eval "ac_cv_lib_bzip2=no")
5107 LIBS="$kde_save_LIBS"
5108 CFLAGS="$kde_save_CFLAGS"
5109 ])dnl
5110 AC_MSG_RESULT($ac_cv_lib_bzip2)
5111
5112 if test ! "$ac_cv_lib_bzip2" = no; then
5113   BZIP2DIR=bzip2
5114
5115   LIBBZ2="$ac_cv_lib_bzip2"
5116   AC_SUBST(LIBBZ2)
5117
5118 else
5119
5120    cxx_shared_flags=
5121    KDE_CHECK_COMPILER_FLAG(shared, [
5122         cxx_shared_flag="-shared"
5123    ])
5124
5125    AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2])
5126    AC_CACHE_VAL(ac_cv_lib_bzip2_prefix,
5127    [
5128    AC_LANG_C
5129    kde_save_LIBS="$LIBS"
5130    LIBS="$all_libraries $USER_LDFLAGS $cxx_shared_flag -lbz2 $LIBSOCKET"
5131    kde_save_CFLAGS="$CFLAGS"
5132    CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
5133
5134    AC_TRY_LINK(dnl
5135    [
5136    #define BZ_NO_STDIO
5137    #include<bzlib.h>
5138    ],
5139                [ bz_stream s; (void) BZ2_bzDecompress(&s); ],
5140                eval "ac_cv_lib_bzip2_prefix='-lbz2'",
5141                eval "ac_cv_lib_bzip2_prefix=no")
5142    LIBS="$kde_save_LIBS"
5143    CFLAGS="$kde_save_CFLAGS"
5144    ])dnl
5145
5146    AC_MSG_RESULT($ac_cv_lib_bzip2_prefix)
5147    
5148
5149
5150    if test ! "$ac_cv_lib_bzip2_prefix" = no; then
5151      BZIP2DIR=bzip2
5152     
5153      LIBBZ2="$ac_cv_lib_bzip2_prefix"
5154      AC_SUBST(LIBBZ2)
5155
5156      AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix])
5157    dnl else, we just ignore this
5158    fi
5159
5160 fi
5161 AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR")
5162 ])
5163
5164 dnl ------------------------------------------------------------------------
5165 dnl Try to find the SSL headers and libraries.
5166 dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed)
5167 dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed)
5168 dnl ------------------------------------------------------------------------
5169 dnl
5170 AC_DEFUN(KDE_CHECK_SSL,
5171 [
5172 LIBSSL="-lssl -lcrypto"
5173 AC_REQUIRE([KDE_CHECK_LIB64])
5174
5175 ac_ssl_includes=NO ac_ssl_libraries=NO
5176 ssl_libraries=""
5177 ssl_includes=""
5178 AC_ARG_WITH(ssl-dir,
5179     [  --with-ssl-dir=DIR      where the root of OpenSSL is installed],
5180     [  ac_ssl_includes="$withval"/include
5181        ac_ssl_libraries="$withval"/lib$kdelibsuff
5182     ])
5183
5184 want_ssl=yes
5185 AC_ARG_WITH(ssl,
5186     [  --without-ssl           disable SSL checks],
5187     [want_ssl=$withval])
5188
5189 if test $want_ssl = yes; then
5190
5191 AC_MSG_CHECKING(for OpenSSL)
5192
5193 AC_CACHE_VAL(ac_cv_have_ssl,
5194 [#try to guess OpenSSL locations
5195   
5196   ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes"
5197   ssl_incdirs="$ac_ssl_includes $ssl_incdirs"
5198   AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir)
5199   ac_ssl_includes="$ssl_incdir"
5200
5201   ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs"
5202   if test ! "$ac_ssl_libraries" = "NO"; then
5203     ssl_libdirs="$ac_ssl_libraries $ssl_libdirs"
5204   fi
5205
5206   test=NONE
5207   ssl_libdir=NONE
5208   for dir in $ssl_libdirs; do
5209     try="ls -1 $dir/libssl*"
5210     if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
5211   done
5212
5213   ac_ssl_libraries="$ssl_libdir"
5214
5215   AC_LANG_SAVE
5216   AC_LANG_C
5217
5218   ac_cflags_safe="$CFLAGS"
5219   ac_ldflags_safe="$LDFLAGS"
5220   ac_libs_safe="$LIBS"
5221
5222   CFLAGS="$CFLAGS -I$ssl_incdir $all_includes"
5223   LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries"
5224   LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref"
5225
5226   AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();,
5227   ac_ssl_rsaref="yes"
5228   ,
5229   ac_ssl_rsaref="no"
5230   )
5231
5232   CFLAGS="$ac_cflags_safe"
5233   LDFLAGS="$ac_ldflags_safe"
5234   LIBS="$ac_libs_safe"
5235
5236   AC_LANG_RESTORE
5237
5238   if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then
5239     have_ssl=no
5240   else
5241     have_ssl=yes;
5242   fi
5243
5244   ])
5245
5246   eval "$ac_cv_have_ssl"
5247
5248   AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes])
5249
5250   AC_MSG_CHECKING([whether OpenSSL uses rsaref])
5251   AC_MSG_RESULT($ac_ssl_rsaref)
5252
5253   AC_MSG_CHECKING([for easter eggs])
5254   AC_MSG_RESULT([none found])
5255
5256 else
5257   have_ssl=no
5258 fi
5259
5260 if test "$have_ssl" = yes; then
5261   AC_MSG_CHECKING(for OpenSSL version)
5262   dnl Check for SSL version
5263   AC_CACHE_VAL(ac_cv_ssl_version,
5264   [
5265     AC_LANG_SAVE
5266     AC_LANG_C 
5267
5268     cat >conftest.$ac_ext <<EOF
5269 #include <openssl/opensslv.h>
5270 #include <stdio.h>
5271     int main() {
5272  
5273 #ifndef OPENSSL_VERSION_NUMBER
5274       printf("ssl_version=\\"error\\"\n");
5275 #else
5276       if (OPENSSL_VERSION_NUMBER < 0x00906000)
5277         printf("ssl_version=\\"old\\"\n");
5278       else
5279         printf("ssl_version=\\"ok\\"\n");
5280 #endif
5281      return (0);
5282     }
5283 EOF
5284
5285     ac_compile='${CC-gcc} $CFLAGS -I$ac_ssl_includes conftest.$ac_ext -o conftest'
5286     if AC_TRY_EVAL(ac_compile); then 
5287
5288       if eval `./conftest 2>&5`; then
5289         if test $ssl_version = error; then
5290           AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !])
5291         else
5292           if test $ssl_version = old; then
5293             AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.])
5294             have_ssl=no
5295           fi
5296         fi
5297         ac_cv_ssl_version="ssl_version=$ssl_version"
5298       else
5299         AC_MSG_ERROR([Your system couldn't run a small SSL test program.
5300         Check config.log, and if you can't figure it out, send a mail to 
5301         David Faure <faure@kde.org>, attaching your config.log])
5302       fi
5303
5304     else
5305       AC_MSG_ERROR([Your system couldn't link a small SSL test program.
5306       Check config.log, and if you can't figure it out, send a mail to 
5307       David Faure <faure@kde.org>, attaching your config.log])
5308     fi 
5309
5310     AC_LANG_RESTORE
5311
5312   ])
5313
5314   eval "$ac_cv_ssl_version"
5315   AC_MSG_RESULT($ssl_version)
5316 fi
5317
5318 if test "$have_ssl" != yes; then
5319   LIBSSL="";
5320 else
5321   AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL])
5322   ac_cv_have_ssl="have_ssl=yes \
5323     ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref"
5324   
5325   
5326   ssl_libraries="$ac_ssl_libraries"
5327   ssl_includes="$ac_ssl_includes"
5328
5329   if test "$ac_ssl_rsaref" = yes; then
5330     LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref" 
5331   fi
5332
5333   if test $ssl_version = "old"; then
5334     AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6])
5335   fi
5336 fi
5337
5338 if test "$ssl_includes" = "/usr/include" || test  "$ssl_includes" = "/usr/local/include" || test -z "$ssl_includes"; then
5339  SSL_INCLUDES="";
5340 else
5341  SSL_INCLUDES="-I$ssl_includes"
5342 fi
5343
5344 if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries"; then
5345  SSL_LDFLAGS=""
5346 else
5347  SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries"
5348 fi
5349
5350 AC_SUBST(SSL_INCLUDES)
5351 AC_SUBST(SSL_LDFLAGS)
5352 AC_SUBST(LIBSSL)
5353 ])
5354
5355 AC_DEFUN(KDE_CHECK_STRLCPY,
5356 [
5357   AC_CHECK_STRLCPY
5358   AC_CHECK_STRLCAT
5359   AC_CHECK_SIZEOF(size_t)
5360   AC_CHECK_SIZEOF(unsigned long)
5361
5362   AC_MSG_CHECKING([sizeof(size_t) == sizeof(unsigned long)])
5363   AC_TRY_COMPILE(,[
5364     #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG
5365        choke me
5366     #endif
5367     ],[AC_MSG_RESULT([yes])],[
5368       AC_MSG_RESULT([no])
5369       AC_MSG_ERROR([
5370        Apparently on your system our assumption sizeof(size_t) == sizeof(unsigned long)
5371        does not apply. Please mail kde-devel@kde.org with a description of your system!
5372       ])
5373   ])
5374 ])
5375