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