From 574115efbd08477b3b15eff48834aff0d3957d66 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Dec 17 2013 10:35:01 +0000 Subject: - patchlevel 117 --- diff --git a/7.4.117 b/7.4.117 new file mode 100644 index 0000000..5fb0268 --- /dev/null +++ b/7.4.117 @@ -0,0 +1,263 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.4.117 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.4.117 +Problem: Can't build with Cygwin/MingW and Perl 5.18. +Solution: Add a linker argument for the Perl library. (Cesar Romani) + Adjust CFLAGS and LIB. (Cesar Romani) + Move including inline.h further down. (Ken Takata) +Files: src/Make_cyg.mak, src/Make_ming.mak, src/if_perl.xs + + +*** ../vim-7.4.116/src/Make_cyg.mak 2013-11-28 16:32:34.000000000 +0100 +--- src/Make_cyg.mak 2013-12-11 14:59:12.000000000 +0100 +*************** +*** 1,6 **** + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2013 Nov 28 + # + # Also read INSTALLpc.txt! + # +--- 1,6 ---- + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2013 Dec 11 + # + # Also read INSTALLpc.txt! + # +*************** +*** 155,161 **** + ifeq (yes, $(DYNAMIC_PERL)) + DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" + else +! EXTRA_LIBS += $(PERL)/lib/CORE/perl$(PERL_VER).lib + endif + endif + +--- 155,161 ---- + ifeq (yes, $(DYNAMIC_PERL)) + DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" + else +! EXTRA_LIBS += -L$(PERL)/lib/CORE -lperl$(PERL_VER) + endif + endif + +*** ../vim-7.4.116/src/Make_ming.mak 2013-07-06 13:32:11.000000000 +0200 +--- src/Make_ming.mak 2013-12-07 20:02:52.000000000 +0100 +*************** +*** 359,364 **** +--- 359,365 ---- + + CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall + WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED ++ EXTRA_LIBS = + + ifdef GETTEXT + DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H +*************** +*** 377,385 **** + endif + + ifdef PERL +! CFLAGS += -I$(PERLLIBS) -DFEAT_PERL -L$(PERLLIBS) + ifeq (yes, $(DYNAMIC_PERL)) + CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" + endif + endif + +--- 378,387 ---- + endif + + ifdef PERL +! CFLAGS += -I$(PERLLIBS) -DFEAT_PERL + ifeq (yes, $(DYNAMIC_PERL)) + CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" ++ EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER) + endif + endif + +*************** +*** 632,638 **** + + ifdef PERL + ifeq (no, $(DYNAMIC_PERL)) +! LIB += -lperl$(PERL_VER) + endif + endif + +--- 634,640 ---- + + ifdef PERL + ifeq (no, $(DYNAMIC_PERL)) +! LIB += -L$(PERLLIBS) -lperl$(PERL_VER) + endif + endif + +*** ../vim-7.4.116/src/if_perl.xs 2013-08-02 19:28:50.000000000 +0200 +--- src/if_perl.xs 2013-12-11 15:02:58.000000000 +0100 +*************** +*** 14,20 **** + #define IN_PERL_FILE /* don't include if_perl.pro from proto.h */ + + /* +! * Currently 32-bit version of ActivePerl is built with VC6. + * (http://community.activestate.com/faq/windows-compilers-perl-modules) + * It means that time_t should be 32-bit. However the default size of + * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T. +--- 14,21 ---- + #define IN_PERL_FILE /* don't include if_perl.pro from proto.h */ + + /* +! * Currently 32-bit version of ActivePerl is built with VC6 (or MinGW since +! * ActivePerl 5.18). + * (http://community.activestate.com/faq/windows-compilers-perl-modules) + * It means that time_t should be 32-bit. However the default size of + * time_t is 64-bit since VC8. So we have to define _USE_32BIT_TIME_T. +*************** +*** 23,28 **** +--- 24,45 ---- + # define _USE_32BIT_TIME_T + #endif + ++ /* Work around for perl-5.18. ++ * Don't include "perl\lib\CORE\inline.h" for now, ++ * include it after Perl_sv_free2 is defined. */ ++ #define PERL_NO_INLINE_FUNCTIONS ++ ++ /* ++ * Prevent including winsock.h. perl.h tries to detect whether winsock.h is ++ * already included before including winsock2.h, because winsock2.h isn't ++ * compatible with winsock.h. However the detection doesn't work with some ++ * versions of MinGW. If WIN32_LEAN_AND_MEAN is defined, windows.h will not ++ * include winsock.h. ++ */ ++ #ifdef WIN32 ++ # define WIN32_LEAN_AND_MEAN ++ #endif ++ + #include "vim.h" + + #include +*************** +*** 81,90 **** + # define PERL5101_OR_LATER + #endif + +- #if (PERL_REVISION == 5) && (PERL_VERSION >= 18) +- # define PERL5180_OR_LATER +- #endif +- + #ifndef pTHX + # define pTHX void + # define pTHX_ +--- 98,103 ---- +*************** +*** 145,155 **** + # define perl_free dll_perl_free + # define Perl_get_context dll_Perl_get_context + # define Perl_croak dll_Perl_croak +- # ifndef PERL5180_OR_LATER + # ifdef PERL5101_OR_LATER + # define Perl_croak_xs_usage dll_Perl_croak_xs_usage + # endif +- # endif + # ifndef PROTO + # define Perl_croak_nocontext dll_Perl_croak_nocontext + # define Perl_call_argv dll_Perl_call_argv +--- 158,166 ---- +*************** +*** 262,271 **** + static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); + static void* (*Perl_get_context)(void); + static void (*Perl_croak)(pTHX_ const char*, ...); +- #ifndef PERL5180_OR_LATER + #ifdef PERL5101_OR_LATER + static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); +! #endif + #endif + static void (*Perl_croak_nocontext)(const char*, ...); + static I32 (*Perl_dowantarray)(pTHX); +--- 273,285 ---- + static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); + static void* (*Perl_get_context)(void); + static void (*Perl_croak)(pTHX_ const char*, ...); + #ifdef PERL5101_OR_LATER ++ /* Perl-5.18 has a different Perl_croak_xs_usage signature. */ ++ # if (PERL_REVISION == 5) && (PERL_VERSION >= 18) ++ static void (*Perl_croak_xs_usage)(const CV *const, const char *const params); ++ # else + static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); +! # endif + #endif + static void (*Perl_croak_nocontext)(const char*, ...); + static I32 (*Perl_dowantarray)(pTHX); +*************** +*** 337,343 **** +--- 351,362 ---- + static XPV** (*Perl_TXpv_ptr)(register PerlInterpreter*); + static STRLEN* (*Perl_Tna_ptr)(register PerlInterpreter*); + #else ++ /* Perl-5.18 has a different Perl_sv_free2 signature. */ ++ # if (PERL_REVISION == 5) && (PERL_VERSION >= 18) ++ static void (*Perl_sv_free2)(pTHX_ SV*, const U32); ++ # else + static void (*Perl_sv_free2)(pTHX_ SV*); ++ # endif + static void (*Perl_sys_init)(int* argc, char*** argv); + static void (*Perl_sys_term)(void); + static void (*Perl_call_list)(pTHX_ I32, AV*); +*************** +*** 384,394 **** + {"perl_parse", (PERL_PROC*)&perl_parse}, + {"Perl_get_context", (PERL_PROC*)&Perl_get_context}, + {"Perl_croak", (PERL_PROC*)&Perl_croak}, +- #ifndef PERL5180_OR_LATER + #ifdef PERL5101_OR_LATER + {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage}, + #endif +- #endif + {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext}, + {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray}, + {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps}, +--- 403,411 ---- +*************** +*** 492,497 **** +--- 509,522 ---- + {"", NULL}, + }; + ++ /* Work around for perl-5.18. ++ * The definitions of S_SvREFCNT_inc and S_SvREFCNT_dec are needed, so include ++ * "perl\lib\CORE\inline.h", after Perl_sv_free2 is defined. ++ * The linker won't complain about undefined __impl_Perl_sv_free2. */ ++ #if (PERL_REVISION == 5) && (PERL_VERSION >= 18) ++ # include ++ #endif ++ + /* + * Make all runtime-links of perl. + * +*** ../vim-7.4.116/src/version.c 2013-12-11 14:54:58.000000000 +0100 +--- src/version.c 2013-12-11 15:00:12.000000000 +0100 +*************** +*** 740,741 **** +--- 740,743 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 117, + /**/ + +-- +Despite the cost of living, have you noticed how it remains so popular? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///