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