X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fm4%2Fensc_dietlibc.m4;h=bb7f3fac2811655eaa64bcd0e07a53f04d80da9c;hb=70d26fe6c9450271dc9fbbb1a2ecc27a34863a73;hp=ef9984cf2901f1d0951c0be6af8dd86bfdad35cd;hpb=5d78bd46dbaf49190f383ecae1e7a2b1e22973c9;p=util-vserver.git diff --git a/util-vserver/m4/ensc_dietlibc.m4 b/util-vserver/m4/ensc_dietlibc.m4 index ef9984c..bb7f3fa 100644 --- a/util-vserver/m4/ensc_dietlibc.m4 +++ b/util-vserver/m4/ensc_dietlibc.m4 @@ -21,8 +21,8 @@ AC_DEFUN([_ENSC_DIETLIBC_C99], AC_CACHE_CHECK([whether dietlibc supports C99], [ensc_cv_c_dietlibc_c99], [ - old_CFLAGS=$CFLAGS - old_CC=$CC + _ensc_dietlibc_c99_old_CFLAGS=$CFLAGS + _ensc_dietlibc_c99_old_CC=$CC CFLAGS="-std=c99" CC="${DIET:-diet} $CC" @@ -42,8 +42,8 @@ AC_DEFUN([_ENSC_DIETLIBC_C99], [ensc_cv_c_dietlibc_c99='skipped (compiler does not support C99)']) AC_LANG_POP - CC=$old_CC - CFLAGS=$old_CFLAGS + CC=$_ensc_dietlibc_c99_old_CC + CFLAGS=$_ensc_dietlibc_c99_old_CFLAGS ]) if test x"$ensc_cv_c_dietlibc_c99" = xyes; then @@ -51,7 +51,7 @@ AC_DEFUN([_ENSC_DIETLIBC_C99], fi ]) -dnl Usage: ENSC_ENABLE_DIETLIBC() +dnl Usage: ENSC_ENABLE_DIETLIBC([,]) dnl ... automake-conditional which will be set when dnl dietlibc shall be enabled @@ -69,22 +69,41 @@ AC_DEFUN([ENSC_ENABLE_DIETLIBC], [: ${DIET:=diet} which "$DIET" >/dev/null 2>/dev/null && use_dietlibc=detected || use_dietlibc=detected_no]) + if test "$use_dietlibc" = detected -a '$2'; then + _dietlibc_ver=$(${DIET:-diet} -v 2>&1 | sed '1p;d') + _dietlibc_ver=${_dietlibc_ver##*dietlibc-} + _dietlibc_ver_maj=${_dietlibc_ver%%.*} + _dietlibc_ver_min=${_dietlibc_ver##*.} + _dietlibc_cmp=$2 + _dietlibc_cmp_maj=${_dietlibc_cmp%%.*} + _dietlibc_cmp_min=${_dietlibc_cmp%%.*} + + let _dietlibc_ver=_dietlibc_ver_maj*1000+_dietlibc_ver_min 2>/dev/null || _dietlibc_ver=0 + let _dietlibc_cmp=_dietlibc_cmp_maj*1000+_dietlibc_cmp_min + + test $_dietlibc_ver -ge $_dietlibc_cmp || use_dietlibc=detected_old + fi + ensc_have_dietlibc=no case x"$use_dietlibc" in xdetected) AM_CONDITIONAL($1, true) AC_MSG_RESULT([yes (autodetected)]) - ensc_have_dietlibc=1 + ensc_have_dietlibc=yes ;; xforced) AM_CONDITIONAL($1, true) AC_MSG_RESULT([yes (forced)]) - ensc_have_dietlibc=1 + ensc_have_dietlibc=yes ;; xdetected_no) AM_CONDITIONAL($1, false) AC_MSG_RESULT([no (detected)]) ;; + xdetected_old) + AM_CONDITIONAL($1, false) + AC_MSG_RESULT([no (too old; $2 required)]) + ;; xforced_no) AM_CONDITIONAL($1, false) AC_MSG_RESULT([no (forced)])