FINALLY! Thanks Ken and Cesar for the help.

Okay, it took three parts to get my Cygwin cross-compile for Windows
build to work with Perl:

1. Patching vim\Make_cyg.mak (via Cesar Romani)

--- C:\vim\Make_cyg.mak
+++ C:\vim\Make_cyg.mak
@@ -155,6 +155,7 @@
ifeq (yes, $(DYNAMIC_PERL))
DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
+EXTRA_LIBS += $(PERL)/lib/CORE/libperl$(PERL_VER).a
else
-EXTRA_LIBS += $(PERL)/lib/CORE/perl$(PERL_VER).lib
+EXTRA_LIBS += $(PERL)/lib/CORE/libperl$(PERL_VER).a
endif
endif

2. Replacing src\if_perl.xs with the fix from here (by
   [email protected])

   http://code.google.com/p/vim/issues/detail?id=170#c5


3. Patching a Strawberry Perl distribution file (by Ken Takata)

--- C:\Perl\lib\CORE\sys\socket.h.org   Wed Mar 27 12:44:16 2013
+++ C:\Perl\lib\CORE\sys\socket.h       Sun Dec 01 16:06:52 2013
@@ -13,7 +13,7 @@
#include <windows.h>

/* Too late to include winsock2.h if winsock.h has already been loaded */
-#ifndef _WINSOCKAPI_
+#if !defined(_WINSOCKAPI_) && !defined(_WINSOCK_H)
#  ifndef FD_SETSIZE
#    define FD_SETSIZE 2048
#  endif

Only after all three changes were implemented would it build. Plenty
of warnings, but I was able to cross-compile both a gvim.exe and
vim.exe with +perl/dyn.

-- 
Steve Hall  [ digitect dancingpaper com ]
:: Cream for Vim  http://cream.sourceforge.net

On Sun, Dec 1, 2013 at 2:37 AM, Ken Takata <[email protected]> wrote:
> Hi Steve,
>
> 2013/11/30 Sat 22:09:18 UTC+9 Steve Hall wrote:
>> With the revised if_perl.xs from your previous link, I still get the
>> following build errors in a Cygwin build.
>>
>>   1:In file included from
>> /cygdrive/c/strawberry/perl/lib/CORE/sys/socket.h:30:0,
>>   2:                 from /cygdrive/c/strawberry/perl/lib/CORE/win32.h:381,
>>   3:                 from 
>> /cygdrive/c/strawberry/perl/lib/CORE/win32thread.h:4,
>>   4:                 from /cygdrive/c/strawberry/perl/lib/CORE/perl.h:2869,
>>   5:                 from if_perl.xs:36:
>>   6:/usr/i686-pc-mingw32/sys-root/mingw/include/ws2tcpip.h:38:2:
>> error: #error "ws2tcpip.h is not compatible with winsock.h. Include
>> win
>>   7:In file included from
>> /cygdrive/c/strawberry/perl/lib/CORE/sys/socket.h:30:0,
>>   8:                 from /cygdrive/c/strawberry/perl/lib/CORE/win32.h:381,
>>   9:                 from 
>> /cygdrive/c/strawberry/perl/lib/CORE/win32thread.h:4,
>>  10:                 from /cygdrive/c/strawberry/perl/lib/CORE/perl.h:2869,
>>  11:                 from if_perl.xs:36:
>
>
> I think this is a problem of Perl and I don't know this can be fixed by Vim.
> The following patch might fix the problem:
>
> --- C:\Perl\lib\CORE\sys\socket.h.org   Wed Mar 27 12:44:16 2013
> +++ C:\Perl\lib\CORE\sys\socket.h       Sun Dec 01 16:06:52 2013
> @@ -13,7 +13,7 @@
>  #include <windows.h>
>
>  /* Too late to include winsock2.h if winsock.h has already been loaded */
> -#ifndef _WINSOCKAPI_
> +#if !defined(_WINSOCKAPI_) && !defined(_WINSOCK_H)
>  #  ifndef FD_SETSIZE
>  #    define FD_SETSIZE 2048
>  #  endif
>
>
> Regards,
> Ken Takata
>
> --
> --
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups 
> "vim_dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Raspunde prin e-mail lui