17
17
dnl You should have received a copy of the GNU Library General Public License
18
18
dnl along with this library; see the file COPYING.LIB. If not, write to
19
dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20
dnl Boston, MA 02111-1307, USA.
19
dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20
dnl Boston, MA 02110-1301, USA.
22
22
dnl IMPORTANT NOTE:
23
23
dnl Please do not modify this file unless you expect your modifications to be
176
dnl KDE_FIND_PATH(programm-name, variable-name, list of directories,
177
dnl if-not-found, test-parameter)
176
dnl KDE_FIND_PATH(program-name, variable-name, list-of-dirs,
177
dnl if-not-found, test-parameter, prepend-path)
179
dnl Look for program-name in list-of-dirs+$PATH.
180
dnl If prepend-path is set, look in $PATH+list-of-dirs instead.
181
dnl If found, $variable-name is set. If not, if-not-found is evaluated.
182
dnl test-parameter: if set, the program is executed with this arg,
183
dnl and only a successful exit code is required.
178
184
AC_DEFUN([KDE_FIND_PATH],
180
186
AC_MSG_CHECKING([for $1])
547
AC_DEFUN([KDE_SET_DEFAULT_BINDIRS],
549
kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
550
test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
551
if test -n "$KDEDIRS"; then
554
for dir in $KDEDIRS; do
555
kde_default_bindirs="$dir/bin $kde_default_bindirs "
536
561
AC_DEFUN([KDE_SUBST_PROGRAMS],
538
563
AC_ARG_WITH(arts,
539
AC_HELP_STRING([--without-arts],[build without aRts [default=yes]]),
564
AC_HELP_STRING([--without-arts],[build without aRts [default=no]]),
540
565
[build_arts=$withval],
543
AM_CONDITIONAL(include_ARTS, test "$build_arts" != "no")
568
AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
569
if test "$build_arts" = "no"; then
570
AC_DEFINE(WITHOUT_ARTS, 1, [Defined if compiling without arts])
545
kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
546
test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
547
if test -n "$KDEDIRS"; then
550
for dir in $KDEDIRS; do
551
kde_default_bindirs="$dir/bin $kde_default_bindirs "
555
kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs"
573
KDE_SET_DEFAULT_BINDIRS
574
kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_prefix/bin $kde_default_bindirs"
556
575
KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
557
576
KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
558
if test "$build_arts" != "no"; then
577
if test "$build_arts" '!=' "no"; then
559
578
KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)])
560
579
KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)])
562
KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs])
563
581
KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
566
585
if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then
569
if test "$kde_qtver" = "3" && test "$kde_qtsubver" -le 1; then
589
if test "$kde_qtver" = "3"; then
590
if test "$kde_qtsubver" -le 1; then
593
if test "$kde_qtsubver" -le 2; then
596
if test "$KDECONFIG" != "compiled"; then
597
if test `$KDECONFIG --version | grep KDE | sed 's/KDE: \(...\).*/\1/'` = 3.2; then
575
605
KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)])
576
606
KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)])
578
KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin], [XMLLINT=""])
608
if test -n "$kde33ornewer"; then
609
KDE_FIND_PATH(makekdewidgets, MAKEKDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(makekdewidgets)])
610
AC_SUBST(MAKEKDEWIDGETS)
612
KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""])
580
if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then
614
if test -n "$MEINPROC" -a "$MEINPROC" != "compiled"; then
581
615
kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
582
616
test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
583
617
AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
601
635
AC_SUBST(DCOP_DEPENDENCIES)
602
636
AC_SUBST(MCOPIDL)
603
637
AC_SUBST(ARTSCCONFIG)
605
638
AC_SUBST(MEINPROC)
606
639
AC_SUBST(KDE_XSL_STYLESHEET)
607
640
AC_SUBST(XMLLINT)
609
if test -x "$KDECONFIG"; then # it can be "compiled"
610
kde_libs_prefix=`$KDECONFIG --prefix`
611
if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
612
AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
613
This means it has been moved since you installed it.
614
This won't work. Please recompile kdelibs for the new prefix.
617
kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
619
kde_libs_prefix='$(prefix)'
620
kde_libs_htmldir='$(kde_htmldir)'
622
AC_SUBST(kde_libs_prefix)
623
AC_SUBST(kde_libs_htmldir)
626
643
AC_DEFUN([AC_CREATE_KFSSTND],
755
772
# more headers that need to be explicitly included on darwin
756
773
AC_CHECK_HEADERS(sys/types.h stdint.h)
775
# sys/bitypes.h is needed for uint32_t and friends on Tru64
776
AC_CHECK_HEADERS(sys/bitypes.h)
758
778
# darwin requires a poll emulation library
759
779
AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll")
781
# for some image handling on Mac OS X
782
AC_CHECK_HEADERS(Carbon/Carbon.h)
761
784
# CoreAudio framework
762
785
AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [
763
786
AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API])
764
FRAMEWORK_COREAUDIO="-Xlinker -framework -Xlinker CoreAudio"
787
FRAMEWORK_COREAUDIO="-Wl,-framework,CoreAudio"
767
790
AC_CHECK_RES_INIT
1152
1179
if test "$kde_qtver" = "3"; then
1153
1180
if test $kde_qtsubver -gt 0; then
1154
1181
if test $kde_qtsubver -gt 1; then
1155
kde_qt_minversion=">= Qt 3.2"
1182
if test $kde_qtsubver -gt 2; then
1183
kde_qt_minversion=">= Qt 3.3 and < 4.0"
1185
kde_qt_minversion=">= Qt 3.2 and < 4.0"
1157
kde_qt_minversion=">= Qt 3.1 (20021021)"
1188
kde_qt_minversion=">= Qt 3.1 (20021021) and < 4.0"
1160
kde_qt_minversion=">= Qt 3.0"
1191
kde_qt_minversion=">= Qt 3.0 and < 4.0"
1163
1194
if test "$kde_qtver" = "1"; then
1170
1201
if test -z "$3"; then
1171
1202
if test $kde_qtver = 3; then
1172
1203
if test $kde_qtsubver -gt 0; then
1173
kde_qt_verstring="QT_VERSION >= 0x03@VER@00"
1204
kde_qt_verstring="QT_VERSION >= 0x03@VER@00 && QT_VERSION < 0x040000"
1174
1205
qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'`
1175
1206
kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"`
1177
kde_qt_verstring="QT_VERSION >= 300"
1208
kde_qt_verstring="QT_VERSION >= 300 && QT_VERSION < 0x040000"
1180
1211
if test $kde_qtver = 2; then
1191
1222
kde_qt_verstring="$3"
1225
if test $kde_qtver = 4; then
1226
kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4"
1194
1228
if test $kde_qtver = 3; then
1195
kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3"
1229
kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3 /usr/lib${kdelibsuff}/qt-3.3"
1230
if test -z "$PKG_CONFIG"; then
1231
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
1233
if test "$PKG_CONFIG" != "no" ; then
1234
if $PKG_CONFIG --exists qt-mt ; then
1235
kde_qt_dirs="$kde_qt_dirs `$PKG_CONFIG --variable=prefix qt-mt`"
1197
1239
if test $kde_qtver = 2; then
1198
1240
kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
1419
1451
for dir in $kde_qt_dirs; do
1420
1452
qt_incdirs="$qt_incdirs $dir/include $dir"
1454
if test -z "$PKG_CONFIG"; then
1455
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
1457
if test "$PKG_CONFIG" != "no" ; then
1458
if $PKG_CONFIG --exists qt-mt ; then
1459
qt_incdirs="$qt_incdirs `$PKG_CONFIG --variable=includedir qt-mt`"
1422
1462
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"
1423
1463
if test ! "$ac_qt_includes" = "NO"; then
1424
1464
qt_incdirs="$ac_qt_includes $qt_incdirs"
1437
1477
for dir in $kde_qt_dirs; do
1438
qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir"
1478
qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir/lib $dir"
1480
if test -z "$PKG_CONFIG"; then
1481
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
1483
if test "$PKG_CONFIG" != "no" ; then
1484
if $PKG_CONFIG --exists qt-mt ; then
1485
qt_libdirs="$qt_incdirs `$PKG_CONFIG --variable=libdir qt-mt`"
1440
1488
qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
1441
1489
if test ! "$ac_qt_libraries" = "NO"; then
1442
1490
qt_libdir=$ac_qt_libraries
1672
1728
AC_SUBST(KDE_NO_UNDEFINED)
1731
dnl Check if the linker supports --enable-new-dtags and --as-needed
1732
AC_DEFUN([KDE_CHECK_NEW_LDFLAGS],
1734
AC_ARG_ENABLE(new_ldflags,
1735
AC_HELP_STRING([--enable-new-ldflags],
1736
[enable the new linker flags]),
1737
kde_use_new_ldflags=$enableval,
1738
kde_use_new_ldflags=no)
1740
LDFLAGS_AS_NEEDED=""
1741
LDFLAGS_NEW_DTAGS=""
1742
if test "x$kde_use_new_ldflags" = "xyes"; then
1743
LDFLAGS_NEW_DTAGS=""
1744
KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags],
1745
[LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],)
1747
KDE_CHECK_COMPILER_FLAG([Wl,--as-needed],
1748
[LDFLAGS_AS_NEEDED="-Wl,--as-needed"],)
1750
AC_SUBST(LDFLAGS_AS_NEEDED)
1751
AC_SUBST(LDFLAGS_NEW_DTAGS)
1675
1754
AC_DEFUN([KDE_CHECK_NMCHECK],
1677
1756
AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]),
2008
2087
AC_REQUIRE([K_PATH_X])
2010
2089
if test $kde_qtver = 3; then
2091
*cygwin*) lib_kded="-lkdeinit_kded" ;;
2094
AC_SUBST(LIB_KDED, $lib_kded)
2011
2095
AC_SUBST(LIB_KDECORE, "-lkdecore")
2012
2096
AC_SUBST(LIB_KDEUI, "-lkdeui")
2013
2097
AC_SUBST(LIB_KIO, "-lkio")
2098
AC_SUBST(LIB_KJS, "-lkjs")
2014
2099
AC_SUBST(LIB_SMB, "-lsmb")
2015
2100
AC_SUBST(LIB_KAB, "-lkab")
2016
2101
AC_SUBST(LIB_KABC, "-lkabc")
2020
2105
AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
2021
2106
AC_SUBST(LIB_KUTILS, "-lkutils")
2022
2107
AC_SUBST(LIB_KDEPIM, "-lkdepim")
2108
AC_SUBST(LIB_KIMPROXY, "-lkimproxy")
2109
AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff")
2110
AC_SUBST(LIB_KDNSSD, "-lkdnssd")
2111
AC_SUBST(LIB_KUNITTEST, "-lkunittest")
2023
2112
# these are for backward compatibility
2024
2113
AC_SUBST(LIB_KSYCOCA, "-lkio")
2025
2114
AC_SUBST(LIB_KFILE, "-lkio")
2454
AC_DEFUN([AC_CHECK_RES_QUERY],
2456
KDE_CHECK_FUNC_EXT(res_query, [
2457
#include <sys/types.h>
2458
#include <netinet/in.h>
2459
#include <arpa/nameser.h>
2464
res_query(NULL, 0, 0, NULL, 0);
2466
[int res_query(const char *, int, int, unsigned char *, int)],
2470
AC_DEFUN([AC_CHECK_DN_SKIPNAME],
2472
KDE_CHECK_FUNC_EXT(dn_skipname, [
2473
#include <sys/types.h>
2474
#include <netinet/in.h>
2475
#include <arpa/nameser.h>
2479
dn_skipname (NULL, NULL);
2481
[int dn_skipname (unsigned char *, unsigned char *)],
2359
2486
AC_DEFUN([AC_FIND_GIF],
2360
2487
[AC_MSG_CHECKING([for giflib])
2361
2488
AC_CACHE_VAL(ac_cv_lib_gif,
2400
2527
ac_save_CFLAGS="$CFLAGS"
2401
2528
CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2403
[/* Override any gcc2 internal prototype to avoid an error. */
2404
struct jpeg_decompress_struct;
2405
typedef struct jpeg_decompress_struct * j_decompress_ptr;
2407
2531
#ifdef __cplusplus
2410
void jpeg_CreateDecompress(j_decompress_ptr cinfo,
2411
int version, size_t structsize);
2534
void jpeg_CreateDecompress();
2412
2535
#ifdef __cplusplus
2415
/* We use char because int might match the return type of a gcc2
2416
builtin and then its argument prototype would still apply. */
2418
[jpeg_CreateDecompress(0L, 0, 0);],
2539
[jpeg_CreateDecompress();],
2419
2540
eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
2420
2541
eval "ac_cv_lib_jpeg_$1=no")
2421
2542
LIBS="$ac_save_LIBS"
2622
2744
AC_SUBST(LIBTIFF)
2747
AC_DEFUN([KDE_FIND_LIBEXR],
2749
AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
2750
AC_REQUIRE([AC_FIND_ZLIB])
2751
AC_CACHE_VAL(ac_cv_libexr,
2753
if test -z "$PKG_CONFIG"; then
2754
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
2757
AC_MSG_CHECKING([for OpenEXR libraries])
2759
if test "$PKG_CONFIG" = "no" ; then
2761
echo "*** The pkg-config script could not be found. Make sure it is"
2762
echo "*** in your path, or set the PKG_CONFIG environment variable"
2763
echo "*** to the full path to pkg-config."
2764
echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
2766
if ! $PKG_CONFIG --exists OpenEXR ; then
2770
if ! $PKG_CONFIG --atleast-version="1.1.1" OpenEXR ; then
2774
kde_save_LIBS="$LIBS"
2775
LIBS="$LIBS $all_libraries $USER_LDFLAGS `pkg-config --libs OpenEXR` $LIBZ"
2778
kde_save_CXXFLAGS="$CXXFLAGS"
2779
EXR_FLAGS=`$PKG_CONFIG --cflags OpenEXR`
2780
CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES $EXR_FLAGS"
2784
#include <ImfRgbaFile.h>
2787
using namespace Imf;
2788
RgbaInputFile file ("dummy");
2791
eval "ac_cv_libexr='`pkg-config --libs OpenEXR`'",
2792
eval "ac_cv_libexr=no"
2794
LIBS="$kde_save_LIBS"
2795
CXXFLAGS="$kde_save_CXXFLAGS"
2798
if eval "test ! \"`echo $ac_cv_libexr`\" = no"; then
2799
AC_DEFINE_UNQUOTED(HAVE_EXR, 1, [Define if you have OpenEXR])
2800
LIB_EXR="$ac_cv_libexr"
2801
AC_MSG_RESULT($ac_cv_libexr)
2626
2815
AC_DEFUN([AC_FIND_PNG],
2953
AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG],
2955
AC_MSG_CHECKING([whether $CC supports -$1])
2956
kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
2957
AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache,
2961
save_CFLAGS="$CFLAGS"
2962
CFLAGS="$CFLAGS -$1"
2963
AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], [])
2964
CFLAGS="$save_CFLAGS"
2967
if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then
2764
2979
dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
2765
2980
dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
2766
2981
dnl it's all white-space separated
3003
AC_DEFUN([KDE_CHECK_FOR_BAD_COMPILER],
3005
AC_MSG_CHECKING([whether $CC is blacklisted])
3007
dnl In theory we have tu run this test against $CC and $CXX
3008
dnl in C and in C++ mode, because its perfectly legal for
3009
dnl the user to mix compiler versions, since C has a defined
3012
dnl For now, we assume the user is not on crack.
3016
#if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0
3021
kde_bad_compiler=no,
3022
kde_bad_compiler=yes
3025
AC_MSG_RESULT($kde_bad_compiler)
3027
if test "$kde_bad_compiler" = "yes"; then
3030
This particular compiler version is blacklisted because it
3031
is known to miscompile KDE. Please use a newer version, or
3032
if that is not yet available, choose an older version.
3034
Please do not report a bug or bother us reporting this
3035
configure error. We know about it, and we introduced
3036
it by intention to avoid untraceable bugs or crashes in KDE.
3044
AC_DEFUN([KDE_CHECK_FOR_OPT_NOINLINE_MATCH],
3046
AC_CACHE_CHECK([whether system headers can cope with -O2 -fno-inline],
3047
kde_cv_opt_noinline_match,
3049
kde_cv_opt_noinline_match=irrelevant
3050
dnl if we don't use both -O2 and -fno-inline, this check is moot
3051
if echo "$CFLAGS" | grep -e -O2 >/dev/null 2>/dev/null \
3052
&& echo "$CFLAGS" | grep -e -fno-inline >/dev/null 2>/dev/null ; then
3054
ac_cflags_save="$CFLAGS"
3055
CFLAGS="$CFLAGS -D_USE_GNU"
3059
], [ const char *pt, *et;
3060
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 , ";," )); }) ;
3062
kde_cv_opt_noinline_match=yes,
3063
kde_cv_opt_noinline_match=no
3066
CFLAGS="$ac_cflags_save"
2787
3072
dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
2788
3073
AC_DEFUN([AC_VALIDIFY_CXXFLAGS],
2933
3220
if test "$kde_use_warnings" = "yes"; then
2934
3221
if test "$GCC" = "yes"; then
3222
CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS"
2937
CFLAGS="-ansi -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
2938
CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts $CXXFLAGS"
2939
KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"; CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"])
3225
CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
3226
CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts $CXXFLAGS"
3227
KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"])
3228
KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"])
2942
CXXFLAGS="-Wall -W -Wpointer-arith -Wwrite-strings $CXXFLAGS"
2943
3231
KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"])
2944
3232
KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"])
2945
KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"])
3233
dnl ### FIXME: revert for KDE 4
3234
KDE_CHECK_COMPILER_FLAG(Wno-non-virtual-dtor,[CXXFLAGS="$CXXFLAGS -Wno-non-virtual-dtor"])
2949
3238
if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then
2950
3239
CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
3243
AC_HELP_STRING([--enable-pch],
3244
[enables precompiled header support (currently only KCC or gcc >=3.4+unsermake) [default=no]]),
3245
[ kde_use_pch=$enableval ],[ kde_use_pch=no ])
3247
HAVE_GCC_VISIBILITY=0
3248
AC_SUBST([HAVE_GCC_VISIBILITY])
2953
3250
if test "$GXX" = "yes"; then
3251
gcc_no_reorder_blocks=NO
3252
KDE_CHECK_COMPILER_FLAG(fno-reorder-blocks,[gcc_no_reorder_blocks=YES])
3253
if test $kde_use_debug_code != "no" && \
3254
test $kde_use_debug_code != "full" && \
3255
test "YES" = "$gcc_no_reorder_blocks" ; then
3256
CXXFLAGS="$CXXFLAGS -fno-reorder-blocks"
3257
CFLAGS="$CFLAGS -fno-reorder-blocks"
2954
3259
KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
2955
3260
KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
2956
3261
KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"])
2957
3262
KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= )
3263
ENABLE_PERMISSIVE_FLAG="-fpermissive"
3265
if test "$kde_use_pch" = "yes"; then
3266
AC_MSG_CHECKING(whether gcc supports precompiling c header files)
3268
if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then
3269
kde_gcc_supports_pch=yes
3272
kde_gcc_supports_pch=no
3275
if test "$kde_gcc_supports_pch" = "yes"; then
3276
AC_MSG_CHECKING(whether gcc supports precompiling c++ header files)
3277
if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then
3278
kde_gcc_supports_pch=yes
3281
kde_gcc_supports_pch=no
3285
rm -f conftest.h conftest.h.gch
3288
KDE_CHECK_FOR_OPT_NOINLINE_MATCH
3289
if test "x$kde_cv_opt_noinline_match" = "xno" ; then
3290
CFLAGS="`echo "$CFLAGS" | sed "s/ -fno-inline//"`"
3293
AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
2959
3294
if test "$CXX" = "KCC"; then
2960
3295
dnl unfortunately we currently cannot disable exception support in KCC
2961
3296
dnl because doing so is binary incompatible and Qt by default links with exceptions :-(
2962
3297
dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"])
2963
3298
dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= )
2966
AC_HELP_STRING([--enable-pch],
2967
[enables precompiled header support (currently only KCC) [default=no]]),
2969
kde_use_pch=$enableval
2972
3300
if test "$kde_use_pch" = "yes"; then
2973
3301
dnl TODO: support --pch-dir!
2974
3302
KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"])
3024
3352
KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0])
3354
AC_ARG_ENABLE(coverage,
3355
AC_HELP_STRING([--enable-coverage],[use gcc coverage testing]), [
3356
if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then
3357
ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
3358
ac_coverage_linker="-lgcc"
3359
elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then
3360
ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
3361
ac_coverage_linker=""
3363
AC_MSG_ERROR([coverage with your compiler is not supported])
3365
CFLAGS="$CFLAGS $ac_coverage_compiler"
3366
CXXFLAGS="$CXXFLAGS $ac_coverage_compiler"
3367
LDFLAGS="$LDFLAGS $ac_coverage_linker"
3026
3370
AC_SUBST(NOOPT_CXXFLAGS)
3027
3371
AC_SUBST(NOOPT_CFLAGS)
3372
AC_SUBST(ENABLE_PERMISSIVE_FLAG)
3374
KDE_CHECK_NEW_LDFLAGS
3029
3375
KDE_CHECK_FINAL
3030
3376
KDE_CHECK_CLOSURE
3031
3377
KDE_CHECK_NMCHECK
3033
3379
ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
3382
AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG],
3384
AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug,
3389
safe_CXXFLAGS=$CXXFLAGS
3390
safe_LDFLAGS=$LDFLAGS
3391
CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0"
3392
LDFLAGS="$LDFLAGS -shared -fPIC"
3396
/* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
3398
int some_function( void ) __attribute__ ((visibility("default")));
3399
int some_function( void )
3401
std::string s("blafasel");
3404
], [/* elvis is alive */],
3405
kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes)
3407
CXXFLAGS=$safe_CXXFLAGS
3408
LDFLAGS=$safe_LDFLAGS
3413
if test x$kde_cv_val_gcc_visibility_bug = xno; then
3414
CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
3419
AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY],
3421
AC_BEFORE([AC_PATH_QT_1_3], [KDE_ENABLE_HIDDEN_VISIBILITY])
3423
AC_MSG_CHECKING([grepping for visibility push/pop in headers])
3425
if test "x$GXX" = "xyes"; then
3429
[GCC visibility push],
3430
[ #include <exception>
3434
kde_stdc_visibility_patched=yes ],
3437
AC_MSG_WARN([Your libstdc++ doesn't appear to be patched for
3438
visibility support. Disabling -fvisibility=hidden])
3440
kde_stdc_visibility_patched=no ])
3444
kde_have_gcc_visibility=no
3445
KDE_CHECK_COMPILER_FLAG(fvisibility=hidden,
3447
kde_have_gcc_visibility=yes
3448
dnl the whole toolchain is just a mess, gcc is just too buggy
3449
dnl to handle STL with visibility enabled. Lets reconsider
3450
dnl when gcc 4.2 is out or when things get fixed in the compiler.
3451
dnl Contact mueller@kde.org for details.
3452
AC_ARG_ENABLE(gcc-hidden-visibility,
3453
AC_HELP_STRING([--enable-gcc-hidden-visibility],[toolchain hidden visibility [default=no]]),
3454
[kde_have_gcc_visibility=$enableval],
3455
[kde_have_gcc_visibility=no])
3457
AC_CACHE_CHECK([if Qt is patched for -fvisibility], kde_cv_val_qt_gcc_visibility_patched,
3462
safe_CXXFLAGS=$CXXFLAGS
3463
CXXFLAGS="$CXXFLAGS $all_includes"
3467
#include <qglobal.h>
3468
#if Q_EXPORT - 0 != 0
3469
/* if this compiles, then Q_EXPORT is undefined */
3470
/* if Q_EXPORT is nonempty, this will break compilation */
3472
], [/* elvis is alive */],
3473
kde_cv_val_qt_gcc_visibility_patched=no, kde_cv_val_qt_gcc_visibility_patched=yes)
3475
CXXFLAGS=$safe_CXXFLAGS
3480
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
3481
CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
3482
KDE_CHECK_VISIBILITY_GCC_BUG
3483
HAVE_GCC_VISIBILITY=1
3484
AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported])
3036
3490
AC_DEFUN([KDE_ADD_DEPENDENCIES],
3038
3492
[A]M_DEPENDENCIES(CC)
3060
3514
KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
3061
3515
AC_SUBST(KDE_PLUGIN)
3517
# This hack ensures that libtool creates shared libs for kunittest plugins. By default check_LTLIBRARIES makes static libs.
3518
KDE_CHECK_PLUGIN="\$(KDE_PLUGIN) -rpath \$(libdir)"
3519
AC_SUBST(KDE_CHECK_PLUGIN)
3063
3521
# we patch configure quite some so we better keep that consistent for incremental runs
3064
3522
AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure')
3067
3525
AC_DEFUN([KDE_CHECK_LIB64],
3070
3527
AC_ARG_ENABLE(libsuffix,
3071
3528
AC_HELP_STRING([--enable-libsuffix],
3072
[/lib directory suffix (64,32,none[=default])]),
3073
kdelibsuff=$enableval)
3074
# TODO: add an auto case that compiles a little C app to check
3075
# where the glibc is
3076
if test "$kdelibsuff" = "no"; then
3529
[/lib directory suffix (64,32,none,auto[=default])]),
3530
kdelibsuff=$enableval, kdelibsuff="auto")
3532
if test "$kdelibsuff" = "auto"; then
3534
cat > conftest.c << EOF
3540
kdelibsuff=`$CC conftest.c -o conftest.out; ldd conftest.out |sed -ne '/libc.so/{
3541
s,.*/lib\([[^\/]]*\)/.*,\1,
3547
if test "$kdelibsuff" = "no" || test "$kdelibsuff" = "none"; then
3079
3550
if test -z "$kdelibsuff"; then
3141
3617
dnl Check for the type of the third argument of getsockname
3142
AC_DEFUN([AC_CHECK_SOCKLEN_T], [
3143
AC_MSG_CHECKING(for socklen_t)
3144
AC_CACHE_VAL(ac_cv_socklen_t, [
3148
#include <sys/types.h>
3149
#include <sys/socket.h>
3152
getsockname(0,(struct sockaddr*)0, &a);
3154
ac_cv_socklen_t=socklen_t,
3618
AC_DEFUN([AC_CHECK_SOCKLEN_T],
3620
AC_MSG_CHECKING(for socklen_t)
3621
AC_CACHE_VAL(kde_cv_socklen_t,
3155
3625
AC_TRY_COMPILE([
3156
#include <sys/types.h>
3157
#include <sys/socket.h>
3160
getsockname(0,(struct sockaddr*)0, &a);
3162
ac_cv_socklen_t=int,
3163
ac_cv_socklen_t=size_t
3169
AC_MSG_RESULT($ac_cv_socklen_t)
3170
if test "$ac_cv_socklen_t" != "socklen_t"; then
3171
AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t,
3172
[Define the real type of socklen_t])
3174
AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define])
3626
#include <sys/types.h>
3627
#include <sys/socket.h>
3631
getpeername(0,0,&len);
3634
kde_cv_socklen_t=yes
3635
kde_cv_socklen_t_equiv=socklen_t
3639
AC_MSG_RESULT($kde_cv_socklen_t)
3640
if test $kde_cv_socklen_t = no; then
3641
AC_MSG_CHECKING([for socklen_t equivalent for socket functions])
3642
AC_CACHE_VAL(kde_cv_socklen_t_equiv,
3644
kde_cv_socklen_t_equiv=int
3646
for t in int size_t unsigned long "unsigned long"; do
3648
#include <sys/types.h>
3649
#include <sys/socket.h>
3653
getpeername(0,0,&len);
3656
kde_cv_socklen_t_equiv="$t"
3662
AC_MSG_RESULT($kde_cv_socklen_t_equiv)
3664
AC_DEFINE_UNQUOTED(kde_socklen_t, $kde_cv_socklen_t_equiv,
3665
[type to use in place of socklen_t if not defined])
3666
AC_DEFINE_UNQUOTED(ksize_t, $kde_cv_socklen_t_equiv,
3667
[type to use in place of socklen_t if not defined (deprecated, use kde_socklen_t)])
3178
3670
dnl This is a merge of some macros out of the gettext aclocal.m4
3529
4017
[Define if you have the DPMSCapable prototype in <X11/extensions/dpms.h>])
3530
4018
AC_CHECK_DECL(DPMSCapable,
3531
4019
AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),,
3532
[#include <X11/extensions/dpms.h>])
4020
[#include <X11/Xlib.h>
4021
#include <X11/extensions/dpms.h>])
3533
4022
AH_TEMPLATE(HAVE_DPMSINFO_PROTO,
3534
4023
[Define if you have the DPMSInfo prototype in <X11/extensions/dpms.h>])
3535
4024
AC_CHECK_DECL(DPMSInfo,
3536
4025
AC_DEFINE(HAVE_DPMSINFO_PROTO),,
3537
[#include <X11/extensions/dpms.h>])
4026
[#include <X11/Xlib.h>
4027
#include <X11/extensions/dpms.h>])
3538
4028
CFLAGS="$ac_save_cflags"
3539
4029
AC_SUBST(DPMSINC)
3540
4030
AC_SUBST(DPMSLIB)
3562
4052
AC_LANG_CPLUSPLUS
3563
ac_save_ldflags="$LDFLAGS"
3564
ac_save_cxxflags="$CXXFLAGS"
3565
LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU"
3566
test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3567
LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
4053
ac_save_ldflags=$LDFLAGS
4054
ac_save_cxxflags=$CXXFLAGS
4056
LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries"
4057
LIBS="$LIBS -lGL -lGLU"
4058
test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LIBS="$LIBS -lX11"
4059
LIBS="$LIBS $LIB_XEXT -lm $LIBSOCKET"
3568
4060
CXXFLAGS="$CFLAGS $X_INCLUDES"
3569
4061
test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3570
4062
AC_TRY_LINK([#include <GL/gl.h>
3571
4063
#include <GL/glu.h>
3573
ac_cv_have_gl="mesa", ac_cv_have_gl="no")
3574
if test "x$ac_cv_have_gl" = "xno"; then
3575
LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGLU -lGL"
3576
test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11"
3577
LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET"
3578
CXXFLAGS="$ac_save_cflags $X_INCLUDES"
3579
test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3580
AC_TRY_LINK([#include <GL/gl.h>
3583
ac_cv_have_gl="yes", ac_cv_have_gl="no")
4065
ac_cv_have_gl="yes", ac_cv_have_gl="no")
3585
4066
AC_LANG_RESTORE
3586
LDFLAGS="$ac_save_ldflags"
3587
CXXFLAGS="$ac_save_cxxflags"
4067
LDFLAGS=$ac_save_ldflags
4068
CXXFLAGS=$ac_save_cxxflags
3590
4072
if test "$ac_cv_have_gl" = "no"; then
3596
4078
AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
3597
4079
if test "$GL_LDFLAGS" = ""; then
3598
if test "$ac_cv_have_gl" = "mesa"; then
3599
GLLIB='-lMesaGLU -lMesaGL $(LIB_X11)'
3601
GLLIB='-lGLU -lGL $(LIB_X11)'
4080
GLLIB='-lGLU -lGL $(LIB_X11)'
3604
if test "$ac_cv_have_gl" = "mesa"; then
3605
GLLIB="$GL_LDFLAGS -lMesaGLU -lMesaGL "'$(LIB_X11)'
3607
GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
4082
GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
3610
4084
if test "$GL_INCLUDE" = ""; then
3905
4379
AC_DEFUN([KDE_CHECK_LIBPTHREAD],
4381
dnl This code is here specifically to handle the
4382
dnl various flavors of threading library on FreeBSD
4383
dnl 4-, 5-, and 6-, and the (weird) rules around it.
4384
dnl There may be an environment PTHREAD_LIBS that
4385
dnl specifies what to use; otherwise, search for it.
4386
dnl -pthread is special cased and unsets LIBPTHREAD
3909
4390
if test -n "$PTHREAD_LIBS"; then
3910
PTHREAD_LIBS_save="$PTHREAD_LIBS"
3911
PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'`
3912
KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [LIBPTHREAD="$PTHREAD_LIBS_save"] )
3913
PTHREAD_LIBS="$PTHREAD_LIBS_save"
4391
if test "x$PTHREAD_LIBS" = "x-pthread" ; then
4392
LIBPTHREAD="PTHREAD"
4394
PTHREAD_LIBS_save="$PTHREAD_LIBS"
4395
PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'`
4396
AC_MSG_CHECKING([for pthread_create in $PTHREAD_LIBS])
4397
KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [
4398
LIBPTHREAD="$PTHREAD_LIBS_save"])
4399
PTHREAD_LIBS="$PTHREAD_LIBS_save"
4403
dnl Is this test really needed, in the face of the Tru64 test below?
3916
4404
if test -z "$LIBPTHREAD"; then
3917
AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] )
4405
AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"])
4408
dnl This is a special Tru64 check, see BR 76171 issue #18.
4409
if test -z "$LIBPTHREAD" ; then
4410
AC_MSG_CHECKING([for pthread_create in -lpthread])
4412
LIBS="$LIBS -lpthread"
4413
AC_TRY_LINK([#include <pthread.h>],[(void)pthread_create(0,0,0,0);],[
4415
LIBPTHREAD="-lpthread"],[
4420
dnl Un-special-case for FreeBSD.
4421
if test "x$LIBPTHREAD" = "xPTHREAD" ; then
3920
4425
AC_SUBST(LIBPTHREAD)
4145
4650
AC_DEFUN([KDE_CHECK_PYTHON],
4147
KDE_CHECK_PYTHON_INTERN("2.3",
4148
[KDE_CHECK_PYTHON_INTERN("2.2",
4149
[KDE_CHECK_PYTHON_INTERN("2.1",
4150
[KDE_CHECK_PYTHON_INTERN("2.0",
4151
[KDE_CHECK_PYTHON_INTERN($1, $2) ])
4652
KDE_CHECK_PYTHON_INTERN("2.5",
4653
[KDE_CHECK_PYTHON_INTERN("2.4",
4654
[KDE_CHECK_PYTHON_INTERN("2.3",
4655
[KDE_CHECK_PYTHON_INTERN("2.2",
4656
[KDE_CHECK_PYTHON_INTERN("2.1",
4657
[KDE_CHECK_PYTHON_INTERN("2.0",
4658
[KDE_CHECK_PYTHON_INTERN($1, $2) ])
4157
4666
AC_DEFUN([KDE_CHECK_STL],
4475
4987
# And delete superfluous '/' to make compares easier
4476
4988
prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
4477
4989
exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
4991
kde_libs_prefix='$(prefix)'
4992
kde_libs_htmldir='$(kde_htmldir)'
4993
AC_SUBST(kde_libs_prefix)
4994
AC_SUBST(kde_libs_htmldir)
5000
AC_DEFUN([KDE_SET_PREFIX],
5003
dnl We can't give real code to that macro, only a value.
5004
dnl It only matters for --help, since we set the prefix in this function anyway.
5005
AC_PREFIX_DEFAULT(${KDEDIR:-the kde prefix})
5007
KDE_SET_DEFAULT_BINDIRS
5008
if test "x$prefix" = "xNONE"; then
5009
dnl no prefix given: look for kde-config in the PATH and deduce the prefix from it
5010
KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
5012
dnl prefix given: look for kde-config, preferrably in prefix, otherwise in PATH
5013
kde_save_PATH="$PATH"
5014
PATH="$exec_prefix/bin:$prefix/bin:$PATH"
5015
KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
5016
PATH="$kde_save_PATH"
5019
kde_libs_prefix=`$KDECONFIG --prefix`
5020
if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
5021
AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
5022
This means it has been moved since you installed it.
5023
This won't work. Please recompile kdelibs for the new prefix.
5026
kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
5028
AC_MSG_CHECKING([where to install])
5029
if test "x$prefix" = "xNONE"; then
5030
prefix=$kde_libs_prefix
5031
AC_MSG_RESULT([$prefix (as returned by kde-config)])
5033
dnl --prefix was given. Compare prefixes and warn (in configure.in.bot.end) if different
5034
given_prefix=$prefix
5035
AC_MSG_RESULT([$prefix (as requested)])
5038
# And delete superfluous '/' to make compares easier
5039
prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
5040
exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
5041
given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
5044
AC_SUBST(kde_libs_prefix)
5045
AC_SUBST(kde_libs_htmldir)
4478
5047
KDE_FAST_CONFIGURE
4671
5240
for dir in $javadirs; do
4672
5241
dnl Check for the java executable
4673
5242
if test -x "$dir/java"; then
5243
sane_path=$(cd $dir; /bin/pwd)
4674
5244
dnl And also check for a libjvm.so somewhere under there
4675
5245
dnl Since we have to go to the parent dir, /usr/bin is excluded, /usr is too big.
4676
if test "$dir" != "/usr/bin"; then
5246
if test "$sane_path" != "/usr/bin"; then
4677
5247
libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
4678
5248
if test ! -f $libjvmdir/libjvm.so; then continue; fi
4679
5249
jredirs="$jredirs $dir"
5925
AC_DEFUN([KDE_CHECK_LARGEFILE],
5928
if test "$ac_cv_sys_file_offset_bits" != no; then
5929
CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
5932
if test "x$ac_cv_sys_large_files" != "xno"; then
5933
CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=1"
5938
dnl A small extension to PKG_CHECK_MODULES (defined in pkg.m4.in)
5939
dnl which allows to search for libs that get installed into the KDE prefix.
5941
dnl Syntax: KDE_PKG_CHECK_MODULES(KSTUFF, libkexif >= 0.2 glib = 1.3.4, action-if, action-not)
5942
dnl defines KSTUFF_LIBS, KSTUFF_CFLAGS, see pkg-config man page
5943
dnl also defines KSTUFF_PKG_ERRORS on error
5944
AC_DEFUN([KDE_PKG_CHECK_MODULES], [
5946
PKG_CONFIG_PATH="$prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH"
5947
if test "$prefix" != "$kde_libs_prefix"; then
5948
PKG_CONFIG_PATH="$kde_libs_prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH"
5950
export PKG_CONFIG_PATH
5951
PKG_CHECK_MODULES([$1],[$2],[$3],[$4])
5955
dnl Check for PIE support in the compiler and linker
5956
AC_DEFUN([KDE_CHECK_PIE_SUPPORT],
5958
AC_CACHE_CHECK([for PIE support], kde_cv_val_pie_support,
5962
safe_CXXFLAGS=$CXXFLAGS
5963
safe_LDFLAGS=$LDFLAGS
5964
CXXFLAGS="$CXXFLAGS -fPIE"
5965
LDFLAGS="$LDFLAGS -pie"
5967
AC_TRY_LINK([int foo;], [], [kde_cv_val_pie_support=yes], [kde_cv_val_pie_support=no])
5969
CXXFLAGS=$safe_CXXFLAGS
5970
LDFLAGS=$safe_LDFLAGS
5974
AC_MSG_CHECKING(if enabling -pie/fPIE support)
5977
AC_HELP_STRING([--enable-pie],[platform supports PIE linking [default=detect]]),
5978
[kde_has_pie_support=$enableval],
5979
[kde_has_pie_support=detect])
5981
if test "$kde_has_pie_support" = "detect"; then
5982
kde_has_pie_support=$kde_cv_val_pie_support
5985
AC_MSG_RESULT([$kde_has_pie_support])
5990
AC_SUBST([KDE_USE_FPIE])
5991
AC_SUBST([KDE_USE_PIE])
5993
if test "$kde_has_pie_support" = "yes"; then
5994
KDE_USE_FPIE="-fPIE"