Hi,
2017/1/15 Sun 9:52:05 UTC+9 Cesar wrote:
> On 14/01/2017 02:12 p.m., Bram Moolenaar wrote:
> >
> > Patch 8.0.0187
> > Problem: Building with a new Ruby version fails.
> > Solution: Use ruby_sysinit() instead of NtInitialize(). (Tomas Volf,
> > closes #1382)
> > Files: src/if_ruby.c
> >
> >
> > *** ../vim-8.0.0186/src/if_ruby.c 2017-01-09 21:10:29.300184895 +0100
> > --- src/if_ruby.c 2017-01-14 20:09:54.001642368 +0100
> > ***************
> > *** 862,868 ****
> > --- 862,872 ----
> > int argc = 1;
> > char *argv[] = {"gvim.exe"};
> > char **argvp = argv;
> > + # ifdef RUBY19_OR_LATER
> > + ruby_sysinit(&argc,&argvp);
> > + # else
> > NtInitialize(&argc,&argvp);
> > + # endif
> > #endif
> > {
> > #if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK)
> > *** ../vim-8.0.0186/src/version.c 2017-01-14 20:06:11.127087707 +0100
> > --- src/version.c 2017-01-14 20:11:17.953098490 +0100
> > ***************
> > *** 766,767 ****
> > --- 766,769 ----
> > { /* Add new patch number below this line */
> > + /**/
> > + 187,
> > /**/
> >
>
> I'm building vim on Windows 7 with MinGW. After compiling the latest
> pull I get:
>
> --------------------
> [...]
> gobjZi686/if_ruby.o:if_ruby.c:(.text+0x862): undefined reference to
> `ruby_sysinit'
> gobjZi686/if_ruby.o:if_ruby.c:(.text+0x23fa): undefined reference to
> `ruby_sysinit'
> collect2.exe: error: ld returned 1 exit status
> make: *** [gvim.exe] Error 1
> Error by compiling gvim.exe
> --------------------
>
> Many thanks in advance,
I think this patch should be reverted. As I wrote in the issue #1381, currently
no one maintains static linking to Ruby on Windows. The +ruby/dyn version on
Windows already uses ruby_sysinit() instead of NtInitialize(). See:
https://github.com/vim/vim/blob/fe6ce331d94c24ad745d0bf329ec0a65a5c07cc9/src/if_ruby.c#L598-L603
How about attached patch?
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/d/optout.
# HG changeset patch
# Parent ed9d2f4103ec083d72c42773f1589a6a964914e5
diff --git a/src/if_ruby.c b/src/if_ruby.c
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -199,6 +199,12 @@ static void ruby_vim_init(void);
# endif
#endif
+#if defined(RUBY19_OR_LATER) && !defined(DYNAMIC_RUBY)
+# ifdef WIN3264
+# define NtInitialize ruby_sysinit
+# endif
+#endif
+
#if defined(DYNAMIC_RUBY) || defined(PROTO)
# if defined(PROTO) && !defined(HINSTANCE)
# define HINSTANCE int /* for generating prototypes */
@@ -865,11 +871,7 @@ static int ensure_ruby_initialized(void)
int argc = 1;
char *argv[] = {"gvim.exe"};
char **argvp = argv;
-# ifdef RUBY19_OR_LATER
- ruby_sysinit(&argc, &argvp);
-# else
NtInitialize(&argc, &argvp);
-# endif
#endif
{
#if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK)