Hi,

Sorry for inconvenience because of my patch.

2013/12/14 Sat 5:26:41 UTC+9 Bram Moolenaar wrote:
> Kohei Suzuki wrote:
> 
> > Hi Bram,
> > 
> > After applying the above patch, building with
> > --enable-perlinterp=dynamic fails.
> > 
> > The reason is that DYNAMIC_PERL is defined in auto/config.h, but
> > auto/config.h isn't included yet at the patched position.
> > I attached a simple patch to include auto/config.h early.
> > Please check it.
> 
> This includes auto/config.h early, but then it's included again by
> vim.h.
> 
> To avoid making things complicated, perhaps we can move these lines to
> an appropriate place inside vim.h:
> 
> /* Work around for perl-5.18.
>  * Don't include "perl\lib\CORE\inline.h" for now,
>  * include it after Perl_sv_free2 is defined. */
> #ifdef DYNAMIC_PERL
> # define PERL_NO_INLINE_FUNCTIONS
> #endif
> 
> E.g., where there is:
> 
> #ifdef IN_PERL_FILE
> 
> 
> Or, if possible, move the lines to below including vim.h.  Maybe you
> already tried that?

How about moving these lines to after the line '#include "vim.h"'?
Please check fix-7.4.120.patch.

Additionally, I fixed one more issue related Perl 5.18.
As I already said, a patch to Perl's header file was needed when build with
MSVC. (https://groups.google.com/d/msg/vim_dev/YWnfI9wFFoA/hqSADsPBpm4J)
Now I found a workaround for this. After applying
support-perl518-with-msvc.patch, there is no need to modify Perl's config.h
even if MSVC is used.  Static link is also supported now.
Please check.

P.S.
fix-indent-in-if_perl.patch was not merged into 7.4.117.
Is it intentional or just a mistake?

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.
# HG changeset patch
# Parent adda2c7d4ac29f9a3e89420340c74c0407f028b4
diff --git a/src/if_perl.xs b/src/if_perl.xs
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -24,13 +24,6 @@
 # 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. */
-#ifdef DYNAMIC_PERL
-# define PERL_NO_INLINE_FUNCTIONS
-#endif
-
 /*
  * Prevent including winsock.h.  perl.h tries to detect whether winsock.h is
  * already included before including winsock2.h, because winsock2.h isn't
@@ -49,6 +42,13 @@
 
 #include "vim.h"
 
+/* Work around for perl-5.18.
+ * Don't include "perl\lib\CORE\inline.h" for now,
+ * include it after Perl_sv_free2 is defined. */
+#ifdef DYNAMIC_PERL
+# define PERL_NO_INLINE_FUNCTIONS
+#endif
+
 #include <EXTERN.h>
 #include <perl.h>
 #include <XSUB.h>
# HG changeset patch
# Parent 8fdfc4861df9d791c6389ab11f4176935d75491f

diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -844,7 +844,12 @@
 PERL_LIB = $(PERL_INCDIR)\perl.lib
 !else
 PERL_DLL = perl$(PERL_VER).dll
+!if exist($(PERL_INCDIR)\perl$(PERL_VER).lib)
 PERL_LIB = $(PERL_INCDIR)\perl$(PERL_VER).lib
+!else
+# For ActivePerl 5.18 and later
+PERL_LIB = $(PERL_INCDIR)\libperl$(PERL_VER).a
+!endif
 !endif
 
 CFLAGS = $(CFLAGS) -DFEAT_PERL
diff --git a/src/if_perl.xs b/src/if_perl.xs
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -44,6 +44,11 @@
 # define PERL_NO_INLINE_FUNCTIONS
 #endif
 
+/* Work around for using MSVC and ActivePerl 5.18. */
+#ifdef _MSC_VER
+# define __inline__ __inline
+#endif
+
 #include <EXTERN.h>
 #include <perl.h>
 #include <XSUB.h>

Raspunde prin e-mail lui