X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=acinclude.m4;h=911a23d54969f17da9ff64c98c6f150d130dacdf;hb=32e96ab70304cb22b172a7b57bd3a1da97775a80;hp=19a47dd44d4c27b6ddaadf53aded193718ac5881;hpb=369932c66045542ff6c3d93c581cba09bc8c0977;p=sliver-openvswitch.git diff --git a/acinclude.m4 b/acinclude.m4 index 19a47dd44..911a23d54 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -478,13 +478,23 @@ AC_DEFUN([OVS_CHECK_SPARSE_TARGET], AC_SUBST([SPARSEFLAGS]) AC_SUBST([CGCCFLAGS])]) +dnl OVS_SPARSE_EXTRA_INCLUDES +dnl +dnl The cgcc script from "sparse" does not search gcc's default +dnl search path. Get the default search path from GCC and pass +dnl them to sparse. +AC_DEFUN([OVS_SPARSE_EXTRA_INCLUDES], + AC_SUBST([SPARSE_EXTRA_INCLUDES], + [`$CC -v -E - &1 >/dev/null | sed -n -e '/^#include.*search.*starts.*here:/,/^End.*of.*search.*list\./s/^ \(.*\)/-I \1/p' |grep -v /usr/lib | grep -x -v '\-I /usr/include' | tr \\\n ' ' `] )) + dnl OVS_ENABLE_SPARSE AC_DEFUN([OVS_ENABLE_SPARSE], [AC_REQUIRE([OVS_CHECK_SPARSE_TARGET]) AC_REQUIRE([OVS_CHECK_MAKE_IF]) + AC_REQUIRE([OVS_SPARSE_EXTRA_INCLUDES]) : ${SPARSE=sparse} AC_SUBST([SPARSE]) AC_CONFIG_COMMANDS_PRE( [if test $ovs_cv_gnu_make_if = yes; then - CC='$(if $(C),REAL_CC="'"$CC"'" CHECK="$(SPARSE) -I $(top_srcdir)/include/sparse $(SPARSEFLAGS)" cgcc $(CGCCFLAGS),'"$CC"')' + CC='$(if $(C),REAL_CC="'"$CC"'" CHECK="$(SPARSE) -I $(top_srcdir)/include/sparse $(SPARSEFLAGS) $(SPARSE_EXTRA_INCLUDES) " cgcc $(CGCCFLAGS),'"$CC"')' fi])])