~ubuntu-branches/ubuntu/karmic/eva/karmic

« back to all changes in this revision

Viewing changes to admin/acinclude.m4.in

  • Committer: Bazaar Package Importer
  • Author(s): ZhengPeng Hou
  • Date: 2008-02-15 12:41:06 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20080215124106-x3mvc2nharfsl99l
Tags: 0.4.9+svn20080215-0ubuntu1
New upstream SVN release, upstream has switched to
svn now. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
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.
21
21
 
22
22
dnl IMPORTANT NOTE:
23
23
dnl Please do not modify this file unless you expect your modifications to be
96
96
  # Don't add to $LIBS permanently.
97
97
  ac_save_LIBS="$LIBS"
98
98
  LIBS="-l$x_direct_test_library $LIBS"
99
 
AC_TRY_LINK(, [${x_direct_test_function}()],
 
99
AC_TRY_LINK([#include <X11/Intrinsic.h>], [${x_direct_test_function}(1)],
100
100
[LIBS="$ac_save_LIBS"
101
101
# We can link X programs with no special library path.
102
102
ac_x_libraries=],
173
173
done
174
174
])
175
175
 
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)
 
178
dnl
 
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],
179
185
[
180
186
   AC_MSG_CHECKING([for $1])
186
192
        AC_CACHE_VAL(kde_cv_path_$kde_cache,
187
193
        [
188
194
        kde_cv_path="NONE"
189
 
        dirs="$3"
190
195
        kde_save_IFS=$IFS
191
196
        IFS=':'
 
197
        dirs=""
192
198
        for dir in $PATH; do
193
199
          dirs="$dirs $dir"
194
 
        done
 
200
        done
 
201
        if test -z "$6"; then  dnl Append dirs in PATH (default)
 
202
          dirs="$3 $dirs"
 
203
        else  dnl Prepend dirs in PATH (if 6th arg is set)
 
204
          dirs="$dirs $3"
 
205
        fi
195
206
        IFS=$kde_save_IFS
196
207
 
197
208
        for dir in $dirs; do
533
544
])
534
545
])
535
546
 
 
547
AC_DEFUN([KDE_SET_DEFAULT_BINDIRS],
 
548
[
 
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
 
552
       kde_save_IFS=$IFS
 
553
       IFS=:
 
554
       for dir in $KDEDIRS; do
 
555
            kde_default_bindirs="$dir/bin $kde_default_bindirs "
 
556
       done
 
557
       IFS=$kde_save_IFS
 
558
    fi
 
559
])
 
560
 
536
561
AC_DEFUN([KDE_SUBST_PROGRAMS],
537
562
[
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],
541
566
        [build_arts=yes]
542
567
    )
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])
 
571
    fi
544
572
 
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
548
 
           kde_save_IFS=$IFS
549
 
           IFS=:
550
 
           for dir in $KDEDIRS; do
551
 
                kde_default_bindirs="$dir/bin $kde_default_bindirs "
552
 
           done
553
 
           IFS=$kde_save_IFS
554
 
        fi
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)])
561
580
        fi
562
 
        KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs])
563
581
        KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
564
582
 
565
583
        kde32ornewer=1
 
584
        kde33ornewer=1
566
585
        if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then
567
586
            kde32ornewer=
 
587
            kde33ornewer=
568
588
        else
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
570
591
                kde32ornewer=
 
592
              fi
 
593
              if test "$kde_qtsubver" -le 2; then
 
594
                kde33ornewer=
 
595
              fi
 
596
              if test "$KDECONFIG" != "compiled"; then
 
597
                if test `$KDECONFIG --version | grep KDE | sed 's/KDE: \(...\).*/\1/'` = 3.2; then
 
598
                  kde33ornewer=
 
599
                fi
 
600
              fi
571
601
            fi
572
602
        fi
573
603
 
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)])
577
607
        fi
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)
 
611
        fi
 
612
        KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""])
579
613
 
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)
604
 
        AC_SUBST(KDECONFIG)
605
638
        AC_SUBST(MEINPROC)
606
639
        AC_SUBST(KDE_XSL_STYLESHEET)
607
640
        AC_SUBST(XMLLINT)
608
 
 
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.
615
 
                          ])
616
 
           fi
617
 
           kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
618
 
        else
619
 
           kde_libs_prefix='$(prefix)'
620
 
           kde_libs_htmldir='$(kde_htmldir)'
621
 
        fi
622
 
        AC_SUBST(kde_libs_prefix)
623
 
        AC_SUBST(kde_libs_htmldir)
624
641
])dnl
625
642
 
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)
757
774
 
 
775
   # sys/bitypes.h is needed for uint32_t and friends on Tru64
 
776
   AC_CHECK_HEADERS(sys/bitypes.h)
 
777
 
758
778
   # darwin requires a poll emulation library
759
779
   AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll")
760
780
 
 
781
   # for some image handling on Mac OS X
 
782
   AC_CHECK_HEADERS(Carbon/Carbon.h)
 
783
 
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"
765
788
   ])
766
789
 
767
790
   AC_CHECK_RES_INIT
785
808
   KDE_CHECK_TYPES
786
809
   KDE_CHECK_LIBDL
787
810
   KDE_CHECK_STRLCPY
 
811
   KDE_CHECK_PIE_SUPPORT
788
812
 
789
813
# darwin needs this to initialize the environment
790
814
AC_CHECK_HEADERS(crt_externs.h)
869
893
  kde_use_qt_mac=no
870
894
)
871
895
 
 
896
# used to disable x11-specific stuff on special platforms
 
897
AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
 
898
 
872
899
if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then
873
900
 
874
901
AC_MSG_CHECKING(for X)
956
983
  X_INCLUDES="-I$x_includes"
957
984
fi
958
985
 
959
 
if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then
 
986
if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE || test "$kde_x_libraries" = "/usr/lib"; then
960
987
  X_LDFLAGS=""
961
988
  x_libraries="/usr/lib"; dnl better than nothing :-
962
989
 else
964
991
  X_LDFLAGS="-L$x_libraries"
965
992
fi
966
993
all_includes="$X_INCLUDES"
967
 
all_libraries="$X_LDFLAGS"
 
994
all_libraries="$X_LDFLAGS $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS"
968
995
 
969
996
# Check for libraries that X11R6 Xt/Xaw programs need.
970
997
ac_save_LDFLAGS="$LDFLAGS"
1126
1153
AC_DEFUN([KDE_USE_QT],
1127
1154
[
1128
1155
if test -z "$1"; then
1129
 
  # Current default Qt version: 3.2
 
1156
  # Current default Qt version: 3.3
1130
1157
  kde_qtver=3
1131
 
  kde_qtsubver=2
 
1158
  kde_qtsubver=3
1132
1159
else
1133
1160
  kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
1134
1161
  # following is the check if subversion isnt found in passed argument
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"
 
1184
            else
 
1185
                kde_qt_minversion=">= Qt 3.2 and < 4.0"
 
1186
            fi
1156
1187
         else
1157
 
            kde_qt_minversion=">= Qt 3.1 (20021021)"
 
1188
            kde_qt_minversion=">= Qt 3.1 (20021021) and < 4.0"
1158
1189
         fi
1159
1190
    else
1160
 
      kde_qt_minversion=">= Qt 3.0"
 
1191
      kde_qt_minversion=">= Qt 3.0 and < 4.0"
1161
1192
    fi
1162
1193
  fi
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,"`
1176
1207
     else
1177
 
       kde_qt_verstring="QT_VERSION >= 300"
 
1208
       kde_qt_verstring="QT_VERSION >= 300 && QT_VERSION < 0x040000"
1178
1209
     fi
1179
1210
   fi
1180
1211
   if test $kde_qtver = 2; then
1191
1222
   kde_qt_verstring="$3"
1192
1223
fi
1193
1224
 
 
1225
if test $kde_qtver = 4; then
 
1226
  kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4"
 
1227
fi
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)
 
1232
  fi
 
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`"
 
1236
    fi
 
1237
  fi
1196
1238
fi
1197
1239
if test $kde_qtver = 2; then
1198
1240
   kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
1322
1364
  fi
1323
1365
fi
1324
1366
 
1325
 
if test -z "$LIBQT"; then
1326
1367
dnl ------------------------------------------------------------
1327
1368
dnl If we got --enable-embedded then adjust the Qt library name.
1328
1369
dnl ------------------------------------------------------------
1329
 
  if test "x$kde_use_qt_emb" = "xyes"; then
1330
 
    qtlib="qte"
1331
 
  else
1332
 
    qtlib="qt"
1333
 
  fi
1334
 
 
1335
 
  kde_int_qt="-l$qtlib"
 
1370
if test "x$kde_use_qt_emb" = "xyes"; then
 
1371
  qtlib="qte"
1336
1372
else
1337
 
  kde_int_qt="$LIBQT"
1338
 
  kde_lib_qt_set=yes
 
1373
  qtlib="qt"
1339
1374
fi
1340
1375
 
 
1376
kde_int_qt="-l$qtlib"
 
1377
 
1341
1378
if test -z "$LIBQPE"; then
1342
1379
dnl ------------------------------------------------------------
1343
1380
dnl If we got --enable-palmtop then add -lqpe to the link line
1358
1395
dnl ------------------------------------------------------------------------
1359
1396
 
1360
1397
if test "x$kde_use_qt_mt" = "xyes"; then
1361
 
  if test -z "$LIBQT"; then
1362
 
    LIBQT="-l$qtlib-mt"
1363
 
    kde_int_qt="-l$qtlib-mt"
1364
 
  else
1365
 
    LIBQT="$qtlib-mt"
1366
 
    kde_int_qt="$qtlib-mt"
1367
 
  fi
 
1398
  LIBQT="-l$qtlib-mt"
 
1399
  kde_int_qt="-l$qtlib-mt"
1368
1400
  LIBQT_GLOB="lib$qtlib-mt.*"
1369
1401
  USING_QT_MT="using -mt"
1370
1402
else
1419
1451
for dir in $kde_qt_dirs; do
1420
1452
   qt_incdirs="$qt_incdirs $dir/include $dir"
1421
1453
done
 
1454
if test -z "$PKG_CONFIG"; then
 
1455
    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
 
1456
fi
 
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`"
 
1460
  fi
 
1461
fi
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"
1435
1475
 
1436
1476
qt_libdirs=""
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"
1439
1479
done
 
1480
if test -z "$PKG_CONFIG"; then
 
1481
    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
 
1482
fi
 
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`"
 
1486
  fi
 
1487
fi
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
1542
1590
 QT_LDFLAGS=""
1543
1591
else
1544
1592
 QT_LDFLAGS="-L$qt_libraries"
1545
 
 all_libraries="$all_libraries $QT_LDFLAGS"
 
1593
 all_libraries="$QT_LDFLAGS $all_libraries"
1546
1594
fi
1547
1595
test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
1548
1596
 
1619
1667
 
1620
1668
AC_MSG_RESULT([$kde_cv_uic_plugins])
1621
1669
if test "$kde_cv_uic_plugins" != yes; then
1622
 
        AC_MSG_ERROR([you need to install kdelibs first.])
 
1670
        AC_MSG_ERROR([
 
1671
you need to install kdelibs first.
 
1672
 
 
1673
If you did install kdelibs, then the Qt version that is picked up by
 
1674
this configure is not the same version you used to compile kdelibs. 
 
1675
The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the 
 
1676
_same Qt version_, compiled with the _same compiler_ and the same Qt
 
1677
configuration settings.
 
1678
])
1623
1679
fi
1624
1680
fi
1625
1681
])
1672
1728
  AC_SUBST(KDE_NO_UNDEFINED)
1673
1729
])
1674
1730
 
 
1731
dnl Check if the linker supports --enable-new-dtags and --as-needed
 
1732
AC_DEFUN([KDE_CHECK_NEW_LDFLAGS],
 
1733
[
 
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)
 
1739
 
 
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"],)
 
1746
 
 
1747
       KDE_CHECK_COMPILER_FLAG([Wl,--as-needed],
 
1748
                [LDFLAGS_AS_NEEDED="-Wl,--as-needed"],)
 
1749
  fi
 
1750
  AC_SUBST(LDFLAGS_AS_NEEDED)
 
1751
  AC_SUBST(LDFLAGS_NEW_DTAGS)
 
1752
])
 
1753
 
1675
1754
AC_DEFUN([KDE_CHECK_NMCHECK],
1676
1755
[
1677
1756
  AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]),
1738
1817
 
1739
1818
if test -z "$1"; then
1740
1819
 
1741
 
kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
 
1820
kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
1742
1821
test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
1743
1822
kde_incdirs="$ac_kde_includes $kde_incdirs"
1744
1823
AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
1750
1829
So, check this please and use another prefix!])
1751
1830
fi
1752
1831
 
1753
 
kde_libdirs="/usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}"
 
1832
kde_libdirs="$kde_libs_prefix/lib${kdelibsuff} /usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}"
1754
1833
test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs"
1755
1834
kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
1756
1835
AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
1784
1863
    ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1785
1864
fi
1786
1865
 
1787
 
else dnl test -z $1
 
1866
else dnl test -z $1, e.g. from kdelibs
1788
1867
 
1789
1868
  ac_cv_have_kde="have_kde=no"
1790
1869
 
1832
1911
 
1833
1912
KDE_LDFLAGS="-L$kde_libraries"
1834
1913
if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then 
1835
 
 all_libraries="$all_libraries $KDE_LDFLAGS"
 
1914
 all_libraries="$KDE_LDFLAGS $all_libraries"
1836
1915
fi
1837
1916
 
1838
1917
AC_SUBST(KDE_LDFLAGS)
2008
2087
   AC_REQUIRE([K_PATH_X])
2009
2088
 
2010
2089
if test $kde_qtver = 3; then
 
2090
   case $host in 
 
2091
               *cygwin*) lib_kded="-lkdeinit_kded" ;;
 
2092
               *) lib_kded="" ;;
 
2093
       esac
 
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")
2273
2362
        [MKSTEMPS])
2274
2363
])
2275
2364
 
 
2365
AC_DEFUN([AC_CHECK_MKSTEMP],
 
2366
[
 
2367
        KDE_CHECK_FUNC_EXT(mkstemp, [
 
2368
#include <stdlib.h>
 
2369
#include <unistd.h>
 
2370
],
 
2371
        [
 
2372
mkstemp("/tmp/aaaXXXXXX");
 
2373
],
 
2374
        [int mkstemp(char *)],
 
2375
        [MKSTEMP])
 
2376
])
 
2377
 
2276
2378
AC_DEFUN([AC_CHECK_MKDTEMP],
2277
2379
[
2278
2380
        KDE_CHECK_FUNC_EXT(mkdtemp, [
2312
2414
  LIBS=$kde_libs_safe
2313
2415
  AC_SUBST(LIBRESOLV)
2314
2416
 
2315
 
  AC_MSG_CHECKING([if res_init is available])
2316
 
  AC_TRY_COMPILE(
 
2417
  KDE_CHECK_FUNC_EXT(res_init,
2317
2418
    [
2318
2419
#include <sys/types.h>
2319
2420
#include <netinet/in.h>
2320
2421
#include <arpa/nameser.h>
2321
2422
#include <resolv.h>
2322
2423
    ],
2323
 
    [
2324
 
      res_init();
2325
 
    ],
2326
 
    [
2327
 
      AC_MSG_RESULT(yes)
2328
 
      AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
2329
 
    ],
2330
 
    [ AC_MSG_RESULT(no) ]
2331
 
  )
 
2424
    [res_init()],
 
2425
    [int res_init(void)],
 
2426
    [RES_INIT])
2332
2427
])
2333
2428
 
2334
2429
AC_DEFUN([AC_CHECK_STRLCPY],
2356
2451
        [STRLCAT])
2357
2452
])
2358
2453
 
 
2454
AC_DEFUN([AC_CHECK_RES_QUERY],
 
2455
[
 
2456
        KDE_CHECK_FUNC_EXT(res_query, [
 
2457
#include <sys/types.h>
 
2458
#include <netinet/in.h>
 
2459
#include <arpa/nameser.h>
 
2460
#include <resolv.h>
 
2461
#include <netdb.h>
 
2462
],
 
2463
[
 
2464
res_query(NULL, 0, 0, NULL, 0);
 
2465
],
 
2466
        [int res_query(const char *, int, int, unsigned char *, int)],
 
2467
        [RES_QUERY])
 
2468
])
 
2469
 
 
2470
AC_DEFUN([AC_CHECK_DN_SKIPNAME],
 
2471
[
 
2472
        KDE_CHECK_FUNC_EXT(dn_skipname, [
 
2473
#include <sys/types.h>
 
2474
#include <netinet/in.h>
 
2475
#include <arpa/nameser.h>
 
2476
#include <resolv.h>
 
2477
],
 
2478
[
 
2479
dn_skipname (NULL, NULL);
 
2480
],
 
2481
        [int dn_skipname (unsigned char *, unsigned char *)],
 
2482
        [DN_SKIPNAME])
 
2483
])
 
2484
 
 
2485
 
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"
2402
2529
AC_TRY_LINK(
2403
 
[/* Override any gcc2 internal prototype to avoid an error.  */
2404
 
struct jpeg_decompress_struct;
2405
 
typedef struct jpeg_decompress_struct * j_decompress_ptr;
2406
 
typedef int size_t;
 
2530
[
2407
2531
#ifdef __cplusplus
2408
2532
extern "C" {
2409
2533
#endif
2410
 
    void jpeg_CreateDecompress(j_decompress_ptr cinfo,
2411
 
                                    int version, size_t structsize);
 
2534
void jpeg_CreateDecompress();
2412
2535
#ifdef __cplusplus
2413
2536
}
2414
2537
#endif
2415
 
/* We use char because int might match the return type of a gcc2
2416
 
    builtin and then its argument prototype would still apply.  */
2417
2538
],
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"
2534
2655
AC_TRY_LINK(dnl
2535
2656
[
2536
2657
#include<zlib.h>
 
2658
#include<string.h>
2537
2659
],
2538
2660
[
2539
2661
  char buf[42];
2541
2663
  /* this would segfault.. but we only link, don't run */
2542
2664
  (void) gzgets(f, buf, sizeof(buf));
2543
2665
 
2544
 
  return (zlibVersion() == ZLIB_VERSION); 
 
2666
  return (strcmp(zlibVersion(), ZLIB_VERSION) == 0);
2545
2667
],
2546
2668
            eval "ac_cv_lib_z='-lz'",
2547
2669
            eval "ac_cv_lib_z=no")
2622
2744
AC_SUBST(LIBTIFF)
2623
2745
])
2624
2746
 
 
2747
AC_DEFUN([KDE_FIND_LIBEXR],
 
2748
[
 
2749
AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
 
2750
AC_REQUIRE([AC_FIND_ZLIB])
 
2751
AC_CACHE_VAL(ac_cv_libexr,
 
2752
[
 
2753
  if test -z "$PKG_CONFIG"; then
 
2754
    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
 
2755
  fi
 
2756
 
 
2757
  AC_MSG_CHECKING([for OpenEXR libraries])
 
2758
 
 
2759
  if test "$PKG_CONFIG" = "no" ; then
 
2760
     AC_MSG_RESULT(no)
 
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."
 
2765
  else
 
2766
     if ! $PKG_CONFIG --exists OpenEXR ; then
 
2767
        AC_MSG_RESULT(no)
 
2768
        EXRSTATUS=no
 
2769
     else
 
2770
        if ! $PKG_CONFIG --atleast-version="1.1.1" OpenEXR ; then
 
2771
           AC_MSG_RESULT(no)
 
2772
           EXRSTATUS=old
 
2773
        else
 
2774
           kde_save_LIBS="$LIBS"
 
2775
           LIBS="$LIBS $all_libraries $USER_LDFLAGS `pkg-config --libs OpenEXR` $LIBZ"
 
2776
           AC_LANG_SAVE
 
2777
           AC_LANG_CPLUSPLUS
 
2778
           kde_save_CXXFLAGS="$CXXFLAGS"
 
2779
           EXR_FLAGS=`$PKG_CONFIG --cflags OpenEXR`
 
2780
           CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES $EXR_FLAGS"
 
2781
 
 
2782
           AC_TRY_LINK(dnl
 
2783
               [
 
2784
               #include <ImfRgbaFile.h>
 
2785
               ],
 
2786
               [
 
2787
               using namespace Imf;
 
2788
               RgbaInputFile file ("dummy");
 
2789
               return 0;
 
2790
               ],
 
2791
               eval "ac_cv_libexr='`pkg-config --libs OpenEXR`'",
 
2792
               eval "ac_cv_libexr=no"
 
2793
           )
 
2794
           LIBS="$kde_save_LIBS"
 
2795
           CXXFLAGS="$kde_save_CXXFLAGS"
 
2796
           AC_LANG_RESTORE
 
2797
           ])dnl
 
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)
 
2802
           else
 
2803
               AC_MSG_RESULT(no)
 
2804
               LIB_EXR=""
 
2805
           fi
 
2806
        fi
 
2807
     fi
 
2808
  fi
 
2809
  AC_SUBST(LIB_EXR)
 
2810
  AC_SUBST(EXR_FLAGS)
 
2811
])
 
2812
 
 
2813
 
2625
2814
 
2626
2815
AC_DEFUN([AC_FIND_PNG],
2627
2816
[
2761
2950
fi
2762
2951
])
2763
2952
 
 
2953
AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG],
 
2954
[
 
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,
 
2958
[
 
2959
  AC_LANG_SAVE
 
2960
  AC_LANG_C
 
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"
 
2965
  AC_LANG_RESTORE
 
2966
])
 
2967
if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then
 
2968
 AC_MSG_RESULT(yes)
 
2969
 :
 
2970
 $2
 
2971
else
 
2972
 AC_MSG_RESULT(no)
 
2973
 :
 
2974
 $3
 
2975
fi
 
2976
])
 
2977
 
 
2978
 
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
2784
2999
  fi
2785
3000
])
2786
3001
 
 
3002
 
 
3003
AC_DEFUN([KDE_CHECK_FOR_BAD_COMPILER],
 
3004
[
 
3005
  AC_MSG_CHECKING([whether $CC is blacklisted])
 
3006
 
 
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
 
3010
  dnl ABI. 
 
3011
  dnl 
 
3012
  dnl For now, we assume the user is not on crack.
 
3013
 
 
3014
  AC_TRY_COMPILE([
 
3015
#ifdef __GNUC__
 
3016
#if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0
 
3017
choke me
 
3018
#endif
 
3019
#endif
 
3020
], ,
 
3021
  kde_bad_compiler=no, 
 
3022
  kde_bad_compiler=yes
 
3023
)
 
3024
 
 
3025
  AC_MSG_RESULT($kde_bad_compiler)
 
3026
 
 
3027
if test "$kde_bad_compiler" = "yes"; then
 
3028
  AC_MSG_ERROR([
 
3029
 
 
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. 
 
3033
 
 
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.
 
3037
 
 
3038
])
 
3039
fi
 
3040
 
 
3041
])
 
3042
 
 
3043
 
 
3044
AC_DEFUN([KDE_CHECK_FOR_OPT_NOINLINE_MATCH],
 
3045
[
 
3046
  AC_CACHE_CHECK([whether system headers can cope with -O2 -fno-inline],
 
3047
    kde_cv_opt_noinline_match,
 
3048
  [
 
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
 
3053
 
 
3054
    ac_cflags_save="$CFLAGS"
 
3055
    CFLAGS="$CFLAGS -D_USE_GNU"
 
3056
 
 
3057
    AC_TRY_LINK([
 
3058
  #include <string.h>
 
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 ,  ";,"  )); }) ;
 
3061
],
 
3062
    kde_cv_opt_noinline_match=yes,
 
3063
    kde_cv_opt_noinline_match=no
 
3064
    )
 
3065
 
 
3066
    CFLAGS="$ac_cflags_save"
 
3067
  fi
 
3068
  ])
 
3069
])
 
3070
 
 
3071
 
2787
3072
dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
2788
3073
AC_DEFUN([AC_VALIDIFY_CXXFLAGS],
2789
3074
[dnl
2837
3122
    fi
2838
3123
   ], [kde_use_strict_options="no"])
2839
3124
 
2840
 
  AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similiar]),
 
3125
  AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]),
2841
3126
   [
2842
3127
    if test $enableval = "no"; then
2843
3128
         kde_use_warnings="no"
2868
3153
      if test $kde_use_debug_code = "full"; then
2869
3154
        CFLAGS="-g3 -fno-inline $CFLAGS"
2870
3155
      else
2871
 
        CFLAGS="-g -O2 $CFLAGS"
 
3156
        CFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CFLAGS"
2872
3157
      fi
2873
3158
    else
2874
3159
      CFLAGS="-O2 $CFLAGS"
2893
3178
 
2894
3179
  AC_PROG_CXX
2895
3180
 
 
3181
  KDE_CHECK_FOR_BAD_COMPILER
 
3182
 
2896
3183
  if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
2897
3184
    if test "$kde_use_debug_code" != "no"; then
2898
3185
      if test "$CXX" = "KCC"; then
2901
3188
        if test "$kde_use_debug_code" = "full"; then
2902
3189
          CXXFLAGS="-g3 -fno-inline $CXXFLAGS"
2903
3190
        else
2904
 
          CXXFLAGS="-g -O2 $CXXFLAGS"
 
3191
          CXXFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CXXFLAGS"
2905
3192
        fi
2906
3193
      fi
2907
3194
      KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"])
2914
3201
        CXXFLAGS="+K3 $CXXFLAGS"
2915
3202
      else
2916
3203
        CXXFLAGS="-O2 $CXXFLAGS"
2917
 
      fi  
 
3204
      fi
2918
3205
    fi
2919
3206
  fi
2920
3207
 
2932
3219
 
2933
3220
  if test "$kde_use_warnings" = "yes"; then
2934
3221
      if test "$GCC" = "yes"; then
 
3222
        CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS"
2935
3223
        case $host in
2936
3224
          *-*-linux-gnu)        
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"])
2940
3229
          ;;
2941
3230
        esac
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"])
2946
3235
     fi
2947
3236
  fi
2948
3237
 
2949
3238
  if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then
2950
3239
    CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
2951
3240
  fi
2952
 
    
 
3241
 
 
3242
  AC_ARG_ENABLE(pch,
 
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 ])
 
3246
 
 
3247
  HAVE_GCC_VISIBILITY=0
 
3248
  AC_SUBST([HAVE_GCC_VISIBILITY])
 
3249
 
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"
 
3258
    fi
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"
 
3264
 
 
3265
    if test "$kde_use_pch" = "yes"; then
 
3266
        AC_MSG_CHECKING(whether gcc supports precompiling c header files)
 
3267
        echo >conftest.h
 
3268
        if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then
 
3269
            kde_gcc_supports_pch=yes
 
3270
            AC_MSG_RESULT(yes)
 
3271
        else
 
3272
            kde_gcc_supports_pch=no
 
3273
            AC_MSG_RESULT(no)
 
3274
        fi
 
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
 
3279
                AC_MSG_RESULT(yes)
 
3280
            else
 
3281
                kde_gcc_supports_pch=no
 
3282
                AC_MSG_RESULT(no)
 
3283
            fi
 
3284
        fi
 
3285
        rm -f conftest.h conftest.h.gch
 
3286
    fi
 
3287
 
 
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//"`"
 
3291
    fi
2958
3292
  fi
 
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=   )
2964
3299
 
2965
 
    AC_ARG_ENABLE(pch,
2966
 
        AC_HELP_STRING([--enable-pch],
2967
 
                       [enables precompiled header support (currently only KCC) [default=no]]),
2968
 
    [
2969
 
      kde_use_pch=$enableval
2970
 
    ],[kde_use_pch=no])
2971
 
 
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"])
3023
3351
  fi
3024
3352
  KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0])
3025
3353
 
 
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=""
 
3362
      else
 
3363
        AC_MSG_ERROR([coverage with your compiler is not supported])
 
3364
      fi
 
3365
      CFLAGS="$CFLAGS $ac_coverage_compiler"
 
3366
      CXXFLAGS="$CXXFLAGS $ac_coverage_compiler"
 
3367
      LDFLAGS="$LDFLAGS $ac_coverage_linker"
 
3368
    ])
 
3369
 
3026
3370
  AC_SUBST(NOOPT_CXXFLAGS)
3027
3371
  AC_SUBST(NOOPT_CFLAGS)
 
3372
  AC_SUBST(ENABLE_PERMISSIVE_FLAG)
3028
3373
 
 
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]), [])
3034
3380
])
3035
3381
 
 
3382
AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG],
 
3383
  [
 
3384
    AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug,
 
3385
      [
 
3386
        AC_LANG_SAVE
 
3387
        AC_LANG_CPLUSPLUS
 
3388
 
 
3389
        safe_CXXFLAGS=$CXXFLAGS
 
3390
        safe_LDFLAGS=$LDFLAGS
 
3391
        CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0"
 
3392
        LDFLAGS="$LDFLAGS -shared -fPIC"
 
3393
 
 
3394
        AC_TRY_LINK(
 
3395
        [
 
3396
          /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
 
3397
          #include <string>
 
3398
          int some_function( void ) __attribute__ ((visibility("default")));
 
3399
          int some_function( void )
 
3400
          {
 
3401
            std::string s("blafasel");
 
3402
            return 0;
 
3403
          }
 
3404
        ], [/* elvis is alive */],
 
3405
        kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes)
 
3406
 
 
3407
        CXXFLAGS=$safe_CXXFLAGS
 
3408
        LDFLAGS=$safe_LDFLAGS
 
3409
        AC_LANG_RESTORE
 
3410
      ]
 
3411
    )
 
3412
 
 
3413
    if test x$kde_cv_val_gcc_visibility_bug = xno; then
 
3414
      CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
 
3415
    fi
 
3416
  ]
 
3417
)
 
3418
 
 
3419
AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY],
 
3420
[
 
3421
  AC_BEFORE([AC_PATH_QT_1_3], [KDE_ENABLE_HIDDEN_VISIBILITY])
 
3422
 
 
3423
  AC_MSG_CHECKING([grepping for visibility push/pop in headers])
 
3424
 
 
3425
  if test "x$GXX" = "xyes"; then
 
3426
    AC_LANG_SAVE
 
3427
    AC_LANG_CPLUSPLUS
 
3428
    AC_EGREP_CPP(
 
3429
       [GCC visibility push],
 
3430
       [ #include <exception> 
 
3431
       ], 
 
3432
    [
 
3433
      AC_MSG_RESULT(yes)
 
3434
      kde_stdc_visibility_patched=yes ],
 
3435
    [ 
 
3436
      AC_MSG_RESULT(no)
 
3437
      AC_MSG_WARN([Your libstdc++ doesn't appear to be patched for 
 
3438
                   visibility support. Disabling -fvisibility=hidden])
 
3439
 
 
3440
      kde_stdc_visibility_patched=no ])
 
3441
 
 
3442
    AC_LANG_RESTORE
 
3443
 
 
3444
    kde_have_gcc_visibility=no
 
3445
    KDE_CHECK_COMPILER_FLAG(fvisibility=hidden, 
 
3446
    [
 
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])
 
3456
 
 
3457
      AC_CACHE_CHECK([if Qt is patched for -fvisibility], kde_cv_val_qt_gcc_visibility_patched,
 
3458
        [
 
3459
          AC_LANG_SAVE
 
3460
          AC_LANG_CPLUSPLUS
 
3461
 
 
3462
          safe_CXXFLAGS=$CXXFLAGS
 
3463
          CXXFLAGS="$CXXFLAGS $all_includes"
 
3464
 
 
3465
          AC_TRY_COMPILE(
 
3466
          [
 
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 */
 
3471
#endif
 
3472
          ], [/* elvis is alive */],
 
3473
          kde_cv_val_qt_gcc_visibility_patched=no, kde_cv_val_qt_gcc_visibility_patched=yes)
 
3474
 
 
3475
          CXXFLAGS=$safe_CXXFLAGS
 
3476
          AC_LANG_RESTORE
 
3477
        ]
 
3478
      )
 
3479
 
 
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])
 
3485
      fi
 
3486
    ])
 
3487
  fi
 
3488
])
 
3489
 
3036
3490
AC_DEFUN([KDE_ADD_DEPENDENCIES],
3037
3491
[
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)
3062
3516
 
 
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)
 
3520
 
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')
3065
3523
])
3066
3524
 
3067
3525
AC_DEFUN([KDE_CHECK_LIB64],
3068
3526
[
3069
 
    kdelibsuff=no
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")
 
3531
    
 
3532
    if test "$kdelibsuff" = "auto"; then
 
3533
    
 
3534
cat > conftest.c << EOF
 
3535
#include <stdio.h>
 
3536
int main() {
 
3537
 return 0;
 
3538
}
 
3539
EOF
 
3540
        kdelibsuff=`$CC conftest.c -o conftest.out; ldd conftest.out |sed -ne '/libc.so/{
 
3541
    s,.*/lib\([[^\/]]*\)/.*,\1, 
 
3542
    p 
 
3543
}'`
 
3544
        rm -rf conftest.*
 
3545
    fi  
 
3546
        
 
3547
    if test "$kdelibsuff" = "no" || test "$kdelibsuff" = "none"; then
3077
3548
       kdelibsuff=
3078
3549
    fi
3079
3550
    if test -z "$kdelibsuff"; then
3084
3555
            libdir="$libdir${kdelibsuff}"
3085
3556
            AC_SUBST([libdir], ["$libdir"])  dnl ugly hack for lib64 platforms
3086
3557
        fi
3087
 
        AC_DEFINE_UNQUOTED(KDELIBSUFF, ["\"${kdelibsuff}\""], Suffix for lib directories)
 
3558
        AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${kdelibsuff}"], Suffix for lib directories)
3088
3559
        AC_MSG_RESULT([using lib directory suffix $kdelibsuff])
3089
3560
    fi
3090
3561
])
3096
3567
  AC_CHECK_SIZEOF(char *, 4)dnl
3097
3568
])dnl
3098
3569
 
 
3570
dnl Not used - kept for compat only?
3099
3571
AC_DEFUN([KDE_DO_IT_ALL],
3100
3572
[
3101
3573
AC_CANONICAL_SYSTEM
3118
3590
 
3119
3591
if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
3120
3592
 
3121
 
  KDE_RPATH="-R \$(kde_libraries)"
 
3593
  KDE_RPATH="-R \$(libdir)"
 
3594
 
 
3595
  if test "$kde_libraries" != "$libdir"; then
 
3596
      KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)"
 
3597
  fi
3122
3598
 
3123
3599
  if test -n "$qt_libraries"; then
3124
3600
    KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
3139
3615
])
3140
3616
 
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, [
3145
 
    AC_LANG_SAVE
3146
 
    AC_LANG_CPLUSPLUS
3147
 
    AC_TRY_COMPILE([
3148
 
#include <sys/types.h>
3149
 
#include <sys/socket.h>
3150
 
      ],[
3151
 
socklen_t a=0;
3152
 
getsockname(0,(struct sockaddr*)0, &a);
3153
 
      ],
3154
 
      ac_cv_socklen_t=socklen_t,
 
3618
AC_DEFUN([AC_CHECK_SOCKLEN_T],
 
3619
[
 
3620
   AC_MSG_CHECKING(for socklen_t)
 
3621
   AC_CACHE_VAL(kde_cv_socklen_t,
 
3622
   [
 
3623
      AC_LANG_PUSH(C++)
 
3624
      kde_cv_socklen_t=no
3155
3625
      AC_TRY_COMPILE([
3156
 
#include <sys/types.h>
3157
 
#include <sys/socket.h>
3158
 
        ],[
3159
 
int a=0;
3160
 
getsockname(0,(struct sockaddr*)0, &a);
3161
 
        ],
3162
 
        ac_cv_socklen_t=int,
3163
 
        ac_cv_socklen_t=size_t
3164
 
      )
3165
 
    )
3166
 
    AC_LANG_RESTORE
3167
 
  ])
3168
 
 
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])
3173
 
  fi
3174
 
  AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define])
3175
 
 
 
3626
         #include <sys/types.h>
 
3627
         #include <sys/socket.h>
 
3628
      ],
 
3629
      [
 
3630
         socklen_t len;
 
3631
         getpeername(0,0,&len);
 
3632
      ],
 
3633
      [
 
3634
         kde_cv_socklen_t=yes
 
3635
         kde_cv_socklen_t_equiv=socklen_t
 
3636
      ])
 
3637
      AC_LANG_POP(C++)
 
3638
   ])
 
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,
 
3643
      [
 
3644
         kde_cv_socklen_t_equiv=int
 
3645
         AC_LANG_PUSH(C++)
 
3646
         for t in int size_t unsigned long "unsigned long"; do
 
3647
            AC_TRY_COMPILE([
 
3648
               #include <sys/types.h>
 
3649
               #include <sys/socket.h>
 
3650
            ],
 
3651
            [
 
3652
               $t len;
 
3653
               getpeername(0,0,&len);
 
3654
            ],
 
3655
            [
 
3656
               kde_cv_socklen_t_equiv="$t"
 
3657
               break
 
3658
            ])
 
3659
         done
 
3660
         AC_LANG_POP(C++)
 
3661
      ])
 
3662
      AC_MSG_RESULT($kde_cv_socklen_t_equiv)
 
3663
   fi
 
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)])
3176
3668
])
3177
3669
 
3178
3670
dnl This is a merge of some macros out of the gettext aclocal.m4
3464
3956
      ac_save_ldflags="$LDFLAGS"
3465
3957
      ac_save_cflags="$CFLAGS"
3466
3958
      ac_save_libs="$LIBS"
3467
 
      LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
 
3959
      LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries"
 
3960
      LIBS="-lX11 -lXext $LIBSOCKET"
3468
3961
      CFLAGS="$CFLAGS $X_INCLUDES"
3469
3962
      test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3470
3963
      AC_TRY_LINK([
3475
3968
          int foo_test_dpms()
3476
3969
          { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3477
3970
          ac_cv_have_dpms="yes", [
3478
 
              LDFLAGS="$ac_save_ldflags"
3479
 
              CFLAGS="$ac_save_cflags"
3480
 
              LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
3481
 
              LIBS="$LIBS -lXdpms"
3482
 
              CFLAGS="$CFLAGS $X_INCLUDES"
3483
 
              test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
 
3971
              LIBS="-lXdpms $LIBS"
3484
3972
              AC_TRY_LINK([
3485
3973
                  #include <X11/Xproto.h>
3486
3974
                  #include <X11/X.h>
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)
3560
4050
   [
3561
4051
    AC_LANG_SAVE
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
 
4055
    ac_save_libs=$LIBS
 
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>
3572
4064
], [],
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>
3581
 
#include <GL/glu.h>
3582
 
], [],
3583
 
          ac_cv_have_gl="yes", ac_cv_have_gl="no")
3584
 
    fi
 
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
 
4069
    LIBS=$ac_save_libs
3588
4070
   ])dnl
3589
4071
 
3590
4072
  if test "$ac_cv_have_gl" = "no"; then
3595
4077
  else
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)'
3600
 
       else
3601
 
          GLLIB='-lGLU -lGL $(LIB_X11)'
3602
 
       fi
 
4080
       GLLIB='-lGLU -lGL $(LIB_X11)'
3603
4081
    else
3604
 
       if test "$ac_cv_have_gl" = "mesa"; then
3605
 
          GLLIB="$GL_LDFLAGS -lMesaGLU -lMesaGL "'$(LIB_X11)'
3606
 
       else
3607
 
          GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
3608
 
       fi
 
4082
       GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
3609
4083
    fi
3610
4084
    if test "$GL_INCLUDE" = ""; then
3611
4085
       GLINC=""
3904
4378
 
3905
4379
AC_DEFUN([KDE_CHECK_LIBPTHREAD],
3906
4380
[
 
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
 
4387
  dnl below if found.
3907
4388
  LIBPTHREAD=""
3908
4389
 
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"
 
4393
    else
 
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"
 
4400
    fi
3914
4401
  fi
3915
4402
 
 
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"])
 
4406
  fi
 
4407
 
 
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])
 
4411
    kde_safe_libs=$LIBS
 
4412
    LIBS="$LIBS -lpthread"
 
4413
    AC_TRY_LINK([#include <pthread.h>],[(void)pthread_create(0,0,0,0);],[
 
4414
        AC_MSG_RESULT(yes)
 
4415
        LIBPTHREAD="-lpthread"],[
 
4416
        AC_MSG_RESULT(no)])
 
4417
    LIBS=$kde_safe_libs
 
4418
  fi
 
4419
 
 
4420
  dnl Un-special-case for FreeBSD.
 
4421
  if test "x$LIBPTHREAD" = "xPTHREAD" ; then
 
4422
    LIBPTHREAD=""
3918
4423
  fi
3919
4424
 
3920
4425
  AC_SUBST(LIBPTHREAD)
4144
4649
 
4145
4650
AC_DEFUN([KDE_CHECK_PYTHON],
4146
4651
[
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) ])
 
4659
           ])
 
4660
         ])
4152
4661
       ])
4153
4662
     ])
4154
 
   ])
 
4663
  ])
4155
4664
])
4156
4665
 
4157
4666
AC_DEFUN([KDE_CHECK_STL],
4183
4692
   else
4184
4693
         AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs.
4185
4694
Check config.log for details - if you're using a Linux distribution you might miss
4186
 
a package named similiar to libstd++-dev.])
 
4695
a package named similar to libstdc++-dev.])
4187
4696
   fi
4188
4697
 
4189
4698
   CXXFLAGS="$ac_save_CXXFLAGS"
4275
4784
[
4276
4785
 
4277
4786
DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
 
4787
TOPSUBDIRS=""
4278
4788
 
4279
4789
if test ! -s $srcdir/subdirs; then
4280
4790
  dnl Note: Makefile.common creates subdirs, so this is just a fallback
4281
 
  TOPSUBDIRS=""
4282
4791
  files=`cd $srcdir && ls -1`
4283
4792
  dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
4284
4793
  for i in $dirs; do
4306
4815
    install_it="no"
4307
4816
  fi
4308
4817
  AC_MSG_RESULT($install_it)
4309
 
  vari=`echo $i | sed -e 's,[[-+.]],_,g'`
 
4818
  vari=`echo $i | sed -e 's,[[-+.@]],_,g'`
4310
4819
  if test $install_it = "yes"; then
4311
4820
    TOPSUBDIRS="$TOPSUBDIRS $i"
4312
4821
    eval "$vari""_SUBDIR_included=yes"
4419
4928
 
4420
4929
AC_DEFUN([KDE_CHECK_HEADER],
4421
4930
[
4422
 
   AC_LANG_SAVE
4423
4931
   kde_safe_cppflags=$CPPFLAGS
4424
4932
   CPPFLAGS="$CPPFLAGS $all_includes"
 
4933
   AC_LANG_SAVE
4425
4934
   AC_LANG_CPLUSPLUS
4426
4935
   AC_CHECK_HEADER([$1], [$2], [$3], [$4])
 
4936
   AC_LANG_RESTORE
4427
4937
   CPPFLAGS=$kde_safe_cppflags
4428
 
   AC_LANG_RESTORE
4429
4938
])
4430
4939
 
4431
4940
AC_DEFUN([KDE_CHECK_HEADERS],
4462
4971
  AC_SUBST(CONF_FILES)
4463
4972
])dnl
4464
4973
 
4465
 
AC_DEFUN([KDE_SET_PREFIX],
 
4974
dnl This sets the prefix, for arts and kdelibs
 
4975
dnl Do NOT use in any other module.
 
4976
dnl It only looks at --prefix, KDEDIR and falls back to /usr/local/kde
 
4977
AC_DEFUN([KDE_SET_PREFIX_CORE],
4466
4978
[
4467
4979
  unset CDPATH
4468
4980
  dnl make $KDEDIR the default for the installation
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,/$,,'`
 
4990
 
 
4991
  kde_libs_prefix='$(prefix)'
 
4992
  kde_libs_htmldir='$(kde_htmldir)'
 
4993
  AC_SUBST(kde_libs_prefix)
 
4994
  AC_SUBST(kde_libs_htmldir)
 
4995
  KDE_FAST_CONFIGURE
 
4996
  KDE_CONF_FILES
 
4997
])
 
4998
 
 
4999
 
 
5000
AC_DEFUN([KDE_SET_PREFIX],
 
5001
[
 
5002
  unset CDPATH
 
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})
 
5006
 
 
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)
 
5011
  else
 
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"
 
5017
  fi
 
5018
 
 
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.
 
5024
                    ])
 
5025
  fi
 
5026
  kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
 
5027
 
 
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)])
 
5032
  else
 
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)])
 
5036
  fi
 
5037
 
 
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,/$,,'`
 
5042
 
 
5043
  AC_SUBST(KDECONFIG)
 
5044
  AC_SUBST(kde_libs_prefix)
 
5045
  AC_SUBST(kde_libs_htmldir)
 
5046
 
4478
5047
  KDE_FAST_CONFIGURE
4479
5048
  KDE_CONF_FILES
4480
5049
])
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"
4830
5400
  JAVAC=$kde_java_bindir/javac
4831
5401
  JAVAH=$kde_java_bindir/javah
4832
5402
  JAR=$kde_java_bindir/jar
4833
 
  JVMLIBS="-Xlinker -framework -Xlinker JavaVM"
 
5403
  JVMLIBS="-Wl,-framework,JavaVM"
4834
5404
 
4835
5405
  AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
4836
5406
  AC_MSG_RESULT([Apple Java Framework])
5351
5921
        ])
5352
5922
    AC_SUBST(PERL)
5353
5923
])
 
5924
 
 
5925
AC_DEFUN([KDE_CHECK_LARGEFILE],
 
5926
[
 
5927
AC_SYS_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"
 
5930
fi
 
5931
 
 
5932
if test "x$ac_cv_sys_large_files" != "xno"; then
 
5933
  CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=1"
 
5934
fi
 
5935
 
 
5936
])
 
5937
 
 
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.
 
5940
dnl
 
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], [
 
5945
 
 
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"
 
5949
   fi
 
5950
   export PKG_CONFIG_PATH
 
5951
   PKG_CHECK_MODULES([$1],[$2],[$3],[$4])
 
5952
])
 
5953
 
 
5954
 
 
5955
dnl Check for PIE support in the compiler and linker
 
5956
AC_DEFUN([KDE_CHECK_PIE_SUPPORT],
 
5957
[
 
5958
  AC_CACHE_CHECK([for PIE support], kde_cv_val_pie_support,
 
5959
  [
 
5960
    AC_LANG_SAVE
 
5961
    AC_LANG_CPLUSPLUS
 
5962
    safe_CXXFLAGS=$CXXFLAGS
 
5963
    safe_LDFLAGS=$LDFLAGS
 
5964
    CXXFLAGS="$CXXFLAGS -fPIE"
 
5965
    LDFLAGS="$LDFLAGS -pie"
 
5966
 
 
5967
    AC_TRY_LINK([int foo;], [], [kde_cv_val_pie_support=yes], [kde_cv_val_pie_support=no])
 
5968
 
 
5969
    CXXFLAGS=$safe_CXXFLAGS
 
5970
    LDFLAGS=$safe_LDFLAGS
 
5971
    AC_LANG_RESTORE
 
5972
  ])
 
5973
 
 
5974
  AC_MSG_CHECKING(if enabling -pie/fPIE support)
 
5975
 
 
5976
  AC_ARG_ENABLE(pie,
 
5977
    AC_HELP_STRING([--enable-pie],[platform supports PIE linking [default=detect]]),
 
5978
      [kde_has_pie_support=$enableval],
 
5979
      [kde_has_pie_support=detect])
 
5980
 
 
5981
  if test "$kde_has_pie_support" = "detect"; then
 
5982
    kde_has_pie_support=$kde_cv_val_pie_support
 
5983
  fi
 
5984
 
 
5985
  AC_MSG_RESULT([$kde_has_pie_support])
 
5986
 
 
5987
  KDE_USE_FPIE=""
 
5988
  KDE_USE_PIE=""
 
5989
 
 
5990
  AC_SUBST([KDE_USE_FPIE])
 
5991
  AC_SUBST([KDE_USE_PIE])
 
5992
 
 
5993
  if test "$kde_has_pie_support" = "yes"; then
 
5994
    KDE_USE_FPIE="-fPIE"
 
5995
    KDE_USE_PIE="-pie"
 
5996
  fi
 
5997
])