]> git.saurik.com Git - apt.git/blobdiff - buildlib/tools.m4
* doc/examples/configure-index:
[apt.git] / buildlib / tools.m4
index c0e638b717b08464a8cd109b2b882ed6d85a5234..9a8d744f2267daeefea59f95e809c46b34f67592 100644 (file)
@@ -89,8 +89,9 @@ AC_DEFUN(ah_NUM_PROCS,
        AC_SUBST(NUM_PROCS)
 ])
 
        AC_SUBST(NUM_PROCS)
 ])
 
-AC_DEFUN(ah_GLIBC_VER,
+AC_DEFUN(rc_GLIBC_VER,
        [AC_MSG_CHECKING([glibc version])
        [AC_MSG_CHECKING([glibc version])
+       AC_CACHE_VAL(ac_cv_glibc_ver,
        dummy=if$$
        cat <<_GLIBC_>$dummy.c
 #include <features.h>
        dummy=if$$
        cat <<_GLIBC_>$dummy.c
 #include <features.h>
@@ -98,19 +99,21 @@ AC_DEFUN(ah_GLIBC_VER,
 #include <stdlib.h>
 int main(int argc, char **argv) { printf("libc6.%d",__GLIBC_MINOR__); exit(0); }
 _GLIBC_
 #include <stdlib.h>
 int main(int argc, char **argv) { printf("libc6.%d",__GLIBC_MINOR__); exit(0); }
 _GLIBC_
-       ${CC-cc} $dummy.c -o $dummy
+       ${CC-cc} $dummy.c -o $dummy > /dev/null 2>&1
        if test "$?" = 0; then
                GLIBC_VER=`./$dummy`
                AC_MSG_RESULT([$GLIBC_VER])
        if test "$?" = 0; then
                GLIBC_VER=`./$dummy`
                AC_MSG_RESULT([$GLIBC_VER])
-               GLIBC_VER="-$GLIBC_VER"
+               ac_cv_glibc_ver=$GLIBC_VER
        else
                AC_MSG_WARN([cannot determine GNU C library minor version number])
        fi
        rm -f $dummy $dummy.c
        else
                AC_MSG_WARN([cannot determine GNU C library minor version number])
        fi
        rm -f $dummy $dummy.c
+       )
+       GLIBC_VER="-$ac_cv_glibc_ver"
        AC_SUBST(GLIBC_VER)
 ])
 
        AC_SUBST(GLIBC_VER)
 ])
 
-AC_DEFUN(ah_LIBSTDCPP_VER,
+AC_DEFUN(rc_LIBSTDCPP_VER,
        [AC_MSG_CHECKING([libstdc++ version])
        dummy=if$$
        cat <<_LIBSTDCPP_>$dummy.cc
        [AC_MSG_CHECKING([libstdc++ version])
        dummy=if$$
        cat <<_LIBSTDCPP_>$dummy.cc
@@ -119,11 +122,11 @@ AC_DEFUN(ah_LIBSTDCPP_VER,
 #include <stdlib.h>
 int main(int argc, char **argv) { exit(0); }
 _LIBSTDCPP_
 #include <stdlib.h>
 int main(int argc, char **argv) { exit(0); }
 _LIBSTDCPP_
-       ${CXX-c++} $dummy.cc -o $dummy
+       ${CXX-c++} $dummy.cc -o $dummy > /dev/null 2>&1
 
        if test "$?" = 0; then
                soname=`objdump -p ./$dummy |grep NEEDED|grep libstd`
 
        if test "$?" = 0; then
                soname=`objdump -p ./$dummy |grep NEEDED|grep libstd`
-               LIBSTDCPP_VER=`echo $soname | sed -e 's/.*NEEDED.*libstdc++-libc.*-\(.*\).so.\(.*\)/\2-\1/'`
+                LIBSTDCPP_VER=`echo $soname | sed -e 's/.*NEEDED.*libstdc++\(-libc.*\(-.*\)\)\?.so.\(.*\)/\3\2/'`
        fi
        rm -f $dummy $dummy.cc
 
        fi
        rm -f $dummy $dummy.cc
 
@@ -135,3 +138,23 @@ _LIBSTDCPP_
        fi
        AC_SUBST(LIBSTDCPP_VER)
 ])
        fi
        AC_SUBST(LIBSTDCPP_VER)
 ])
+
+AC_DEFUN(ah_GCC3DEP,[
+       AC_MSG_CHECKING(if $CXX -MD works)
+       touch gcc3dep.cc
+       ${CXX-c++} -MD -o gcc3dep_test.o -c gcc3dep.cc
+       rm -f gcc3dep.cc gcc3dep_test.o
+       if test -e gcc3dep.d; then
+               rm -f gcc3dep.d
+               GCC_MD=input
+               GCC3DEP=
+       elif test -e gcc3dep_test.d; then
+               rm -f gcc3dep_test.d
+               GCC_MD=output
+               GCC3DEP=yes
+       else
+               AC_MSG_ERROR(no)
+       fi
+       AC_MSG_RESULT([yes, for $GCC_MD])
+       AC_SUBST(GCC3DEP)
+])