You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kcpuload/acinclude.m4

10716 lines
323 KiB

## -*- autoconf -*-
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., 51 Franklin Street, Fifth Floor,
dnl Boston, MA 02110-1301, 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 tdelibs
dnl and tdebase 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_PATH_X_XMKMF],[],
[AC_DEFUN([_AC_PATH_X_XMKMF],[AC_PATH_X_XMKMF])])
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,
[
AC_REQUIRE([KDE_CHECK_LIB64])
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${tdelibsuff}/` \
/usr/X11/lib${tdelibsuff} \
/usr/X11R6/lib${tdelibsuff} \
/usr/X11R5/lib${tdelibsuff} \
/usr/X11R4/lib${tdelibsuff} \
\
/usr/lib${tdelibsuff}/X11 \
/usr/lib${tdelibsuff}/X11R6 \
/usr/lib${tdelibsuff}/X11R5 \
/usr/lib${tdelibsuff}/X11R4 \
\
/usr/local/X11/lib${tdelibsuff} \
/usr/local/X11R6/lib${tdelibsuff} \
/usr/local/X11R5/lib${tdelibsuff} \
/usr/local/X11R4/lib${tdelibsuff} \
\
/usr/local/lib${tdelibsuff}/X11 \
/usr/local/lib${tdelibsuff}/X11R6 \
/usr/local/lib${tdelibsuff}/X11R5 \
/usr/local/lib${tdelibsuff}/X11R4 \
\
/usr/X386/lib${tdelibsuff} \
/usr/x386/lib${tdelibsuff} \
/usr/XFree86/lib${tdelibsuff}/X11 \
\
/usr/lib${tdelibsuff} \
/usr/local/lib${tdelibsuff} \
/usr/unsupported/lib${tdelibsuff} \
/usr/athena/lib${tdelibsuff} \
/usr/local/x11r5/lib${tdelibsuff} \
/usr/lpp/Xamples/lib${tdelibsuff} \
/lib/usr/lib${tdelibsuff}/X11 \
\
/usr/openwin/lib${tdelibsuff} \
/usr/openwin/share/lib${tdelibsuff} \
; \
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.
])
])
AC_DEFUN(KDE_CHECK_UIC_FLAG,
[
AC_MSG_CHECKING([whether uic supports -$1 ])
kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache,
[
cat >conftest.ui <<EOT
<!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
EOT
ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null"
if AC_TRY_EVAL(ac_uic_testrun); then
eval "kde_cv_prog_uic_$kde_cache=yes"
else
eval "kde_cv_prog_uic_$kde_cache=no"
fi
rm -f conftest*
])
if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
AC_MSG_RESULT([yes])
:
$3
else
AC_MSG_RESULT([no])
:
$4
fi
])
dnl ------------------------------------------------------------------------
dnl Find the meta object compiler and the ui compiler in the PATH,
dnl in $TQTDIR/bin, and some more usual places
dnl ------------------------------------------------------------------------
dnl
AC_DEFUN(AC_PATH_TQT_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_PATH, [$qt_bindirs], [UIC_PATH=""])
if test -z "$UIC_PATH" ; then
KDE_UIC_ERROR_MESSAGE
exit 1
elif test $kde_qtver = 3; then
KDE_CHECK_UIC_FLAG(L,[/nonexistant],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no)
KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no)
UIC=$UIC_PATH
if test x$ac_uic_supports_libpath = xyes; then
UIC="$UIC -L \$(kde_widgetdir)"
fi
if test x$ac_uic_supports_nounload = xyes; then
UIC="$UIC -nounload"
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_1_CHECK_PATHS,
[
KDE_1_CHECK_PATH_HEADERS
KDE_TEST_RPATH=
if test -n "$USE_RPATH"; then
if test -n "$kde_libraries"; then
KDE_TEST_RPATH="-R $kde_libraries"
fi
if test -n "$qt_libraries"; then
KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
fi
if test -n "$x_libraries"; then
KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
fi
KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
fi
AC_MSG_CHECKING([for KDE libraries installed])
ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -ltdecore $LIBTQT $KDE_TEST_RPATH 1>&5'
if AC_TRY_EVAL(ac_link) && test -s conftest; then
AC_MSG_RESULT(yes)
else
AC_MSG_ERROR([your system fails at linking a small KDE application!
Check, if your compiler is installed correctly and if you have used the
same compiler to compile Qt and tdelibs as you did use now.
For more details about this problem, look at the end of config.log.])
fi
if eval `TDEDIR= ./conftest 2>&5`; then
kde_result=done
else
kde_result=problems
fi
TDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
kde_have_all_paths=yes
KDE_SET_PATHS($kde_result)
])
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/tde/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}/trinity'
fi
fi
if test -z "$kde_styledir"; then
kde_styledir='\${libdir}/trinity/plugins/styles'
fi
if test -z "$kde_widgetdir"; then
kde_widgetdir='\${libdir}/trinity/plugins/designer'
fi
KDE_SET_PATHS(defaults)
else
if test $kde_qtver = 1; then
AC_MSG_RESULT([compiling])
KDE_1_CHECK_PATHS
else
AC_MSG_ERROR([path checking not yet supported for KDE 2])
fi
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_MISSING_ARTS_ERROR,
[
AC_MSG_ERROR([The important program $1 was not found!
Please check whether you installed aRts correctly.
])
])
AC_DEFUN(KDE_SUBST_PROGRAMS,
[
kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/trinity/bin /usr/kde/bin /usr/local/kde/bin"
test -n "$TDEDIR" && kde_default_bindirs="$TDEDIR/bin $kde_default_bindirs"
if test -n "$TDEDIRS"; then
kde_save_IFS=$IFS
IFS=:
for dir in $TDEDIRS; 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(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)])
KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)])
KDE_FIND_PATH(tde-config, KDECONFIG, [$kde_default_bindirs])
KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then
kde_sharedirs="$prefix/share /opt/trinity/share /opt/trinity/share /opt/kde/share /usr/share/kde /usr/local/share /usr/share"
test -n "$TDEDIR" && kde_sharedirs="$TDEDIR/share $kde_sharedirs"
AC_FIND_FILE(apps/ksgmltools2/customization/tde-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/tde-chunk.xsl"
fi
fi
DCOP_DEPENDENCIES='$(DCOPIDL)'
AC_SUBST(DCOPIDL)
AC_SUBST(DCOPIDL2CPP)
AC_SUBST(DCOP_DEPENDENCIES)
AC_SUBST(MCOPIDL)
AC_SUBST(ARTSCCONFIG)
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 tdelibs.
This means it has been moved since you installed it.
This won't work. Please recompile tdelibs 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_CHECK_SOCKLEN_T
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(inet_ntoa)
if test $ac_cv_func_inet_ntoa = no; then
AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
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
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
AC_CHECK_FUNC(shmat, ,
AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
# darwin needs this to initialize the environment
AC_CHECK_HEADERS(crt_externs.h)
AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])])
# 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")
# CoreAudio framework
AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [
AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API])
FRAMEWORK_COREAUDIO="-framework CoreAudio"
])
AC_CHECK_RES_INIT
AC_SUBST(LIB_POLL)
AC_SUBST(FRAMEWORK_COREAUDIO)
LIBSOCKET="$X_EXTRA_LIBS"
AC_SUBST(LIBSOCKET)
AC_SUBST(X_EXTRA_LIBS)
AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
AC_SUBST(LIBUCB)
case $host in dnl this *is* LynxOS specific
*-*-lynxos* )
AC_MSG_CHECKING([LynxOS header file wrappers])
[CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
AC_MSG_RESULT(disabled)
AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
;;
esac
KDE_CHECK_TYPES
KDE_CHECK_LIBDL
KDE_CHECK_STRLCPY
AH_VERBATIM(_AIX_STRINGS_H_BZERO,
[
/*
* AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
* that defines bzero.
*/
#if defined(_AIX)
#include <strings.h>
#endif
])
AC_CHECK_FUNCS([vsnprintf snprintf])
AH_VERBATIM(_TRU64,[
/*
* On HP-UX, the declaration of vsnprintf() is needed every time !
*/
#if !defined(HAVE_VSNPRINTF) || defined(hpux)
#if __STDC__
#include <stdarg.h>
#include <stdlib.h>
#else
#include <varargs.h>
#endif
#ifdef __cplusplus
extern "C"
#endif
int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
#ifdef __cplusplus
extern "C"
#endif
int snprintf(char *str, size_t n, char const *fmt, ...);
#endif
])
])
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_REQUIRE([KDE_CHECK_LIB64])
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
dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
dnl location. The correct location is /usr/lib32 or an undefined value
dnl (the linker is smart enough to pick the correct default library).
dnl Things work just fine if you use just AC_PATH_X_DIRECT.
dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to
dnl /usr/openwin/include, which doesn't work. /usr/include does work, so
dnl x_includes should be left alone.
case "$host" in
mips-sgi-irix6*)
;;
*-*-solaris*)
;;
*)
_AC_PATH_X_XMKMF
if test -z "$ac_x_includes"; then
ac_x_includes="."
fi
if test -z "$ac_x_libraries"; then
ac_x_libraries="/usr/lib${tdelibsuff}"
fi
esac
#from now on we use our own again
# 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 <stdio.h>
#ifdef STDC_HEADERS
# include <stdlib.h>
#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
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_TQT])
cat > conftest.$ac_ext <<EOF
#include "confdefs.h"
#include <qglobal.h>
#include <qapplication.h>
EOF
if test "$kde_qtver" = "2"; then
cat >> conftest.$ac_ext <<EOF
#include <qevent.h>
#include <qstring.h>
#include <qstyle.h>
EOF
if test $kde_qtsubver -gt 0; then
cat >> conftest.$ac_ext <<EOF
#if TQT_VERSION < 210
#error 1
#endif
EOF
fi
fi
if test "$kde_qtver" = "3"; then
cat >> conftest.$ac_ext <<EOF
#include <qcursor.h>
#include <qstylefactory.h>
#include <private/qucomextra_p.h>
EOF
fi
echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
cat >> conftest.$ac_ext <<EOF
#error 1
#endif
int main() {
EOF
if test "$kde_qtver" = "2"; then
cat >> conftest.$ac_ext <<EOF
QStringList *t = new QStringList();
Q_UNUSED(t);
EOF
if test $kde_qtsubver -gt 0; then
cat >> conftest.$ac_ext <<EOF
QString s;
s.setLatin1("Elvis is alive", 14);
EOF
fi
fi
if test "$kde_qtver" = "3"; then
cat >> conftest.$ac_ext <<EOF
(void)QStyleFactory::create(QString::null);
QCursor c(Qt::WhatsThisCursor);
EOF
fi
cat >> conftest.$ac_ext <<EOF
return 0;
}
EOF
])
AC_DEFUN(KDE_USE_TQT,
[
if test -z "$1"; then
# Current default Qt version: 3.1
kde_qtver=3
kde_qtsubver=1
else
kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
# following is the check if subversion isnt found in passed argument
if test "$kde_qtsubver" = "$1"; then
kde_qtsubver=1
fi
kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
if test "$kde_qtver" = "1"; then
kde_qtsubver=42
fi
fi
if test -z "$2"; then
if test "$kde_qtver" = "2"; then
if test $kde_qtsubver -gt 0; then
kde_qt_minversion=">= Qt 2.2.2"
else
kde_qt_minversion=">= Qt 2.0.2"
fi
fi
if test "$kde_qtver" = "3"; then
if test $kde_qtsubver -gt 0; then
kde_qt_minversion=">= Qt 3.1 (20021021)"
else
kde_qt_minversion=">= Qt 3.0"
fi
fi
if test "$kde_qtver" = "1"; then
kde_qt_minversion=">= 1.42 and < 2.0"
fi
else
kde_qt_minversion=$2
fi
if test -z "$3"; then
if test $kde_qtver = 3; then
if test $kde_qtsubver -gt 0; then
kde_qt_verstring="TQT_VERSION >= 0x030100"
else
kde_qt_verstring="TQT_VERSION >= 300"
fi
fi
if test $kde_qtver = 2; then
if test $kde_qtsubver -gt 0; then
kde_qt_verstring="TQT_VERSION >= 222"
else
kde_qt_verstring="TQT_VERSION >= 200"
fi
fi
if test $kde_qtver = 1; then
kde_qt_verstring="TQT_VERSION >= 142 && TQT_VERSION < 200"
fi
else
kde_qt_verstring=$3
fi
if test $kde_qtver = 3; then
kde_qt_dirs="$TQTDIR /usr/lib/qt3 /usr/lib/qt"
fi
if test $kde_qtver = 2; then
kde_qt_dirs="$TQTDIR /usr/lib/qt2 /usr/lib/qt"
fi
if test $kde_qtver = 1; then
kde_qt_dirs="$TQTDIR /usr/lib/qt"
fi
])
AC_DEFUN(KDE_CHECK_QT_DIRECT,
[
AC_REQUIRE([KDE_USE_TQT])
AC_MSG_CHECKING([if Qt compiles without flags])
AC_CACHE_VAL(kde_cv_qt_direct,
[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
ac_LIBRARY_PATH="$LIBRARY_PATH"
ac_cxxflags_safe="$CXXFLAGS"
ac_ldflags_safe="$LDFLAGS"
ac_libs_safe="$LIBS"
CXXFLAGS="$CXXFLAGS -I$tqt_includes"
LDFLAGS="$LDFLAGS $X_LDFLAGS"
if test "x$kde_use_qt_emb" != "xyes"; then
LIBS="$LIBTQT -lXext -lX11 $LIBSOCKET"
else
LIBS="$LIBTQT $LIBSOCKET"
fi
LD_LIBRARY_PATH=
export LD_LIBRARY_PATH
LIBRARY_PATH=
export LIBRARY_PATH
KDE_PRINT_QT_PROGRAM
if AC_TRY_EVAL(ac_link) && test -s conftest; then
kde_cv_qt_direct="yes"
else
kde_cv_qt_direct="no"
echo "configure: failed program was:" >&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 -Ltqtliblocation (if needed)
dnl and $(TQT_INCLUDES) will be -Iqthdrlocation (if needed)
dnl ------------------------------------------------------------------------
dnl
AC_DEFUN(AC_PATH_TQT_1_3,
[
AC_REQUIRE([K_PATH_X])
AC_REQUIRE([KDE_USE_TQT])
AC_REQUIRE([KDE_CHECK_LIB64])
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 -DTQT_THREAD_SUPPORT $CPPFLAGS"