merged with HEAD
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Thu, 4 Mar 2004 03:12:34 +0000 (03:12 +0000)
committerEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Thu, 4 Mar 2004 03:12:34 +0000 (03:12 +0000)
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
util-vserver/m4/ensc_kerneldir.m4
util-vserver/m4/ensc_syscall.m4
util-vserver/m4/ensc_syscallnr.m4
util-vserver/m4/validate.am

index 9591c5e..92f546f 100644 (file)
@@ -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
index d4a2bdc..8555e67 100644 (file)
@@ -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
 ])
index 7c03511..a8026ce 100644 (file)
@@ -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 <asm/unistd.h>
@@ -65,7 +63,6 @@ int main() {
                                [ensc_cv_test_syscall=traditional])
 
                                AC_LANG_POP
-                               CPPFLAGS=$old_CPPFLAGS
                ])
                with_syscall=$ensc_cv_test_syscall
                ;;
index 28297cf..4b90953 100644 (file)
@@ -19,37 +19,43 @@ dnl Usage: ENSC_SYSCALLNR(<syscall>,<default>)
 
 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 <asm/unistd.h>
-#ifdef __NR_$1
-ensc_cv_value_syscall_$1=auto
-#endif
-],
-                       [ensc_cv_value_syscall_$1=auto], [
-                       AC_LANG_CONFTEST([
+               AC_LANG_CONFTEST([
 #include <asm/unistd.h>
 #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=<value>' 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
 ])
index 31aa987..e99028a 100644 (file)
@@ -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)