[ovs-dev] [PATCH] build: Skip datapath subdir on Windows

Ben Pfaff blp at ovn.org
Fri Jul 1 20:30:37 UTC 2016


On Fri, Jul 01, 2016 at 06:36:12PM +0000, Alin Serdean wrote:
> This patch makes automake skip the 'datapath' folder under Windows.
> 
> The main reason is that msys does not have an implementation of rev
> used by:
> https://github.com/openvswitch/ovs/blob/master/datapath/Makefile.am#L34
> 
> and can be seen on:
> https://ci.appveyor.com/project/blp/ovs/build/1.0.1851#L322
> 
> Another solution would be to skip COMPAT_GET_FUNCTIONS on windows or
> to modify the use of 'rev'.
> 
> Signed-off-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>

I think that this will make "make dist" on Windows omit the datapath
directory.  If I'm right about that, then it's unacceptable because the
distribution tarball should be the same regardless of where it's built.

I'd suggest putting the if...endif block into datapath/Makefile.am, like
this:

diff --git a/datapath/Makefile.am b/datapath/Makefile.am
index 458fa5b..f2a85bc 100644
--- a/datapath/Makefile.am
+++ b/datapath/Makefile.am
@@ -30,6 +30,7 @@ print-build-modules:
 	fi
 	@echo "$(build_modules)" | tr '_' '-';
 
+if !WIN32
 COMPAT_GET_FUNCTIONS := find $(top_srcdir)/datapath/linux/compat -name "*.h" \
 	-exec sed -n '/^[a-z][a-z]* \*\?[A-Za-z0-9_][A-Za-z0-9_]*([a-z]/p; /^struct [a-z0-9_][a-z0-9_]* \*\?[A-Za-z0-9_][A-Za-z0-9_]*([a-z]/p' {} \; | tr -d '*' | cut -d '(' -f1 | rev | cut -d ' ' -f1 | rev
 COMPAT_GET_EXPORTS := find $(top_srcdir)/datapath/linux/compat -name "*.c" \
@@ -56,3 +57,4 @@ check-export-symbol:
 	done
 
 all-local: check-export-symbol
+endif



More information about the dev mailing list