Patchwork xdiff: fix builds on Windows

login
register
mail settings
Submitter Matt Harbison
Date March 4, 2018, 8:33 p.m.
Message ID <0c7679474cdf8077f53e.1520195626@Envy>
Download mbox | patch
Permalink /patch/28989/
State Accepted
Headers show

Comments

Matt Harbison - March 4, 2018, 8:33 p.m.
# HG changeset patch
# User Matt Harbison <matt_harbison@yahoo.com>
# Date 1520194602 18000
#      Sun Mar 04 15:16:42 2018 -0500
# Node ID 0c7679474cdf8077f53e470c1c4e1c7626dc0ba4
# Parent  abf252a1c9387f69f2ad493c490a25cb68b88ded
xdiff: fix builds on Windows

This works on my ancient Fedora system too, without warnings.  There are,
however, warnings about various 64 to 32 bit conversions on Windows that need to
be examined.
Augie Fackler - March 4, 2018, 8:44 p.m.
> On Mar 4, 2018, at 15:33, Matt Harbison <mharbison72@gmail.com> wrote:
> 
> # HG changeset patch
> # User Matt Harbison <matt_harbison@yahoo.com>
> # Date 1520194602 18000
> #      Sun Mar 04 15:16:42 2018 -0500
> # Node ID 0c7679474cdf8077f53e470c1c4e1c7626dc0ba4
> # Parent  abf252a1c9387f69f2ad493c490a25cb68b88ded
> xdiff: fix builds on Windows

queued, thanks

> This works on my ancient Fedora system too, without warnings.  There are,
> however, warnings about various 64 to 32 bit conversions on Windows that need to
> be examined.
> 
> diff --git a/mercurial/thirdparty/xdiff/xdiffi.c b/mercurial/thirdparty/xdiff/xdiffi.c
> --- a/mercurial/thirdparty/xdiff/xdiffi.c
> +++ b/mercurial/thirdparty/xdiff/xdiffi.c
> @@ -30,6 +30,10 @@
> #define XDL_SNAKE_CNT 20
> #define XDL_K_HEUR 4
> 
> +/* VC 2008 doesn't know about the inline keyword. */
> +#if defined(_MSC_VER)
> +#define inline __forceinline
> +#endif
> 
> 
> typedef struct s_xdpsplit {
> diff --git a/mercurial/thirdparty/xdiff/xinclude.h b/mercurial/thirdparty/xdiff/xinclude.h
> --- a/mercurial/thirdparty/xdiff/xinclude.h
> +++ b/mercurial/thirdparty/xdiff/xinclude.h
> @@ -26,7 +26,6 @@
> #include <ctype.h>
> #include <stdio.h>
> #include <stdlib.h>
> -#include <unistd.h>
> #include <string.h>
> #include <limits.h>
> 
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Patch

diff --git a/mercurial/thirdparty/xdiff/xdiffi.c b/mercurial/thirdparty/xdiff/xdiffi.c
--- a/mercurial/thirdparty/xdiff/xdiffi.c
+++ b/mercurial/thirdparty/xdiff/xdiffi.c
@@ -30,6 +30,10 @@ 
 #define XDL_SNAKE_CNT 20
 #define XDL_K_HEUR 4
 
+/* VC 2008 doesn't know about the inline keyword. */
+#if defined(_MSC_VER)
+#define inline __forceinline
+#endif
 
 
 typedef struct s_xdpsplit {
diff --git a/mercurial/thirdparty/xdiff/xinclude.h b/mercurial/thirdparty/xdiff/xinclude.h
--- a/mercurial/thirdparty/xdiff/xinclude.h
+++ b/mercurial/thirdparty/xdiff/xinclude.h
@@ -26,7 +26,6 @@ 
 #include <ctype.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <unistd.h>
 #include <string.h>
 #include <limits.h>