From 3dc32508039708743b2090791dd7c3e0de72bad7 Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Thu, 4 Mar 2004 03:12:34 +0000 Subject: [PATCH] merged with HEAD git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/branches/SYSCALL_SWITCH@1054 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- util-vserver/m4/ensc_cflags.m4 | 7 ++++--- util-vserver/m4/ensc_kerneldir.m4 | 6 ++++-- util-vserver/m4/ensc_syscall.m4 | 3 --- util-vserver/m4/ensc_syscallnr.m4 | 44 ++++++++++++++++++++++----------------- util-vserver/m4/validate.am | 3 ++- 5 files changed, 35 insertions(+), 28 deletions(-) diff --git a/util-vserver/m4/ensc_cflags.m4 b/util-vserver/m4/ensc_cflags.m4 index 9591c5e..92f546f 100644 --- a/util-vserver/m4/ensc_cflags.m4 +++ b/util-vserver/m4/ensc_cflags.m4 @@ -20,14 +20,14 @@ AC_DEFUN([__ENSC_CHECK_WARNFLAGS], warn_flags="-Werror -W" AC_MSG_CHECKING([whether the $1-compiler accepts ${warn_flags}]) AC_LANG_PUSH($1) - old_CFLAGS="${$3}" + __ensc_check_warnflags_old_CFLAGS="${$3}" $3="$warn_flags" AC_TRY_COMPILE([inline static void f(){}], [], [ensc_sys_compilerwarnflags_$2=${warn_flags}], [ensc_sys_compilerwarnflags_$2=]) AC_LANG_POP($1) - $3="$old_CFLAGS" + $3="$__ensc_check_warnflags_old_CFLAGS" if test x"${ensc_sys_compilerwarnflags_$2}" = x; then AC_MSG_RESULT([no]) @@ -82,7 +82,8 @@ AC_DEFUN([ENSC_CHECK_CXX_FLAG], # ENSC_CHECK_CC_FLAG(-flag1 -flag2 -flag3 ...) # ------------------------------------------------------------------------- -AC_DEFUN([ENSC_CHECK_CC_FLAG],[ +AC_DEFUN([ENSC_CHECK_CC_FLAG], +[ AC_REQUIRE([__ENSC_CHECK_WARNFLAGS_C]) echo 'void f(){}' > conftest.c diff --git a/util-vserver/m4/ensc_kerneldir.m4 b/util-vserver/m4/ensc_kerneldir.m4 index d4a2bdc..8555e67 100644 --- a/util-vserver/m4/ensc_kerneldir.m4 +++ b/util-vserver/m4/ensc_kerneldir.m4 @@ -50,6 +50,8 @@ AC_DEFUN([ENSC_KERNEL_HEADERS], ensc_cv_path_kernelheaders=$ensc_cv_path_kerneldir/include ]) - $1=$ensc_cv_path_kernelheaders - AC_SUBST($1) + if test x"$1" != x; then + $1=$ensc_cv_path_kernelheaders + AC_SUBST($1) + fi ]) diff --git a/util-vserver/m4/ensc_syscall.m4 b/util-vserver/m4/ensc_syscall.m4 index 7c03511..a8026ce 100644 --- a/util-vserver/m4/ensc_syscall.m4 +++ b/util-vserver/m4/ensc_syscall.m4 @@ -32,8 +32,6 @@ AC_DEFUN([ENSC_SYSCALL], xauto) AC_CACHE_CHECK([which syscall(2) invocation works], [ensc_cv_test_syscall], [ - old_CPPFLAGS=$CPPFLAGS - CPPFLAGS="-I$ensc_cv_path_kernelheaders" AC_LANG_PUSH(C) AC_COMPILE_IFELSE([ #include @@ -65,7 +63,6 @@ int main() { [ensc_cv_test_syscall=traditional]) AC_LANG_POP - CPPFLAGS=$old_CPPFLAGS ]) with_syscall=$ensc_cv_test_syscall ;; diff --git a/util-vserver/m4/ensc_syscallnr.m4 b/util-vserver/m4/ensc_syscallnr.m4 index 28297cf..4b90953 100644 --- a/util-vserver/m4/ensc_syscallnr.m4 +++ b/util-vserver/m4/ensc_syscallnr.m4 @@ -19,37 +19,43 @@ dnl Usage: ENSC_SYSCALLNR(,) AC_DEFUN([ENSC_SYSCALLNR], [ - AC_REQUIRE([ENSC_KERNEL_HEADERS]) AC_REQUIRE([AC_PROG_EGREP]) + AC_REQUIRE([ENSC_KERNEL_HEADERS]) AC_CACHE_CHECK([for number of syscall '$1'], [ensc_cv_value_syscall_$1], [ AC_LANG_PUSH(C) - AC_EGREP_CPP(ensc_cv_value_syscall_$1=auto, [ -#include -#ifdef __NR_$1 -ensc_cv_value_syscall_$1=auto -#endif -], - [ensc_cv_value_syscall_$1=auto], [ - AC_LANG_CONFTEST([ + AC_LANG_CONFTEST([ #include #ifdef __NR_$1 -ensc_cv_value_syscall_$1=__NR_$1 -#else -ensc_cv_value_syscall_$1=$2 +ensc_syscall_tmp_nr=__NR_$1; +ensc_syscall_tmp_src=ENSC_MARK #endif ]) - eval $($CPP $CPPFLAGS -I$ensc_cv_path_kernelheaders conftest.c | $EGREP -x 'ensc_cv_value_syscall_$1=[[1-9]][[0-9]]*') - if test x"$ensc_cv_value_syscall_$1" = x; then - AC_MSG_ERROR( + ensc_syscall_tmp_nr= + ensc_syscall_tmp_src= + test "$ensc_syscall_tmp_nr" || \ + eval $($CPP $CPPFLAGS -D ENSC_MARK='glibc' conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[[1-9]][[0-9]]*;|src=.*)$') + test "$ensc_syscall_tmp_nr" || \ + eval $($CPP $CPPFLAGS -D ENSC_MARK='kernel' -I $kernelincludedir conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[[1-9]][[0-9]]*;|src=.*)$') + test "$ensc_syscall_tmp_nr" || { + ensc_syscall_tmp_nr=$2 + ensc_syscall_tmp_src=default + } + + if test x"$ensc_syscall_tmp_nr" = x; then + AC_MSG_ERROR( [Can not determine value of __NR_$1; please verify your glibc/kernelheaders, and/or set CPPFLAGS='-D=__NR_$1=' environment when calling configure.]) - fi - ]) + fi AC_LANG_POP + + ensc_cv_value_syscall_$1="$ensc_syscall_tmp_nr/$ensc_syscall_tmp_src" ]) - if test x"$ensc_cv_value_syscall_$1" != xauto; then - AC_DEFINE_UNQUOTED(ENSC_SYSCALL__NR_$1, $ensc_cv_value_syscall_$1, [The number of the $1 syscall]) + ensc_syscall_tmp_nr=${ensc_cv_value_syscall_$1%/*} + ensc_syscall_tmp_src=${ensc_cv_value_syscall_$1#*/} + + if test x"$ensc_syscall_tmp_src" != x'glibc'; then + AC_DEFINE_UNQUOTED(ENSC_SYSCALL__NR_$1, $ensc_syscall_tmp_nr, [The number of the $1 syscall]) fi ]) diff --git a/util-vserver/m4/validate.am b/util-vserver/m4/validate.am index 31aa987..e99028a 100644 --- a/util-vserver/m4/validate.am +++ b/util-vserver/m4/validate.am @@ -25,5 +25,6 @@ distclean-uptodate: .%-up-to-date: @rm -f .*-up-to-date + @$(MAKE) -s clean @touch -t 197001020000 '$@' - @$(MAKE) -s clean $(BUILT_SOURCES) + @$(MAKE) -s $(BUILT_SOURCES) -- 1.8.1.5