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