acinclude.m4
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:162k
源码类别:

OpenGL

开发平台:

Visual C++

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