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.
