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