On 06/07/2011 10:29 PM, Greg Dietsche wrote:
Examples:
        make coccicheck M=drivers/net/wireless/
        make coccicheck SUBDIRS=drivers/net/wireless/

Signed-off-by: Greg Dietsche<[email protected]>
---
  scripts/coccicheck |   13 +++++++++++--
  1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/scripts/coccicheck b/scripts/coccicheck
index 1bb1a1b..6f08efa 100755
--- a/scripts/coccicheck
+++ b/scripts/coccicheck
@@ -10,13 +10,22 @@ if [ "$C" = "1" -o "$C" = "2" ]; then
  #    OPTIONS=$*

  # Workaround for Coccinelle<  0.2.3
-    FLAGS="-I $srctree/include -very_quiet"
+    if [ "$KBUILD_EXTMOD" = "" ] ; then
+        FLAGS="-I $srctree/include -very_quiet"
+    else
+           echo 'M= is only supported for Coccinelle>= 0.2.3'
+           exit 1
+    fi
      shift $(( $# - 1 ))
      OPTIONS=$1
  else
      ONLINE=0
      FLAGS="-very_quiet"
-    OPTIONS="-dir $srctree"
+    if [ "$KBUILD_EXTMOD" = "" ] ; then
+        OPTIONS="-dir $srctree"
+    else
+        OPTIONS="-dir $KBUILD_EXTMOD"
So far I've found one bug after reading Nicolas's comments on the other thread. In order to have the diffs print file names correctly, I definitely need to update my patch to do this:

+        OPTIONS="-dir $KBUILD_EXTMOD -patch $srctree"

Also, do I need to tell cocci where the includes are? Based on my somewhat 
limited knowledge and testing, I'm not sure... but so far the tests seem to 
work without it. If we really do need to tell it about the includes, then the 
line should read:

+        OPTIONS="-dir $KBUILD_EXTMOD -patch $srctree -I $srctree/include"



+    fi
  fi

  if [ ! -x "$SPATCH" ]; then

Greg

_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)

Reply via email to