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.
11920 lines
366 KiB
11920 lines
366 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.
|
|
|
|
# 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([#include <X11/Intrinsic.h>], [${x_direct_test_function}(1)],
|
|
[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(program-name, variable-name, list-of-dirs,
|
|
dnl if-not-found, test-parameter, prepend-path)
|
|
dnl
|
|
dnl Look for program-name in list-of-dirs+$PATH.
|
|
dnl If prepend-path is set, look in $PATH+list-of-dirs instead.
|
|
dnl If found, $variable-name is set. If not, if-not-found is evaluated.
|
|
dnl test-parameter: if set, the program is executed with this arg,
|
|
dnl and only a successful exit code is required.
|
|
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"
|
|
kde_save_IFS=$IFS
|
|
IFS=':'
|
|
dirs=""
|
|
for dir in $PATH; do
|
|
dirs="$dirs $dir"
|
|
done
|
|
if test -z "$6"; then dnl Append dirs in PATH (default)
|
|
dirs="$3 $dirs"
|
|
else dnl Prepend dirs in PATH (if 6th arg is set)
|
|
dirs="$dirs $3"
|
|
fi
|
|
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 $QTDIR/bin, and some more usual places
|
|
dnl ------------------------------------------------------------------------
|
|
dnl
|
|
AC_DEFUN([AC_PATH_QT_MOC_UIC],
|
|
[
|
|
AC_REQUIRE([KDE_CHECK_PERL])
|
|
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
|
|
else
|
|
UIC=$UIC_PATH
|
|
|
|
if test $kde_qtver = 3; then
|
|
KDE_CHECK_UIC_FLAG(L,[/nonexistent],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)
|
|
|
|
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
|
|
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 $LIBQT $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_kcfgdir=\"$kde_kcfgdir\" \
|
|
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\" \
|
|
xdg_appsdir=\"$xdg_appsdir\" \
|
|
xdg_menudir=\"$xdg_menudir\" \
|
|
xdg_directorydir=\"$xdg_directorydir\" \
|
|
kde_result=$1"
|
|
])
|
|
|
|
AC_DEFUN([KDE_SET_DEFAULT_PATHS],
|
|
[
|
|
if test "$1" = "default"; then
|
|
|
|
if test -z "$kde_htmldir"; then
|
|
kde_htmldir='\${datadir}/doc/HTML'
|
|
fi
|
|
if test -z "$kde_appsdir"; then
|
|
kde_appsdir='\${datadir}/applnk'
|
|
fi
|
|
if test -z "$kde_icondir"; then
|
|
kde_icondir='\${datadir}/icons'
|
|
fi
|
|
if test -z "$kde_sounddir"; then
|
|
kde_sounddir='\${datadir}/sounds'
|
|
fi
|
|
if test -z "$kde_datadir"; then
|
|
kde_datadir='\${datadir}/apps'
|
|
fi
|
|
if test -z "$kde_locale"; then
|
|
kde_locale='\${datadir}/locale'
|
|
fi
|
|
if test -z "$kde_cgidir"; then
|
|
kde_cgidir='\${exec_prefix}/cgi-bin'
|
|
fi
|
|
if test -z "$kde_confdir"; then
|
|
kde_confdir='\${datadir}/config'
|
|
fi
|
|
if test -z "$kde_kcfgdir"; then
|
|
kde_kcfgdir='\${datadir}/config.kcfg'
|
|
fi
|
|
if test -z "$kde_mimedir"; then
|
|
kde_mimedir='\${datadir}/mimelnk'
|
|
fi
|
|
if test -z "$kde_toolbardir"; then
|
|
kde_toolbardir='\${datadir}/toolbar'
|
|
fi
|
|
if test -z "$kde_wallpaperdir"; then
|
|
kde_wallpaperdir='\${datadir}/wallpapers'
|
|
fi
|
|
if test -z "$kde_templatesdir"; then
|
|
kde_templatesdir='\${datadir}/templates'
|
|
fi
|
|
if test -z "$kde_bindir"; then
|
|
kde_bindir='\${exec_prefix}/bin'
|
|
fi
|
|
if test -z "$kde_servicesdir"; then
|
|
kde_servicesdir='\${datadir}/services'
|
|
fi
|
|
if test -z "$kde_servicetypesdir"; then
|
|
kde_servicetypesdir='\${datadir}/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
|
|
if test -z "$xdg_appsdir"; then
|
|
xdg_appsdir='\${datadir}/applications/kde'
|
|
fi
|
|
if test -z "$xdg_menudir"; then
|
|
xdg_menudir='\${sysconfdir}/xdg/menus'
|
|
fi
|
|
if test -z "$xdg_directorydir"; then
|
|
xdg_directorydir='\${datadir}/desktop-directories'
|
|
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_kcfgdir" ||
|
|
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 -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" ||
|
|
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 or use
|
|
--without-arts to compile without aRts support (this will remove functionality).
|
|
])
|
|
])
|
|
|
|
AC_DEFUN([KDE_SET_DEFAULT_BINDIRS],
|
|
[
|
|
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
|
|
])
|
|
|
|
AC_DEFUN([KDE_SUBST_PROGRAMS],
|
|
[
|
|
AC_ARG_WITH(arts,
|
|
AC_HELP_STRING([--without-arts],[build without aRts [default=no]]),
|
|
[build_arts=$withval],
|
|
[build_arts=yes]
|
|
)
|
|
AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
|
|
if test "$build_arts" = "no"; then
|
|
AC_DEFINE(WITHOUT_ARTS, 1, [Defined if compiling without arts])
|
|
fi
|
|
|
|
KDE_SET_DEFAULT_BINDIRS
|
|
kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_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)])
|
|
if test "$build_arts" '!=' "no"; then
|
|
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)])
|
|
fi
|
|
KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
|
|
|
|
trinity2ornewer=1
|
|
trinity3ornewer=1
|
|
if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then
|
|
trinity2ornewer=
|
|
trinity3ornewer=
|
|
else
|
|
if test "$kde_qtver" = "3"; then
|
|
if test "$kde_qtsubver" -le 1; then
|
|
trinity2ornewer=
|
|
fi
|
|
if test "$kde_qtsubver" -le 2; then
|
|
trinity3ornewer=
|
|
fi
|
|
if test "$KDECONFIG" != "compiled"; then
|
|
if test `$KDECONFIG --version | grep KDE | sed 's/KDE: \(...\).*/\1/'` = 3.2; then
|
|
trinity3ornewer=
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if test -n "$trinity2ornewer"; then
|
|
KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)])
|
|
KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)])
|
|
fi
|
|
if test -n "$trinity3ornewer"; then
|
|
KDE_FIND_PATH(makekdewidgets, MAKEKDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(makekdewidgets)])
|
|
AC_SUBST(MAKEKDEWIDGETS)
|
|
fi
|
|
KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""])
|
|
|
|
if test -n "$MEINPROC" -a "$MEINPROC" != "compiled"; then
|
|
kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/trinity/share /opt/kde/share $prefix/share"
|
|
test -n "$TDEDIR" && kde_sharedirs="$TDEDIR/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)'
|
|
if test -n "$trinity2ornewer"; then
|
|
KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)'
|
|
DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)'
|
|
AC_SUBST(KCONFIG_COMPILER)
|
|
AC_SUBST(KCFG_DEPENDENCIES)
|
|
AC_SUBST(DCOPIDLNG)
|
|
fi
|
|
AC_SUBST(DCOPIDL)
|
|
AC_SUBST(DCOPIDL2CPP)
|
|
AC_SUBST(DCOP_DEPENDENCIES)
|
|
AC_SUBST(MCOPIDL)
|
|
AC_SUBST(ARTSCCONFIG)
|
|
AC_SUBST(MEINPROC)
|
|
AC_SUBST(KDE_XSL_STYLESHEET)
|
|
AC_SUBST(XMLLINT)
|
|
])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_kcfgdir=
|
|
kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
|
|
kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
|
|
kde_have_all_paths=
|
|
kde_styledir=
|
|
kde_widgetdir=
|
|
xdg_appsdir = xdg_menudir= xdg_directorydir=
|
|
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_kcfgdir)
|
|
AC_SUBST(kde_mimedir)
|
|
AC_SUBST(kde_wallpaperdir)
|
|
AC_SUBST(kde_bindir)
|
|
dnl X Desktop Group standards
|
|
AC_SUBST(xdg_appsdir)
|
|
AC_SUBST(xdg_menudir)
|
|
AC_SUBST(xdg_directorydir)
|
|
dnl for KDE 2
|
|
AC_SUBST(kde_templatesdir)
|
|
AC_SUBST(kde_servicesdir)
|
|
AC_SUBST(kde_servicetypesdir)
|
|
AC_SUBST(kde_moduledir)
|
|
AC_SUBST(tdeinitdir, '$(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],
|
|
[
|
|
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_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"))
|
|
|
|
# more headers that need to be explicitly included on darwin
|
|
AC_CHECK_HEADERS(sys/types.h stdint.h)
|
|
|
|
# sys/bitypes.h is needed for uint32_t and friends on Tru64
|
|
AC_CHECK_HEADERS(sys/bitypes.h)
|
|
|
|
# darwin requires a poll emulation library
|
|
AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll")
|
|
|
|
# for some image handling on Mac OS X
|
|
AC_CHECK_HEADERS(Carbon/Carbon.h)
|
|
|
|
# CoreAudio framework
|
|
AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [
|
|
AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API])
|
|
FRAMEWORK_COREAUDIO="-Wl,-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
|
|
KDE_CHECK_PIE_SUPPORT
|
|
|
|
# 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])])
|
|
|
|
AH_VERBATIM(_DARWIN_ENVIRON,
|
|
[
|
|
#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
|
|
# include <sys/time.h>
|
|
# include <crt_externs.h>
|
|
# define environ (*_NSGetEnviron())
|
|
#endif
|
|
])
|
|
|
|
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,
|
|
AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]),
|
|
kde_use_qt_emb=$enableval,
|
|
kde_use_qt_emb=no
|
|
)
|
|
|
|
AC_ARG_ENABLE(
|
|
qtopia,
|
|
AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]),
|
|
kde_use_qt_emb_palm=$enableval,
|
|
kde_use_qt_emb_palm=no
|
|
)
|
|
|
|
AC_ARG_ENABLE(
|
|
mac,
|
|
AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]),
|
|
kde_use_qt_mac=$enableval,
|
|
kde_use_qt_mac=no
|
|
)
|
|
|
|
# used to disable x11-specific stuff on special platforms
|
|
AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
|
|
|
|
if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then
|
|
|
|
AC_MSG_CHECKING(for X)
|
|
|
|
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 $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS"
|
|
|
|
# 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)
|
|
LDFLAGS="$ac_save_LDFLAGS"
|
|
|
|
LIB_X11='-lX11 $(LIBSOCKET)'
|
|
|
|
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=""
|
|
|
|
elif test "$kde_use_qt_emb" = "yes"; then
|
|
dnl We're using QT Embedded
|
|
CPPFLAGS=-DQWS
|
|
CXXFLAGS="$CXXFLAGS -fno-rtti"
|
|
QTE_NORTTI="-fno-rtti -DQWS"
|
|
X_PRE_LIBS=""
|
|
LIB_X11=""
|
|
LIB_XEXT=""
|
|
LIB_XRENDER=""
|
|
LIBSM=""
|
|
X_INCLUDES=""
|
|
X_LDFLAGS=""
|
|
x_includes=""
|
|
x_libraries=""
|
|
elif test "$kde_use_qt_mac" = "yes"; then
|
|
dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to
|
|
dnl be included to get the information) --Sam
|
|
CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp"
|
|
CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp"
|
|
X_PRE_LIBS=""
|
|
LIB_X11=""
|
|
LIB_XEXT=""
|
|
LIB_XRENDER=""
|
|
LIBSM=""
|
|
X_INCLUDES=""
|
|
X_LDFLAGS=""
|
|
x_includes=""
|
|
x_libraries=""
|
|
fi
|
|
AC_SUBST(X_PRE_LIBS)
|
|
AC_SUBST(LIB_X11)
|
|
AC_SUBST(LIB_XRENDER)
|
|
AC_SUBST(LIBSM)
|
|
AC_SUBST(X_INCLUDES)
|
|
AC_SUBST(X_LDFLAGS)
|
|
AC_SUBST(x_includes)
|
|
AC_SUBST(x_libraries)
|
|
AC_SUBST(QTE_NORTTI)
|
|
AC_SUBST(LIB_XEXT)
|
|
|
|
])
|
|
|
|
AC_DEFUN([KDE_PRINT_QT_PROGRAM],
|
|
[
|
|
AC_REQUIRE([KDE_USE_QT])
|
|
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_QT],
|
|
[
|
|
if test -z "$1"; then
|
|
# Current default Qt version: 3.3
|
|
kde_qtver=3
|
|
kde_qtsubver=3
|
|
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
|
|
if test $kde_qtsubver -gt 1; then
|
|
if test $kde_qtsubver -gt 2; then
|
|
kde_qt_minversion=">= Qt 3.3 and < 4.0"
|
|
else
|
|
kde_qt_minversion=">= Qt 3.2 and < 4.0"
|
|
fi
|
|
else
|
|
kde_qt_minversion=">= Qt 3.1 (20021021) and < 4.0"
|
|
fi
|
|
else
|
|
kde_qt_minversion=">= Qt 3.0 and < 4.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 >= 0x03@VER@00 && TQT_VERSION < 0x040000"
|
|
qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'`
|
|
kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"`
|
|
else
|
|
kde_qt_verstring="TQT_VERSION >= 300 && TQT_VERSION < 0x040000"
|
|
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 = 4; then
|
|
kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4"
|
|
fi
|
|
if test $kde_qtver = 3; then
|
|
kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3"
|
|
fi
|
|
if test $kde_qtver = 2; then
|
|
kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
|
|
fi
|
|
if test $kde_qtver = 1; then
|
|
kde_qt_dirs="$QTDIR /usr/lib/qt"
|
|
fi
|
|
])
|
|
|
|
AC_DEFUN([KDE_CHECK_QT_DIRECT],
|
|
[
|
|
AC_REQUIRE([KDE_USE_QT])
|
|
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$qt_includes"
|
|
LDFLAGS="$LDFLAGS $X_LDFLAGS"
|
|
if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
|
|
LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
|
|
else
|
|
LIBS="$LIBQT $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 -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])
|
|
AC_REQUIRE([KDE_CHECK_LIB64])
|
|
|
|
dnl ------------------------------------------------------------------------
|
|
dnl Add configure flag to enable linking to MT version of Qt library.
|
|
dnl ------------------------------------------------------------------------
|
|
|
|
AC_ARG_ENABLE(
|
|
mt,
|
|
AC_HELP_STRING([--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
|
|
|
|
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"
|
|
|
|
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
|
|
LIBQT="-l$qtlib-mt"
|
|
kde_int_qt="-l$qtlib-mt"
|
|
LIBQT_GLOB="lib$qtlib-mt.*"
|
|
USING_QT_MT="using -mt"
|
|
else
|
|
LIBQT="-l$qtlib"
|
|
fi
|
|
|
|
if test $kde_qtver != 1; then
|
|
|
|
AC_REQUIRE([AC_FIND_PNG])
|
|
AC_REQUIRE([AC_FIND_JPEG])
|
|
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" && test "x$kde_use_qt_mac" != "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,
|
|
AC_HELP_STRING([--with-qt-dir=DIR],[where the root of Qt is installed ]),
|
|
[ ac_qt_includes="$withval"/include
|
|
ac_qt_libraries="$withval"/lib${tdelibsuff}
|
|
ac_qt_bindir="$withval"/bin
|
|
])
|
|
|
|
AC_ARG_WITH(qt-includes,
|
|
AC_HELP_STRING([--with-qt-includes=DIR],[where the Qt includes are. ]),
|
|
[
|
|
ac_qt_includes="$withval"
|
|
])
|
|
|
|
kde_qt_libs_given=no
|
|
|
|
AC_ARG_WITH(qt-libraries,
|
|
AC_HELP_STRING([--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 /usr/include/qt3 $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${tdelibsuff} $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
|
|
for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
|
|
if test -e "$a"; then
|
|
LIBQT="$LIBQT ${kde_int_qt}_incremental"
|
|
break
|
|
fi
|
|
done
|
|
|
|
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" && test ! "$kde_qtver" = 3; 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="$QT_LDFLAGS $all_libraries"
|
|
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
|
|
|
|
KDE_CHECK_QT_JPEG
|
|
|
|
if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
|
|
LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)'
|
|
else
|
|
LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)'
|
|
fi
|
|
test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
|
|
for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
|
|
if test -e "$a"; then
|
|
LIB_QT="$LIB_QT ${kde_int_qt}_incremental"
|
|
break
|
|
fi
|
|
done
|
|
|
|
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_UIC_PLUGINS],
|
|
[
|
|
AC_REQUIRE([AC_PATH_QT_MOC_UIC])
|
|
|
|
if test x$ac_uic_supports_libpath = xyes; then
|
|
|
|
AC_MSG_CHECKING([if UIC has KDE plugins available])
|
|
AC_CACHE_VAL(kde_cv_uic_plugins,
|
|
[
|
|
cat > actest.ui << EOF
|
|
<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
|
|
<class>NewConnectionDialog</class>
|
|
<widget class="QDialog">
|
|
<widget class="KLineEdit">
|
|
<property name="name">
|
|
<cstring>testInput</cstring>
|
|
</property>
|
|
</widget>
|
|
</widget>
|
|
</UI>
|
|
EOF
|
|
|
|
|
|
|
|
kde_cv_uic_plugins=no
|
|
kde_line="$UIC_PATH -L $kde_widgetdir"
|
|
if test x$ac_uic_supports_nounload = xyes; then
|
|
kde_line="$kde_line -nounload"
|
|
fi
|
|
kde_line="$kde_line -impl actest.h actest.ui > actest.cpp"
|
|
if AC_TRY_EVAL(kde_line); then
|
|
# if you're trying to debug this check and think it's incorrect,
|
|
# better check your installation. The check _is_ correct - your
|
|
# installation is not.
|
|
if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then
|
|
kde_cv_uic_plugins=yes
|
|
fi
|
|
fi
|
|
rm -f actest.ui actest.cpp
|
|
])
|
|
|
|
AC_MSG_RESULT([$kde_cv_uic_plugins])
|
|
if test "$kde_cv_uic_plugins" != yes; then
|
|
AC_MSG_ERROR([
|
|
you need to install tdelibs first.
|
|
|
|
If you did install tdelibs, then the Qt version that is picked up by
|
|
this configure is not the same version you used to compile tdelibs.
|
|
The Qt Plugin installed by tdelibs is *ONLY* loadable if it is the
|
|
_same Qt version_, compiled with the _same compiler_ and the same Qt
|
|
configuration settings.
|
|
])
|
|
fi
|
|
fi
|
|
])
|
|
|
|
AC_DEFUN([KDE_CHECK_FINAL],
|
|
[
|
|
AC_ARG_ENABLE(final,
|
|
AC_HELP_STRING([--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_DEFUN([KDE_CHECK_CLOSURE],
|
|
[
|
|
AC_ARG_ENABLE(closure,
|
|
AC_HELP_STRING([--enable-closure],[delay template instantiation]),
|
|
kde_use_closure=$enableval, kde_use_closure=no)
|
|
|
|
KDE_NO_UNDEFINED=""
|
|
if test "x$kde_use_closure" = "xyes"; then
|
|
KDE_USE_CLOSURE_TRUE=""
|
|
KDE_USE_CLOSURE_FALSE="#"
|
|
# CXXFLAGS="$CXXFLAGS $REPO"
|
|
else
|
|
KDE_USE_CLOSURE_TRUE="#"
|
|
KDE_USE_CLOSURE_FALSE=""
|
|
KDE_NO_UNDEFINED=""
|
|
case $host in
|
|
*-*-linux-gnu)
|
|
KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined],
|
|
[KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined],
|
|
[KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"],
|
|
[KDE_NO_UNDEFINED=""])],
|
|
[KDE_NO_UNDEFINED=""])
|
|
;;
|
|
esac
|
|
fi
|
|
AC_SUBST(KDE_USE_CLOSURE_TRUE)
|
|
AC_SUBST(KDE_USE_CLOSURE_FALSE)
|
|
AC_SUBST(KDE_NO_UNDEFINED)
|
|
])
|
|
|
|
dnl Check if the linker supports --enable-new-dtags and --as-needed
|
|
AC_DEFUN([KDE_CHECK_NEW_LDFLAGS],
|
|
[
|
|
AC_ARG_ENABLE(new_ldflags,
|
|
AC_HELP_STRING([--enable-new-ldflags],
|
|
[enable the new linker flags]),
|
|
kde_use_new_ldflags=$enableval,
|
|
kde_use_new_ldflags=no)
|
|
|
|
LDFLAGS_AS_NEEDED=""
|
|
LDFLAGS_NEW_DTAGS=""
|
|
if test "x$kde_use_new_ldflags" = "xyes"; then
|
|
LDFLAGS_NEW_DTAGS=""
|
|
KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags],
|
|
[LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],)
|
|
|
|
KDE_CHECK_COMPILER_FLAG([Wl,--as-needed],
|
|
[LDFLAGS_AS_NEEDED="-Wl,--as-needed"],)
|
|
fi
|
|
AC_SUBST(LDFLAGS_AS_NEEDED)
|
|
AC_SUBST(LDFLAGS_NEW_DTAGS)
|
|
])
|
|
|
|
AC_DEFUN([KDE_CHECK_NMCHECK],
|
|
[
|
|
AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]),
|
|
kde_use_nmcheck=$enableval, kde_use_nmcheck=no)
|
|
|
|
if test "$kde_use_nmcheck" = "yes"; then
|
|
KDE_USE_NMCHECK_TRUE=""
|
|
KDE_USE_NMCHECK_FALSE="#"
|
|
else
|
|
KDE_USE_NMCHECK_TRUE="#"
|
|
KDE_USE_NMCHECK_FALSE=""
|
|
fi
|
|
AC_SUBST(KDE_USE_NMCHECK_TRUE)
|
|
AC_SUBST(KDE_USE_NMCHECK_FALSE)
|
|
])
|
|
|
|
AC_DEFUN([KDE_EXPAND_MAKEVAR], [
|
|
savex=$exec_prefix
|
|
test "x$exec_prefix" = xNONE && exec_prefix=$prefix
|
|
tmp=$$2
|
|
while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done
|
|
exec_prefix=$savex
|
|
])
|
|
|
|
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_REQUIRE([KDE_CHECK_STL])
|
|
AC_REQUIRE([AC_PATH_QT])dnl
|
|
AC_REQUIRE([KDE_CHECK_LIB64])
|
|
|
|
AC_CHECK_RPATH
|
|
AC_MSG_CHECKING([for KDE])
|
|
|
|
if test "${prefix}" != NONE; then
|
|
kde_includes=${includedir}
|
|
KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir)
|
|
|
|
kde_libraries=${libdir}
|
|
KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir)
|
|
|
|
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="libtdecore.la"
|
|
else
|
|
kde_check_header="ksharedptr.h"
|
|
kde_check_lib="libkio.la"
|
|
fi
|
|
|
|
if test -z "$1"; then
|
|
|
|
kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/tde /usr/include /opt/trinity/include /opt/kde/include $x_includes $qt_includes"
|
|
test -n "$TDEDIR" && kde_incdirs="$TDEDIR/include $TDEDIR/include/tde $TDEDIR $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="$kde_libs_prefix/lib${tdelibsuff} /usr/lib/kde/lib${tdelibsuff} /usr/local/kde/lib${tdelibsuff} /usr/kde/lib${tdelibsuff} /usr/lib${tdelibsuff}/kde /usr/lib${tdelibsuff}/trinity /usr/lib${tdelibsuff} /usr/X11R6/lib${tdelibsuff} /usr/local/lib${tdelibsuff} /opt/trinity/lib${tdelibsuff} /opt/kde/lib${tdelibsuff} /usr/X11R6/kde/lib${tdelibsuff}"
|
|
test -n "$TDEDIR" && kde_libdirs="$TDEDIR/lib${tdelibsuff} $TDEDIR $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"
|
|
|
|
kde_widgetdir=NO
|
|
dnl this might be somewhere else
|
|
AC_FIND_FILE("trinity/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir)
|
|
|
|
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
|
|
|
|
if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/trinity/plugins/designer/kdewidgets.la"; then
|
|
AC_MSG_ERROR([
|
|
I can't find the designer plugins. These are required and should have been installed
|
|
by tdelibs])
|
|
fi
|
|
|
|
if test -n "$kde_widgetdir"; then
|
|
kde_widgetdir="$kde_widgetdir/trinity/plugins/designer"
|
|
fi
|
|
|
|
|
|
if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = 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, e.g. from tdelibs
|
|
|
|
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="${includedir}"
|
|
|
|
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_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION"
|
|
|
|
KDE_LDFLAGS="-L$kde_libraries"
|
|
if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then
|
|
all_libraries="$KDE_LDFLAGS $all_libraries"
|
|
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)
|
|
|
|
if test -z "$1"; then
|
|
KDE_CHECK_UIC_PLUGINS
|
|
fi
|
|
|
|
ac_kde_libraries="$kde_libdir"
|
|
|
|
AC_SUBST(AUTODIRS)
|
|
|
|
|
|
])
|
|
|
|
AC_DEFUN([KDE_CHECK_EXTRA_LIBS],
|
|
[
|
|
AC_MSG_CHECKING(for extra includes)
|
|
AC_ARG_WITH(extra-includes,AC_HELP_STRING([--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,AC_HELP_STRING([--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_1_CHECK_PATH_HEADERS],
|
|
[
|
|
AC_MSG_CHECKING([for KDE headers installed])
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
cat > conftest.$ac_ext <<EOF
|
|
#ifdef STDC_HEADERS
|
|
# include <stdlib.h>
|
|
#endif
|
|
#include <stdio.h>
|
|
#include "confdefs.h"
|
|
#include <kapp.h>
|
|
|
|
int main() {
|
|
printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
|
|
printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
|
|
printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
|
|
printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
|
|
printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
|
|
printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
|
|
printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
|
|
printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
|
|
printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
|
|
printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
|
|
printf("kde_wallpaperdir=\\"%s\\"\n",
|
|
KApplication::kde_wallpaperdir().data());
|
|
printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
|
|
printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
|
|
printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
|
|
printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
|
|
printf("kde_moduledir=\\"/tmp/dummy\\"\n");
|
|
printf("kde_styledir=\\"/tmp/dummy\\"\n");
|
|
printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
|
|
printf("xdg_appsdir=\\"/tmp/dummy\\"\n");
|
|
printf("xdg_menudir=\\"/tmp/dummy\\"\n");
|
|
printf("xdg_directorydir=\\"/tmp/dummy\\"\n");
|
|
printf("kde_kcfgdir=\\"/tmp/dummy\\"\n");
|
|
return 0;
|
|
}
|
|
EOF
|
|
|
|
ac_save_CPPFLAGS=$CPPFLAGS
|
|
CPPFLAGS="$all_includes $CPPFLAGS"
|
|
if AC_TRY_EVAL(ac_compile); then
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_ERROR([your system is not able to compile a small KDE application!
|
|
Check, if you installed the KDE header files correctly.
|
|
For more details about this problem, look at the end of config.log.])
|
|
fi
|
|
CPPFLAGS=$ac_save_CPPFLAGS
|
|
|
|
AC_LANG_RESTORE
|
|
])
|
|
|
|
AC_DEFUN([KDE_CHECK_KDEQTADDON],
|
|
[
|
|
AC_MSG_CHECKING(for kde-qt-addon)
|
|
AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
|
|
[
|
|
kde_ldflags_safe="$LDFLAGS"
|
|
kde_libs_safe="$LIBS"
|
|
kde_cxxflags_safe="$CXXFLAGS"
|
|
|
|
LIBS="-lkde-qt-addon $LIBQT $LIBS"
|
|
CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/tde $all_includes"
|
|
LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
|
|
|
|
AC_TRY_LINK([
|
|
#include <qdom.h>
|
|
],
|
|
[
|
|
QDomDocument doc;
|
|
],
|
|
kde_cv_have_kdeqtaddon=yes,
|
|
kde_cv_have_kdeqtaddon=no
|
|
)
|
|
|
|
LDFLAGS=$kde_ldflags_safe
|
|
LIBS=$kde_libs_safe
|
|
CXXFLAGS=$kde_cxxflags_safe
|
|
])
|
|
|
|
AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
|
|
|
|
if test "$kde_cv_have_kdeqtaddon" = "no"; then
|
|
AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
|
|
It is a separate package (and CVS module) named kde-qt-addon.])
|
|
fi
|
|
])
|
|
|
|
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
|
|
case $host in
|
|
*cygwin*) lib_kded="-ltdeinit_kded" ;;
|
|
*) lib_kded="" ;;
|
|
esac
|
|
AC_SUBST(LIB_KDED, $lib_kded)
|
|
AC_SUBST(LIB_TDECORE, "-ltdecore")
|
|
AC_SUBST(LIB_TDEUI, "-ltdeui")
|
|
AC_SUBST(LIB_KIO, "-lkio")
|
|
AC_SUBST(LIB_KJS, "-lkjs")
|
|
AC_SUBST(LIB_SMB, "-lsmb")
|
|
AC_SUBST(LIB_KAB, "-lkab")
|
|
AC_SUBST(LIB_KABC, "-lkabc")
|
|
AC_SUBST(LIB_KHTML, "-lkhtml")
|
|
AC_SUBST(LIB_KSPELL, "-lkspell")
|
|
AC_SUBST(LIB_KPARTS, "-lkparts")
|
|
AC_SUBST(LIB_TDEPRINT, "-ltdeprint")
|
|
AC_SUBST(LIB_KUTILS, "-lkutils")
|
|
AC_SUBST(LIB_TDEPIM, "-ltdepim")
|
|
AC_SUBST(LIB_KIMPROXY, "-lkimproxy")
|
|
AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff")
|
|
AC_SUBST(LIB_KDNSSD, "-lkdnssd")
|
|
AC_SUBST(LIB_KUNITTEST, "-lkunittest")
|
|
# these are for backward compatibility
|
|
AC_SUBST(LIB_KSYCOCA, "-lkio")
|
|
AC_SUBST(LIB_KFILE, "-lkio")
|
|
elif test $kde_qtver = 2; then
|
|
AC_SUBST(LIB_TDECORE, "-ltdecore")
|
|
AC_SUBST(LIB_TDEUI, "-ltdeui")
|
|
AC_SUBST(LIB_KIO, "-lkio")
|
|
AC_SUBST(LIB_KSYCOCA, "-lksycoca")
|
|
AC_SUBST(LIB_SMB, "-lsmb")
|
|
AC_SUBST(LIB_KFILE, "-lkfile")
|
|
AC_SUBST(LIB_KAB, "-lkab")
|
|
AC_SUBST(LIB_KHTML, "-lkhtml")
|
|
AC_SUBST(LIB_KSPELL, "-lkspell")
|
|
AC_SUBST(LIB_KPARTS, "-lkparts")
|
|
AC_SUBST(LIB_TDEPRINT, "-ltdeprint")
|
|
else
|
|
AC_SUBST(LIB_TDECORE, "-ltdecore -lXext $(LIB_QT)")
|
|
AC_SUBST(LIB_TDEUI, "-ltdeui $(LIB_TDECORE)")
|
|
AC_SUBST(LIB_KFM, "-lkfm $(LIB_TDECORE)")
|
|
AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_TDEUI)")
|
|
AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_TDECORE)")
|
|
fi
|
|
])
|
|
|
|
AC_DEFUN([AC_PATH_KDE],
|
|
[
|
|
AC_BASE_PATH_KDE
|
|
AC_ARG_ENABLE(path-check,AC_HELP_STRING([--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
|
|
])
|
|
|
|
dnl KDE_CHECK_FUNC_EXT(<func>, [headers], [sample-use], [C prototype], [autoheader define], [call if found])
|
|
AC_DEFUN([KDE_CHECK_FUNC_EXT],
|
|
[
|
|
AC_MSG_CHECKING(for $1)
|
|
AC_CACHE_VAL(kde_cv_func_$1,
|
|
[
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
save_CXXFLAGS="$CXXFLAGS"
|
|
kde_safe_LIBS="$LIBS"
|
|
LIBS="$LIBS $X_EXTRA_LIBS"
|
|
if test "$GXX" = "yes"; then
|
|
CXXFLAGS="$CXXFLAGS -pedantic-errors"
|
|
fi
|
|
AC_TRY_COMPILE([
|
|
$2
|
|
],
|
|
[
|
|
$3
|
|
],
|
|
kde_cv_func_$1=yes,
|
|
kde_cv_func_$1=no)
|
|
CXXFLAGS="$save_CXXFLAGS"
|
|
LIBS="$kde_safe_LIBS"
|
|
AC_LANG_RESTORE
|
|
])
|
|
|
|
AC_MSG_RESULT($kde_cv_func_$1)
|
|
|
|
AC_MSG_CHECKING([if $1 needs custom prototype])
|
|
AC_CACHE_VAL(kde_cv_proto_$1,
|
|
[
|
|
if test "x$kde_cv_func_$1" = xyes; then
|
|
kde_cv_proto_$1=no
|
|
else
|
|
case "$1" in
|
|
setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat)
|
|
kde_cv_proto_$1="yes - in libtdefakes"
|
|
;;
|
|
*)
|
|
kde_cv_proto_$1=unknown
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
if test "x$kde_cv_proto_$1" = xunknown; then
|
|
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
kde_safe_libs=$LIBS
|
|
LIBS="$LIBS $X_EXTRA_LIBS"
|
|
AC_TRY_LINK([
|
|
$2
|
|
|
|
extern "C" $4;
|
|
],
|
|
[
|
|
$3
|
|
],
|
|
[ kde_cv_func_$1=yes
|
|
kde_cv_proto_$1=yes ],
|
|
[kde_cv_proto_$1="$1 unavailable"]
|
|
)
|
|
LIBS=$kde_safe_libs
|
|
AC_LANG_RESTORE
|
|
fi
|
|
])
|
|
AC_MSG_RESULT($kde_cv_proto_$1)
|
|
|
|
if test "x$kde_cv_func_$1" = xyes; then
|
|
AC_DEFINE(HAVE_$5, 1, [Define if you have $1])
|
|
$6
|
|
fi
|
|
if test "x$kde_cv_proto_$1" = xno; then
|
|
AC_DEFINE(HAVE_$5_PROTO, 1,
|
|
[Define if you have the $1 prototype])
|
|
fi
|
|
|
|
AH_VERBATIM([_HAVE_$5_PROTO],
|
|
[
|
|
#if !defined(HAVE_$5_PROTO)
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
$4;
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|
|
])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_SETENV],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(setenv, [
|
|
#include <stdlib.h>
|
|
],
|
|
[setenv("VAR", "VALUE", 1);],
|
|
[int setenv (const char *, const char *, int)],
|
|
[SETENV])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_UNSETENV],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(unsetenv, [
|
|
#include <stdlib.h>
|
|
],
|
|
[unsetenv("VAR");],
|
|
[void unsetenv (const char *)],
|
|
[UNSETENV])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_GETDOMAINNAME],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(getdomainname, [
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
#include <netdb.h>
|
|
],
|
|
[
|
|
char buffer[200];
|
|
getdomainname(buffer, 200);
|
|
],
|
|
[#include <sys/types.h>
|
|
int getdomainname (char *, size_t)],
|
|
[GETDOMAINNAME])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_GETHOSTNAME],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(gethostname, [
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
],
|
|
[
|
|
char buffer[200];
|
|
gethostname(buffer, 200);
|
|
],
|
|
[int gethostname (char *, unsigned int)],
|
|
[GETHOSTNAME])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_USLEEP],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(usleep, [
|
|
#include <unistd.h>
|
|
],
|
|
[
|
|
usleep(200);
|
|
],
|
|
[int usleep (unsigned int)],
|
|
[USLEEP])
|
|
])
|
|
|
|
|
|
AC_DEFUN([AC_CHECK_RANDOM],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(random, [
|
|
#include <stdlib.h>
|
|
],
|
|
[
|
|
random();
|
|
],
|
|
[long int random(void)],
|
|
[RANDOM])
|
|
|
|
KDE_CHECK_FUNC_EXT(srandom, [
|
|
#include <stdlib.h>
|
|
],
|
|
[
|
|
srandom(27);
|
|
],
|
|
[void srandom(unsigned int)],
|
|
[SRANDOM])
|
|
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_INITGROUPS],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(initgroups, [
|
|
#include <sys/types.h>
|
|
#include <unistd.h>
|
|
#include <grp.h>
|
|
],
|
|
[
|
|
char buffer[200];
|
|
initgroups(buffer, 27);
|
|
],
|
|
[int initgroups(const char *, gid_t)],
|
|
[INITGROUPS])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_MKSTEMPS],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(mkstemps, [
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
],
|
|
[
|
|
mkstemps("/tmp/aaaXXXXXX", 6);
|
|
],
|
|
[int mkstemps(char *, int)],
|
|
[MKSTEMPS])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_MKSTEMP],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(mkstemp, [
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
],
|
|
[
|
|
mkstemp("/tmp/aaaXXXXXX");
|
|
],
|
|
[int mkstemp(char *)],
|
|
[MKSTEMP])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_MKDTEMP],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(mkdtemp, [
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
],
|
|
[
|
|
mkdtemp("/tmp/aaaXXXXXX");
|
|
],
|
|
[char *mkdtemp(char *)],
|
|
[MKDTEMP])
|
|
])
|
|
|
|
|
|
AC_DEFUN([AC_CHECK_RES_INIT],
|
|
[
|
|
AC_MSG_CHECKING([if res_init needs -lresolv])
|
|
kde_libs_safe="$LIBS"
|
|
LIBS="$LIBS $X_EXTRA_LIBS -lresolv"
|
|
AC_TRY_LINK(
|
|
[
|
|
#include <sys/types.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/nameser.h>
|
|
#include <resolv.h>
|
|
],
|
|
[
|
|
res_init();
|
|
],
|
|
[
|
|
LIBRESOLV="-lresolv"
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
|
|
],
|
|
[ AC_MSG_RESULT(no) ]
|
|
)
|
|
LIBS=$kde_libs_safe
|
|
AC_SUBST(LIBRESOLV)
|
|
|
|
KDE_CHECK_FUNC_EXT(res_init,
|
|
[
|
|
#include <sys/types.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/nameser.h>
|
|
#include <resolv.h>
|
|
],
|
|
[res_init()],
|
|
[int res_init(void)],
|
|
[RES_INIT])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_STRLCPY],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(strlcpy, [
|
|
#include <string.h>
|
|
],
|
|
[ char buf[20];
|
|
strlcpy(buf, "KDE function test", sizeof(buf));
|
|
],
|
|
[unsigned long strlcpy(char*, const char*, unsigned long)],
|
|
[STRLCPY])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_STRLCAT],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(strlcat, [
|
|
#include <string.h>
|
|
],
|
|
[ char buf[20];
|
|
buf[0]='\0';
|
|
strlcat(buf, "KDE function test", sizeof(buf));
|
|
],
|
|
[unsigned long strlcat(char*, const char*, unsigned long)],
|
|
[STRLCAT])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_RES_QUERY],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(res_query, [
|
|
#include <sys/types.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/nameser.h>
|
|
#include <resolv.h>
|
|
#include <netdb.h>
|
|
],
|
|
[
|
|
res_query(NULL, 0, 0, NULL, 0);
|
|
],
|
|
[int res_query(const char *, int, int, unsigned char *, int)],
|
|
[RES_QUERY])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_DN_SKIPNAME],
|
|
[
|
|
KDE_CHECK_FUNC_EXT(dn_skipname, [
|
|
#include <sys/types.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/nameser.h>
|
|
#include <resolv.h>
|
|
],
|
|
[
|
|
dn_skipname (NULL, NULL);
|
|
],
|
|
[int dn_skipname (unsigned char *, unsigned char *)],
|
|
[DN_SKIPNAME])
|
|
])
|
|
|
|
|
|
AC_DEFUN([AC_FIND_GIF],
|
|
[AC_MSG_CHECKING([for giflib])
|
|
AC_CACHE_VAL(ac_cv_lib_gif,
|
|
[ac_save_LIBS="$LIBS"
|
|
if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
|
|
LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
|
|
else
|
|
LIBS="$all_libraries -lgif"
|
|
fi
|
|
AC_TRY_LINK(dnl
|
|
[
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
int GifLastError(void);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
/* We use char because int might match the return type of a gcc2
|
|
builtin and then its argument prototype would still apply. */
|
|
],
|
|
[return GifLastError();],
|
|
eval "ac_cv_lib_gif=yes",
|
|
eval "ac_cv_lib_gif=no")
|
|
LIBS="$ac_save_LIBS"
|
|
])dnl
|
|
if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
|
|
else
|
|
AC_MSG_ERROR(You need giflib30. Please install the tdesupport package)
|
|
fi
|
|
])
|
|
|
|
AC_DEFUN([KDE_FIND_JPEG_HELPER],
|
|
[
|
|
AC_MSG_CHECKING([for libjpeg$2])
|
|
AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
|
|
[
|
|
ac_save_LIBS="$LIBS"
|
|
LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
|
|
ac_save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
|
|
AC_TRY_LINK(
|
|
[
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
void jpeg_CreateDecompress();
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
],
|
|
[jpeg_CreateDecompress();],
|
|
eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
|
|
eval "ac_cv_lib_jpeg_$1=no")
|
|
LIBS="$ac_save_LIBS"
|
|
CFLAGS="$ac_save_CFLAGS"
|
|
])
|
|
|
|
if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
|
|
LIBJPEG="$ac_cv_lib_jpeg_$1"
|
|
AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
$3
|
|
fi
|
|
|
|
])
|
|
|
|
AC_DEFUN([AC_FIND_JPEG],
|
|
[
|
|
dnl first look for libraries
|
|
KDE_FIND_JPEG_HELPER(6b, 6b,
|
|
KDE_FIND_JPEG_HELPER(normal, [],
|
|
[
|
|
LIBJPEG=
|
|
]
|
|
)
|
|
)
|
|
|
|
dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
|
|
dnl requires system dependent includes loaded before it)
|
|
jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes"
|
|
AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
|
|
test "x$jpeg_incdir" = xNO && jpeg_incdir=
|
|
|
|
dnl if headers _and_ libraries are missing, this is no error, and we
|
|
dnl continue with a warning (the user will get no jpeg support in khtml)
|
|
dnl if only one is missing, it means a configuration error, but we still
|
|
dnl only warn
|
|
if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
|
|
AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
|
|
else
|
|
if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
|
|
AC_MSG_WARN([
|
|
There is an installation error in jpeg support. You seem to have only one
|
|
of either the headers _or_ the libraries installed. You may need to either
|
|
provide correct --with-extra-... options, or the development package of
|
|
libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
|
|
Disabling JPEG support.
|
|
])
|
|
else
|
|
AC_MSG_WARN([libjpeg not found. disable JPEG support.])
|
|
fi
|
|
jpeg_incdir=
|
|
LIBJPEG=
|
|
fi
|
|
|
|
AC_SUBST(LIBJPEG)
|
|
AH_VERBATIM(_AC_CHECK_JPEG,
|
|
[/*
|
|
* jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
|
|
* headers and I'm too lazy to write a configure test as long as only
|
|
* unixware is related
|
|
*/
|
|
#ifdef _UNIXWARE
|
|
#define HAVE_BOOLEAN
|
|
#endif
|
|
])
|
|
])
|
|
|
|
AC_DEFUN([KDE_CHECK_QT_JPEG],
|
|
[
|
|
if test -n "$LIBJPEG"; then
|
|
AC_MSG_CHECKING([if Qt needs $LIBJPEG])
|
|
AC_CACHE_VAL(kde_cv_qt_jpeg,
|
|
[
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
ac_save_LIBS="$LIBS"
|
|
LIBS="$all_libraries $USER_LDFLAGS $LIBQT"
|
|
LIBS=`echo $LIBS | sed "s/$LIBJPEG//"`
|
|
ac_save_CXXFLAGS="$CXXFLAGS"
|
|
CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
|
|
AC_TRY_LINK(
|
|
[#include <qapplication.h>],
|
|
[
|
|
int argc;
|
|
char** argv;
|
|
QApplication app(argc, argv);],
|
|
eval "kde_cv_qt_jpeg=no",
|
|
eval "kde_cv_qt_jpeg=yes")
|
|
LIBS="$ac_save_LIBS"
|
|
CXXFLAGS="$ac_save_CXXFLAGS"
|
|
AC_LANG_RESTORE
|
|
fi
|
|
])
|
|
|
|
if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then
|
|
AC_MSG_RESULT(yes)
|
|
LIBJPEG_QT='$(LIBJPEG)'
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
LIBJPEG_QT=
|
|
fi
|
|
|
|
])
|
|
|
|
AC_DEFUN([AC_FIND_ZLIB],
|
|
[
|
|
AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
|
|
AC_MSG_CHECKING([for libz])
|
|
AC_CACHE_VAL(ac_cv_lib_z,
|
|
[
|
|
kde_save_LIBS="$LIBS"
|
|
LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
|
|
kde_save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
|
|
AC_TRY_LINK(dnl
|
|
[
|
|
#include<zlib.h>
|
|
],
|
|
[
|
|
char buf[42];
|
|
gzFile f = (gzFile) 0;
|
|
/* this would segfault.. but we only link, don't run */
|
|
(void) gzgets(f, buf, sizeof(buf));
|
|
|
|
return (zlibVersion() == ZLIB_VERSION);
|
|
],
|
|
eval "ac_cv_lib_z='-lz'",
|
|
eval "ac_cv_lib_z=no")
|
|
LIBS="$kde_save_LIBS"
|
|
CFLAGS="$kde_save_CFLAGS"
|
|
])dnl
|
|
if test ! "$ac_cv_lib_z" = no; then
|
|
AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
|
|
LIBZ="$ac_cv_lib_z"
|
|
AC_MSG_RESULT($ac_cv_lib_z)
|
|
else
|
|
AC_MSG_ERROR(not found.
|
|
Possibly configure picks up an outdated version
|
|
installed by XFree86. Remove it from your system.
|
|
|
|
Check your installation and look into config.log)
|
|
LIBZ=""
|
|
fi
|
|
AC_SUBST(LIBZ)
|
|
])
|
|
|
|
AC_DEFUN([KDE_TRY_TIFFLIB],
|
|
[
|
|
AC_MSG_CHECKING([for libtiff $1])
|
|
|
|
AC_CACHE_VAL(kde_cv_libtiff_$1,
|
|
[
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
kde_save_LIBS="$LIBS"
|
|
if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
|
|
LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
|
|
else
|
|
LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm"
|
|
fi
|
|
kde_save_CXXFLAGS="$CXXFLAGS"
|
|
CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
|
|
|
|
AC_TRY_LINK(dnl
|
|
[
|
|
#include<tiffio.h>
|
|
],
|
|
[return (TIFFOpen( "", "r") == 0); ],
|
|
[
|
|
kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
|
|
], [
|
|
kde_cv_libtiff_$1=no
|
|
])
|
|
|
|
LIBS="$kde_save_LIBS"
|
|
CXXFLAGS="$kde_save_CXXFLAGS"
|
|
AC_LANG_RESTORE
|
|
])
|
|
|
|
if test "$kde_cv_libtiff_$1" = "no"; then
|
|
AC_MSG_RESULT(no)
|
|
LIBTIFF=""
|
|
$3
|
|
else
|
|
LIBTIFF="$kde_cv_libtiff_$1"
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
|
|
$2
|
|
fi
|
|
|
|
])
|
|
|
|
AC_DEFUN([AC_FIND_TIFF],
|
|
[
|
|
AC_REQUIRE([K_PATH_X])
|
|
AC_REQUIRE([AC_FIND_ZLIB])
|
|
AC_REQUIRE([AC_FIND_JPEG])
|
|
AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
|
|
|
|
KDE_TRY_TIFFLIB(tiff, [],
|
|
KDE_TRY_TIFFLIB(tiff34))
|
|
|
|
AC_SUBST(LIBTIFF)
|
|
])
|
|
|
|
AC_DEFUN([KDE_FIND_LIBEXR],
|
|
[
|
|
AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
|
|
AC_REQUIRE([AC_FIND_ZLIB])
|
|
AC_CACHE_VAL(ac_cv_libexr,
|
|
[
|
|
if test -z "$PKG_CONFIG"; then
|
|
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for OpenEXR libraries])
|
|
|
|
if test "$PKG_CONFIG" = "no" ; then
|
|
AC_MSG_RESULT(no)
|
|
echo "*** The pkg-config script could not be found. Make sure it is"
|
|
echo "*** in your path, or set the PKG_CONFIG environment variable"
|
|
echo "*** to the full path to pkg-config."
|
|
echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
|
|
else
|
|
if !(`$PKG_CONFIG --exists OpenEXR`) ; then
|
|
AC_MSG_RESULT(no)
|
|
EXRSTATUS=no
|
|
else
|
|
if !(`$PKG_CONFIG --atleast-version="1.1.1" OpenEXR`) ; then
|
|
AC_MSG_RESULT(no)
|
|
EXRSTATUS=old
|
|
else
|
|
kde_save_LIBS="$LIBS"
|
|
LIBS="$LIBS $all_libraries $USER_LDFLAGS `pkg-config --libs OpenEXR` $LIBZ"
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
kde_save_CXXFLAGS="$CXXFLAGS"
|
|
EXR_FLAGS=`$PKG_CONFIG --cflags OpenEXR`
|
|
CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES $EXR_FLAGS"
|
|
|
|
AC_TRY_LINK(dnl
|
|
[
|
|
#include <ImfRgbaFile.h>
|
|
],
|
|
[
|
|
using namespace Imf;
|
|
RgbaInputFile file ("dummy");
|
|
return 0;
|
|
],
|
|
eval "ac_cv_libexr='`pkg-config --libs OpenEXR`'",
|
|
eval "ac_cv_libexr=no"
|
|
)
|
|
LIBS="$kde_save_LIBS"
|
|
CXXFLAGS="$kde_save_CXXFLAGS"
|
|
AC_LANG_RESTORE
|
|
])dnl
|
|
if eval "test ! \"`echo $ac_cv_libexr`\" = no"; then
|
|
AC_DEFINE_UNQUOTED(HAVE_EXR, 1, [Define if you have OpenEXR])
|
|
LIB_EXR="$ac_cv_libexr"
|
|
AC_MSG_RESULT($ac_cv_libexr)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
LIB_EXR=""
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
AC_SUBST(LIB_EXR)
|
|
AC_SUBST(EXR_FLAGS)
|
|
])
|
|
|
|
|
|
|
|
AC_DEFUN([AC_FIND_PNG],
|
|
[
|
|
AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
|
|
AC_REQUIRE([AC_FIND_ZLIB])
|
|
AC_MSG_CHECKING([for libpng])
|
|
AC_CACHE_VAL(ac_cv_lib_png,
|
|
[
|
|
kde_save_LIBS="$LIBS"
|
|
if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
|
|
LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
|
|
else
|
|
LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
|
|
fi
|
|
kde_save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
|
|
|
|
AC_TRY_LINK(dnl
|
|
[
|
|
#include<png.h>
|
|
],
|
|
[
|
|
png_structp png_ptr = png_create_read_struct( /* image ptr */
|
|
PNG_LIBPNG_VER_STRING, 0, 0, 0 );
|
|
return( png_ptr != 0 );
|
|
],
|
|
eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
|
|
eval "ac_cv_lib_png=no"
|
|
)
|
|
LIBS="$kde_save_LIBS"
|
|
CFLAGS="$kde_save_CFLAGS"
|
|
])dnl
|
|
if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
|
|
AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
|
|
LIBPNG="$ac_cv_lib_png"
|
|
AC_SUBST(LIBPNG)
|
|
AC_MSG_RESULT($ac_cv_lib_png)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
LIBPNG=""
|
|
AC_SUBST(LIBPNG)
|
|
fi
|
|
])
|
|
|
|
|
|
AC_DEFUN([AC_FIND_JASPER],
|
|
[
|
|
AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
|
|
AC_REQUIRE([AC_FIND_JPEG])
|
|
AC_MSG_CHECKING([for jasper])
|
|
AC_CACHE_VAL(ac_cv_jasper,
|
|
[
|
|
kde_save_LIBS="$LIBS"
|
|
LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm"
|
|
kde_save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
|
|
|
|
AC_TRY_LINK(dnl
|
|
[
|
|
#include<jasper/jasper.h>
|
|
],
|
|
[
|
|
return( jas_init() );
|
|
],
|
|
eval "ac_cv_jasper='-ljasper $LIBJPEG -lm'",
|
|
eval "ac_cv_jasper=no"
|
|
)
|
|
LIBS="$kde_save_LIBS"
|
|
CFLAGS="$kde_save_CFLAGS"
|
|
])dnl
|
|
if eval "test ! \"`echo $ac_cv_jasper`\" = no"; then
|
|
AC_DEFINE_UNQUOTED(HAVE_JASPER, 1, [Define if you have jasper])
|
|
LIB_JASPER="$ac_cv_jasper"
|
|
AC_MSG_RESULT($ac_cv_jasper)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
LIB_JASPER=""
|
|
fi
|
|
AC_SUBST(LIB_JASPER)
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_BOOL],
|
|
[
|
|
AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_GNU_EXTENSIONS],
|
|
[
|
|
AC_MSG_CHECKING(if you need GNU extensions)
|
|
AC_CACHE_VAL(ac_cv_gnu_extensions,
|
|
[
|
|
cat > conftest.c << EOF
|
|
#include <features.h>
|
|
|
|
#ifdef __GNU_LIBRARY__
|
|
yes
|
|
#endif
|
|
EOF
|
|
|
|
if (eval "$ac_cpp conftest.c") 2>&5 |
|
|
egrep "yes" >/dev/null 2>&1; then
|
|
rm -rf conftest*
|
|
ac_cv_gnu_extensions=yes
|
|
else
|
|
ac_cv_gnu_extensions=no
|
|
fi
|
|
])
|
|
|
|
AC_MSG_RESULT($ac_cv_gnu_extensions)
|
|
if test "$ac_cv_gnu_extensions" = "yes"; then
|
|
AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
|
|
fi
|
|
])
|
|
|
|
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
|
|
])
|
|
|
|
AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG],
|
|
[
|
|
AC_MSG_CHECKING([whether $CC supports -$1])
|
|
kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
|
|
AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache,
|
|
[
|
|
AC_LANG_SAVE
|
|
AC_LANG_C
|
|
save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS -$1"
|
|
AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], [])
|
|
CFLAGS="$save_CFLAGS"
|
|
AC_LANG_RESTORE
|
|
])
|
|
if eval "test \"`echo '$kde_cv_prog_cc_'$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
|
|
])
|
|
|
|
|
|
AC_DEFUN([KDE_CHECK_FOR_BAD_COMPILER],
|
|
[
|
|
AC_MSG_CHECKING([whether $CC is blacklisted])
|
|
|
|
dnl In theory we have tu run this test against $CC and $CXX
|
|
dnl in C and in C++ mode, because its perfectly legal for
|
|
dnl the user to mix compiler versions, since C has a defined
|
|
dnl ABI.
|
|
dnl
|
|
dnl For now, we assume the user is not on crack.
|
|
|
|
AC_TRY_COMPILE([
|
|
#ifdef __GNUC__
|
|
#if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0
|
|
choke me
|
|
#endif
|
|
#endif
|
|
], ,
|
|
kde_bad_compiler=no,
|
|
kde_bad_compiler=yes
|
|
)
|
|
|
|
AC_MSG_RESULT($kde_bad_compiler)
|
|
|
|
if test "$kde_bad_compiler" = "yes"; then
|
|
AC_MSG_ERROR([
|
|
|
|
This particular compiler version is blacklisted because it
|
|
is known to miscompile KDE. Please use a newer version, or
|
|
if that is not yet available, choose an older version.
|
|
|
|
Please do not report a bug or bother us reporting this
|
|
configure error. We know about it, and we introduced
|
|
it by intention to avoid untraceable bugs or crashes in KDE.
|
|
|
|
])
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
AC_DEFUN([KDE_CHECK_FOR_OPT_NOINLINE_MATCH],
|
|
[
|
|
AC_CACHE_CHECK([whether system headers can cope with -O2 -fno-inline],
|
|
kde_cv_opt_noinline_match,
|
|
[
|
|
kde_cv_opt_noinline_match=irrelevant
|
|
dnl if we don't use both -O2 and -fno-inline, this check is moot
|
|
if echo "$CFLAGS" | grep -e -O2 >/dev/null 2>/dev/null \
|
|
&& echo "$CFLAGS" | grep -e -fno-inline >/dev/null 2>/dev/null ; then
|
|
|
|
ac_cflags_save="$CFLAGS"
|
|
CFLAGS="$CFLAGS -D_USE_GNU"
|
|
|
|
AC_TRY_LINK([
|
|
#include <string.h>
|
|
], [ const char *pt, *et;
|
|
et = __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p ( ";," ) && ((size_t)(const void *)(( ";," )+ 1) - (size_t)(const void *)( ";," ) == 1) ? ((__a0 =((__const char *) ( ";," ))[0], __a0 == '\0') ? ((void) ( pt ),((void *)0) ) : ((__a1 = ((__const char *) ( ";," ))[1], __a1== '\0') ? (__extension__ (__builtin_constant_p ( __a0 ) && ( __a0 ) == '\0' ? (char *) __rawmemchr ( pt , __a0) : strchr( pt , __a0 ))) : ((__a2 = ((__const char *) ( ";," ))[2], __a2 == '\0') ? __strpbrk_c2 ( pt , __a0, __a1) :(((__const char *) ( ";," ))[3] == '\0' ? __strpbrk_c3 ( pt ,__a0, __a1, __a2): strpbrk ( pt , ";," ))))) : strpbrk ( pt , ";," )); }) ;
|
|
],
|
|
kde_cv_opt_noinline_match=yes,
|
|
kde_cv_opt_noinline_match=no
|
|
)
|
|
|
|
CFLAGS="$ac_cflags_save"
|
|
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,
|
|
AC_HELP_STRING([--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,
|
|
AC_HELP_STRING([--disable-debug],
|
|
[disables debug output and debug symbols [default=no]]),
|
|
[],[])
|
|
|
|
AC_ARG_ENABLE(strict,
|
|
AC_HELP_STRING([--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,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]),
|
|
[
|
|
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,AC_HELP_STRING([--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 -fno-inline $CFLAGS"
|
|
else
|
|
CFLAGS="-g -O2 -fno-schedule-insns -fno-inline $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
|
|
|
|
KDE_CHECK_FOR_BAD_COMPILER
|
|
|
|
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 -Wwrite-strings $CXXFLAGS"
|
|
else
|
|
if test "$kde_use_debug_code" = "full"; then
|
|
CXXFLAGS="-g3 -fno-inline $CXXFLAGS"
|
|
else
|
|
CXXFLAGS="-g -O2 -fno-schedule-insns -fno-inline $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
|
|
|
|
if test "$kde_use_warnings" = "yes"; then
|
|
if test "$GCC" = "yes"; then
|
|
CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS"
|
|
case $host in
|
|
*-*-linux-gnu)
|
|
CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
|
|
CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts $CXXFLAGS"
|
|
KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"])
|
|
KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"])
|
|
;;
|
|
esac
|
|
KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"])
|
|
KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"])
|
|
dnl ### FIXME: revert for KDE 4
|
|
KDE_CHECK_COMPILER_FLAG(Wno-non-virtual-dtor,[CXXFLAGS="$CXXFLAGS -Wno-non-virtual-dtor"])
|
|
fi
|
|
fi
|
|
|
|
if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then
|
|
CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
|
|
fi
|
|
|
|
AC_ARG_ENABLE(pch,
|
|
AC_HELP_STRING([--enable-pch],
|
|
[enables precompiled header support (currently only KCC or gcc >=3.4+unsermake) [default=no]]),
|
|
[ kde_use_pch=$enableval ],[ kde_use_pch=no ])
|
|
|
|
HAVE_GCC_VISIBILITY=0
|
|
AC_SUBST([HAVE_GCC_VISIBILITY])
|
|
|
|
if test "$GXX" = "yes"; then
|
|
gcc_no_reorder_blocks=NO
|
|
KDE_CHECK_COMPILER_FLAG(fno-reorder-blocks,[gcc_no_reorder_blocks=YES])
|
|
if test $kde_use_debug_code != "no" && \
|
|
test $kde_use_debug_code != "full" && \
|
|
test "YES" = "$gcc_no_reorder_blocks" ; then
|
|
CXXFLAGS="$CXXFLAGS -fno-reorder-blocks"
|
|
CFLAGS="$CFLAGS -fno-reorder-blocks"
|
|
fi
|
|
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(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"])
|
|
KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= )
|
|
ENABLE_PERMISSIVE_FLAG="-fpermissive"
|
|
|
|
if test "$kde_use_pch" = "yes"; then
|
|
AC_MSG_CHECKING(whether gcc supports precompiling c header files)
|
|
echo >conftest.h
|
|
if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then
|
|
kde_gcc_supports_pch=yes
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
kde_gcc_supports_pch=no
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
if test "$kde_gcc_supports_pch" = "yes"; then
|
|
AC_MSG_CHECKING(whether gcc supports precompiling c++ header files)
|
|
if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then
|
|
kde_gcc_supports_pch=yes
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
kde_gcc_supports_pch=no
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
fi
|
|
rm -f conftest.h conftest.h.gch
|
|
fi
|
|
|
|
KDE_CHECK_FOR_OPT_NOINLINE_MATCH
|
|
if test "x$kde_cv_opt_noinline_match" = "xno" ; then
|
|
CFLAGS="`echo "$CFLAGS" | sed "s/ -fno-inline//"`"
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
|
|
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= )
|
|
|
|
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_CFLAGS=-O0
|
|
fi
|
|
KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0])
|
|
|
|
AC_ARG_ENABLE(coverage,
|
|
AC_HELP_STRING([--enable-coverage],[use gcc coverage testing]), [
|
|
if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then
|
|
ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
|
|
ac_coverage_linker="-lgcc"
|
|
elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then
|
|
ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
|
|
ac_coverage_linker=""
|
|
else
|
|
AC_MSG_ERROR([coverage with your compiler is not supported])
|
|
fi
|
|
CFLAGS="$CFLAGS $ac_coverage_compiler"
|
|
CXXFLAGS="$CXXFLAGS $ac_coverage_compiler"
|
|
LDFLAGS="$LDFLAGS $ac_coverage_linker"
|
|
])
|
|
|
|
AC_SUBST(NOOPT_CXXFLAGS)
|
|
AC_SUBST(NOOPT_CFLAGS)
|
|
AC_SUBST(ENABLE_PERMISSIVE_FLAG)
|
|
|
|
KDE_CHECK_NEW_LDFLAGS
|
|
KDE_CHECK_FINAL
|
|
KDE_CHECK_CLOSURE
|
|
KDE_CHECK_NMCHECK
|
|
|
|
ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
|
|
])
|
|
|
|
AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG],
|
|
[
|
|
AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug,
|
|
[
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
safe_CXXFLAGS=$CXXFLAGS
|
|
safe_LDFLAGS=$LDFLAGS
|
|
CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0"
|
|
LDFLAGS="$LDFLAGS -shared -fPIC"
|
|
|
|
AC_TRY_LINK(
|
|
[
|
|
/* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
|
|
#include <string>
|
|
int some_function( void ) __attribute__ ((visibility("default")));
|
|
int some_function( void )
|
|
{
|
|
std::string s("blafasel");
|
|
return 0;
|
|
}
|
|
], [/* elvis is alive */],
|
|
kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes)
|
|
|
|
CXXFLAGS=$safe_CXXFLAGS
|
|
LDFLAGS=$safe_LDFLAGS
|
|
AC_LANG_RESTORE
|
|
]
|
|
)
|
|
|
|
if test x$kde_cv_val_gcc_visibility_bug = xno; then
|
|
CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
|
|
fi
|
|
]
|
|
)
|
|
|
|
AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY],
|
|
[
|
|
AC_BEFORE([AC_PATH_QT_1_3], [KDE_ENABLE_HIDDEN_VISIBILITY])
|
|
|
|
AC_MSG_CHECKING([grepping for visibility push/pop in headers])
|
|
|
|
if test "x$GXX" = "xyes"; then
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
AC_EGREP_CPP(
|
|
[GCC visibility push],
|
|
[ #include <exception>
|
|
],
|
|
[
|
|
AC_MSG_RESULT(yes)
|
|
kde_stdc_visibility_patched=yes ],
|
|
[
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_WARN([Your libstdc++ doesn't appear to be patched for
|
|
visibility support. Disabling -fvisibility=hidden])
|
|
|
|
kde_stdc_visibility_patched=no ])
|
|
|
|
AC_LANG_RESTORE
|
|
|
|
kde_have_gcc_visibility=no
|
|
KDE_CHECK_COMPILER_FLAG(fvisibility=hidden,
|
|
[
|
|
kde_have_gcc_visibility=yes
|
|
dnl the whole toolchain is just a mess, gcc is just too buggy
|
|
dnl to handle STL with visibility enabled. Lets reconsider
|
|
dnl when gcc 4.2 is out or when things get fixed in the compiler.
|
|
dnl Contact mueller@kde.org for details.
|
|
AC_ARG_ENABLE(gcc-hidden-visibility,
|
|
AC_HELP_STRING([--enable-gcc-hidden-visibility],[toolchain hidden visibility [default=no]]),
|
|
[kde_have_gcc_visibility=$enableval],
|
|
[kde_have_gcc_visibility=no])
|
|
|
|
AC_CACHE_CHECK([if Qt is patched for -fvisibility], kde_cv_val_qt_gcc_visibility_patched,
|
|
[
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
safe_CXXFLAGS=$CXXFLAGS
|
|
CXXFLAGS="$CXXFLAGS $all_includes"
|
|
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#include <qglobal.h>
|
|
#if Q_EXPORT - 0 != 0
|
|
/* if this compiles, then Q_EXPORT is undefined */
|
|
/* if Q_EXPORT is nonempty, this will break compilation */
|
|
#endif
|
|
], [/* elvis is alive */],
|
|
kde_cv_val_qt_gcc_visibility_patched=no, kde_cv_val_qt_gcc_visibility_patched=yes)
|
|
|
|
CXXFLAGS=$safe_CXXFLAGS
|
|
AC_LANG_RESTORE
|
|
]
|
|
)
|
|
|
|
if test x$kde_have_gcc_visibility = "xyes" && test x$kde_stdc_visibility_patched = "xyes" && test x$kde_cv_val_qt_gcc_visibility_patched = "xyes"; then
|
|
CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
|
|
KDE_CHECK_VISIBILITY_GCC_BUG
|
|
HAVE_GCC_VISIBILITY=1
|
|
AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported])
|
|
fi
|
|
])
|
|
fi
|
|
])
|
|
|
|
AC_DEFUN([KDE_ADD_DEPENDENCIES],
|
|
[
|
|
[A]M_DEPENDENCIES(CC)
|
|
[A]M_DEPENDENCIES(CXX)
|
|
])
|
|
|
|
dnl just a wrapper to clean up configure.in
|
|
AC_DEFUN([KDE_PROG_LIBTOOL],
|
|
[
|
|
AC_REQUIRE([AC_CHECK_COMPILERS])
|
|
AC_REQUIRE([AC_ENABLE_SHARED])
|
|
AC_REQUIRE([AC_ENABLE_STATIC])
|
|
|
|
AC_REQUIRE([AC_LIBTOOL_DLOPEN])
|
|
AC_REQUIRE([KDE_CHECK_LIB64])
|
|
|
|
AC_OBJEXT
|
|
AC_EXEEXT
|
|
|
|
AM_PROG_LIBTOOL
|
|
AC_LIBTOOL_CXX
|
|
|
|
LIBTOOL_SHELL="/bin/sh ./libtool"
|
|
# LIBTOOL="$LIBTOOL --silent"
|
|
KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
|
|
AC_SUBST(KDE_PLUGIN)
|
|
|
|
# This hack ensures that libtool creates shared libs for kunittest plugins. By default check_LTLIBRARIES makes static libs.
|
|
KDE_CHECK_PLUGIN="\$(KDE_PLUGIN) -rpath \$(libdir)"
|
|
AC_SUBST(KDE_CHECK_PLUGIN)
|
|
|
|
# we patch configure quite some so we better keep that consistent for incremental runs
|
|
AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure')
|
|
])
|
|
|
|
AC_DEFUN([KDE_CHECK_LIB64],
|
|
[
|
|
AC_ARG_ENABLE(libsuffix,
|
|
AC_HELP_STRING([--enable-libsuffix],
|
|
[/lib directory suffix (64,32,none,auto[=default])]),
|
|
tdelibsuff=$enableval, tdelibsuff="auto")
|
|
|
|
if test "$tdelibsuff" = "auto"; then
|
|
|
|
cat > conftest.c << EOF
|
|
#include <stdio.h>
|
|
int main() {
|
|
return 0;
|
|
}
|
|
EOF
|
|
tdelibsuff=`$CC conftest.c -o conftest.out; ldd conftest.out |sed -ne '/libc.so/{
|
|
s,.*/lib\([[^\/]]*\)/.*,\1,
|
|
p
|
|
}'`
|
|
rm -rf conftest.*
|
|
fi
|
|
|
|
if test "$tdelibsuff" = "no" || test "$tdelibsuff" = "none"; then
|
|
tdelibsuff=
|
|
fi
|
|
if test -z "$tdelibsuff"; then
|
|
AC_MSG_RESULT([not using lib directory suffix])
|
|
AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories)
|
|
else
|
|
if test "$libdir" = '${exec_prefix}/lib'; then
|
|
libdir="$libdir${tdelibsuff}"
|
|
AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms
|
|
fi
|
|
AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${tdelibsuff}"], Suffix for lib directories)
|
|
AC_MSG_RESULT([using lib directory suffix $tdelibsuff])
|
|
fi
|
|
])
|
|
|
|
AC_DEFUN([KDE_CHECK_TYPES],
|
|
[ AC_CHECK_SIZEOF(int, 4)dnl
|
|
AC_CHECK_SIZEOF(short)dnl
|
|
AC_CHECK_SIZEOF(long, 4)dnl
|
|
AC_CHECK_SIZEOF(char *, 4)dnl
|
|
])dnl
|
|
|
|
dnl Not used - kept for compat only?
|
|
AC_DEFUN([KDE_DO_IT_ALL],
|
|
[
|
|
AC_CANONICAL_SYSTEM
|
|
AC_ARG_PROGRAM
|
|
AM_INIT_AUTOMAKE($1, $2)
|
|
AM_DISABLE_LIBRARIES
|
|
AC_PREFIX_DEFAULT(${TDEDIR:-/usr/local/kde})
|
|
AC_CHECK_COMPILERS
|
|
KDE_PROG_LIBTOOL
|
|
AM_KDE_WITH_NLS
|
|
AC_PATH_KDE
|
|
])
|
|
|
|
AC_DEFUN([AC_CHECK_RPATH],
|
|
[
|
|
AC_MSG_CHECKING(for rpath)
|
|
AC_ARG_ENABLE(rpath,
|
|
AC_HELP_STRING([--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 \$(libdir)"
|
|
|
|
if test "$kde_libraries" != "$libdir"; then
|
|
KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)"
|
|
fi
|
|
|
|
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
|
|
X_RPATH="-R \$(x_libraries)"
|
|
KDE_RPATH="$KDE_RPATH $X_RPATH"
|
|
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_SUBST(X_RPATH)
|
|
AC_MSG_RESULT($USE_RPATH)
|
|
])
|
|
|
|
dnl Check for the type of the third argument of getsockname
|
|
AC_DEFUN([AC_CHECK_SOCKLEN_T],
|
|
[
|
|
AC_MSG_CHECKING(for socklen_t)
|
|
AC_CACHE_VAL(kde_cv_socklen_t,
|
|
[
|
|
AC_LANG_PUSH(C++)
|
|
kde_cv_socklen_t=no
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
],
|
|
[
|
|
socklen_t len;
|
|
getpeername(0,0,&len);
|
|
],
|
|
[
|
|
kde_cv_socklen_t=yes
|
|
kde_cv_socklen_t_equiv=socklen_t
|
|
])
|
|
AC_LANG_POP(C++)
|
|
])
|
|
AC_MSG_RESULT($kde_cv_socklen_t)
|
|
if test $kde_cv_socklen_t = no; then
|
|
AC_MSG_CHECKING([for socklen_t equivalent for socket functions])
|
|
AC_CACHE_VAL(kde_cv_socklen_t_equiv,
|
|
[
|
|
kde_cv_socklen_t_equiv=int
|
|
AC_LANG_PUSH(C++)
|
|
for t in int size_t unsigned long "unsigned long"; do
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
],
|
|
[
|
|
$t len;
|
|
getpeername(0,0,&len);
|
|
],
|
|
[
|
|
kde_cv_socklen_t_equiv="$t"
|
|
break
|
|
])
|
|
done
|
|
AC_LANG_POP(C++)
|
|
])
|
|
AC_MSG_RESULT($kde_cv_socklen_t_equiv)
|
|
fi
|
|
AC_DEFINE_UNQUOTED(kde_socklen_t, $kde_cv_socklen_t_equiv,
|
|
[type to use in place of socklen_t if not defined])
|
|
AC_DEFINE_UNQUOTED(ksize_t, $kde_cv_socklen_t_equiv,
|
|
[type to use in place of socklen_t if not defined (deprecated, use kde_socklen_t)])
|
|
])
|
|
|
|
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
|
|
|
|
AC_DEFUN([AM_KDE_WITH_NLS],
|
|
[
|
|
dnl If we use NLS figure out what method
|
|
|
|
AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
|
|
[test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
|
|
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
|
|
|
if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
|
|
AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
|
|
GMSGFMT=":"
|
|
fi
|
|
MSGFMT=$GMSGFMT
|
|
AC_SUBST(GMSGFMT)
|
|
AC_SUBST(MSGFMT)
|
|
|
|
AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
|
|
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
|
|
|
|
dnl Test whether we really found GNU xgettext.
|
|
if test "$XGETTEXT" != ":"; then
|
|
dnl If it is no GNU xgettext we define it as : so that the
|
|
dnl Makefiles still can work.
|
|
if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
|
|
: ;
|
|
else
|
|
AC_MSG_RESULT(
|
|
[found xgettext programs is not GNU xgettext; ignore it])
|
|
XGETTEXT=":"
|
|
fi
|
|
fi
|
|
AC_SUBST(XGETTEXT)
|
|
|
|
])
|
|
|
|
# Search path for a program which passes the given test.
|
|
# Ulrich Drepper <drepper@cygnus.com>, 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
|
|
])
|
|
|
|
|
|
# Check whether LC_MESSAGES is available in <locale.h>.
|
|
# Ulrich Drepper <drepper@cygnus.com>, 1995.
|
|
|
|
# serial 1
|
|
|
|
AC_DEFUN([AM_LC_MESSAGES],
|
|
[if test $ac_cv_header_locale_h = yes; then
|
|
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
|
|
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
|
|
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
|
|
if test $am_cv_val_LC_MESSAGES = yes; then
|
|
AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES])
|
|
fi
|
|
fi])
|
|
|
|
dnl From Jim Meyering.
|
|
dnl FIXME: migrate into libit.
|
|
|
|
AC_DEFUN([AM_FUNC_OBSTACK],
|
|
[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
|
|
[AC_TRY_LINK([#include "obstack.h"],
|
|
[struct obstack *mem;obstack_free(mem,(char *) 0)],
|
|
am_cv_func_obstack=yes,
|
|
am_cv_func_obstack=no)])
|
|
if test $am_cv_func_obstack = yes; then
|
|
AC_DEFINE(HAVE_OBSTACK)
|
|
else
|
|
LIBOBJS="$LIBOBJS obstack.o"
|
|
fi
|
|
])
|
|
|
|
dnl From Jim Meyering. Use this if you use the GNU error.[ch].
|
|
dnl FIXME: Migrate into libit
|
|
|
|
AC_DEFUN([AM_FUNC_ERROR_AT_LINE],
|
|
[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
|
|
[AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
|
|
am_cv_lib_error_at_line=yes,
|
|
am_cv_lib_error_at_line=no)])
|
|
if test $am_cv_lib_error_at_line = no; then
|
|
LIBOBJS="$LIBOBJS error.o"
|
|
fi
|
|
AC_SUBST(LIBOBJS)dnl
|
|
])
|
|
|
|
# Macro to add for using GNU gettext.
|
|
# Ulrich Drepper <drepper@cygnus.com>, 1995.
|
|
|
|
# serial 1
|
|
# Stephan Kulow: I put a KDE in it to avoid name conflicts
|
|
|
|
AC_DEFUN([AM_KDE_GNU_GETTEXT],
|
|
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
|
AC_REQUIRE([AC_PROG_RANLIB])dnl
|
|
AC_REQUIRE([AC_HEADER_STDC])dnl
|
|
AC_REQUIRE([AC_TYPE_OFF_T])dnl
|
|
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
|
|
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
|
|
AC_REQUIRE([AC_FUNC_MMAP])dnl
|
|
AC_REQUIRE([AM_KDE_WITH_NLS])dnl
|
|
AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h])
|
|
AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \
|
|
__argz_count __argz_stringify __argz_next])
|
|
|
|
AC_MSG_CHECKING(for stpcpy)
|
|
AC_CACHE_VAL(kde_cv_func_stpcpy,
|
|
[
|
|
kde_safe_cxxflags=$CXXFLAGS
|
|
CXXFLAGS="-Werror"
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
AC_TRY_COMPILE([
|
|
#include <string.h>
|
|
],
|
|
[
|
|
char buffer[200];
|
|
stpcpy(buffer, buffer);
|
|
],
|
|
kde_cv_func_stpcpy=yes,
|
|
kde_cv_func_stpcpy=no)
|
|
AC_LANG_RESTORE
|
|
CXXFLAGS=$kde_safe_cxxflags
|
|
])
|
|
AC_MSG_RESULT($kde_cv_func_stpcpy)
|
|
if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then
|
|
AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy])
|
|
fi
|
|
|
|
AM_LC_MESSAGES
|
|
|
|
if test "x$CATOBJEXT" != "x"; then
|
|
if test "x$ALL_LINGUAS" = "x"; then
|
|
LINGUAS=
|
|
else
|
|
AC_MSG_CHECKING(for catalogs to be installed)
|
|
NEW_LINGUAS=
|
|
for lang in ${LINGUAS=$ALL_LINGUAS}; do
|
|
case "$ALL_LINGUAS" in
|
|
*$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
|
|
esac
|
|
done
|
|
LINGUAS=$NEW_LINGUAS
|
|
AC_MSG_RESULT($LINGUAS)
|
|
fi
|
|
|
|
dnl Construct list of names of catalog files to be constructed.
|
|
if test -n "$LINGUAS"; then
|
|
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
|
|
fi
|
|
fi
|
|
|
|
])
|
|
|
|
AC_DEFUN([AC_HAVE_XPM],
|
|
[AC_REQUIRE_CPP()dnl
|
|
AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
|
|
|
|
test -z "$XPM_LDFLAGS" && XPM_LDFLAGS=
|
|
test -z "$XPM_INCLUDE" && XPM_INCLUDE=
|
|
|
|
AC_ARG_WITH(xpm,AC_HELP_STRING([--without-xpm],[disable color pixmap XPM tests]),
|
|
xpm_test=$withval, xpm_test="yes")
|
|
if test "x$xpm_test" = xno; then
|
|
ac_cv_have_xpm=no
|
|
else
|
|
AC_MSG_CHECKING(for XPM)
|
|
AC_CACHE_VAL(ac_cv_have_xpm,
|
|
[
|
|
ac_save_ldflags="$LDFLAGS"
|
|
ac_save_cflags="$CFLAGS"
|
|
if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
|
|
LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
|
|
else
|
|
LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET"
|
|
fi
|
|
CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
|
|
test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
|
|
AC_TRY_LINK([#include <X11/xpm.h>],[],
|
|
ac_cv_have_xpm="yes",ac_cv_have_xpm="no")
|
|
LDFLAGS="$ac_save_ldflags"
|
|
CFLAGS="$ac_save_cflags"
|
|
])dnl
|
|
|
|
if test "$ac_cv_have_xpm" = no; then
|
|
AC_MSG_RESULT(no)
|
|
XPM_LDFLAGS=""
|
|
XPMINC=""
|
|
$2
|
|
else
|
|
AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
|
|
if test "$XPM_LDFLAGS" = ""; then
|
|
XPMLIB='-lXpm $(LIB_X11)'
|
|
else
|
|
XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
|
|
fi
|
|
if test "$XPM_INCLUDE" = ""; then
|
|
XPMINC=""
|
|
else
|
|
XPMINC="-I$XPM_INCLUDE"
|
|
fi
|
|
AC_MSG_RESULT(yes)
|
|
$1
|
|
fi
|
|
fi
|
|
AC_SUBST(XPMINC)
|
|
AC_SUBST(XPMLIB)
|
|
])
|
|
|
|
AC_DEFUN([AC_HAVE_DPMS],
|
|
[AC_REQUIRE_CPP()dnl
|
|
AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
|
|
|
|
test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS=
|
|
test -z "$DPMS_INCLUDE" && DPMS_INCLUDE=
|
|
DPMS_LIB=
|
|
|
|
AC_ARG_WITH(dpms,AC_HELP_STRING([--without-dpms],[disable DPMS power saving]),
|
|
dpms_test=$withval, dpms_test="yes")
|
|
if test "x$dpms_test" = xno; then
|
|
ac_cv_have_dpms=no
|
|
else
|
|
AC_MSG_CHECKING(for DPMS)
|
|
dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
|
|
dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
|
|
AC_CACHE_VAL(ac_cv_have_dpms,
|
|
[
|
|
if test "x$kde_use_qt_emb" = "xyes" || test "x$kde_use_qt_mac" = "xyes"; then
|
|
AC_MSG_RESULT(no)
|
|
ac_cv_have_dpms="no"
|
|
else
|
|
ac_save_ldflags="$LDFLAGS"
|
|
ac_save_cflags="$CFLAGS"
|
|
ac_save_libs="$LIBS"
|
|
LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries"
|
|
LIBS="-lX11 -lXext $LIBSOCKET"
|
|
CFLAGS="$CFLAGS $X_INCLUDES"
|
|
test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
|
|
AC_TRY_LINK([
|
|
#include <X11/Xproto.h>
|
|
#include <X11/X.h>
|
|
#include <X11/Xlib.h>
|
|
#include <X11/extensions/dpms.h>
|
|
int foo_test_dpms()
|
|
{ return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
|
|
ac_cv_have_dpms="yes", [
|
|
LIBS="-lXdpms $LIBS"
|
|
AC_TRY_LINK([
|
|
#include <X11/Xproto.h>
|
|
#include <X11/X.h>
|
|
#include <X11/Xlib.h>
|
|
#include <X11/extensions/dpms.h>
|
|
int foo_test_dpms()
|
|
{ return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
|
|
[
|
|
ac_cv_have_dpms="-lXdpms"
|
|
],ac_cv_have_dpms="no")
|
|
])
|
|
LDFLAGS="$ac_save_ldflags"
|
|
CFLAGS="$ac_save_cflags"
|
|
LIBS="$ac_save_libs"
|
|
fi
|
|
])dnl
|
|
|
|
if test "$ac_cv_have_dpms" = no; then
|
|
AC_MSG_RESULT(no)
|
|
DPMS_LDFLAGS=""
|
|
DPMSINC=""
|
|
$2
|
|
else
|
|
AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
|
|
if test "$ac_cv_have_dpms" = "-lXdpms"; then
|
|
DPMS_LIB="-lXdpms"
|
|
fi
|
|
if test "$DPMS_LDFLAGS" = ""; then
|
|
DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
|
|
else
|
|
DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
|
|
fi
|
|
if test "$DPMS_INCLUDE" = ""; then
|
|
DPMSINC=""
|
|
else
|
|
DPMSINC="-I$DPMS_INCLUDE"
|
|
fi
|
|
AC_MSG_RESULT(yes)
|
|
$1
|
|
fi
|
|
fi
|
|
ac_save_cflags="$CFLAGS"
|
|
CFLAGS="$CFLAGS $X_INCLUDES"
|
|
test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
|
|
AH_TEMPLATE(HAVE_DPMSCAPABLE_PROTO,
|
|
[Define if you have the DPMSCapable prototype in <X11/extensions/dpms.h>])
|
|
AC_CHECK_DECL(DPMSCapable,
|
|
AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),,
|
|
[#include <X11/Xlib.h>
|
|
#include <X11/extensions/dpms.h>])
|
|
AH_TEMPLATE(HAVE_DPMSINFO_PROTO,
|
|
[Define if you have the DPMSInfo prototype in <X11/extensions/dpms.h>])
|
|
AC_CHECK_DECL(DPMSInfo,
|
|
AC_DEFINE(HAVE_DPMSINFO_PROTO),,
|
|
[#include <X11/Xlib.h>
|
|
#include <X11/extensions/dpms.h>])
|
|
CFLAGS="$ac_save_cflags"
|
|
AC_SUBST(DPMSINC)
|
|
AC_SUBST(DPMSLIB)
|
|
])
|
|