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