Shared admin folder
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.
 
 
 
 

6566 lines
179 KiB

## -*- autoconf -*-
dnl This file is part of the TDE 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.
# serial 2
# Added 12/03/2011 by Timothy Pearson to shut automake serial warnings up
# 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 TQt meta object compiler (tqmoc) found!
Please check whether you installed TQt correctly.
You need to have a running tqmoc 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_TQTMOC_ERROR_MESSAGE],
[
AC_MSG_ERROR([No Trinity TQt meta object compiler (tmoc) found!
Please check whether you installed the Trinity TQt Interface correctly.
You need to have a running tmoc 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 TQTMOC to the right one before running
configure.
])
])
AC_DEFUN([KDE_UIC_ERROR_MESSAGE],
[
AC_MSG_WARN([No TQt ui compiler (tquic) found!
Please check whether you installed TQt correctly.
You need to have a running uic binary.
configure tried to run $ac_cv_path_uic and the test didn't
succeed. If configure shouldn't have tried this one, set
the environment variable UIC to the right one before running
configure.
])
])
AC_DEFUN([KDE_CHECK_UIC_FLAG],
[
AC_MSG_CHECKING([whether uic supports -$1 ])
kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache,
[
cat >conftest.ui <<EOT
<!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
EOT
ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null"
if AC_TRY_EVAL(ac_uic_testrun); then
eval "kde_cv_prog_uic_$kde_cache=yes"
else
eval "kde_cv_prog_uic_$kde_cache=no"
fi
rm -f conftest*
])
if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
AC_MSG_RESULT([yes])
:
$3
else
AC_MSG_RESULT([no])
:
$4
fi
])
dnl ------------------------------------------------------------------------
dnl Find the meta object compiler and the ui compiler in the PATH,
dnl in $TQTDIR/bin, and some more usual places
dnl ------------------------------------------------------------------------
dnl
AC_DEFUN([AC_PATH_TQT_MOC_UIC],
[
AC_REQUIRE([KDE_CHECK_PERL])
tqt_bindirs=""
for dir in $kde_tqt_dirs; do
tqt_bindirs="$tqt_bindirs $dir/bin $dir/src/moc"
done
tqt_bindirs="$tqt_bindirs /usr/bin /usr/X11R6/bin /usr/local/tqt/bin"
if test ! "$ac_tqt_bindir" = "NO"; then
tqt_bindirs="$ac_tqt_bindir $tqt_bindirs"
fi
if test "$kde_tqtver" = "3"; then
tqt_bindirs="/usr/share/tqt3/bin $tqt_bindirs"
fi
KDE_FIND_PATH(tqmoc, MOC, [$tqt_bindirs], [KDE_MOC_ERROR_MESSAGE])
if test -z "$UIC_NOT_NEEDED"; then
if test $kde_tqtver = 3; then
KDE_FIND_PATH(uic-tqt, UIC_PATH, [$tqt_bindirs], [UIC_PATH=""])
fi
if test -z "$UIC_PATH" ; then
KDE_UIC_ERROR_MESSAGE
exit 1
else
UIC=$UIC_PATH
if test $kde_tqtver = 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_tqtver = 3; then
UIC_TR="tr2i18n"
fi
AC_SUBST(UIC_TR)
])
AC_DEFUN([KDE_SET_PATHS],
[
kde_cv_all_paths="kde_have_all_paths=\"yes\" \
kde_htmldir=\"$kde_htmldir\" \
kde_appsdir=\"$kde_appsdir\" \
kde_icondir=\"$kde_icondir\" \
kde_sounddir=\"$kde_sounddir\" \
kde_datadir=\"$kde_datadir\" \
kde_locale=\"$kde_locale\" \
kde_cgidir=\"$kde_cgidir\" \
kde_confdir=\"$kde_confdir\" \
kde_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/tde/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
kde_moduledir='\${libdir}/trinity'
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/tde'
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
AC_MSG_ERROR([path checking not yet supported for TDE 2])
fi
])
AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS],
[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
test -z "$kde_icondir" || test -z "$kde_sounddir" ||
test -z "$kde_datadir" || test -z "$kde_locale" ||
test -z "$kde_cgidir" || test -z "$kde_confdir" ||
test -z "$kde_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 TDE 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 /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])
trinity14ornewer=1
if test "$kde_tqtver" = "3"; then
if test "$KDECONFIG" != "compiled"; then
if test `$KDECONFIG --version | grep TDE | sed 's/TDE: R\(..\).*/\1/'` -lt 14; then
trinity14ornewer=
fi
fi
fi
if test -n "$trinity14ornewer"; then
KDE_FIND_PATH(tdeconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(tdeconfig_compiler)])
KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)])
KDE_FIND_PATH(maketdewidgets, MAKETDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(maketdewidgets)])
AC_SUBST(MAKETDEWIDGETS)
fi
KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""])
if test -n "$MEINPROC" -a "$MEINPROC" != "compiled"; then
kde_sharedirs="$prefix/share /opt/trinity/share /opt/trinity/share /opt/kde/share /usr/share/kde /usr/local/share /usr/share"
test -n "$TDEDIR" && kde_sharedirs="$TDEDIR/share $kde_sharedirs"
AC_FIND_FILE(apps/ksgmltools2/customization/tde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
if test "$KDE_XSL_STYLESHEET" = "NO"; then
KDE_XSL_STYLESHEET=""
else
KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/tde-chunk.xsl"
fi
fi
DCOP_DEPENDENCIES='$(DCOPIDL)'
if test -n "$trinity14ornewer"; 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 TDE 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 TDE 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 TDE 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)
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 TQt-embedded, don't use X]),
kde_use_tqt_emb=$enableval,
kde_use_tqt_emb=no
)
AC_ARG_ENABLE(
tqtopia,
AC_HELP_STRING([--enable-tqtopia],[link to TQt-embedded, link to the TQtopia Environment]),
kde_use_tqt_emb_palm=$enableval,
kde_use_tqt_emb_palm=no
)
AC_ARG_ENABLE(
mac,
AC_HELP_STRING([--enable-mac],[link to TQt/Mac (don't use X)]),
kde_use_tqt_mac=$enableval,
kde_use_tqt_mac=no
)
# used to disable x11-specific stuff on special platforms
AM_CONDITIONAL(include_x11, test "$kde_use_tqt_emb" = "no" && test "$kde_use_tqt_mac" = "no")
if test "$kde_use_tqt_emb" = "no" && test "$kde_use_tqt_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 || test "$kde_x_libraries" = "/usr/lib"; 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"
TQTE_NORTTI=""
CFLAGS="$CFLAGS -I/usr/include/tqt"
CXXFLAGS="$CXXFLAGS -I/usr/include/tqt"
elif test "$kde_use_tqt_emb" = "yes"; then
dnl We're using TQT Embedded
CPPFLAGS=-DQWS
CXXFLAGS="$CXXFLAGS -fno-rtti"
TQTE_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_tqt_mac" = "yes"; then
dnl We're using TQT/Mac (I use TQT_MAC so that qglobal.h doesn't *have* to
dnl be included to get the information) --Sam
CXXFLAGS="$CXXFLAGS -DTQT_MAC -no-cpp-precomp"
CFLAGS="$CFLAGS -DTQT_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(TQTE_NORTTI)
AC_SUBST(LIB_XEXT)
])
AC_DEFUN([KDE_PRINT_TQT_PROGRAM],
[
AC_REQUIRE([KDE_USE_TQT])
cat > conftest.$ac_ext <<EOF
#include "confdefs.h"
EOF
if test "$kde_tqtver" = "3"; then
if $PKG_CONFIG --exists tqt-mt ; then
cat >> conftest.$ac_ext <<EOF
#include <tqt.h>
#include <qglobal.h>
#include <qapplication.h>
EOF
else
cat >> conftest.$ac_ext <<EOF
#include <tqglobal.h>
#include <tqapplication.h>
EOF
fi
fi
if test "$kde_tqtver" = "3"; then
if $PKG_CONFIG --exists tqt-mt ; then
cat >> conftest.$ac_ext <<EOF
#include <qcursor.h>
#include <qstylefactory.h>
#include <private/qucomextra_p.h>
EOF
else
cat >> conftest.$ac_ext <<EOF
#include <tqcursor.h>
#include <tqstylefactory.h>
#include <tqucomextra_p.h>
EOF
fi
fi
echo "#if ! ($kde_tqt_verstring)" >> conftest.$ac_ext
cat >> conftest.$ac_ext <<EOF
#error 1
#endif
int main() {
EOF
if test "$kde_tqtver" = "3"; then
if $PKG_CONFIG --exists tqt-mt ; then
cat >> conftest.$ac_ext <<EOF
(void)QStyleFactory::create(QString::null);
QCursor c(TQt::WhatsThisCursor);
EOF
else
cat >> conftest.$ac_ext <<EOF
(void)TQStyleFactory::create(TQString::null);
TQCursor c(TQt::WhatsThisCursor);
EOF
fi
fi
cat >> conftest.$ac_ext <<EOF
return 0;
}
EOF
])
AC_DEFUN([KDE_USE_TQT],
[
#if test -z "$1"; then
# Current default TQt version: 3.3
kde_tqtver=3
kde_tqtsubver=3
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
ac_cxxflags_safe="$CXXFLAGS"
CXXFLAGS="-I/usr/include/tqt"
AC_TRY_COMPILE([
#define TQT_VERSION_ONLY
#include <tqt.h>
#undef TQT_VERSION_ONLY
#ifdef USE_TQT4
choke me
#endif
], ,
kde_tqtver=3,
)
CXXFLAGS="$ac_cxxflags_safe"
AC_LANG_RESTORE
if test "$kde_tqtver" = "3"; then
AC_MSG_RESULT(Detected TQt3...)
fi
#else
# kde_tqtsubver=`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_tqtsubver" = "$1"; then
# kde_tqtsubver=1
# fi
# kde_tqtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
# if test "$kde_tqtver" = "1"; then
# kde_tqtsubver=42
# fi
#fi
if test -z "$2"; then
if test "$kde_tqtver" = "3"; then
if test $kde_tqtsubver -gt 0; then
if test $kde_tqtsubver -gt 1; then
if test $kde_tqtsubver -gt 2; then
kde_tqt_minversion=">= TQt 3.3 and < 4.0"
else
kde_tqt_minversion=">= TQt 3.2 and < 4.0"
fi
else
kde_tqt_minversion=">= TQt 3.1 (20021021) and < 4.0"
fi
else
kde_tqt_minversion=">= TQt 3.0 and < 4.0"
fi
fi
else
kde_tqt_minversion="$2"
fi
if test -z "$3"; then
if test $kde_tqtver = 3; then
if test $kde_tqtsubver -gt 0; then
kde_tqt_verstring="TQT_VERSION >= 0x03@VER@00 && TQT_VERSION < 0x040000"
tqtsubver=`echo "00$kde_tqtsubver" | sed -e 's,.*\(..\)$,\1,'`
kde_tqt_verstring=`echo $kde_tqt_verstring | sed -e "s,@VER@,$tqtsubver,"`
else
kde_tqt_verstring="TQT_VERSION >= 300 && TQT_VERSION < 0x040000"
fi
fi
else
kde_tqt_verstring="$3"
fi
if test $kde_tqtver = 3; then
kde_tqt_dirs="$TQTDIR /usr/lib/tqt3 /usr/share/tqt3"
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
if test "$PKG_CONFIG" != "no" ; then
if $PKG_CONFIG --exists tqt-mt ; then
kde_tqt_dirs="$kde_tqt_dirs `$PKG_CONFIG --variable=prefix tqt-mt`"
LIB_QUI="-lqui"
AC_SUBST(LIB_QUI)
else
if $PKG_CONFIG --exists tqt-mt ; then
kde_tqt_dirs="$kde_tqt_dirs `$PKG_CONFIG --variable=prefix tqt-mt`"
LIB_QUI="-ltqui"
AC_SUBST(LIB_QUI)
fi
fi
fi
fi
])
AC_DEFUN([KDE_CHECK_TQT_DIRECT],
[
AC_REQUIRE([KDE_USE_TQT])
AC_MSG_CHECKING([if TQt compiles without flags])
AC_CACHE_VAL(kde_cv_tqt_direct,
[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
ac_LIBRARY_PATH="$LIBRARY_PATH"
ac_cxxflags_safe="$CXXFLAGS"
ac_ldflags_safe="$LDFLAGS"
ac_libs_safe="$LIBS"
CXXFLAGS="$CXXFLAGS -I$tqt_includes"
LDFLAGS="$LDFLAGS $X_LDFLAGS"
if test "x$kde_use_tqt_emb" != "xyes" && test "x$kde_use_tqt_mac" != "xyes"; then
LIBS="$LIBTQT -lXext -lX11 $LIBSOCKET"
else
LIBS="$LIBTQT $LIBSOCKET"
fi
LD_LIBRARY_PATH=
export LD_LIBRARY_PATH
LIBRARY_PATH=
export LIBRARY_PATH
KDE_PRINT_TQT_PROGRAM
if AC_TRY_EVAL(ac_link) && test -s conftest; then
kde_cv_tqt_direct="yes"
else
kde_cv_tqt_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_tqt_direct" = "yes"; then
AC_MSG_RESULT(yes)
$1
else
AC_MSG_RESULT(no)
$2
fi
])
dnl ------------------------------------------------------------------------
dnl Try to find the TQt headers and libraries.
dnl $(TQT_LDFLAGS) will be -Ltqtliblocation (if needed)
dnl and $(TQT_INCLUDES) will be -Itqthdrlocation (if needed)
dnl ------------------------------------------------------------------------
dnl
AC_DEFUN([AC_PATH_TQT_1_3],
[
AC_REQUIRE([K_PATH_X])
AC_REQUIRE([KDE_USE_TQT])
AC_REQUIRE([KDE_CHECK_LIB64])
dnl ------------------------------------------------------------------------
dnl Add configure flag to enable linking to MT version of TQt library.
dnl ------------------------------------------------------------------------
AC_ARG_ENABLE(
mt,
AC_HELP_STRING([--disable-mt],[link to non-threaded TQt (deprecated)]),
kde_use_tqt_mt=$enableval,
[
if test $kde_tqtver = 3; then
kde_use_tqt_mt=yes
else
kde_use_tqt_mt=no
fi
]
)
USING_TQT_MT=""
dnl ------------------------------------------------------------------------
dnl If we not get --disable-tqt-mt then adjust some vars for the host.
dnl ------------------------------------------------------------------------
KDE_MT_LDFLAGS=
KDE_MT_LIBS=
if test "x$kde_use_tqt_mt" = "xyes"; then
KDE_CHECK_THREADING
if test "x$kde_use_threading" = "xyes"; then
CPPFLAGS="$USE_THREADS -DTQT_THREAD_SUPPORT $CPPFLAGS"
KDE_MT_LDFLAGS="$USE_THREADS"
KDE_MT_LIBS="$LIBPTHREAD"
else
kde_use_tqt_mt=no
fi
fi
AC_SUBST(KDE_MT_LDFLAGS)
AC_SUBST(KDE_MT_LIBS)
kde_tqt_was_given=yes
dnl ------------------------------------------------------------------------
dnl If we haven't been told how to link to TQt, we work it out for ourselves.
dnl ------------------------------------------------------------------------
if test -z "$LIBTQT_GLOB"; then
if test "$kde_tqtver" = "3"; then
if test "x$kde_use_tqt_emb" = "xyes"; then
LIBTQT_GLOB="libtqte.*"
else
if $PKG_CONFIG --exists tqt-mt ; then
LIBTQT_GLOB="libtqt.*"
else
LIBTQT_GLOB="libtqt.*"
fi
fi
fi
fi
dnl ------------------------------------------------------------
dnl If we got --enable-embedded then adjust the TQt library name.
dnl Also TQt4 uses a different library name
dnl ------------------------------------------------------------
if test "$kde_tqtver" = "3"; then
if test "x$kde_use_tqt_emb" = "xyes"; then
tqtlib="tqte"
else
if $PKG_CONFIG --exists tqt-mt ; then
tqtlib="tqt"
else
tqtlib="tqt"
fi
fi
fi
kde_int_tqt="-l$tqtlib"
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_tqt_emb" = "xyes"; then
if test "x$kde_use_tqt_emb_palm" = "xyes"; then
LIB_QPE="-lqpe"
else
LIB_QPE=""
fi
else
LIB_QPE=""
fi
fi
dnl ------------------------------------------------------------------------
dnl If we got --enable-tqt-mt then adjust the TQt library name for the host.
dnl ------------------------------------------------------------------------
if test "x$kde_use_tqt_mt" = "xyes"; then
if test $kde_tqtver = 3; then
LIBTQT="-l$tqtlib-mt"
kde_int_tqt="-l$tqtlib-mt"
LIBTQT_GLOB="lib$tqtlib-mt.*"
fi
USING_TQT_MT="using -mt"
else
LIBTQT="-l$tqtlib"
fi
if test $kde_tqtver != 1; then
AC_REQUIRE([AC_FIND_PNG])
AC_REQUIRE([AC_FIND_JPEG])
LIBTQT="$LIBTQT $LIBPNG $LIBJPEG"
fi
if test $kde_tqtver = 3; then
AC_REQUIRE([KDE_CHECK_LIBDL])
LIBTQT="$LIBTQT $LIBDL"
fi
AC_MSG_CHECKING([for TQt])
if test "x$kde_use_tqt_emb" != "xyes" && test "x$kde_use_tqt_mac" != "xyes"; then
LIBTQT="$LIBTQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
fi
ac_tqt_includes=NO ac_tqt_libraries=NO ac_tqt_bindir=NO
tqt_libraries=""
tqt_includes=""
AC_ARG_WITH(tqt-dir,
AC_HELP_STRING([--with-tqt-dir=DIR],[where the root of TQt is installed ]),
[ ac_tqt_includes="$withval"/include
ac_tqt_libraries="$withval"/lib${tdelibsuff}
ac_tqt_bindir="$withval"/bin
])
AC_ARG_WITH(tqt-includes,
AC_HELP_STRING([--with-tqt-includes=DIR],[where the TQt includes are. ]),
[
ac_tqt_includes="$withval"
])
kde_tqt_libs_given=no
AC_ARG_WITH(tqt-libraries,
AC_HELP_STRING([--with-tqt-libraries=DIR],[where the TQt library is installed.]),
[ ac_tqt_libraries="$withval"
kde_tqt_libs_given=yes
])
AC_CACHE_VAL(ac_cv_have_tqt,
[#try to guess TQt locations
tqt_incdirs=""
for dir in $kde_tqt_dirs; do
tqt_incdirs="$tqt_incdirs $dir/include $dir"
done
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
if test "$PKG_CONFIG" != "no" ; then
if $PKG_CONFIG --exists tqt-mt ; then
tqt_incdirs="$tqt_incdirs `$PKG_CONFIG --variable=includedir tqt-mt`"
else
if $PKG_CONFIG --exists tqt-mt ; then
tqt_incdirs="$tqt_incdirs `$PKG_CONFIG --variable=includedir tqt-mt`"
fi
fi
fi
tqt_incdirs="$TQTINC $tqt_incdirs /usr/include/tqt3 /usr/include /usr/X11R6/include/X11/tqt /usr/X11R6/include/tqt $x_includes"
if test ! "$ac_tqt_includes" = "NO"; then
tqt_incdirs="$ac_tqt_includes $tqt_incdirs"
fi
kde_tqt_header=qstyle.h
kde_tqt_header=ntqstyle.h
AC_FIND_FILE($kde_tqt_header, $tqt_incdirs, tqt_incdir)
if test "$tqt_incdir" = "NO"; then
AC_FIND_FILE($kde_tqt_header, $tqt_incdirs, tqt_incdir)
fi
ac_tqt_includes="$tqt_incdir"
tqt_libdirs=""
for dir in $kde_tqt_dirs; do
tqt_libdirs="$tqt_libdirs $dir/lib${tdelibsuff} $dir/lib $dir"
done
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
if test "$PKG_CONFIG" != "no" ; then
if $PKG_CONFIG --exists tqt-mt ; then
tqt_libdirs="$tqt_incdirs `$PKG_CONFIG --variable=libdir tqt-mt`"
else
if $PKG_CONFIG --exists tqt-mt ; then
tqt_libdirs="$tqt_incdirs `$PKG_CONFIG --variable=libdir tqt-mt`"
fi
fi
fi
tqt_libdirs="$TQTLIB $tqt_libdirs /usr/X11R6/lib /usr/lib /usr/local/tqt/lib $x_libraries"
if test ! "$ac_tqt_libraries" = "NO"; then
tqt_libdir=$ac_tqt_libraries
else
tqt_libdirs="$ac_tqt_libraries $tqt_libdirs"
# if the TQt was given, the chance is too big that libtqt.* doesn't exist
tqt_libdir=NONE
for dir in $tqt_libdirs; do
try="ls -1 $dir/${LIBTQT_GLOB}"
if test -n "`$try 2> /dev/null`"; then tqt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
done
fi
for a in $tqt_libdir/lib`echo ${kde_int_tqt} | sed 's,^-l,,'`_incremental.*; do
if test -e "$a"; then
LIBTQT="$LIBTQT ${kde_int_tqt}_incremental"
break
fi
done
ac_tqt_libraries="$tqt_libdir"
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
ac_cxxflags_safe="$CXXFLAGS"
ac_ldflags_safe="$LDFLAGS"
ac_libs_safe="$LIBS"
CXXFLAGS="$CXXFLAGS -I$tqt_incdir $all_includes"
LDFLAGS="$LDFLAGS -L$tqt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
LIBS="$LIBS $LIBTQT $KDE_MT_LIBS"
KDE_PRINT_TQT_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_tqt_libraries="NO"
fi
rm -f conftest*
CXXFLAGS="$ac_cxxflags_safe"
LDFLAGS="$ac_ldflags_safe"
LIBS="$ac_libs_safe"
AC_LANG_RESTORE
if test "$ac_tqt_includes" = NO || test "$ac_tqt_libraries" = NO; then
ac_cv_have_tqt="have_tqt=no"
ac_tqt_notfound=""
missing_tqt_mt=""
if test "$ac_tqt_includes" = NO; then
if test "$ac_tqt_libraries" = NO; then
ac_tqt_notfound="(headers and libraries)";
else
ac_tqt_notfound="(headers)";
fi
else
if test "x$kde_use_tqt_mt" = "xyes"; then
missing_tqt_mt="
Make sure that you have compiled TQt with thread support!"
ac_tqt_notfound="(library $tqtlib-mt)";
else
ac_tqt_notfound="(library $tqtlib)";
fi
fi
AC_MSG_ERROR([TQt ($kde_tqt_minversion) $ac_tqt_notfound not found. Please check your installation!
For more details about this problem, look at the end of config.log.$missing_tqt_mt])
else
have_tqt="yes"
fi
])
eval "$ac_cv_have_tqt"
if test "$have_tqt" != yes; then
AC_MSG_RESULT([$have_tqt]);
else
ac_cv_have_tqt="have_tqt=yes \
ac_tqt_includes=$ac_tqt_includes ac_tqt_libraries=$ac_tqt_libraries"
AC_MSG_RESULT([libraries $ac_tqt_libraries, headers $ac_tqt_includes $USING_TQT_MT])
tqt_libraries="$ac_tqt_libraries"
tqt_includes="$ac_tqt_includes"
fi
if test ! "$kde_tqt_libs_given" = "yes" && test ! "$kde_tqtver" = 3; then
KDE_CHECK_TQT_DIRECT(tqt_libraries= ,[])
fi
AC_SUBST(tqt_libraries)
AC_SUBST(tqt_includes)
if test "$tqt_includes" = "$x_includes" || test -z "$tqt_includes"; then
TQT_INCLUDES=""
else
TQT_INCLUDES="-I$tqt_includes"
all_includes="$TQT_INCLUDES $all_includes"
fi
if test "$tqt_libraries" = "$x_libraries" || test -z "$tqt_libraries"; then
TQT_LDFLAGS=""
else
TQT_LDFLAGS="-L$tqt_libraries"
all_libraries="$TQT_LDFLAGS $all_libraries"
fi
test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
AC_SUBST(TQT_INCLUDES)
AC_SUBST(TQT_LDFLAGS)
AC_PATH_TQT_MOC_UIC
KDE_CHECK_TQT
KDE_CHECK_TQT_JPEG
if test "x$kde_use_tqt_emb" != "xyes" && test "x$kde_use_tqt_mac" != "xyes"; then
LIB_TQT="$kde_int_tqt $LIBJPEG_TQT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM) $(LIBTQT_LDFLAGS)'
else
LIB_TQT="$kde_int_tqt $LIBJPEG_TQT "'$(LIBZ) $(LIBPNG) $(LIBTQT_LDFLAGS)'
fi
test -z "$KDE_MT_LIBS" || LIB_TQT="$LIB_TQT $KDE_MT_LIBS"
for a in $tqt_libdir/lib`echo ${kde_int_tqt} | sed 's,^-l,,'`_incremental.*; do
if test -e "$a"; then
LIB_TQT="$LIB_TQT ${kde_int_tqt}_incremental"
break
fi
done
AC_SUBST(LIB_TQT)
AC_SUBST(LIB_QPE)
AC_SUBST(kde_tqtver)
])
AC_DEFUN([AC_PATH_TQT],
[
AC_PATH_TQT_1_3
])
AC_DEFUN([KDE_CHECK_UIC_PLUGINS],
[
AC_REQUIRE([AC_PATH_TQT_MOC_UIC])
if test x$ac_uic_supports_libpath = xyes; then
AC_MSG_CHECKING([if UIC has TDE 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="TQDialog">
<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 TQt version that is picked up by
this configure is not the same version you used to compile tdelibs.
The TQt Plugin installed by tdelibs is *ONLY* loadable if it is the
_same TQt version_, compiled with the _same compiler_ and the same TQt
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_TQT])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
kde_check_header="ksharedptr.h"
kde_check_lib="libtdeio.la"
if test -z "$1"; then
kde_incdirs="$kde_libs_prefix/include /opt/trinity/include/tde /opt/trinity/include/tde /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/tde /usr/include /opt/trinity/include /opt/trinity/include /opt/kde/include $x_includes $tqt_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([
No TDE headers are installed in the chosen prefix. This will fail.
Please check this and use another prefix if needed!])
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/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/tdewidgets.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 TDE 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/tdewidgets.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" = "$tqt_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="-DTQT_CLEAN_NAMESPACE -DTQT_NO_ASCII_CAST -DTQT_NO_STL -DTQT_NO_COMPAT -DTQT_NO_TRANSLATION"
KDE_LDFLAGS="-L$kde_libraries"
if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$tqt_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_CHECK_KDETQTADDON],
[
AC_MSG_CHECKING(for kde-tqt-addon)
AC_CACHE_VAL(kde_cv_have_kdetqtaddon,
[
kde_ldflags_safe="$LDFLAGS"
kde_libs_safe="$LIBS"
kde_cxxflags_safe="$CXXFLAGS"
LIBS="-lkde-tqt-addon $LIBTQT $LIBS"
CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/tde $all_includes"
LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
if test "$kde_tqtver" = "3"; then
if $PKG_CONFIG --exists tqt-mt ; then
AC_TRY_LINK([
#include <qdom.h>
],
[
QDomDocument doc;
],
kde_cv_have_kdetqtaddon=yes,
kde_cv_have_kdetqtaddon=no
)
else
AC_TRY_LINK([
#include <tqdom.h>
],
[
TQDomDocument doc;
],
kde_cv_have_kdetqtaddon=yes,
kde_cv_have_kdetqtaddon=no
)
fi
fi
AC_MSG_RESULT($kde_cv_have_kdetqtaddon)
if test "$kde_cv_have_kdetqtaddon" = "no"; then
AC_MSG_ERROR([Can't find libkde-tqt-addon. You need to install it first.
It is a separate package (and CVS module) named kde-tqt-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_tqtver = 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_TDEIO, "-ltdeio")
AC_SUBST(LIB_KJS, "-lkjs")
AC_SUBST(LIB_SMB, "-lsmb")
AC_SUBST(LIB_KAB, "-lkab")
AC_SUBST(LIB_TDEABC, "-ltdeabc")
AC_SUBST(LIB_TDEHTML, "-ltdehtml")
AC_SUBST(LIB_TDESPELL, "-ltdespell")
AC_SUBST(LIB_TDEPARTS, "-ltdeparts")
AC_SUBST(LIB_TDEPRINT, "-ltdeprint")
AC_SUBST(LIB_TDEUTILS, "-ltdeutils")
AC_SUBST(LIB_TDEPIM, "-ltdepim")
AC_SUBST(LIB_TDEIMPROXY, "-ltdeimproxy")
AC_SUBST(LIB_TDENEWSTUFF, "-ltdenewstuff")
AC_SUBST(LIB_TDEDNSSD, "-ltdednssd")
AC_SUBST(LIB_TDEUNITTEST, "-ltdeunittest")
# these are for backward compatibility
AC_SUBST(LIB_TDESYCOCA, "-ltdeio")
AC_SUBST(LIB_TDEFILE, "-ltdeio")
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
],
[
]
)
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
if test -z "$tqt_includes"; then
CXXFLAGS="$CXXFLAGS"
else
CXXFLAGS="$CXXFLAGS -I$tqt_includes"
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, "TDE 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, "TDE 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_tqt_emb" != "xyes" && test "x$kde_use_tqt_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 tdehtml)
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_TQT],
[
AC_MSG_CHECKING([if TQt is available])
AC_CACHE_VAL(kde_cv_tqt,
[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
ac_save_LIBS="$LIBS"
LIBS="$all_libraries $USER_LDFLAGS $LIBTQT -ltqt"
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
if test "$kde_tqtver" -gt "2"; then
AC_TRY_LINK(
[#include <tqtimer.h>],
[
TQTimer *test_timer(0);
test_timer->start(1000);],
eval "kde_cv_tqt=no",
eval "kde_cv_tqt=yes")
fi
LIBS="$ac_save_LIBS"
CXXFLAGS="$ac_save_CXXFLAGS"
AC_LANG_RESTORE
])
if eval "test ! \"`echo $kde_cv_tqt`\" = no"; then
AC_MSG_RESULT(no)
dnl AC_MSG_ERROR([You are attempting to compile Trinity without the Trinity TQt Interface installed. Please install libtqtinterface-dev and try again!])
AC_MSG_WARN([You are attempting to compile Trinity without the Trinity TQt Interface installed. Please install libtqtinterface-dev and try again!])
TQTMOC="\$PATH=\$PATH:\$(srcdir)/ tmoc"
LIBTQT_LDFLAGS="-ltqt"
AC_SUBST(LIBTQT_LDFLAGS)
tqtlib="$tqtlib $LIBTQT_LDFLAGS"
else
AC_MSG_RESULT(yes)
LIBTQT_LDFLAGS="-ltqt"
AC_SUBST(LIBTQT_LDFLAGS)
dnl all_libraries="$all_libraries $LIBTQT_LDFLAGS"
TQT_LDFLAGS="$TQT_LDFLAGS $LIBTQT_LDFLAGS"
AC_SUBST(TQT_LDFLAGS)
tqtlib="$tqtlib $LIBTQT_LDFLAGS"
LIBTQT_CXXFLAGS="-include tqt.h"
all_includes="$all_includes $LIBTQT_CXXFLAGS"
TQT_INCLUDES="$TQT_INCLUDES $LIBTQT_CXXFLAGS"
KDE_FIND_PATH(tmoc, TQTMOC, [$tqt_bindirs], [KDE_TQTMOC_ERROR_MESSAGE])
AC_SUBST(TQTMOC)
KDE_FIND_PATH(dcopidl, TQTDCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
KDE_FIND_PATH(dcopidl2cpp, TQTDCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
if test "$build_arts" '!=' "no"; then
KDE_FIND_PATH(mcopidl, TQTMCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)])
fi
KDE_FIND_PATH(dcopidlng, TQTDCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)])
AC_SUBST(TQTDCOPIDL)
AC_SUBST(TQTMCOPIDL)
AC_SUBST(TQTDCOPIDLNG)
AC_SUBST(TQTDCOPIDL2CPP)
fi
])
AC_DEFUN([KDE_CHECK_TQT_JPEG],
[
if test -n "$LIBJPEG"; then
AC_MSG_CHECKING([if TQt needs $LIBJPEG])
AC_CACHE_VAL(kde_cv_tqt_jpeg,
[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
ac_save_LIBS="$LIBS"
LIBS="$all_libraries $USER_LDFLAGS $LIBTQT"
LIBS=`echo $LIBS | sed "s/$LIBJPEG//"`
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
if test "$kde_tqtver" = "3"; then
if $PKG_CONFIG --exists tqt-mt ; then
AC_TRY_LINK(
[#include <qapplication.h>],
[
int argc;
char** argv;
QApplication app(argc, argv);],
eval "kde_cv_tqt_jpeg=no",
eval "kde_cv_tqt_jpeg=yes")
else
AC_TRY_LINK(
[#include <tqapplication.h>],
[
int argc;
char** argv;
TQApplication app(argc, argv);],
eval "kde_cv_tqt_jpeg=no",
eval "kde_cv_tqt_jpeg=yes")
fi
fi
LIBS="$ac_save_LIBS"
CXXFLAGS="$ac_save_CXXFLAGS"
AC_LANG_RESTORE
fi
])
if eval "test ! \"`echo $kde_cv_tqt_jpeg`\" = no"; then
AC_MSG_RESULT(yes)
LIBJPEG_TQT='$(LIBJPEG)'
else
AC_MSG_RESULT(no)
LIBJPEG_TQT=
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>
#include<string.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 (strcmp(zlibVersion(), ZLIB_VERSION) == 0);
],
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_tqt_emb" != "xyes" && test "x$kde_use_tqt_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"
kde_save_LDFLAGS="$LDFLAGS"
CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
LDFLAGS="$LDFLAGS -ltqt"
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"
LDFLAGS="$kde_save_LDFLAGS"
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"
kde_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LFLAGS -ltqt"
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"
LDFLAGS="$kde_save_LDFLAGS"
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_tqt_emb" != "xyes" && test "x$kde_use_tqt_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_tqt_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
AC_C_BIGENDIAN
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="-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 -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 TDE 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 TQt 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_TQT_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=y