patches/strace/4.5.19/130-statfs64-check.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu May 26 22:51:03 2011 +0200 (2011-05-26)
changeset 2481 30644208c955
permissions -rw-r--r--
configure: add possibility to set arbitrary variable in check_for

If check_for is able to find the required prog/inc/lib, allow it to
set an arbitrary variable to 'y'. This variable is then pushed down
to the kconfig definition.

For example:
has_or_abort prog=foobar kconfig=has_foobar

If foobar is available, it yields a kconfig variable defaulting to y:
config CONFIGURE_has_foobar
bool
default y

If foobar is missing, it yields a kconfig variable defaulting to n:
config CONFIGURE_has_foobar
bool

Thus it is possible to depends on that variabel to show/hide options:
config SOME_FEATURE
bool
prompt "Some feature"
depends on CONFIGURE_has_foobar

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 diff -durN strace-4.5.19.orig/acinclude.m4 strace-4.5.19/acinclude.m4
     2 --- strace-4.5.19.orig/acinclude.m4	2004-04-14 04:45:53.000000000 +0200
     3 +++ strace-4.5.19/acinclude.m4	2009-10-28 18:47:18.000000000 +0100
     4 @@ -210,6 +210,26 @@
     5  fi
     6  ])
     7  
     8 +dnl ### A macro to determine whether statfs64 is defined.
     9 +AC_DEFUN([AC_STATFS64],
    10 +[AC_MSG_CHECKING(for statfs64 in sys/(statfs|vfs).h)
    11 +AC_CACHE_VAL(ac_cv_type_statfs64,
    12 +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef LINUX
    13 +#include <linux/types.h>
    14 +#include <sys/statfs.h>
    15 +#else
    16 +#include <sys/vfs.h>
    17 +#endif]], [[struct statfs64 st;]])],[ac_cv_type_statfs64=yes],[ac_cv_type_statfs64=no])])
    18 +AC_MSG_RESULT($ac_cv_type_statfs64)
    19 +if test "$ac_cv_type_statfs64" = yes
    20 +then
    21 +	AC_DEFINE([HAVE_STATFS64], 1,
    22 +[Define if statfs64 is available in sys/statfs.h or sys/vfs.h.])
    23 +fi
    24 +])
    25 +
    26 +
    27 +
    28  dnl ### A macro to determine if off_t is a long long
    29  AC_DEFUN([AC_OFF_T_IS_LONG_LONG],
    30  [AC_MSG_CHECKING(for long long off_t)
    31 diff -durN strace-4.5.19.orig/configure.ac strace-4.5.19/configure.ac
    32 --- strace-4.5.19.orig/configure.ac	2009-10-12 21:54:43.000000000 +0200
    33 +++ strace-4.5.19/configure.ac	2009-10-28 18:47:18.000000000 +0100
    34 @@ -187,6 +187,7 @@
    35  		  struct stat.st_level,
    36  		  struct stat.st_rdev])
    37  AC_STAT64
    38 +AC_STATFS64
    39  
    40  AC_TYPE_SIGNAL
    41  AC_TYPE_UID_T
    42 diff -durN strace-4.5.19.orig/file.c strace-4.5.19/file.c
    43 --- strace-4.5.19.orig/file.c	2009-10-21 15:44:04.000000000 +0200
    44 +++ strace-4.5.19/file.c	2009-10-28 18:47:18.000000000 +0100
    45 @@ -1688,7 +1688,7 @@
    46  	return 0;
    47  }
    48  
    49 -#ifdef LINUX
    50 +#ifdef HAVE_STATFS64
    51  static void
    52  printstatfs64(struct tcb *tcp, long addr)
    53  {