## -*- autoconf -*- dnl Note: Modified for the GGZ Gaming Zone project dnl This file is part of the KDE libraries/packages dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu) dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org) dnl This file is free software; you can redistribute it and/or dnl modify it under the terms of the GNU Library General Public dnl License as published by the Free Software Foundation; either dnl version 2 of the License, or (at your option) any later version. dnl This library is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU dnl Library General Public License for more details. dnl You should have received a copy of the GNU Library General Public License dnl along with this library; see the file COPYING.LIB. If not, write to dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330, dnl Boston, MA 02111-1307, USA. dnl IMPORTANT NOTE: dnl Please do not modify this file unless you expect your modifications to be dnl carried into every other module in the repository. dnl dnl Single-module modifications are best placed in configure.in for kdelibs dnl and kdebase or configure.in.in if present. dnl ------------------------------------------------------------------------ dnl Forward compatibility macros (make autoconf 2.13 look like 2.50), dnl thanks to Raja R Harinath. dnl ------------------------------------------------------------------------ dnl ifdef([AC_OUTPUT_SUBDIRS],[], [AC_DEFUN([AC_OUTPUT_SUBDIRS],[subdirs=$1; _AC_OUTPUT_SUBDIRS])]) # KDE_PATH_X_DIRECT dnl Internal subroutine of AC_PATH_X. dnl Set ac_x_includes and/or ac_x_libraries. AC_DEFUN(KDE_PATH_X_DIRECT, [if test "$ac_x_includes" = NO; then # Guess where to find include files, by looking for this one X11 .h file. test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h # First, try using that file with no special directory specified. AC_TRY_CPP([#include <$x_direct_test_include>], [# We can compile using X headers with no special include directory. ac_x_includes=], [# Look for the header file in a standard set of common directories. # Check X11 before X11Rn because it is often a symlink to the current release. for ac_dir in \ /usr/X11/include \ /usr/X11R6/include \ /usr/X11R5/include \ /usr/X11R4/include \ \ /usr/include/X11 \ /usr/include/X11R6 \ /usr/include/X11R5 \ /usr/include/X11R4 \ \ /usr/local/X11/include \ /usr/local/X11R6/include \ /usr/local/X11R5/include \ /usr/local/X11R4/include \ \ /usr/local/include/X11 \ /usr/local/include/X11R6 \ /usr/local/include/X11R5 \ /usr/local/include/X11R4 \ \ /usr/X386/include \ /usr/x386/include \ /usr/XFree86/include/X11 \ \ /usr/include \ /usr/local/include \ /usr/unsupported/include \ /usr/athena/include \ /usr/local/x11r5/include \ /usr/lpp/Xamples/include \ \ /usr/openwin/include \ /usr/openwin/share/include \ ; \ do if test -r "$ac_dir/$x_direct_test_include"; then ac_x_includes=$ac_dir break fi done]) fi # $ac_x_includes = NO if test "$ac_x_libraries" = NO; then # Check for the libraries. test -z "$x_direct_test_library" && x_direct_test_library=Xt test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" AC_TRY_LINK(, [${x_direct_test_function}()], [LIBS="$ac_save_LIBS" # We can link X programs with no special library path. ac_x_libraries=], [LIBS="$ac_save_LIBS" # First see if replacing the include by lib works. # Check X11 before X11Rn because it is often a symlink to the current release. for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \ /usr/X11/lib \ /usr/X11R6/lib \ /usr/X11R5/lib \ /usr/X11R4/lib \ \ /usr/lib/X11 \ /usr/lib/X11R6 \ /usr/lib/X11R5 \ /usr/lib/X11R4 \ \ /usr/local/X11/lib \ /usr/local/X11R6/lib \ /usr/local/X11R5/lib \ /usr/local/X11R4/lib \ \ /usr/local/lib/X11 \ /usr/local/lib/X11R6 \ /usr/local/lib/X11R5 \ /usr/local/lib/X11R4 \ \ /usr/X386/lib \ /usr/x386/lib \ /usr/XFree86/lib/X11 \ \ /usr/lib \ /usr/local/lib \ /usr/unsupported/lib \ /usr/athena/lib \ /usr/local/x11r5/lib \ /usr/lpp/Xamples/lib \ /lib/usr/lib/X11 \ \ /usr/openwin/lib \ /usr/openwin/share/lib \ ; \ do dnl Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl; do if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then ac_x_libraries=$ac_dir break 2 fi done done]) fi # $ac_x_libraries = NO ]) dnl ------------------------------------------------------------------------ dnl Find a file (or one of more files in a list of dirs) dnl ------------------------------------------------------------------------ dnl AC_DEFUN(AC_FIND_FILE, [ $3=NO for i in $2; do for j in $1; do echo "configure: __oline__: $i/$j" >&AC_FD_CC if test -r "$i/$j"; then echo "taking that" >&AC_FD_CC $3=$i break 2 fi done done ]) dnl KDE_FIND_PATH(programm-name, variable-name, list of directories, dnl if-not-found, test-parameter) AC_DEFUN(KDE_FIND_PATH, [ AC_MSG_CHECKING([for $1]) if test -n "$$2"; then kde_cv_path="$$2"; else kde_cache=`echo $1 | sed 'y%./+-%__p_%'` AC_CACHE_VAL(kde_cv_path_$kde_cache, [ kde_cv_path="NONE" dirs="$3" kde_save_IFS=$IFS IFS=':' for dir in $PATH; do dirs="$dirs $dir" done IFS=$kde_save_IFS for dir in $dirs; do if test -x "$dir/$1"; then if test -n "$5" then evalstr="$dir/$1 $5 2>&1 " if eval $evalstr; then kde_cv_path="$dir/$1" break fi else kde_cv_path="$dir/$1" break fi fi done eval "kde_cv_path_$kde_cache=$kde_cv_path" ]) eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\"" fi if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then AC_MSG_RESULT(not found) $4 else AC_MSG_RESULT($kde_cv_path) $2=$kde_cv_path fi ]) AC_DEFUN(KDE_MOC_ERROR_MESSAGE, [ AC_MSG_ERROR([No Qt meta object compiler (moc) found! Please check whether you installed Qt correctly. You need to have a running moc binary. configure tried to run $ac_cv_path_moc and the test didn't succeed. If configure shouldn't have tried this one, set the environment variable MOC to the right one before running configure. ]) ]) AC_DEFUN(KDE_UIC_ERROR_MESSAGE, [ AC_MSG_WARN([No Qt ui compiler (uic) found! Please check whether you installed Qt correctly. You need to have a running uic binary. configure tried to run $ac_cv_path_uic and the test didn't succeed. If configure shouldn't have tried this one, set the environment variable UIC to the right one before running configure. ]) ]) dnl ------------------------------------------------------------------------ dnl Find the meta object compiler and the ui compiler in the PATH, dnl in $QTDIR/bin, and some more usual places dnl ------------------------------------------------------------------------ dnl AC_DEFUN(AC_PATH_QT_MOC_UIC, [ qt_bindirs="" for dir in $kde_qt_dirs; do qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc" done qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin" if test ! "$ac_qt_bindir" = "NO"; then qt_bindirs="$ac_qt_bindir $qt_bindirs" fi KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE]) if test -z "$UIC_NOT_NEEDED"; then KDE_FIND_PATH(uic, UIC, [$qt_bindirs], [UIC=""]) if test -z "$UIC" ; then KDE_UIC_ERROR_MESSAGE exit 1 elif test $kde_qtver = 3; then dnl if test x$ac_uic_supports_libpath = xyes; then UIC="$UIC -L \$(kde_widgetdir)" dnl fi dnl if test x$ac_uic_supports_nounload = xyes; then UIC="$UIC -nounload" dnl fi fi else UIC="echo uic not available: " fi AC_SUBST(MOC) AC_SUBST(UIC) UIC_TR="i18n" if test $kde_qtver = 3; then UIC_TR="tr2i18n" fi AC_SUBST(UIC_TR) ]) AC_DEFUN(KDE_SET_PATHS, [ kde_cv_all_paths="kde_have_all_paths=\"yes\" \ kde_htmldir=\"$kde_htmldir\" \ kde_appsdir=\"$kde_appsdir\" \ kde_icondir=\"$kde_icondir\" \ kde_sounddir=\"$kde_sounddir\" \ kde_datadir=\"$kde_datadir\" \ kde_locale=\"$kde_locale\" \ kde_cgidir=\"$kde_cgidir\" \ kde_confdir=\"$kde_confdir\" \ kde_mimedir=\"$kde_mimedir\" \ kde_toolbardir=\"$kde_toolbardir\" \ kde_wallpaperdir=\"$kde_wallpaperdir\" \ kde_templatesdir=\"$kde_templatesdir\" \ kde_bindir=\"$kde_bindir\" \ kde_servicesdir=\"$kde_servicesdir\" \ kde_servicetypesdir=\"$kde_servicetypesdir\" \ kde_moduledir=\"$kde_moduledir\" \ kde_styledir=\"$kde_styledir\" \ kde_widgetdir=\"$kde_widgetdir\" \ kde_result=$1" ]) AC_DEFUN(KDE_SET_DEFAULT_PATHS, [ if test "$1" = "default"; then if test -z "$kde_htmldir"; then kde_htmldir='\${prefix}/share/doc/HTML' fi if test -z "$kde_appsdir"; then kde_appsdir='\${prefix}/share/applnk' fi if test -z "$kde_icondir"; then kde_icondir='\${prefix}/share/icons' fi if test -z "$kde_sounddir"; then kde_sounddir='\${prefix}/share/sounds' fi if test -z "$kde_datadir"; then kde_datadir='\${prefix}/share/apps' fi if test -z "$kde_locale"; then kde_locale='\${prefix}/share/locale' fi if test -z "$kde_cgidir"; then kde_cgidir='\${exec_prefix}/cgi-bin' fi if test -z "$kde_confdir"; then kde_confdir='\${prefix}/share/config' fi if test -z "$kde_mimedir"; then kde_mimedir='\${prefix}/share/mimelnk' fi if test -z "$kde_toolbardir"; then kde_toolbardir='\${prefix}/share/toolbar' fi if test -z "$kde_wallpaperdir"; then kde_wallpaperdir='\${prefix}/share/wallpapers' fi if test -z "$kde_templatesdir"; then kde_templatesdir='\${prefix}/share/templates' fi if test -z "$kde_bindir"; then kde_bindir='\${exec_prefix}/bin' fi if test -z "$kde_servicesdir"; then kde_servicesdir='\${prefix}/share/services' fi if test -z "$kde_servicetypesdir"; then kde_servicetypesdir='\${prefix}/share/servicetypes' fi if test -z "$kde_moduledir"; then if test "$kde_qtver" = "2"; then kde_moduledir='\${libdir}/kde2' else kde_moduledir='\${libdir}/kde3' fi fi if test -z "$kde_styledir"; then kde_styledir='\${libdir}/kde3/plugins/styles' fi if test -z "$kde_widgetdir"; then kde_widgetdir='\${libdir}/kde3/plugins/designer' fi KDE_SET_PATHS(defaults) else AC_MSG_ERROR([path checking not yet supported for KDE 2]) fi ]) AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS, [ if test -z "$kde_htmldir" || test -z "$kde_appsdir" || test -z "$kde_icondir" || test -z "$kde_sounddir" || test -z "$kde_datadir" || test -z "$kde_locale" || test -z "$kde_cgidir" || test -z "$kde_confdir" || test -z "$kde_mimedir" || test -z "$kde_toolbardir" || test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" || test -z "$kde_bindir" || test -z "$kde_servicesdir" || test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" || test -z "$kde_styledir" || test -z "kde_widgetdir" test "x$kde_have_all_paths" != "xyes"; then kde_have_all_paths=no fi ]) AC_DEFUN(KDE_MISSING_PROG_ERROR, [ AC_MSG_ERROR([The important program $1 was not found! Please check whether you installed KDE correctly. ]) ]) AC_DEFUN(KDE_SUBST_PROGRAMS, [ 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" if test -n "$KDEDIRS"; then kde_save_IFS=$IFS IFS=: for dir in $KDEDIRS; do kde_default_bindirs="$dir/bin $kde_default_bindirs " done IFS=$kde_save_IFS fi kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs" KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)]) KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)]) KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs]) KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs]) if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share" test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs" AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET) if test "$KDE_XSL_STYLESHEET" = "NO"; then KDE_XSL_STYLESHEET="" else KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl" fi fi DCOP_DEPENDENCIES='$(DCOPIDL)' AC_SUBST(DCOPIDL) AC_SUBST(DCOPIDL2CPP) AC_SUBST(DCOP_DEPENDENCIES) AC_SUBST(KDECONFIG) AC_SUBST(MEINPROC) AC_SUBST(KDE_XSL_STYLESHEET) if test -x "$KDECONFIG"; then # it can be "compiled" kde_libs_prefix=`$KDECONFIG --prefix` if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs. This means it has been moved since you installed it. This won't work. Please recompile kdelibs for the new prefix. ]) fi kde_libs_htmldir=`$KDECONFIG --install html --expandvars` else kde_libs_prefix='$(prefix)' kde_libs_htmldir='$(kde_htmldir)' fi AC_SUBST(kde_libs_prefix) AC_SUBST(kde_libs_htmldir) ])dnl AC_DEFUN(AC_CREATE_KFSSTND, [ AC_REQUIRE([AC_CHECK_RPATH]) AC_MSG_CHECKING([for KDE paths]) kde_result="" kde_cached_paths=yes AC_CACHE_VAL(kde_cv_all_paths, [ KDE_SET_DEFAULT_PATHS($1) kde_cached_paths=no ]) eval "$kde_cv_all_paths" KDE_CHECK_PATHS_FOR_COMPLETENESS if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then # wrong values were cached, may be, we can set better ones kde_result= kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir= kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir= kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir= kde_have_all_paths= kde_styledir= kde_widgetdir= KDE_SET_DEFAULT_PATHS($1) eval "$kde_cv_all_paths" KDE_CHECK_PATHS_FOR_COMPLETENESS kde_result="$kde_result (cache overridden)" fi if test "$kde_have_all_paths" = "no"; then AC_MSG_ERROR([configure could not run a little KDE program to test the environment. Since it had compiled and linked before, it must be a strange problem on your system. Look at config.log for details. If you are not able to fix this, look at http://www.kde.org/faq/installation.html or any www.kde.org mirror. (If you're using an egcs version on Linux, you may update binutils!) ]) else rm -f conftest* AC_MSG_RESULT($kde_result) fi bindir=$kde_bindir KDE_SUBST_PROGRAMS ]) AC_DEFUN(AC_SUBST_KFSSTND, [ AC_SUBST(kde_htmldir) AC_SUBST(kde_appsdir) AC_SUBST(kde_icondir) AC_SUBST(kde_sounddir) AC_SUBST(kde_datadir) AC_SUBST(kde_locale) AC_SUBST(kde_confdir) AC_SUBST(kde_mimedir) AC_SUBST(kde_wallpaperdir) AC_SUBST(kde_bindir) dnl for KDE 2 AC_SUBST(kde_templatesdir) AC_SUBST(kde_servicesdir) AC_SUBST(kde_servicetypesdir) AC_SUBST(kde_moduledir) AC_SUBST(kde_styledir) AC_SUBST(kde_widgetdir) if test "$kde_qtver" = 1; then kde_minidir="$kde_icondir/mini" else # for KDE 1 - this breaks KDE2 apps using minidir, but # that's the plan ;-/ kde_minidir="/dev/null" fi dnl AC_SUBST(kde_minidir) dnl AC_SUBST(kde_cgidir) dnl AC_SUBST(kde_toolbardir) ]) AC_DEFUN(KDE_MISC_TESTS, [ AC_LANG_C dnl Checks for libraries. AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD AC_SUBST(LIBUTIL) AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD AC_SUBST(LIBCOMPAT) kde_have_crypt= AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes], AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [ AC_MSG_WARN([you have no crypt in either libcrypt or libc. You should install libcrypt from another source or configure with PAM support]) kde_have_crypt=no ])) AC_SUBST(LIBCRYPT) if test $kde_have_crypt = yes; then AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function]) fi AC_LANG_C AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) if test $ac_cv_lib_dnet_dnet_ntoa = no; then AC_CHECK_LIB(dnet_stub, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) fi AC_CHECK_FUNC(connect) if test $ac_cv_func_connect = no; then AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", , $X_EXTRA_LIBS) fi AC_CHECK_FUNC(remove) if test $ac_cv_func_remove = no; then AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix") fi # more headers that need to be explicitly included on darwin AC_CHECK_HEADERS(sys/types.h stdint.h) # darwin requires a poll emulation library AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll") AC_SUBST(LIB_POLL) AC_SUBST(FRAMEWORK_COREAUDIO) LIBSOCKET="$X_EXTRA_LIBS" AC_SUBST(LIBSOCKET) AC_SUBST(LIBRESOLV) AC_SUBST(X_EXTRA_LIBS) AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4 AC_SUBST(LIBUCB) KDE_CHECK_TYPES KDE_CHECK_LIBDL ]) dnl ------------------------------------------------------------------------ dnl Find the header files and libraries for X-Windows. Extended the dnl macro AC_PATH_X dnl ------------------------------------------------------------------------ dnl AC_DEFUN(K_PATH_X, [ AC_REQUIRE([KDE_MISC_TESTS])dnl AC_ARG_ENABLE( embedded, [ --enable-embedded link to Qt-embedded, don't use X], kde_use_qt_emb=$enableval, kde_use_qt_emb=no ) AC_ARG_ENABLE( qtopia, [ --enable-qtopia link to Qt-embedded, link to the Qtopia Environment], kde_use_qt_emb_palm=$enableval, kde_use_qt_emb_palm=no ) if test "$kde_use_qt_emb" = "no"; then AC_MSG_CHECKING(for X) AC_LANG_SAVE AC_LANG_C AC_CACHE_VAL(kde_cv_have_x, [# One or both of the vars are not set, and there is no cached value. if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then kde_x_includes=NO else kde_x_includes=$x_includes fi if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then kde_x_libraries=NO else kde_x_libraries=$x_libraries fi # below we use the standard autoconf calls ac_x_libraries=$kde_x_libraries ac_x_includes=$kde_x_includes KDE_PATH_X_DIRECT # when the user already gave --x-includes, we ignore # what the standard autoconf macros told us. if test "$kde_x_includes" = NO; then kde_x_includes=$ac_x_includes fi # for --x-libraries too if test "$kde_x_libraries" = NO; then kde_x_libraries=$ac_x_libraries fi if test "$kde_x_includes" = NO; then AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!]) fi if test "$kde_x_libraries" = NO; then AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!]) fi # Record where we found X for the cache. kde_cv_have_x="have_x=yes \ kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries" ])dnl eval "$kde_cv_have_x" if test "$have_x" != yes; then AC_MSG_RESULT($have_x) no_x=yes else AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes]) fi if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then X_INCLUDES="" x_includes="."; dnl better than nothing :- else x_includes=$kde_x_includes X_INCLUDES="-I$x_includes" fi if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then X_LDFLAGS="" x_libraries="/usr/lib"; dnl better than nothing :- else x_libraries=$kde_x_libraries X_LDFLAGS="-L$x_libraries" fi all_includes="$X_INCLUDES" all_libraries="$X_LDFLAGS" AC_SUBST(X_INCLUDES) AC_SUBST(X_LDFLAGS) AC_SUBST(x_libraries) AC_SUBST(x_includes) # Check for libraries that X11R6 Xt/Xaw programs need. ac_save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $X_LDFLAGS" # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to # check for ICE first), but we must link in the order -lSM -lICE or # we get undefined symbols. So assume we have SM if we have ICE. # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. AC_CHECK_LIB(ICE, IceConnectionNumber, [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS) AC_SUBST(LIBSM) LDFLAGS="$ac_save_LDFLAGS" AC_SUBST(X_PRE_LIBS) LIB_X11='-lX11 $(LIBSOCKET)' AC_SUBST(LIB_X11) AC_MSG_CHECKING(for libXext) AC_CACHE_VAL(kde_cv_have_libXext, [ kde_ldflags_safe="$LDFLAGS" kde_libs_safe="$LIBS" LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" LIBS="-lXext -lX11 $LIBSOCKET" AC_TRY_LINK([ #include #ifdef STDC_HEADERS # include #endif ], [ printf("hello Xext\n"); ], kde_cv_have_libXext=yes, kde_cv_have_libXext=no ) LDFLAGS=$kde_ldflags_safe LIBS=$kde_libs_safe ]) AC_MSG_RESULT($kde_cv_have_libXext) if test "$kde_cv_have_libXext" = "no"; then AC_MSG_ERROR([We need a working libXext to proceed. Since configure can't find it itself, we stop here assuming that make wouldn't find them either.]) fi AC_MSG_CHECKING(for Xinerama) AC_ARG_WITH(xinerama, [ --with-xinerama enable support for Xinerama ], [ no_xinerama=no ], [ no_xinerama=yes ] ) kde_save_LDFLAGS="$LDFLAGS" kde_save_CFLAGS="$CFLAGS" kde_save_LIBS="$LIBS" LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" CFLAGS="$CFLAGS -I$x_includes" LIBS="-lXinerama -lXext" if test "x$no_xinerama" = "xno"; then AC_CACHE_VAL(ac_cv_have_xinerama, [ AC_TRY_LINK([#include #include ], [XineramaIsActive(NULL);], [ac_cv_have_xinerama="yes"], [ac_cv_have_xinerama="no"]) ]) else ac_cv_have_xinerama=no; fi AC_MSG_RESULT($ac_cv_have_xinerama) LIBXINERAMA="" if test "$ac_cv_have_xinerama" = "yes"; then AC_DEFINE(HAVE_XINERAMA, 1, [Define if you want Xinerama support]) LIBXINERAMA="-lXinerama" fi AC_SUBST(LIBXINERAMA) LDFLAGS="$kde_save_LDFLAGS" CFLAGS="$kde_save_CFLAGS" LIBS="$kde_save_LIBS" LIB_XEXT="-lXext" QTE_NORTTI="" else dnl We're using QT Embedded CPPFLAGS=-DQWS CXXFLAGS="$CXXFLAGS -fno-rtti" QTE_NORTTI="-fno-rtti -DQWS" X_PRE_LIBS="" LIB_X11="" LIB_XEXT="" LIBSM="" X_INCLUDES="" X_LDFLAGS="" x_includes="" x_libraries="" AC_SUBST(X_PRE_LIBS) AC_SUBST(LIB_X11) AC_SUBST(LIBSM) AC_SUBST(X_INCLUDES) AC_SUBST(X_LDFLAGS) AC_SUBST(x_includes) AC_SUBST(x_libraries) fi AC_SUBST(QTE_NORTTI) AC_SUBST(LIB_XEXT) AC_LANG_RESTORE ]) AC_DEFUN(KDE_PRINT_QT_PROGRAM, [ AC_REQUIRE([KDE_USE_QT]) cat > conftest.$ac_ext < #include EOF if test "$kde_qtver" = "2"; then cat >> conftest.$ac_ext < #include #include EOF if test $kde_qtsubver -gt 0; then cat >> conftest.$ac_ext < EOF fi fi if test "$kde_qtver" = "3"; then cat >> conftest.$ac_ext < #include #include EOF fi echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext cat >> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <> conftest.$ac_ext <&AC_FD_CC cat conftest.$ac_ext >&AC_FD_CC fi rm -f conftest* CXXFLAGS="$ac_cxxflags_safe" LDFLAGS="$ac_ldflags_safe" LIBS="$ac_libs_safe" LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" export LD_LIBRARY_PATH LIBRARY_PATH="$ac_LIBRARY_PATH" export LIBRARY_PATH AC_LANG_RESTORE ]) if test "$kde_cv_qt_direct" = "yes"; then AC_MSG_RESULT(yes) $1 else AC_MSG_RESULT(no) $2 fi ]) dnl ------------------------------------------------------------------------ dnl Try to find the Qt headers and libraries. dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed) dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed) dnl ------------------------------------------------------------------------ dnl AC_DEFUN(AC_PATH_QT_1_3, [ AC_REQUIRE([K_PATH_X]) AC_REQUIRE([KDE_USE_QT]) dnl ------------------------------------------------------------------------ dnl Add configure flag to enable linking to MT version of Qt library. dnl ------------------------------------------------------------------------ AC_ARG_ENABLE( mt, [ --disable-mt link to non-threaded Qt (deprecated)], kde_use_qt_mt=$enableval, [ if test $kde_qtver = 3; then kde_use_qt_mt=yes else kde_use_qt_mt=no fi ] ) USING_QT_MT="" dnl ------------------------------------------------------------------------ dnl If we not get --disable-qt-mt then adjust some vars for the host. dnl ------------------------------------------------------------------------ KDE_MT_LDFLAGS= KDE_MT_LIBS= if test "x$kde_use_qt_mt" = "xyes"; then KDE_CHECK_THREADING if test "x$kde_use_threading" = "xyes"; then CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS" KDE_MT_LDFLAGS="$USE_THREADS" KDE_MT_LIBS="$LIBPTHREAD" else kde_use_qt_mt=no fi fi AC_SUBST(KDE_MT_LDFLAGS) AC_SUBST(KDE_MT_LIBS) kde_qt_was_given=yes dnl ------------------------------------------------------------------------ dnl If we haven't been told how to link to Qt, we work it out for ourselves. dnl ------------------------------------------------------------------------ if test -z "$LIBQT_GLOB"; then if test "x$kde_use_qt_emb" = "xyes"; then LIBQT_GLOB="libqte.*" else LIBQT_GLOB="libqt.*" fi fi if test -z "$LIBQT"; then dnl ------------------------------------------------------------ dnl If we got --enable-embedded then adjust the Qt library name. dnl ------------------------------------------------------------ if test "x$kde_use_qt_emb" = "xyes"; then qtlib="qte" else qtlib="qt" fi kde_int_qt="-l$qtlib" else kde_int_qt="$LIBQT" kde_lib_qt_set=yes fi if test -z "$LIBQPE"; then dnl ------------------------------------------------------------ dnl If we got --enable-palmtop then add -lqpe to the link line dnl ------------------------------------------------------------ if test "x$kde_use_qt_emb" = "xyes"; then if test "x$kde_use_qt_emb_palm" = "xyes"; then LIB_QPE="-lqpe" else LIB_QPE="" fi else LIB_QPE="" fi fi dnl ------------------------------------------------------------------------ dnl If we got --enable-qt-mt then adjust the Qt library name for the host. dnl ------------------------------------------------------------------------ if test "x$kde_use_qt_mt" = "xyes"; then if test -z "$LIBQT"; then LIBQT="-l$qtlib-mt" kde_int_qt="-l$qtlib-mt" else LIBQT="$qtlib-mt" kde_int_qt="$qtlib-mt" fi LIBQT_GLOB="lib$qtlib-mt.*" USING_QT_MT="using -mt" else LIBQT="-l$qtlib" fi if test $kde_qtver != 1; then LIBQT="$LIBQT $LIBPNG $LIBJPEG" fi if test $kde_qtver = 3; then AC_REQUIRE([KDE_CHECK_LIBDL]) LIBQT="$LIBQT $LIBDL" fi AC_MSG_CHECKING([for Qt]) if test "x$kde_use_qt_emb" != "xyes"; then LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET" fi ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO qt_libraries="" qt_includes="" AC_ARG_WITH(qt-dir, [ --with-qt-dir=DIR where the root of Qt is installed ], [ ac_qt_includes="$withval"/include ac_qt_libraries="$withval"/lib ac_qt_bindir="$withval"/bin ]) AC_ARG_WITH(qt-includes, [ --with-qt-includes=DIR where the Qt includes are. ], [ ac_qt_includes="$withval" ]) kde_qt_libs_given=no AC_ARG_WITH(qt-libraries, [ --with-qt-libraries=DIR where the Qt library is installed.], [ ac_qt_libraries="$withval" kde_qt_libs_given=yes ]) AC_CACHE_VAL(ac_cv_have_qt, [#try to guess Qt locations qt_incdirs="" for dir in $kde_qt_dirs; do qt_incdirs="$qt_incdirs $dir/include $dir" done qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 $x_includes" if test ! "$ac_qt_includes" = "NO"; then qt_incdirs="$ac_qt_includes $qt_incdirs" fi if test "$kde_qtver" != "1"; then kde_qt_header=qstyle.h else kde_qt_header=qglobal.h fi AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir) ac_qt_includes="$qt_incdir" qt_libdirs="" for dir in $kde_qt_dirs; do qt_libdirs="$qt_libdirs $dir/lib $dir" done qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries" if test ! "$ac_qt_libraries" = "NO"; then qt_libdir=$ac_qt_libraries else qt_libdirs="$ac_qt_libraries $qt_libdirs" # if the Qt was given, the chance is too big that libqt.* doesn't exist qt_libdir=NONE for dir in $qt_libdirs; do try="ls -1 $dir/${LIBQT_GLOB}" if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi done fi ac_qt_libraries="$qt_libdir" AC_LANG_SAVE AC_LANG_CPLUSPLUS ac_cxxflags_safe="$CXXFLAGS" ac_ldflags_safe="$LDFLAGS" ac_libs_safe="$LIBS" CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" LIBS="$LIBS $LIBQT $KDE_MT_LIBS" KDE_PRINT_QT_PROGRAM if AC_TRY_EVAL(ac_link) && test -s conftest; then rm -f conftest* else echo "configure: failed program was:" >&AC_FD_CC cat conftest.$ac_ext >&AC_FD_CC ac_qt_libraries="NO" fi rm -f conftest* CXXFLAGS="$ac_cxxflags_safe" LDFLAGS="$ac_ldflags_safe" LIBS="$ac_libs_safe" AC_LANG_RESTORE if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then ac_cv_have_qt="have_qt=no" ac_qt_notfound="" missing_qt_mt="" if test "$ac_qt_includes" = NO; then if test "$ac_qt_libraries" = NO; then ac_qt_notfound="(headers and libraries)"; else ac_qt_notfound="(headers)"; fi else if test "x$kde_use_qt_mt" = "xyes"; then missing_qt_mt=" Make sure that you have compiled Qt with thread support!" ac_qt_notfound="(library $qtlib-mt)"; else ac_qt_notfound="(library $qtlib)"; fi fi AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation! For more details about this problem, look at the end of config.log.$missing_qt_mt]) else have_qt="yes" fi ]) eval "$ac_cv_have_qt" if test "$have_qt" != yes; then AC_MSG_RESULT([$have_qt]); else ac_cv_have_qt="have_qt=yes \ ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries" AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT]) qt_libraries="$ac_qt_libraries" qt_includes="$ac_qt_includes" fi if test ! "$kde_qt_libs_given" = "yes"; then KDE_CHECK_QT_DIRECT(qt_libraries= ,[]) fi AC_SUBST(qt_libraries) AC_SUBST(qt_includes) if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then QT_INCLUDES="" else QT_INCLUDES="-I$qt_includes" all_includes="$QT_INCLUDES $all_includes" fi if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then QT_LDFLAGS="" else QT_LDFLAGS="-L$qt_libraries" all_libraries="$all_libraries $QT_LDFLAGS" fi test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS" AC_SUBST(QT_INCLUDES) AC_SUBST(QT_LDFLAGS) AC_PATH_QT_MOC_UIC if test "x$kde_use_qt_emb" != "xyes"; then LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' else LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG)' fi test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS" AC_SUBST(LIB_QT) AC_SUBST(LIB_QPE) AC_SUBST(kde_qtver) ]) AC_DEFUN(AC_PATH_QT, [ AC_PATH_QT_1_3 ]) AC_DEFUN(KDE_CHECK_FINAL, [ AC_ARG_ENABLE(final, [ --enable-final build size optimized apps (experimental - needs lots of memory)], kde_use_final=$enableval, kde_use_final=no) if test "x$kde_use_final" = "xyes"; then KDE_USE_FINAL_TRUE="" KDE_USE_FINAL_FALSE="#" else KDE_USE_FINAL_TRUE="#" KDE_USE_FINAL_FALSE="" fi AC_SUBST(KDE_USE_FINAL_TRUE) AC_SUBST(KDE_USE_FINAL_FALSE) AC_ARG_ENABLE(closure, [ --disable-closure don't delay template instantiation], kde_use_closure=$enableval, kde_use_closure=yes) if test "x$kde_use_closure" = "xyes"; then KDE_USE_CLOSURE_TRUE="" KDE_USE_CLOSURE_FALSE="#" # CXXFLAGS="$CXXFLAGS" else KDE_USE_CLOSURE_TRUE="#" KDE_USE_CLOSURE_FALSE="" fi AC_SUBST(KDE_USE_CLOSURE_TRUE) AC_SUBST(KDE_USE_CLOSURE_FALSE) ]) dnl ------------------------------------------------------------------------ dnl Now, the same with KDE dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed) dnl and $(kde_includes) will be the kdehdrlocation (if needed) dnl ------------------------------------------------------------------------ dnl AC_DEFUN(AC_BASE_PATH_KDE, [ AC_PREREQ([2.13]) AC_REQUIRE([AC_PATH_QT])dnl AC_CHECK_RPATH AC_MSG_CHECKING([for KDE]) if test "${prefix}" != NONE; then kde_includes=${prefix}/include ac_kde_includes=$prefix/include if test "${exec_prefix}" != NONE; then kde_libraries=${libdir} ac_kde_libraries=$libdir else kde_libraries=${prefix}/lib ac_kde_libraries=$prefix/lib fi else ac_kde_includes= ac_kde_libraries= kde_libraries="" kde_includes="" fi AC_CACHE_VAL(ac_cv_have_kde, [#try to guess kde locations if test "$kde_qtver" = 1; then kde_check_header="ksock.h" kde_check_lib="libkdecore.la" else kde_check_header="ksharedptr.h" kde_check_lib="libkio.la" fi if test -z "$1"; then kde_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" test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs" kde_incdirs="$ac_kde_includes $kde_incdirs" AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir) ac_kde_includes="$kde_incdir" if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then AC_MSG_ERROR([ in the prefix, you've chosen, are no KDE headers installed. This will fail. So, check this please and use another prefix!]) fi kde_libdirs="/usr/lib/kde/lib /usr/local/kde/lib /usr/kde/lib /usr/lib/kde /usr/lib/kde3 /usr/lib /usr/X11R6/lib /usr/local/lib /opt/kde3/lib /opt/kde/lib /usr/X11R6/kde/lib" test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib $KDEDIR $kde_libdirs" kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs" AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir) ac_kde_libraries="$kde_libdir" if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then AC_MSG_ERROR([ in the prefix, you've chosen, are no KDE libraries installed. This will fail. So, check this please and use another prefix!]) fi ac_kde_libraries="$kde_libdir" if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO; then ac_cv_have_kde="have_kde=no" else ac_cv_have_kde="have_kde=yes \ ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" fi else dnl test -z $1 ac_cv_have_kde="have_kde=no" fi ])dnl eval "$ac_cv_have_kde" if test "$have_kde" != "yes"; then if test "${prefix}" = NONE; then ac_kde_prefix="$ac_default_prefix" else ac_kde_prefix="$prefix" fi if test "$exec_prefix" = NONE; then ac_kde_exec_prefix="$ac_kde_prefix" AC_MSG_RESULT([will be installed in $ac_kde_prefix]) else ac_kde_exec_prefix="$exec_prefix" AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix]) fi kde_libraries="${libdir}" kde_includes=${ac_kde_prefix}/include else ac_cv_have_kde="have_kde=yes \ ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes]) kde_libraries="$ac_kde_libraries" kde_includes="$ac_kde_includes" fi AC_SUBST(kde_libraries) AC_SUBST(kde_includes) if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then KDE_INCLUDES="" else KDE_INCLUDES="-I$kde_includes" all_includes="$KDE_INCLUDES $all_includes" fi KDE_LDFLAGS="-L$kde_libraries" if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then all_libraries="$all_libraries $KDE_LDFLAGS" fi AC_SUBST(KDE_LDFLAGS) AC_SUBST(KDE_INCLUDES) AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) all_libraries="$all_libraries $USER_LDFLAGS" all_includes="$all_includes $USER_INCLUDES" AC_SUBST(all_includes) AC_SUBST(all_libraries) AC_SUBST(AUTODIRS) ]) AC_DEFUN(KDE_CHECK_EXTRA_LIBS, [ AC_MSG_CHECKING(for extra includes) AC_ARG_WITH(extra-includes, [ --with-extra-includes=DIR adds non standard include paths], kde_use_extra_includes="$withval", kde_use_extra_includes=NONE ) kde_extra_includes= if test -n "$kde_use_extra_includes" && \ test "$kde_use_extra_includes" != "NONE"; then ac_save_ifs=$IFS IFS=':' for dir in $kde_use_extra_includes; do kde_extra_includes="$kde_extra_includes $dir" USER_INCLUDES="$USER_INCLUDES -I$dir" done IFS=$ac_save_ifs kde_use_extra_includes="added" else kde_use_extra_includes="no" fi AC_SUBST(USER_INCLUDES) AC_MSG_RESULT($kde_use_extra_includes) kde_extra_libs= AC_MSG_CHECKING(for extra libs) AC_ARG_WITH(extra-libs, [ --with-extra-libs=DIR adds non standard library paths], kde_use_extra_libs=$withval, kde_use_extra_libs=NONE ) if test -n "$kde_use_extra_libs" && \ test "$kde_use_extra_libs" != "NONE"; then ac_save_ifs=$IFS IFS=':' for dir in $kde_use_extra_libs; do kde_extra_libs="$kde_extra_libs $dir" KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir" USER_LDFLAGS="$USER_LDFLAGS -L$dir" done IFS=$ac_save_ifs kde_use_extra_libs="added" else kde_use_extra_libs="no" fi AC_SUBST(USER_LDFLAGS) AC_MSG_RESULT($kde_use_extra_libs) ]) AC_DEFUN(KDE_CREATE_LIBS_ALIASES, [ AC_REQUIRE([KDE_MISC_TESTS]) AC_REQUIRE([KDE_CHECK_LIBDL]) AC_REQUIRE([K_PATH_X]) if test $kde_qtver = 3; then stupid=1 LIB_KDECORE="-lkdecore" AC_SUBST(LIB_KDECORE) LIB_KDEUI="-lkdeui" AC_SUBST(LIB_KDEUI) LIB_KIO="-lkio" AC_SUBST(LIB_KIO) LIB_KHTML="-lkhtml" AC_SUBST(LIB_KHTML) LIB_KPARTS="-lkparts" AC_SUBST(LIB_KPARTS) # these are for backward compatibility LIB_KFILE="-lkio" AC_SUBST(LIB_KFILE) fi ]) AC_DEFUN(AC_PATH_KDE, [ AC_BASE_PATH_KDE AC_ARG_ENABLE(path-check, [ --disable-path-check don't try to find out, where to install], [ if test "$enableval" = "no"; then ac_use_path_checking="default" else ac_use_path_checking="" fi ], [ if test "$kde_qtver" = 1; then ac_use_path_checking="" else ac_use_path_checking="default" fi ] ) AC_CREATE_KFSSTND($ac_use_path_checking) AC_SUBST_KFSSTND KDE_CREATE_LIBS_ALIASES ]) AC_DEFUN(AC_CHECK_BOOL, [ AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool]) ]) AC_DEFUN(KDE_CHECK_COMPILER_FLAG, [ AC_MSG_CHECKING(whether $CXX supports -$1) kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS save_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -$1" AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], []) CXXFLAGS="$save_CXXFLAGS" AC_LANG_RESTORE ]) if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then AC_MSG_RESULT(yes) : $2 else AC_MSG_RESULT(no) : $3 fi ]) dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever]) dnl it's all white-space separated AC_DEFUN(AC_REMOVE_FORBIDDEN, [ __val=$$1 __forbid=" $2 " if test -n "$__val"; then __new="" ac_save_IFS=$IFS IFS=" " for i in $__val; do case "$__forbid" in *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;; *) # Careful to not add spaces, where there were none, because otherwise # libtool gets confused, if we change e.g. CXX if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;; esac done IFS=$ac_save_IFS $1=$__new fi ]) dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given AC_DEFUN(AC_VALIDIFY_CXXFLAGS, [dnl if test "x$kde_use_qt_emb" != "xyes"; then AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath]) AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath]) else AC_REMOVE_FORBIDDEN(CXX, [-rpath]) AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath]) fi ]) AC_DEFUN(AC_CHECK_COMPILERS, [ AC_ARG_ENABLE(debug,[ --enable-debug[=ARG] enables debug symbols (yes|no|full) [default=no]], [ case $enableval in yes) kde_use_debug_code="yes" kde_use_debug_define=no ;; full) kde_use_debug_code="full" kde_use_debug_define=no ;; *) kde_use_debug_code="no" kde_use_debug_define=yes ;; esac ], [kde_use_debug_code="no" kde_use_debug_define=no ]) dnl Just for configure --help AC_ARG_ENABLE(dummyoption,[ --disable-debug disables debug output and debug symbols [default=no]],[],[]) AC_ARG_ENABLE(strict,[ --enable-strict compiles with strict compiler options (may not work!)], [ if test $enableval = "no"; then kde_use_strict_options="no" else kde_use_strict_options="yes" fi ], [kde_use_strict_options="no"]) AC_ARG_ENABLE(warnings,[ --disable-warnings disables compilation with -Wall and similiar], [ if test $enableval = "no"; then kde_use_warnings="no" else kde_use_warnings="yes" fi ], [kde_use_warnings="yes"]) dnl enable warnings for debug build if test "$kde_use_debug_code" != "no"; then kde_use_warnings=yes fi AC_ARG_ENABLE(profile,[ --enable-profile creates profiling infos [default=no]], [kde_use_profiling=$enableval], [kde_use_profiling="no"] ) dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS CFLAGS=" $CFLAGS" AC_PROG_CC AC_PROG_CPP if test "$GCC" = "yes"; then if test "$kde_use_debug_code" != "no"; then if test $kde_use_debug_code = "full"; then CFLAGS="-g3 $CFLAGS" else CFLAGS="-g -O2 $CFLAGS" fi else CFLAGS="-O2 $CFLAGS" fi fi if test "$kde_use_debug_define" = "yes"; then CFLAGS="-DNDEBUG $CFLAGS" fi case "$host" in *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";; *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";; esac if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then LDFLAGS="" fi CXXFLAGS=" $CXXFLAGS" AC_PROG_CXX if test "$GXX" = "yes" || test "$CXX" = "KCC"; then if test "$kde_use_debug_code" != "no"; then if test "$CXX" = "KCC"; then CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS" else if test "$kde_use_debug_code" = "full"; then CXXFLAGS="-g3 $CXXFLAGS" else CXXFLAGS="-g -O2 $CXXFLAGS" fi fi KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"]) dnl convenience compiler flags KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""]) AC_SUBST(WOVERLOADED_VIRTUAL) else if test "$CXX" = "KCC"; then CXXFLAGS="+K3 $CXXFLAGS" else CXXFLAGS="-O2 $CXXFLAGS" fi fi fi if test "$kde_use_debug_define" = "yes"; then CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS" fi if test "$kde_use_profiling" = "yes"; then KDE_CHECK_COMPILER_FLAG(pg, [ CFLAGS="-pg $CFLAGS" CXXFLAGS="-pg $CXXFLAGS" ]) fi dnl Note: kde_use_warnings used to be off by default. Now it causes many errors dnl with Qt and glibc dnl --------------------------------------------------------------------------- dnl if test "$kde_use_warnings" = "yes"; then dnl if test "$GCC" = "yes"; then dnl case $host in dnl *-*-linux-gnu) dnl CFLAGS="-ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" dnl CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion $CXXFLAGS" dnl ;; dnl esac dnl CXXFLAGS="-Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS" dnl KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"]) dnl KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"]) dnl KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"]) dnl fi dnl fi if test "$GCC" = "yes" && test "$kde_use_strict_options" = "yes"; then CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS" fi if test "$GXX" = "yes"; then KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"]) KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"]) KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= ) fi if test "$CXX" = "KCC"; then dnl unfortunately we currently cannot disable exception support in KCC dnl because doing so is binary incompatible and Qt by default links with exceptions :-( dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"]) dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= ) AC_ARG_ENABLE(pch,[ --enable-pch enables precompiled header support (currently only KCC) [default=no]], [ kde_use_pch=$enableval ],[kde_use_pch=no]) if test "$kde_use_pch" = "yes"; then dnl TODO: support --pch-dir! KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"]) dnl the below works (but the dir must exist), but it's dnl useless for a whole package. dnl The are precompiled headers for each source file, so when compiling dnl from scratch, it doesn't make a difference, and they take up dnl around ~5Mb _per_ sourcefile. dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp, dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"]) fi dnl this flag controls inlining. by default KCC inlines in optimisation mode dnl all implementations that are defined inside the class {} declaration. dnl because of templates-compatibility with broken gcc compilers, this dnl can cause excessive inlining. This flag limits it to a sane level KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"]) KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"]) KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"]) KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"]) dnl Some source files are shared between multiple executables dnl (or libraries) and some of those need template instantiations. dnl In that case KCC needs to compile those sources with dnl --one_instantiation_per_object. To make it easy for us we compile dnl _all_ objects with that flag (--one_per is a shorthand). KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"]) fi AC_SUBST(USE_EXCEPTIONS) dnl obsolete macro - provided to keep things going USE_RTTI= AC_SUBST(USE_RTTI) case "$host" in *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;; *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";; *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";; *-*-solaris*) if test "$GXX" = yes; then libstdcpp=`$CXX -print-file-name=libstdc++.so` if test ! -f $libstdcpp; then 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]) fi fi ;; esac AC_VALIDIFY_CXXFLAGS AC_PROG_CXXCPP if test "$GCC" = yes; then NOOPT_CXXFLAGS=-O0 NOOPT_CFLAGS=-O0 fi AC_SUBST(NOOPT_CXXFLAGS) AC_SUBST(NOOPT_CFLAGS) KDE_CHECK_FINAL ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), []) ]) AC_DEFUN(KDE_ADD_DEPENDENCIES, [ [A]M_DEPENDENCIES(CC) [A]M_DEPENDENCIES(CXX) ]) AC_DEFUN(KDE_CHECK_TYPES, [ AC_CHECK_SIZEOF(int, 4)dnl AC_CHECK_SIZEOF(long, 4)dnl AC_CHECK_SIZEOF(char *, 4)dnl AC_CHECK_SIZEOF(char, 1)dnl ])dnl AC_DEFUN(KDE_DO_IT_ALL, [ AC_CANONICAL_SYSTEM AC_ARG_PROGRAM AM_INIT_AUTOMAKE($1, $2) AM_DISABLE_LIBRARIES AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) AC_CHECK_COMPILERS dnl AM_KDE_WITH_NLS AC_PATH_KDE ]) AC_DEFUN(AC_CHECK_RPATH, [ AC_MSG_CHECKING(for rpath) AC_ARG_ENABLE(rpath, [ --disable-rpath do not use the rpath feature of ld], USE_RPATH=$enableval, USE_RPATH=yes) if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then KDE_RPATH="-R \$(kde_libraries)" if test -n "$qt_libraries"; then KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)" fi dnl $x_libraries is set to /usr/lib in case if test -n "$X_LDFLAGS"; then KDE_RPATH="$KDE_RPATH -R \$(x_libraries)" fi if test -n "$KDE_EXTRA_RPATH"; then KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)" fi fi AC_SUBST(KDE_EXTRA_RPATH) AC_SUBST(KDE_RPATH) AC_MSG_RESULT($USE_RPATH) ]) dnl This is a merge of some macros out of the gettext aclocal.m4 dnl since we don't need anything, I took the things we need dnl the copyright for them is: dnl > dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. dnl This Makefile.in is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A dnl PARTICULAR PURPOSE. dnl > dnl for this file it is relicensed under LGPL # Search path for a program which passes the given test. # Ulrich Drepper , 1996. # serial 1 # Stephan Kulow: I appended a _KDE against name conflicts dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE, [# Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in /*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in ifelse([$5], , $PATH, [$5]); do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test -n "[$]$1"; then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) AC_DEFUN(AC_HAVE_GL, [AC_REQUIRE_CPP()dnl AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) test -z "$GL_LDFLAGS" && GL_LDFLAGS= test -z "$GL_INCLUDE" && GL_INCLUDE= AC_ARG_WITH(gl, [ --without-gl disable 3D GL modes], gl_test=$withval, gl_test="yes") if test "x$kde_use_qt_emb" = "xyes"; then # GL and Qt Embedded is a no-go for now. ac_cv_have_gl=no elif test "x$gl_test" = xno; then ac_cv_have_gl=no else AC_MSG_CHECKING(for GL) AC_CACHE_VAL(ac_cv_have_gl, [ AC_LANG_C ac_save_ldflags="$LDFLAGS" ac_save_cflags="$CFLAGS" LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU" test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" CFLAGS="$CFLAGS $X_INCLUDES" test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" AC_TRY_LINK([#include #include ], [], ac_cv_have_gl="mesa", ac_cv_have_gl="no") if test "x$ac_cv_have_gl" = "xno"; then LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGL -lGLU" test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" CFLAGS="$ac_save_cflags $X_INCLUDES" test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" AC_TRY_LINK([#include #include ], [], ac_cv_have_gl="yes", ac_cv_have_gl="no") fi LDFLAGS="$ac_save_ldflags" CFLAGS="$ac_save_cflags" ])dnl if test "$ac_cv_have_gl" = "no"; then AC_MSG_RESULT(no) GL_LDFLAGS="" GLINC="" $2 else AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)]) if test "$GL_LDFLAGS" = ""; then if test "$ac_cv_have_gl" = "mesa"; then GLLIB='-lMesaGL -lMesaGLU $(LIB_X11)' else GLLIB='-lGL -lGLU $(LIB_X11)' fi else if test "$ac_cv_have_gl" = "mesa"; then GLLIB="$GL_LDFLAGS -lMesaGL -lMesaGLU "'$(LIB_X11)' else GLLIB="$GL_LDFLAGS -lGL -lGLU "'$(LIB_X11)' fi fi if test "$GL_INCLUDE" = ""; then GLINC="" else GLINC="-I$GL_INCLUDE" fi AC_MSG_RESULT($ac_cv_have_gl) $1 fi fi AC_SUBST(GLINC) AC_SUBST(GLLIB) ]) AC_DEFUN(KDE_CHECK_LIBDL, [ AC_CHECK_LIB(dl, dlopen, [ LIBDL="-ldl" ac_cv_have_dlfcn=yes ]) AC_CHECK_LIB(dld, shl_unload, [ LIBDL="-ldld" ac_cv_have_shload=yes ]) AC_SUBST(LIBDL) ]) AC_DEFUN(KDE_CHECK_DLOPEN, [ KDE_CHECK_LIBDL AC_CHECK_HEADERS(dlfcn.h dl.h) if test "$ac_cv_header_dlfcn_h" = "no"; then ac_cv_have_dlfcn=no fi if test "$ac_cv_header_dl_h" = "no"; then ac_cv_have_shload=no fi dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE dnl (MM) AC_ARG_ENABLE(dlopen, [ --disable-dlopen link statically [default=no]] , enable_dlopen=$enableval, enable_dlopen=yes) # override the user's opinion, if we know it better ;) if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then enable_dlopen=no fi if test "$ac_cv_have_dlfcn" = "yes"; then AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn]) fi if test "$ac_cv_have_shload" = "yes"; then AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload]) fi if test "$enable_dlopen" = no ; then test -n "$1" && eval $1 else test -n "$2" && eval $2 fi ]) AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING, [ KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no) AC_MSG_CHECKING([dynamic loading]) eval "`egrep '^build_libtool_libs=' libtool`" if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then dynamic_loading=yes AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING) else dynamic_loading=no fi AC_MSG_RESULT($dynamic_loading) if test "$dynamic_loading" = "yes"; then $1 else $2 fi ]) AC_DEFUN(KDE_CHECK_LIBPTHREAD, [ AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] ) AC_SUBST(LIBPTHREAD) ]) AC_DEFUN(KDE_CHECK_PTHREAD_OPTION, [ AC_ARG_ENABLE(kernel-threads, [ --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.], kde_use_kernthreads=$enableval, kde_use_kernthreads=no) if test "$kde_use_kernthreads" = "yes"; then ac_save_CXXFLAGS="$CXXFLAGS" ac_save_CFLAGS="$CFLAGS" CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS" CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS" AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h) CXXFLAGS="$ac_save_CXXFLAGS" CFLAGS="$ac_save_CFLAGS" if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then kde_use_kernthreads=no else dnl Add proper -I and -l statements AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD if test "x$LIBPTHREAD" = "x"; then kde_use_kernthreads=no else USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads" fi fi else USE_THREADS="" if test -z "$LIBPTHREAD"; then KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] ) fi fi case $host_os in solaris*) KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"]) CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4" ;; freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; aix*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" LIBPTHREAD="$LIBPTHREAD -lc_r" ;; linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" if test "$CXX" = "KCC"; then CXXFLAGS="$CXXFLAGS --thread_safe" NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe" fi ;; *) ;; esac AC_SUBST(USE_THREADS) AC_SUBST(LIBPTHREAD) ]) AC_DEFUN(KDE_CHECK_THREADING, [ AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION]) dnl default is yes if libpthread is found and no if no libpthread is available if test -z "$LIBPTHREAD"; then if test -z "$USE_THREADS"; then kde_check_threading_default=no else kde_check_threading_default=yes fi else kde_check_threading_default=yes fi AC_ARG_ENABLE(threading, [ --disable-threading disables threading even if libpthread found ], kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default) if test "x$kde_use_threading" = "xyes"; then AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)]) fi ]) AC_DEFUN(KDE_CHECK_STL_SGI, [ AC_MSG_CHECKING([if STL implementation is SGI like]) AC_CACHE_VAL(kde_cv_stl_type_sgi, [ AC_TRY_COMPILE([ #include using namespace std; ],[ string astring="Hallo Welt."; astring.erase(0, 6); // now astring is "Welt" return 0; ], kde_cv_stl_type_sgi=yes, kde_cv_stl_type_sgi=no) ]) AC_MSG_RESULT($kde_cv_stl_type_sgi) if test "$kde_cv_stl_type_sgi" = "yes"; then AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI]) fi ]) AC_DEFUN(KDE_CHECK_STL_HP, [ AC_MSG_CHECKING([if STL implementation is HP like]) AC_CACHE_VAL(kde_cv_stl_type_hp, [ AC_TRY_COMPILE([ #include using namespace std; ],[ string astring="Hello World"; astring.remove(0, 6); // now astring is "World" return 0; ], kde_cv_stl_type_hp=yes, kde_cv_stl_type_hp=no) ]) AC_MSG_RESULT($kde_cv_stl_type_hp) if test "$kde_cv_stl_type_hp" = "yes"; then AC_DEFINE_UNQUOTED(HAVE_HP_STL, 1, [Define if you have a STL implementation by HP]) fi ]) AC_DEFUN(KDE_CHECK_STL, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`" KDE_CHECK_STL_SGI if test "$kde_cv_stl_type_sgi" = "no"; then KDE_CHECK_STL_HP if test "$kde_cv_stl_type_hp" = "no"; then AC_MSG_ERROR("no known STL type found - did you forget to install libstdc++[-devel] ?") fi fi CXXFLAGS="$ac_save_CXXFLAGS" AC_LANG_RESTORE ]) AC_DEFUN(AM_DISABLE_LIBRARIES, [ AC_PROVIDE([AM_ENABLE_STATIC]) AC_PROVIDE([AM_ENABLE_SHARED]) enable_static=no enable_shared=yes ]) AC_DEFUN(KDE_CREATE_SUBDIRSLIST, [ DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin" if test ! -s $srcdir/subdirs; then dnl Note: Makefile.common creates subdirs, so this is just a fallback TOPSUBDIRS="" files=`cd $srcdir && ls -1` dirs=`for i in $files; do if test -d $i; then echo $i; fi; done` for i in $dirs; do echo $i >> $srcdir/subdirs done fi if test -s $srcdir/inst-apps; then ac_topsubdirs="`cat $srcdir/inst-apps`" else ac_topsubdirs="`cat $srcdir/subdirs`" fi for i in $ac_topsubdirs; do AC_MSG_CHECKING([if $i should be compiled]) if test -d $srcdir/$i; then install_it="yes" for j in $DO_NOT_COMPILE; do if test $i = $j; then install_it="no" fi done else install_it="no" fi AC_MSG_RESULT($install_it) vari=`echo $i | sed -e 's,[[-+]],_,g'` if test $install_it = "yes"; then TOPSUBDIRS="$TOPSUBDIRS $i" eval "$vari""_SUBDIR_included=yes" else eval "$vari""_SUBDIR_included=no" fi done AC_SUBST(TOPSUBDIRS) ]) AC_DEFUN(KDE_CHECK_NAMESPACES, [ AC_MSG_CHECKING(whether C++ compiler supports namespaces) AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([ ], [ namespace Foo { extern int i; namespace Bar { extern int i; } } int Foo::i = 0; int Foo::Bar::i = 1; ],[ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NAMESPACES) ], [ AC_MSG_RESULT(no) ]) AC_LANG_RESTORE ]) AC_DEFUN(KDE_CHECK_HEADER, [ AC_LANG_SAVE kde_safe_cppflags=$CPPFLAGS CPPFLAGS="$CPPFLAGS $all_includes" AC_LANG_CPLUSPLUS AC_CHECK_HEADER($1, $2, $3) CPPFLAGS=$kde_safe_cppflags AC_LANG_RESTORE ]) AC_DEFUN(KDE_CHECK_HEADERS, [ AC_LANG_SAVE kde_safe_cppflags=$CPPFLAGS CPPFLAGS="$CPPFLAGS $all_includes" AC_LANG_CPLUSPLUS for k_header in $1; do AC_CHECK_HEADER($k_header, $2, $3) done CPPFLAGS=$kde_safe_cppflags AC_LANG_RESTORE ]) AC_DEFUN(KDE_FAST_CONFIGURE, [ dnl makes configure fast (needs perl) AC_ARG_ENABLE(fast-perl, [ --disable-fast-perl disable fast Makefile generation (needs perl)], with_fast_perl=$enableval, with_fast_perl=yes) ]) AC_DEFUN(KDE_CONF_FILES, [ val= if test -f $srcdir/configure.files ; then val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files` fi CONF_FILES= if test -n "$val" ; then for i in $val ; do CONF_FILES="$CONF_FILES $i" done fi AC_SUBST(CONF_FILES) ])dnl AC_DEFUN(KDE_SET_PREFIX, [ unset CDPATH dnl make $KDEDIR the default for the installation AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) if test "x$prefix" = "xNONE"; then prefix=$ac_default_prefix ac_configure_args="$ac_configure_args --prefix=$prefix" fi # And delete superflous '/' to make compares easier prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` KDE_FAST_CONFIGURE KDE_CONF_FILES ]) dnl This quote is too nice, we let it in dnl ------------------------------------ dnl And to all this comes, that I even can't write in comments variable dnl names used by automake, because it is so stupid to think I wanted to dnl _use_ them, therefor I have written A_M_... instead of AM_ dnl hmm, I wanted to say something ... ahh yes: Arghhh. AC_DEFUN(KDE_LANG_CPLUSPLUS, [AC_LANG_CPLUSPLUS ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS]) ]) pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS ])