source: branches/fc15-dev/server/common/patches/openafs-0002-Linux-Add-general-autoconf-macro-for-Linux-kernel.patch @ 1908

Last change on this file since 1908 was 1835, checked in by achernya, 13 years ago
OpenAFS builds on F15 Get OpenAFS to build on F15, using the cherry-picked patches.
File size: 3.9 KB
  • src/cf/linux-test1.m4

    From 0b40abe79e44c98adbbd5adb80ac2f10e6d1316a Mon Sep 17 00:00:00 2001
    From: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Date: Tue, 27 Apr 2010 17:41:22 +0100
    Subject: [PATCH 2/8] Linux: Add general autoconf macro for Linux kernel
    
    Add AC_CHECK_LINUX_BUILD() to do a standardised Linux build, which
    takes a "checking" message, the autoconf variable to use to cache
    the results, headers and code to run, preprocessor variable to
    define, and a description of that variable.
    
    Reviewed-on: http://gerrit.openafs.org/1854
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    (cherry picked from commit a89d6b029d059d01b8bbfc18b9ee6e3f5a964b85)
    
    Change-Id: I75c5efbf69b54e0f0b1aedcb157992e13c6a8aa7
    [andersk@mit.edu: Remove reimplementation of existing check macros]
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/3993
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-on: http://gerrit.openafs.org/4038
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    ---
     src/cf/linux-test1.m4 |   28 ++++++++++++++++++----------
     src/cf/linux-test4.m4 |   11 +++++------
     2 files changed, 23 insertions(+), 16 deletions(-)
    
    diff --git a/src/cf/linux-test1.m4 b/src/cf/linux-test1.m4
    index 2da3bb8..3115cdb 100644
    a b AC_DEFUN([LINUX_KBUILD_USES_EXTRA_CFLAGS], [ 
    8585    CPPFLAGS="$save_CPPFLAGS"
    8686    AC_MSG_RESULT($ac_linux_kbuild_requires_extra_cflags)])
    8787
     88dnl AC_CHECK_LINUX_BUILD([msg], [var], [includes], [code], [define])
     89AC_DEFUN([AC_CHECK_LINUX_BUILD],
     90 [AS_VAR_PUSHDEF([ac_linux_build], [$2])dnl
     91  AC_CACHE_CHECK([$1], [ac_linux_build],
     92   [AC_TRY_KBUILD([$3], [$4],
     93                  AS_VAR_SET([ac_linux_build], [yes]),
     94                  AS_VAR_SET([ac_linux_build], [no]))
     95   ])
     96  AS_IF([test AS_VAR_GET([ac_linux_build]) = yes],
     97        [AC_DEFINE([$5],1,[$6])])
     98 ])
     99
    88100dnl AC_CHECK_LINUX_STRUCT([structure], [element], [includes])
    89101AC_DEFUN([AC_CHECK_LINUX_STRUCT],
    90  [AS_VAR_PUSHDEF([ac_linux_struct], [ac_cv_linux_struct_$1_has_$2])dnl
    91   AC_CACHE_CHECK([for $2 in struct $1], [ac_linux_struct],
    92    [AC_TRY_KBUILD([#include <linux/$3>],
    93                   [struct $1 _test; printk("%x\n", &_test.$2); ],
    94                   AS_VAR_SET([ac_linux_struct], [yes]),
    95                   AS_VAR_SET([ac_linux_struct], [no]))
    96    ])
    97   AS_IF([test AS_VAR_GET([ac_linux_struct]) = yes],
    98         [AC_DEFINE(AS_TR_CPP(STRUCT_$1_HAS_$2), 1,
    99                    [Define if kernel struct $1 has the $2 element])])
     102 [AC_CHECK_LINUX_BUILD([for $2 in struct $1],
     103                       [ac_cv_linux_struct_$1_has_$2],
     104                       [#include <linux/$3>],
     105                       [struct $1 _test; printk("%x\n", &_test.$2); ],
     106                       AS_TR_CPP(STRUCT_$1_HAS_$2),
     107                       [Define if kernel struct $1 has the $2 element])
    100108 ])
  • src/cf/linux-test4.m4

    diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4
    index 89fccf5..3f22f7a 100644
    a b struct nameidata _nameidata; 
    675675
    676676
    677677AC_DEFUN([LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA], [
    678   AC_MSG_CHECKING([whether inode_operations.permission takes a nameidata])
    679   AC_CACHE_VAL([ac_cv_linux_func_i_permission_takes_nameidata], [
    680     AC_TRY_KBUILD(
     678  AC_CHECK_LINUX_BUILD([whether inode_operations.permission takes a nameidata],
     679                       [ac_cv_linux_func_i_permission_takes_nameidata],
    681680[#include <linux/fs.h>
    682681#include <linux/namei.h>],
    683682[struct inode _inode;
    684683struct dentry _dentry;
    685684struct nameidata _nameidata;
    686685(void)_inode.i_op->permission(&_inode, 0, &_nameidata);],
    687       ac_cv_linux_func_i_permission_takes_nameidata=yes,
    688       ac_cv_linux_func_i_permission_takes_nameidata=no)])
    689   AC_MSG_RESULT($ac_cv_linux_func_i_permission_takes_nameidata)])
     686                       [IOP_PERMISSION_TAKES_NAMEIDATA],
     687                       [define if your iops.permission takes a nameidata argument])
     688])
    690689
    691690
    692691AC_DEFUN([LINUX_IOP_I_PUT_LINK_TAKES_COOKIE], [
Note: See TracBrowser for help on using the repository browser.