~ubuntu-branches/debian/sid/kdevelop/sid

« back to all changes in this revision

Viewing changes to parts/appwizard/common/admin/acinclude.m4.in

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Lainé
  • Date: 2006-10-24 11:59:24 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20061024115924-e5gecawlge1xhk75
Tags: 4:3.3.5-1
* New upstream release.
  + Contains up-to-date KDE admin dir in application templates.
* Remove patches included upstream:
  + 05_support_autoconf26.diff
  + 06_xim_crash_caused_by_qt.diff
  + 07_documentation_plugins_path.diff
* Fix not-binnmuable-any-depends-all kdevelop -> kdevelop-data.

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)
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
1229
  kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3"
1196
1230
fi
1322
1356
  fi
1323
1357
fi
1324
1358
 
1325
 
if test -z "$LIBQT"; then
1326
1359
dnl ------------------------------------------------------------
1327
1360
dnl If we got --enable-embedded then adjust the Qt library name.
1328
1361
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"
 
1362
if test "x$kde_use_qt_emb" = "xyes"; then
 
1363
  qtlib="qte"
1336
1364
else
1337
 
  kde_int_qt="$LIBQT"
1338
 
  kde_lib_qt_set=yes
 
1365
  qtlib="qt"
1339
1366
fi
1340
1367
 
 
1368
kde_int_qt="-l$qtlib"
 
1369
 
1341
1370
if test -z "$LIBQPE"; then
1342
1371
dnl ------------------------------------------------------------
1343
1372
dnl If we got --enable-palmtop then add -lqpe to the link line
1358
1387
dnl ------------------------------------------------------------------------
1359
1388
 
1360
1389
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
 
1390
  LIBQT="-l$qtlib-mt"
 
1391
  kde_int_qt="-l$qtlib-mt"
1368
1392
  LIBQT_GLOB="lib$qtlib-mt.*"
1369
1393
  USING_QT_MT="using -mt"
1370
1394
else
1542
1566
 QT_LDFLAGS=""
1543
1567
else
1544
1568
 QT_LDFLAGS="-L$qt_libraries"
1545
 
 all_libraries="$all_libraries $QT_LDFLAGS"
 
1569
 all_libraries="$QT_LDFLAGS $all_libraries"
1546
1570
fi
1547
1571
test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
1548
1572
 
1619
1643
 
1620
1644
AC_MSG_RESULT([$kde_cv_uic_plugins])
1621
1645
if test "$kde_cv_uic_plugins" != yes; then
1622
 
        AC_MSG_ERROR([you need to install kdelibs first.])
 
1646
        AC_MSG_ERROR([
 
1647
you need to install kdelibs first.
 
1648
 
 
1649
If you did install kdelibs, then the Qt version that is picked up by
 
1650
this configure is not the same version you used to compile kdelibs. 
 
1651
The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the 
 
1652
_same Qt version_, compiled with the _same compiler_ and the same Qt
 
1653
configuration settings.
 
1654
])
1623
1655
fi
1624
1656
fi
1625
1657
])
1672
1704
  AC_SUBST(KDE_NO_UNDEFINED)
1673
1705
])
1674
1706
 
 
1707
dnl Check if the linker supports --enable-new-dtags and --as-needed
 
1708
AC_DEFUN([KDE_CHECK_NEW_LDFLAGS],
 
1709
[
 
1710
  AC_ARG_ENABLE(new_ldflags,
 
1711
                AC_HELP_STRING([--enable-new-ldflags],
 
1712
                [enable the new linker flags]),
 
1713
        kde_use_new_ldflags=$enableval, 
 
1714
        kde_use_new_ldflags=no)
 
1715
 
 
1716
  LDFLAGS_AS_NEEDED=""
 
1717
  LDFLAGS_NEW_DTAGS=""
 
1718
  if test "x$kde_use_new_ldflags" = "xyes"; then
 
1719
       LDFLAGS_NEW_DTAGS=""
 
1720
       KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags],
 
1721
                [LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],)
 
1722
 
 
1723
       KDE_CHECK_COMPILER_FLAG([Wl,--as-needed],
 
1724
                [LDFLAGS_AS_NEEDED="-Wl,--as-needed"],)
 
1725
  fi
 
1726
  AC_SUBST(LDFLAGS_AS_NEEDED)
 
1727
  AC_SUBST(LDFLAGS_NEW_DTAGS)
 
1728
])
 
1729
 
1675
1730
AC_DEFUN([KDE_CHECK_NMCHECK],
1676
1731
[
1677
1732
  AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]),
1738
1793
 
1739
1794
if test -z "$1"; then
1740
1795
 
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"
 
1796
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
1797
test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
1743
1798
kde_incdirs="$ac_kde_includes $kde_incdirs"
1744
1799
AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
1750
1805
So, check this please and use another prefix!])
1751
1806
fi
1752
1807
 
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}"
 
1808
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
1809
test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs"
1755
1810
kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
1756
1811
AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
1784
1839
    ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
1785
1840
fi
1786
1841
 
1787
 
else dnl test -z $1
 
1842
else dnl test -z $1, e.g. from kdelibs
1788
1843
 
1789
1844
  ac_cv_have_kde="have_kde=no"
1790
1845
 
1832
1887
 
1833
1888
KDE_LDFLAGS="-L$kde_libraries"
1834
1889
if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then 
1835
 
 all_libraries="$all_libraries $KDE_LDFLAGS"
 
1890
 all_libraries="$KDE_LDFLAGS $all_libraries"
1836
1891
fi
1837
1892
 
1838
1893
AC_SUBST(KDE_LDFLAGS)
2008
2063
   AC_REQUIRE([K_PATH_X])
2009
2064
 
2010
2065
if test $kde_qtver = 3; then
 
2066
   case $host in 
 
2067
               *cygwin*) lib_kded="-lkdeinit_kded" ;;
 
2068
               *) lib_kded="" ;;
 
2069
       esac
 
2070
   AC_SUBST(LIB_KDED, $lib_kded)
2011
2071
   AC_SUBST(LIB_KDECORE, "-lkdecore")
2012
2072
   AC_SUBST(LIB_KDEUI, "-lkdeui")
2013
2073
   AC_SUBST(LIB_KIO, "-lkio")
 
2074
   AC_SUBST(LIB_KJS, "-lkjs")
2014
2075
   AC_SUBST(LIB_SMB, "-lsmb")
2015
2076
   AC_SUBST(LIB_KAB, "-lkab")
2016
2077
   AC_SUBST(LIB_KABC, "-lkabc")
2020
2081
   AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
2021
2082
   AC_SUBST(LIB_KUTILS, "-lkutils")
2022
2083
   AC_SUBST(LIB_KDEPIM, "-lkdepim")
 
2084
   AC_SUBST(LIB_KIMPROXY, "-lkimproxy")
 
2085
   AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff")
 
2086
   AC_SUBST(LIB_KDNSSD, "-lkdnssd")
 
2087
   AC_SUBST(LIB_KUNITTEST, "-lkunittest")
2023
2088
# these are for backward compatibility
2024
2089
   AC_SUBST(LIB_KSYCOCA, "-lkio")
2025
2090
   AC_SUBST(LIB_KFILE, "-lkio")
2273
2338
        [MKSTEMPS])
2274
2339
])
2275
2340
 
 
2341
AC_DEFUN([AC_CHECK_MKSTEMP],
 
2342
[
 
2343
        KDE_CHECK_FUNC_EXT(mkstemp, [
 
2344
#include <stdlib.h>
 
2345
#include <unistd.h>
 
2346
],
 
2347
        [
 
2348
mkstemp("/tmp/aaaXXXXXX");
 
2349
],
 
2350
        [int mkstemp(char *)],
 
2351
        [MKSTEMP])
 
2352
])
 
2353
 
2276
2354
AC_DEFUN([AC_CHECK_MKDTEMP],
2277
2355
[
2278
2356
        KDE_CHECK_FUNC_EXT(mkdtemp, [
2312
2390
  LIBS=$kde_libs_safe
2313
2391
  AC_SUBST(LIBRESOLV)
2314
2392
 
2315
 
  AC_MSG_CHECKING([if res_init is available])
2316
 
  AC_TRY_COMPILE(
 
2393
  KDE_CHECK_FUNC_EXT(res_init,
2317
2394
    [
2318
2395
#include <sys/types.h>
2319
2396
#include <netinet/in.h>
2320
2397
#include <arpa/nameser.h>
2321
2398
#include <resolv.h>
2322
2399
    ],
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
 
  )
 
2400
    [res_init()],
 
2401
    [int res_init(void)],
 
2402
    [RES_INIT])
2332
2403
])
2333
2404
 
2334
2405
AC_DEFUN([AC_CHECK_STRLCPY],
2356
2427
        [STRLCAT])
2357
2428
])
2358
2429
 
 
2430
AC_DEFUN([AC_CHECK_RES_QUERY],
 
2431
[
 
2432
        KDE_CHECK_FUNC_EXT(res_query, [
 
2433
#include <sys/types.h>
 
2434
#include <netinet/in.h>
 
2435
#include <arpa/nameser.h>
 
2436
#include <resolv.h>
 
2437
#include <netdb.h>
 
2438
],
 
2439
[
 
2440
res_query(NULL, 0, 0, NULL, 0);
 
2441
],
 
2442
        [int res_query(const char *, int, int, unsigned char *, int)],
 
2443
        [RES_QUERY])
 
2444
])
 
2445
 
 
2446
AC_DEFUN([AC_CHECK_DN_SKIPNAME],
 
2447
[
 
2448
        KDE_CHECK_FUNC_EXT(dn_skipname, [
 
2449
#include <sys/types.h>
 
2450
#include <netinet/in.h>
 
2451
#include <arpa/nameser.h>
 
2452
#include <resolv.h>
 
2453
],
 
2454
[
 
2455
dn_skipname (NULL, NULL);
 
2456
],
 
2457
        [int dn_skipname (unsigned char *, unsigned char *)],
 
2458
        [DN_SKIPNAME])
 
2459
])
 
2460
 
 
2461
 
2359
2462
AC_DEFUN([AC_FIND_GIF],
2360
2463
   [AC_MSG_CHECKING([for giflib])
2361
2464
AC_CACHE_VAL(ac_cv_lib_gif,
2400
2503
ac_save_CFLAGS="$CFLAGS"
2401
2504
CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
2402
2505
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;
 
2506
[
2407
2507
#ifdef __cplusplus
2408
2508
extern "C" {
2409
2509
#endif
2410
 
    void jpeg_CreateDecompress(j_decompress_ptr cinfo,
2411
 
                                    int version, size_t structsize);
 
2510
void jpeg_CreateDecompress();
2412
2511
#ifdef __cplusplus
2413
2512
}
2414
2513
#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
2514
],
2418
 
            [jpeg_CreateDecompress(0L, 0, 0);],
 
2515
[jpeg_CreateDecompress();],
2419
2516
            eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
2420
2517
            eval "ac_cv_lib_jpeg_$1=no")
2421
2518
LIBS="$ac_save_LIBS"
2622
2719
AC_SUBST(LIBTIFF)
2623
2720
])
2624
2721
 
 
2722
AC_DEFUN([KDE_FIND_LIBEXR],
 
2723
[
 
2724
AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
 
2725
AC_REQUIRE([AC_FIND_ZLIB])
 
2726
AC_CACHE_VAL(ac_cv_libexr,
 
2727
[
 
2728
  if test -z "$PKG_CONFIG"; then
 
2729
    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
 
2730
  fi
 
2731
 
 
2732
  AC_MSG_CHECKING([for OpenEXR libraries])
 
2733
 
 
2734
  if test "$PKG_CONFIG" = "no" ; then
 
2735
     AC_MSG_RESULT(no)
 
2736
     echo "*** The pkg-config script could not be found. Make sure it is"
 
2737
     echo "*** in your path, or set the PKG_CONFIG environment variable"
 
2738
     echo "*** to the full path to pkg-config."
 
2739
     echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
 
2740
  else
 
2741
     if !(`$PKG_CONFIG --exists OpenEXR`) ; then
 
2742
        AC_MSG_RESULT(no)
 
2743
        EXRSTATUS=no
 
2744
     else
 
2745
        if !(`$PKG_CONFIG --atleast-version="1.1.1" OpenEXR`) ; then
 
2746
           AC_MSG_RESULT(no)
 
2747
           EXRSTATUS=old
 
2748
        else
 
2749
           kde_save_LIBS="$LIBS"
 
2750
           LIBS="$LIBS $all_libraries $USER_LDFLAGS `pkg-config --libs OpenEXR` $LIBZ"
 
2751
           AC_LANG_SAVE
 
2752
           AC_LANG_CPLUSPLUS
 
2753
           kde_save_CXXFLAGS="$CXXFLAGS"
 
2754
           EXR_FLAGS=`$PKG_CONFIG --cflags OpenEXR`
 
2755
           CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES $EXR_FLAGS"
 
2756
 
 
2757
           AC_TRY_LINK(dnl
 
2758
               [
 
2759
               #include <ImfRgbaFile.h>
 
2760
               ],
 
2761
               [
 
2762
               using namespace Imf;
 
2763
               RgbaInputFile file ("dummy");
 
2764
               return 0;
 
2765
               ],
 
2766
               eval "ac_cv_libexr='`pkg-config --libs OpenEXR`'",
 
2767
               eval "ac_cv_libexr=no"
 
2768
           )
 
2769
           LIBS="$kde_save_LIBS"
 
2770
           CXXFLAGS="$kde_save_CXXFLAGS"
 
2771
           AC_LANG_RESTORE
 
2772
           ])dnl
 
2773
           if eval "test ! \"`echo $ac_cv_libexr`\" = no"; then
 
2774
               AC_DEFINE_UNQUOTED(HAVE_EXR, 1, [Define if you have OpenEXR])
 
2775
               LIB_EXR="$ac_cv_libexr"
 
2776
               AC_MSG_RESULT($ac_cv_libexr)
 
2777
           else
 
2778
               AC_MSG_RESULT(no)
 
2779
               LIB_EXR=""
 
2780
           fi
 
2781
        fi
 
2782
     fi
 
2783
  fi
 
2784
  AC_SUBST(LIB_EXR)
 
2785
  AC_SUBST(EXR_FLAGS)
 
2786
])
 
2787
 
 
2788
 
2625
2789
 
2626
2790
AC_DEFUN([AC_FIND_PNG],
2627
2791
[
2761
2925
fi
2762
2926
])
2763
2927
 
 
2928
AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG],
 
2929
[
 
2930
AC_MSG_CHECKING([whether $CC supports -$1])
 
2931
kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
 
2932
AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache,
 
2933
[
 
2934
  AC_LANG_SAVE
 
2935
  AC_LANG_C
 
2936
  save_CFLAGS="$CFLAGS"
 
2937
  CFLAGS="$CFLAGS -$1"
 
2938
  AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], [])
 
2939
  CFLAGS="$save_CFLAGS"
 
2940
  AC_LANG_RESTORE
 
2941
])
 
2942
if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then
 
2943
 AC_MSG_RESULT(yes)
 
2944
 :
 
2945
 $2
 
2946
else
 
2947
 AC_MSG_RESULT(no)
 
2948
 :
 
2949
 $3
 
2950
fi
 
2951
])
 
2952
 
 
2953
 
2764
2954
dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
2765
2955
dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
2766
2956
dnl it's all white-space separated
2784
2974
  fi
2785
2975
])
2786
2976
 
 
2977
 
 
2978
AC_DEFUN([KDE_CHECK_FOR_BAD_COMPILER],
 
2979
[
 
2980
  AC_MSG_CHECKING([whether $CC is blacklisted])
 
2981
 
 
2982
  dnl In theory we have tu run this test against $CC and $CXX
 
2983
  dnl in C and in C++ mode, because its perfectly legal for
 
2984
  dnl the user to mix compiler versions, since C has a defined
 
2985
  dnl ABI. 
 
2986
  dnl 
 
2987
  dnl For now, we assume the user is not on crack.
 
2988
 
 
2989
  AC_TRY_COMPILE([
 
2990
#ifdef __GNUC__
 
2991
#if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0
 
2992
choke me
 
2993
#endif
 
2994
#endif
 
2995
], ,
 
2996
  kde_bad_compiler=no, 
 
2997
  kde_bad_compiler=yes
 
2998
)
 
2999
 
 
3000
  AC_MSG_RESULT($kde_bad_compiler)
 
3001
 
 
3002
if test "$kde_bad_compiler" = "yes"; then
 
3003
  AC_MSG_ERROR([
 
3004
 
 
3005
This particular compiler version is blacklisted because it
 
3006
is known to miscompile KDE. Please use a newer version, or
 
3007
if that is not yet available, choose an older version. 
 
3008
 
 
3009
Please do not report a bug or bother us reporting this
 
3010
configure error. We know about it, and we introduced
 
3011
it by intention to avoid untraceable bugs or crashes in KDE.
 
3012
 
 
3013
])
 
3014
fi
 
3015
 
 
3016
])
 
3017
 
 
3018
 
 
3019
AC_DEFUN([KDE_CHECK_FOR_OPT_NOINLINE_MATCH],
 
3020
[
 
3021
  AC_CACHE_CHECK([whether system headers can cope with -O2 -fno-inline],
 
3022
    kde_cv_opt_noinline_match,
 
3023
  [
 
3024
  kde_cv_opt_noinline_match=irrelevant
 
3025
  dnl if we don't use both -O2 and -fno-inline, this check is moot
 
3026
  if echo "$CFLAGS" | grep -e -O2 >/dev/null 2>/dev/null \
 
3027
     && echo "$CFLAGS" | grep -e -fno-inline >/dev/null 2>/dev/null ; then
 
3028
 
 
3029
    ac_cflags_save="$CFLAGS"
 
3030
    CFLAGS="$CFLAGS -D_USE_GNU"
 
3031
 
 
3032
    AC_TRY_LINK([
 
3033
  #include <string.h>
 
3034
], [  const char *pt, *et;
 
3035
  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 ,  ";,"  )); }) ;
 
3036
],
 
3037
    kde_cv_opt_noinline_match=yes,
 
3038
    kde_cv_opt_noinline_match=no
 
3039
    )
 
3040
 
 
3041
    CFLAGS="$ac_cflags_save"
 
3042
  fi
 
3043
  ])
 
3044
])
 
3045
 
 
3046
 
2787
3047
dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
2788
3048
AC_DEFUN([AC_VALIDIFY_CXXFLAGS],
2789
3049
[dnl
2837
3097
    fi
2838
3098
   ], [kde_use_strict_options="no"])
2839
3099
 
2840
 
  AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similiar]),
 
3100
  AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]),
2841
3101
   [
2842
3102
    if test $enableval = "no"; then
2843
3103
         kde_use_warnings="no"
2868
3128
      if test $kde_use_debug_code = "full"; then
2869
3129
        CFLAGS="-g3 -fno-inline $CFLAGS"
2870
3130
      else
2871
 
        CFLAGS="-g -O2 $CFLAGS"
 
3131
        CFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CFLAGS"
2872
3132
      fi
2873
3133
    else
2874
3134
      CFLAGS="-O2 $CFLAGS"
2893
3153
 
2894
3154
  AC_PROG_CXX
2895
3155
 
 
3156
  KDE_CHECK_FOR_BAD_COMPILER
 
3157
 
2896
3158
  if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
2897
3159
    if test "$kde_use_debug_code" != "no"; then
2898
3160
      if test "$CXX" = "KCC"; then
2901
3163
        if test "$kde_use_debug_code" = "full"; then
2902
3164
          CXXFLAGS="-g3 -fno-inline $CXXFLAGS"
2903
3165
        else
2904
 
          CXXFLAGS="-g -O2 $CXXFLAGS"
 
3166
          CXXFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CXXFLAGS"
2905
3167
        fi
2906
3168
      fi
2907
3169
      KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"])
2914
3176
        CXXFLAGS="+K3 $CXXFLAGS"
2915
3177
      else
2916
3178
        CXXFLAGS="-O2 $CXXFLAGS"
2917
 
      fi  
 
3179
      fi
2918
3180
    fi
2919
3181
  fi
2920
3182
 
2932
3194
 
2933
3195
  if test "$kde_use_warnings" = "yes"; then
2934
3196
      if test "$GCC" = "yes"; then
 
3197
        CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS"
2935
3198
        case $host in
2936
3199
          *-*-linux-gnu)        
2937
 
            CFLAGS="-ansi -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
 
3200
            CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
2938
3201
            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"])
 
3202
            KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"])
 
3203
            KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"])
2940
3204
          ;;
2941
3205
        esac
2942
 
        CXXFLAGS="-Wall -W -Wpointer-arith -Wwrite-strings $CXXFLAGS"
2943
3206
        KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"])
2944
3207
        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"])
 
3208
        dnl ### FIXME: revert for KDE 4
 
3209
        KDE_CHECK_COMPILER_FLAG(Wno-non-virtual-dtor,[CXXFLAGS="$CXXFLAGS -Wno-non-virtual-dtor"])
2946
3210
     fi
2947
3211
  fi
2948
3212
 
2949
3213
  if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then
2950
3214
    CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
2951
3215
  fi
2952
 
    
 
3216
 
 
3217
  AC_ARG_ENABLE(pch,
 
3218
     AC_HELP_STRING([--enable-pch],
 
3219
                    [enables precompiled header support (currently only KCC or gcc >=3.4+unsermake) [default=no]]),
 
3220
    [ kde_use_pch=$enableval ],[ kde_use_pch=no ])
 
3221
 
 
3222
  HAVE_GCC_VISIBILITY=0
 
3223
  AC_SUBST([HAVE_GCC_VISIBILITY])
 
3224
 
2953
3225
  if test "$GXX" = "yes"; then
 
3226
    gcc_no_reorder_blocks=NO
 
3227
    KDE_CHECK_COMPILER_FLAG(fno-reorder-blocks,[gcc_no_reorder_blocks=YES])
 
3228
    if test $kde_use_debug_code != "no" && \
 
3229
       test $kde_use_debug_code != "full" && \
 
3230
       test "YES" = "$gcc_no_reorder_blocks" ; then
 
3231
          CXXFLAGS="$CXXFLAGS -fno-reorder-blocks"
 
3232
          CFLAGS="$CFLAGS -fno-reorder-blocks"
 
3233
    fi
2954
3234
    KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
2955
3235
    KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
2956
3236
    KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"])
2957
3237
    KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS=       )
 
3238
    ENABLE_PERMISSIVE_FLAG="-fpermissive"
 
3239
 
 
3240
    if test "$kde_use_pch" = "yes"; then
 
3241
        AC_MSG_CHECKING(whether gcc supports precompiling c header files)
 
3242
        echo >conftest.h
 
3243
        if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then
 
3244
            kde_gcc_supports_pch=yes
 
3245
            AC_MSG_RESULT(yes)
 
3246
        else
 
3247
            kde_gcc_supports_pch=no
 
3248
            AC_MSG_RESULT(no)
 
3249
        fi
 
3250
        if test "$kde_gcc_supports_pch" = "yes"; then
 
3251
            AC_MSG_CHECKING(whether gcc supports precompiling c++ header files)
 
3252
            if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then
 
3253
                kde_gcc_supports_pch=yes
 
3254
                AC_MSG_RESULT(yes)
 
3255
            else
 
3256
                kde_gcc_supports_pch=no
 
3257
                AC_MSG_RESULT(no)
 
3258
            fi
 
3259
        fi
 
3260
        rm -f conftest.h conftest.h.gch
 
3261
    fi
 
3262
 
 
3263
    KDE_CHECK_FOR_OPT_NOINLINE_MATCH
 
3264
    if test "x$kde_cv_opt_noinline_match" = "xno" ; then
 
3265
       CFLAGS="`echo "$CFLAGS" | sed "s/ -fno-inline//"`"
 
3266
    fi
2958
3267
  fi
 
3268
  AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
2959
3269
  if test "$CXX" = "KCC"; then
2960
3270
    dnl unfortunately we currently cannot disable exception support in KCC
2961
3271
    dnl because doing so is binary incompatible and Qt by default links with exceptions :-(
2962
3272
    dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"])
2963
3273
    dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS=   )
2964
3274
 
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
3275
    if test "$kde_use_pch" = "yes"; then
2973
3276
      dnl TODO: support --pch-dir!
2974
3277
      KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"])
3023
3326
  fi
3024
3327
  KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0])
3025
3328
 
 
3329
  AC_ARG_ENABLE(coverage,
 
3330
    AC_HELP_STRING([--enable-coverage],[use gcc coverage testing]), [
 
3331
      if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then
 
3332
        ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
 
3333
        ac_coverage_linker="-lgcc"
 
3334
      elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then
 
3335
        ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
 
3336
        ac_coverage_linker=""
 
3337
      else
 
3338
        AC_MSG_ERROR([coverage with your compiler is not supported])
 
3339
      fi
 
3340
      CFLAGS="$CFLAGS $ac_coverage_compiler"
 
3341
      CXXFLAGS="$CXXFLAGS $ac_coverage_compiler"
 
3342
      LDFLAGS="$LDFLAGS $ac_coverage_linker"
 
3343
    ])
 
3344
 
3026
3345
  AC_SUBST(NOOPT_CXXFLAGS)
3027
3346
  AC_SUBST(NOOPT_CFLAGS)
 
3347
  AC_SUBST(ENABLE_PERMISSIVE_FLAG)
3028
3348
 
 
3349
  KDE_CHECK_NEW_LDFLAGS
3029
3350
  KDE_CHECK_FINAL
3030
3351
  KDE_CHECK_CLOSURE
3031
3352
  KDE_CHECK_NMCHECK
3033
3354
  ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
3034
3355
])
3035
3356
 
 
3357
AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG],
 
3358
  [
 
3359
    AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug,
 
3360
      [
 
3361
        AC_LANG_SAVE
 
3362
        AC_LANG_CPLUSPLUS
 
3363
 
 
3364
        safe_CXXFLAGS=$CXXFLAGS
 
3365
        safe_LDFLAGS=$LDFLAGS
 
3366
        CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0"
 
3367
        LDFLAGS="$LDFLAGS -shared -fPIC"
 
3368
 
 
3369
        AC_TRY_LINK(
 
3370
        [
 
3371
          /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
 
3372
          #include <string>
 
3373
          int some_function( void ) __attribute__ ((visibility("default")));
 
3374
          int some_function( void )
 
3375
          {
 
3376
            std::string s("blafasel");
 
3377
            return 0;
 
3378
          }
 
3379
        ], [/* elvis is alive */],
 
3380
        kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes)
 
3381
 
 
3382
        CXXFLAGS=$safe_CXXFLAGS
 
3383
        LDFLAGS=$safe_LDFLAGS
 
3384
        AC_LANG_RESTORE
 
3385
      ]
 
3386
    )
 
3387
 
 
3388
    if test x$kde_cv_val_gcc_visibility_bug = xno; then
 
3389
      CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
 
3390
    fi
 
3391
  ]
 
3392
)
 
3393
 
 
3394
AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY],
 
3395
[
 
3396
  AC_BEFORE([AC_PATH_QT_1_3], [KDE_ENABLE_HIDDEN_VISIBILITY])
 
3397
 
 
3398
  AC_MSG_CHECKING([grepping for visibility push/pop in headers])
 
3399
 
 
3400
  if test "x$GXX" = "xyes"; then
 
3401
    AC_LANG_SAVE
 
3402
    AC_LANG_CPLUSPLUS
 
3403
    AC_EGREP_CPP(
 
3404
       [GCC visibility push],
 
3405
       [ #include <exception> 
 
3406
       ], 
 
3407
    [
 
3408
      AC_MSG_RESULT(yes)
 
3409
      kde_stdc_visibility_patched=yes ],
 
3410
    [ 
 
3411
      AC_MSG_RESULT(no)
 
3412
      AC_MSG_WARN([Your libstdc++ doesn't appear to be patched for 
 
3413
                   visibility support. Disabling -fvisibility=hidden])
 
3414
 
 
3415
      kde_stdc_visibility_patched=no ])
 
3416
 
 
3417
    AC_LANG_RESTORE
 
3418
 
 
3419
    kde_have_gcc_visibility=no
 
3420
    KDE_CHECK_COMPILER_FLAG(fvisibility=hidden, 
 
3421
    [
 
3422
      kde_have_gcc_visibility=yes
 
3423
      dnl the whole toolchain is just a mess, gcc is just too buggy
 
3424
      dnl to handle STL with visibility enabled. Lets reconsider 
 
3425
      dnl when gcc 4.2 is out or when things get fixed in the compiler.
 
3426
      dnl Contact mueller@kde.org for details.
 
3427
      AC_ARG_ENABLE(gcc-hidden-visibility,
 
3428
        AC_HELP_STRING([--enable-gcc-hidden-visibility],[toolchain hidden visibility [default=no]]),
 
3429
          [kde_have_gcc_visibility=$enableval],
 
3430
          [kde_have_gcc_visibility=no])
 
3431
 
 
3432
      AC_CACHE_CHECK([if Qt is patched for -fvisibility], kde_cv_val_qt_gcc_visibility_patched,
 
3433
        [
 
3434
          AC_LANG_SAVE
 
3435
          AC_LANG_CPLUSPLUS
 
3436
 
 
3437
          safe_CXXFLAGS=$CXXFLAGS
 
3438
          CXXFLAGS="$CXXFLAGS $all_includes"
 
3439
 
 
3440
          AC_TRY_COMPILE(
 
3441
          [
 
3442
#include <qglobal.h>
 
3443
#if Q_EXPORT - 0 != 0
 
3444
/* if this compiles, then Q_EXPORT is undefined */
 
3445
/* if Q_EXPORT is nonempty, this will break compilation */
 
3446
#endif
 
3447
          ], [/* elvis is alive */],
 
3448
          kde_cv_val_qt_gcc_visibility_patched=no, kde_cv_val_qt_gcc_visibility_patched=yes)
 
3449
 
 
3450
          CXXFLAGS=$safe_CXXFLAGS
 
3451
          AC_LANG_RESTORE
 
3452
        ]
 
3453
      )
 
3454
 
 
3455
      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
 
3456
        CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
 
3457
        KDE_CHECK_VISIBILITY_GCC_BUG
 
3458
        HAVE_GCC_VISIBILITY=1
 
3459
        AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported])
 
3460
      fi
 
3461
    ])
 
3462
  fi
 
3463
])
 
3464
 
3036
3465
AC_DEFUN([KDE_ADD_DEPENDENCIES],
3037
3466
[
3038
3467
   [A]M_DEPENDENCIES(CC)
3060
3489
KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
3061
3490
AC_SUBST(KDE_PLUGIN)
3062
3491
 
 
3492
# This hack ensures that libtool creates shared libs for kunittest plugins. By default check_LTLIBRARIES makes static libs.
 
3493
KDE_CHECK_PLUGIN="\$(KDE_PLUGIN) -rpath \$(libdir)"
 
3494
AC_SUBST(KDE_CHECK_PLUGIN)
 
3495
 
3063
3496
# we patch configure quite some so we better keep that consistent for incremental runs 
3064
3497
AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure')
3065
3498
])
3066
3499
 
3067
3500
AC_DEFUN([KDE_CHECK_LIB64],
3068
3501
[
3069
 
    kdelibsuff=no
3070
3502
    AC_ARG_ENABLE(libsuffix,
3071
3503
        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
 
3504
            [/lib directory suffix (64,32,none,auto[=default])]),
 
3505
            kdelibsuff=$enableval, kdelibsuff="auto")
 
3506
    
 
3507
    if test "$kdelibsuff" = "auto"; then
 
3508
    
 
3509
cat > conftest.c << EOF
 
3510
#include <stdio.h>
 
3511
int main() {
 
3512
 return 0;
 
3513
}
 
3514
EOF
 
3515
        kdelibsuff=`$CC conftest.c -o conftest.out; ldd conftest.out |sed -ne '/libc.so/{
 
3516
    s,.*/lib\([[^\/]]*\)/.*,\1, 
 
3517
    p 
 
3518
}'`
 
3519
        rm -rf conftest.*
 
3520
    fi  
 
3521
        
 
3522
    if test "$kdelibsuff" = "no" || test "$kdelibsuff" = "none"; then
3077
3523
       kdelibsuff=
3078
3524
    fi
3079
3525
    if test -z "$kdelibsuff"; then
3084
3530
            libdir="$libdir${kdelibsuff}"
3085
3531
            AC_SUBST([libdir], ["$libdir"])  dnl ugly hack for lib64 platforms
3086
3532
        fi
3087
 
        AC_DEFINE_UNQUOTED(KDELIBSUFF, ["\"${kdelibsuff}\""], Suffix for lib directories)
 
3533
        AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${kdelibsuff}"], Suffix for lib directories)
3088
3534
        AC_MSG_RESULT([using lib directory suffix $kdelibsuff])
3089
3535
    fi
3090
3536
])
3096
3542
  AC_CHECK_SIZEOF(char *, 4)dnl
3097
3543
])dnl
3098
3544
 
 
3545
dnl Not used - kept for compat only?
3099
3546
AC_DEFUN([KDE_DO_IT_ALL],
3100
3547
[
3101
3548
AC_CANONICAL_SYSTEM
3118
3565
 
3119
3566
if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
3120
3567
 
3121
 
  KDE_RPATH="-R \$(kde_libraries)"
 
3568
  KDE_RPATH="-R \$(libdir)"
 
3569
 
 
3570
  if test "$kde_libraries" != "$libdir"; then
 
3571
      KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)"
 
3572
  fi
3122
3573
 
3123
3574
  if test -n "$qt_libraries"; then
3124
3575
    KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
3139
3590
])
3140
3591
 
3141
3592
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,
 
3593
AC_DEFUN([AC_CHECK_SOCKLEN_T],
 
3594
[
 
3595
   AC_MSG_CHECKING(for socklen_t)
 
3596
   AC_CACHE_VAL(kde_cv_socklen_t,
 
3597
   [
 
3598
      AC_LANG_PUSH(C++)
 
3599
      kde_cv_socklen_t=no
3155
3600
      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
 
 
 
3601
         #include <sys/types.h>
 
3602
         #include <sys/socket.h>
 
3603
      ],
 
3604
      [
 
3605
         socklen_t len;
 
3606
         getpeername(0,0,&len);
 
3607
      ],
 
3608
      [
 
3609
         kde_cv_socklen_t=yes
 
3610
         kde_cv_socklen_t_equiv=socklen_t
 
3611
      ])
 
3612
      AC_LANG_POP(C++)
 
3613
   ])
 
3614
   AC_MSG_RESULT($kde_cv_socklen_t)
 
3615
   if test $kde_cv_socklen_t = no; then
 
3616
      AC_MSG_CHECKING([for socklen_t equivalent for socket functions])
 
3617
      AC_CACHE_VAL(kde_cv_socklen_t_equiv,
 
3618
      [
 
3619
         kde_cv_socklen_t_equiv=int
 
3620
         AC_LANG_PUSH(C++)
 
3621
         for t in int size_t unsigned long "unsigned long"; do
 
3622
            AC_TRY_COMPILE([
 
3623
               #include <sys/types.h>
 
3624
               #include <sys/socket.h>
 
3625
            ],
 
3626
            [
 
3627
               $t len;
 
3628
               getpeername(0,0,&len);
 
3629
            ],
 
3630
            [
 
3631
               kde_cv_socklen_t_equiv="$t"
 
3632
               break
 
3633
            ])
 
3634
         done
 
3635
         AC_LANG_POP(C++)
 
3636
      ])
 
3637
      AC_MSG_RESULT($kde_cv_socklen_t_equiv)
 
3638
   fi
 
3639
   AC_DEFINE_UNQUOTED(kde_socklen_t, $kde_cv_socklen_t_equiv,
 
3640
                     [type to use in place of socklen_t if not defined])
 
3641
   AC_DEFINE_UNQUOTED(ksize_t, $kde_cv_socklen_t_equiv,
 
3642
                     [type to use in place of socklen_t if not defined (deprecated, use kde_socklen_t)])
3176
3643
])
3177
3644
 
3178
3645
dnl This is a merge of some macros out of the gettext aclocal.m4
3464
3931
      ac_save_ldflags="$LDFLAGS"
3465
3932
      ac_save_cflags="$CFLAGS"
3466
3933
      ac_save_libs="$LIBS"
3467
 
      LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET"
 
3934
      LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries"
 
3935
      LIBS="-lX11 -lXext $LIBSOCKET"
3468
3936
      CFLAGS="$CFLAGS $X_INCLUDES"
3469
3937
      test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
3470
3938
      AC_TRY_LINK([
3475
3943
          int foo_test_dpms()
3476
3944
          { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
3477
3945
          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"
 
3946
              LIBS="-lXdpms $LIBS"
3484
3947
              AC_TRY_LINK([
3485
3948
                  #include <X11/Xproto.h>
3486
3949
                  #include <X11/X.h>
3529
3992
   [Define if you have the DPMSCapable prototype in <X11/extensions/dpms.h>])
3530
3993
 AC_CHECK_DECL(DPMSCapable,
3531
3994
   AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),,
3532
 
   [#include <X11/extensions/dpms.h>])
 
3995
   [#include <X11/Xlib.h>
 
3996
   #include <X11/extensions/dpms.h>])
3533
3997
 AH_TEMPLATE(HAVE_DPMSINFO_PROTO,
3534
3998
   [Define if you have the DPMSInfo prototype in <X11/extensions/dpms.h>])
3535
3999
 AC_CHECK_DECL(DPMSInfo,
3536
4000
   AC_DEFINE(HAVE_DPMSINFO_PROTO),,
3537
 
   [#include <X11/extensions/dpms.h>])
 
4001
   [#include <X11/Xlib.h>
 
4002
   #include <X11/extensions/dpms.h>])
3538
4003
 CFLAGS="$ac_save_cflags"
3539
4004
 AC_SUBST(DPMSINC)
3540
4005
 AC_SUBST(DPMSLIB)
3560
4025
   [
3561
4026
    AC_LANG_SAVE
3562
4027
    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"
 
4028
    ac_save_ldflags=$LDFLAGS
 
4029
    ac_save_cxxflags=$CXXFLAGS
 
4030
    ac_save_libs=$LIBS
 
4031
    LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries"
 
4032
    LIBS="$LIBS -lGL -lGLU"
 
4033
    test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LIBS="$LIBS -lX11"
 
4034
    LIBS="$LIBS $LIB_XEXT -lm $LIBSOCKET"
3568
4035
    CXXFLAGS="$CFLAGS $X_INCLUDES"
3569
4036
    test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
3570
4037
    AC_TRY_LINK([#include <GL/gl.h>
3571
4038
#include <GL/glu.h>
3572
4039
], [],
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
 
4040
        ac_cv_have_gl="yes", ac_cv_have_gl="no")
3585
4041
    AC_LANG_RESTORE
3586
 
    LDFLAGS="$ac_save_ldflags"
3587
 
    CXXFLAGS="$ac_save_cxxflags"
 
4042
    LDFLAGS=$ac_save_ldflags
 
4043
    CXXFLAGS=$ac_save_cxxflags
 
4044
    LIBS=$ac_save_libs
3588
4045
   ])dnl
3589
4046
 
3590
4047
  if test "$ac_cv_have_gl" = "no"; then
3595
4052
  else
3596
4053
    AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
3597
4054
    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
 
4055
       GLLIB='-lGLU -lGL $(LIB_X11)'
3603
4056
    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
 
4057
       GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
3609
4058
    fi
3610
4059
    if test "$GL_INCLUDE" = ""; then
3611
4060
       GLINC=""
3904
4353
 
3905
4354
AC_DEFUN([KDE_CHECK_LIBPTHREAD],
3906
4355
[
 
4356
  dnl This code is here specifically to handle the
 
4357
  dnl various flavors of threading library on FreeBSD
 
4358
  dnl 4-, 5-, and 6-, and the (weird) rules around it.
 
4359
  dnl There may be an environment PTHREAD_LIBS that 
 
4360
  dnl specifies what to use; otherwise, search for it.
 
4361
  dnl -pthread is special cased and unsets LIBPTHREAD
 
4362
  dnl below if found.
3907
4363
  LIBPTHREAD=""
3908
4364
 
3909
4365
  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"
 
4366
    if test "x$PTHREAD_LIBS" = "x-pthread" ; then
 
4367
      LIBPTHREAD="PTHREAD"
 
4368
    else
 
4369
      PTHREAD_LIBS_save="$PTHREAD_LIBS"
 
4370
      PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'`
 
4371
      AC_MSG_CHECKING([for pthread_create in $PTHREAD_LIBS])
 
4372
      KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [
 
4373
          LIBPTHREAD="$PTHREAD_LIBS_save"])
 
4374
      PTHREAD_LIBS="$PTHREAD_LIBS_save"
 
4375
    fi
3914
4376
  fi
3915
4377
 
 
4378
  dnl Is this test really needed, in the face of the Tru64 test below?
3916
4379
  if test -z "$LIBPTHREAD"; then
3917
 
    AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] )
 
4380
    AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"])
 
4381
  fi
 
4382
 
 
4383
  dnl This is a special Tru64 check, see BR 76171 issue #18.
 
4384
  if test -z "$LIBPTHREAD" ; then
 
4385
    AC_MSG_CHECKING([for pthread_create in -lpthread])
 
4386
    kde_safe_libs=$LIBS
 
4387
    LIBS="$LIBS -lpthread"
 
4388
    AC_TRY_LINK([#include <pthread.h>],[(void)pthread_create(0,0,0,0);],[
 
4389
        AC_MSG_RESULT(yes)
 
4390
        LIBPTHREAD="-lpthread"],[
 
4391
        AC_MSG_RESULT(no)])
 
4392
    LIBS=$kde_safe_libs
 
4393
  fi
 
4394
 
 
4395
  dnl Un-special-case for FreeBSD.
 
4396
  if test "x$LIBPTHREAD" = "xPTHREAD" ; then
 
4397
    LIBPTHREAD=""
3918
4398
  fi
3919
4399
 
3920
4400
  AC_SUBST(LIBPTHREAD)
4144
4624
 
4145
4625
AC_DEFUN([KDE_CHECK_PYTHON],
4146
4626
[
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) ])
 
4627
  KDE_CHECK_PYTHON_INTERN("2.5",
 
4628
    [KDE_CHECK_PYTHON_INTERN("2.4",
 
4629
     [KDE_CHECK_PYTHON_INTERN("2.3", 
 
4630
       [KDE_CHECK_PYTHON_INTERN("2.2", 
 
4631
         [KDE_CHECK_PYTHON_INTERN("2.1", 
 
4632
           [KDE_CHECK_PYTHON_INTERN("2.0", 
 
4633
             [KDE_CHECK_PYTHON_INTERN($1, $2) ])
 
4634
           ])
 
4635
         ])
4152
4636
       ])
4153
4637
     ])
4154
 
   ])
 
4638
  ])
4155
4639
])
4156
4640
 
4157
4641
AC_DEFUN([KDE_CHECK_STL],
4183
4667
   else
4184
4668
         AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs.
4185
4669
Check config.log for details - if you're using a Linux distribution you might miss
4186
 
a package named similiar to libstd++-dev.])
 
4670
a package named similar to libstdc++-dev.])
4187
4671
   fi
4188
4672
 
4189
4673
   CXXFLAGS="$ac_save_CXXFLAGS"
4275
4759
[
4276
4760
 
4277
4761
DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
 
4762
TOPSUBDIRS=""
4278
4763
 
4279
4764
if test ! -s $srcdir/subdirs; then
4280
4765
  dnl Note: Makefile.common creates subdirs, so this is just a fallback
4281
 
  TOPSUBDIRS=""
4282
4766
  files=`cd $srcdir && ls -1`
4283
4767
  dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
4284
4768
  for i in $dirs; do
4306
4790
    install_it="no"
4307
4791
  fi
4308
4792
  AC_MSG_RESULT($install_it)
4309
 
  vari=`echo $i | sed -e 's,[[-+.]],_,g'`
 
4793
  vari=`echo $i | sed -e 's,[[-+.@]],_,g'`
4310
4794
  if test $install_it = "yes"; then
4311
4795
    TOPSUBDIRS="$TOPSUBDIRS $i"
4312
4796
    eval "$vari""_SUBDIR_included=yes"
4419
4903
 
4420
4904
AC_DEFUN([KDE_CHECK_HEADER],
4421
4905
[
4422
 
   AC_LANG_SAVE
4423
4906
   kde_safe_cppflags=$CPPFLAGS
4424
4907
   CPPFLAGS="$CPPFLAGS $all_includes"
 
4908
   AC_LANG_SAVE
4425
4909
   AC_LANG_CPLUSPLUS
4426
4910
   AC_CHECK_HEADER([$1], [$2], [$3], [$4])
 
4911
   AC_LANG_RESTORE
4427
4912
   CPPFLAGS=$kde_safe_cppflags
4428
 
   AC_LANG_RESTORE
4429
4913
])
4430
4914
 
4431
4915
AC_DEFUN([KDE_CHECK_HEADERS],
4462
4946
  AC_SUBST(CONF_FILES)
4463
4947
])dnl
4464
4948
 
4465
 
AC_DEFUN([KDE_SET_PREFIX],
 
4949
dnl This sets the prefix, for arts and kdelibs
 
4950
dnl Do NOT use in any other module.
 
4951
dnl It only looks at --prefix, KDEDIR and falls back to /usr/local/kde
 
4952
AC_DEFUN([KDE_SET_PREFIX_CORE],
4466
4953
[
4467
4954
  unset CDPATH
4468
4955
  dnl make $KDEDIR the default for the installation
4475
4962
  # And delete superfluous '/' to make compares easier
4476
4963
  prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
4477
4964
  exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
 
4965
 
 
4966
  kde_libs_prefix='$(prefix)'
 
4967
  kde_libs_htmldir='$(kde_htmldir)'
 
4968
  AC_SUBST(kde_libs_prefix)
 
4969
  AC_SUBST(kde_libs_htmldir)
 
4970
  KDE_FAST_CONFIGURE
 
4971
  KDE_CONF_FILES
 
4972
])
 
4973
 
 
4974
 
 
4975
AC_DEFUN([KDE_SET_PREFIX],
 
4976
[
 
4977
  unset CDPATH
 
4978
  dnl We can't give real code to that macro, only a value.
 
4979
  dnl It only matters for --help, since we set the prefix in this function anyway.
 
4980
  AC_PREFIX_DEFAULT(${KDEDIR:-the kde prefix})
 
4981
 
 
4982
  KDE_SET_DEFAULT_BINDIRS
 
4983
  if test "x$prefix" = "xNONE"; then
 
4984
    dnl no prefix given: look for kde-config in the PATH and deduce the prefix from it
 
4985
    KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
 
4986
  else
 
4987
    dnl prefix given: look for kde-config, preferrably in prefix, otherwise in PATH
 
4988
    kde_save_PATH="$PATH"
 
4989
    PATH="$exec_prefix/bin:$prefix/bin:$PATH"
 
4990
    KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
 
4991
    PATH="$kde_save_PATH"
 
4992
  fi
 
4993
 
 
4994
  kde_libs_prefix=`$KDECONFIG --prefix`
 
4995
  if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
 
4996
       AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
 
4997
                    This means it has been moved since you installed it.
 
4998
                    This won't work. Please recompile kdelibs for the new prefix.
 
4999
                    ])
 
5000
  fi
 
5001
  kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
 
5002
 
 
5003
  AC_MSG_CHECKING([where to install])
 
5004
  if test "x$prefix" = "xNONE"; then
 
5005
    prefix=$kde_libs_prefix
 
5006
    AC_MSG_RESULT([$prefix (as returned by kde-config)])
 
5007
  else
 
5008
    dnl --prefix was given. Compare prefixes and warn (in configure.in.bot.end) if different
 
5009
    given_prefix=$prefix
 
5010
    AC_MSG_RESULT([$prefix (as requested)])
 
5011
  fi
 
5012
 
 
5013
  # And delete superfluous '/' to make compares easier
 
5014
  prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
 
5015
  exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
 
5016
  given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
 
5017
 
 
5018
  AC_SUBST(KDECONFIG)
 
5019
  AC_SUBST(kde_libs_prefix)
 
5020
  AC_SUBST(kde_libs_htmldir)
 
5021
 
4478
5022
  KDE_FAST_CONFIGURE
4479
5023
  KDE_CONF_FILES
4480
5024
])
4830
5374
  JAVAC=$kde_java_bindir/javac
4831
5375
  JAVAH=$kde_java_bindir/javah
4832
5376
  JAR=$kde_java_bindir/jar
4833
 
  JVMLIBS="-Xlinker -framework -Xlinker JavaVM"
 
5377
  JVMLIBS="-Wl,-framework,JavaVM"
4834
5378
 
4835
5379
  AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
4836
5380
  AC_MSG_RESULT([Apple Java Framework])
5351
5895
        ])
5352
5896
    AC_SUBST(PERL)
5353
5897
])
 
5898
 
 
5899
AC_DEFUN([KDE_CHECK_LARGEFILE],
 
5900
[
 
5901
AC_SYS_LARGEFILE
 
5902
if test "$ac_cv_sys_file_offset_bits" != no; then
 
5903
  CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
 
5904
fi
 
5905
 
 
5906
if test "x$ac_cv_sys_large_files" != "xno"; then
 
5907
  CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=1"
 
5908
fi
 
5909
 
 
5910
])
 
5911
 
 
5912
dnl A small extension to PKG_CHECK_MODULES (defined in pkg.m4.in)
 
5913
dnl which allows to search for libs that get installed into the KDE prefix.
 
5914
dnl
 
5915
dnl Syntax:  KDE_PKG_CHECK_MODULES(KSTUFF, libkexif >= 0.2 glib = 1.3.4, action-if, action-not)
 
5916
dnl defines KSTUFF_LIBS, KSTUFF_CFLAGS, see pkg-config man page
 
5917
dnl also defines KSTUFF_PKG_ERRORS on error
 
5918
AC_DEFUN([KDE_PKG_CHECK_MODULES], [
 
5919
 
 
5920
   PKG_CONFIG_PATH="$prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH"
 
5921
   if test "$prefix" != "$kde_libs_prefix"; then
 
5922
       PKG_CONFIG_PATH="$kde_libs_prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH"
 
5923
   fi
 
5924
   export PKG_CONFIG_PATH
 
5925
   PKG_CHECK_MODULES([$1],[$2],[$3],[$4])
 
5926
])
 
5927
 
 
5928
 
 
5929
dnl Check for PIE support in the compiler and linker
 
5930
AC_DEFUN([KDE_CHECK_PIE_SUPPORT],
 
5931
[
 
5932
  AC_CACHE_CHECK([for PIE support], kde_cv_val_pie_support,
 
5933
  [
 
5934
    AC_LANG_SAVE
 
5935
    AC_LANG_CPLUSPLUS
 
5936
    safe_CXXFLAGS=$CXXFLAGS
 
5937
    safe_LDFLAGS=$LDFLAGS
 
5938
    CXXFLAGS="$CXXFLAGS -fPIE"
 
5939
    LDFLAGS="$LDFLAGS -pie"
 
5940
 
 
5941
    AC_TRY_LINK([int foo;], [], [kde_cv_val_pie_support=yes], [kde_cv_val_pie_support=no])
 
5942
 
 
5943
    CXXFLAGS=$safe_CXXFLAGS
 
5944
    LDFLAGS=$safe_LDFLAGS
 
5945
    AC_LANG_RESTORE
 
5946
  ])
 
5947
 
 
5948
  AC_MSG_CHECKING(if enabling -pie/fPIE support)
 
5949
 
 
5950
  AC_ARG_ENABLE(pie,
 
5951
    AC_HELP_STRING([--enable-pie],[platform supports PIE linking [default=detect]]),
 
5952
      [kde_has_pie_support=$enableval],
 
5953
      [kde_has_pie_support=detect])
 
5954
 
 
5955
  if test "$kde_has_pie_support" = "detect"; then
 
5956
    kde_has_pie_support=$kde_cv_val_pie_support
 
5957
  fi
 
5958
 
 
5959
  AC_MSG_RESULT([$kde_has_pie_support])
 
5960
 
 
5961
  KDE_USE_FPIE=""
 
5962
  KDE_USE_PIE=""
 
5963
 
 
5964
  AC_SUBST([KDE_USE_FPIE])
 
5965
  AC_SUBST([KDE_USE_PIE])
 
5966
 
 
5967
  if test "$kde_has_pie_support" = "yes"; then
 
5968
    KDE_USE_FPIE="-fPIE"
 
5969
    KDE_USE_PIE="-pie"
 
5970
  fi
 
5971
])