X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=acinclude.m4;h=69bb7727d0fe5f15a47e110ea88302db62568075;hb=fe0731b10011075ab40960e13eb2ae5f39771e90;hp=4c1b06544ddb58a550f0b95c3f24f9f6fb0bcdd1;hpb=2c999774c1758ebdb138bb73e89e8de01f134d26;p=sliver-openvswitch.git diff --git a/acinclude.m4 b/acinclude.m4 index 4c1b06544..69bb7727d 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,6 +1,6 @@ # -*- autoconf -*- -# Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks. +# Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira Networks. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -98,16 +98,23 @@ AC_DEFUN([OVS_CHECK_LINUX], [ else KSRC=$KBUILD if test ! -e $KSRC/include/linux/kernel.h; then - case `echo "$KBUILD" | sed 's,/*$,,'` in # ( - */build) - KSRC=`echo "$KBUILD" | sed 's,/build/*$,/source,'` - ;; # ( - *) - KSRC=`(cd $KBUILD && pwd -P) | sed 's,-[[^-]]*$,-common,'` - ;; - esac + # Debian kernel build Makefiles tend to include a line of the form: + # MAKEARGS := -C /usr/src/linux-headers-3.2.0-1-common O=/usr/src/linux-headers-3.2.0-1-486 + # First try to extract the source directory from this line. + KSRC=`sed -n 's/.*-C \([[^ ]]*\).*/\1/p' "$KBUILD"/Makefile` + if test ! -e "$KSRC"/include/linux/kernel.h; then + # Didn't work. Fall back to name-based heuristics that used to work. + case `echo "$KBUILD" | sed 's,/*$,,'` in # ( + */build) + KSRC=`echo "$KBUILD" | sed 's,/build/*$,/source,'` + ;; # ( + *) + KSRC=`(cd $KBUILD && pwd -P) | sed 's,-[[^-]]*$,-common,'` + ;; + esac + fi fi - if test ! -e $KSRC/include/linux/kernel.h; then + if test ! -e "$KSRC"/include/linux/kernel.h; then AC_MSG_ERROR([cannot find source directory (please use --with-linux-source)]) fi fi