Hirohito Higashi wrote:

> 2015-10-4 (Sun) 23:23:51 UTC+9 Bram Moolenaar:
> > Masatoshi Sugiura wrote:
> > 
> > > I tried to build vim on Windows,
> > > but the build is failed with DYNAMIC_PYTHON=yes and DYNAMIC_PYTHON3=no.
> > > 
> > > I tested like below (with Visual Studio 2010):
> > > 
> > > > set BASEDIR=%CD%
> > > > set VS2012_64_VCVARS="c:\Program Files (x86)\Microsoft Visual Studio 
> > > > 11.0\VC\vcvarsall.bat"
> > > > call %VS2012_64_VCVARS% amd64
> > > > cd %BASEDIR%\src
> > > > nmake -f make_mvc.mak PYTHON="C:\Python27" PYTHON_VER=27 
> > > > DYNAMIC_PYTHON=yes  PYTHON3="C:\Python34" PYTHON3_VER=34 
> > > > DYNAMIC_PYTHON3=no
> > > 
> > > and it failes:
> > > 
> > > >        cl -c /W3 /nologo  -I. -Iproto -DHAVE_PATHDEF -DWIN32   
> > > > -DFEAT_CSCOPE       -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 
> > > > /Fo.\ObjCYHAMD64/ /Ox /GL -DNDEBUG  /Zl /MT -DDYNAMIC_ICONV 
> > > > -DDYNAMIC_GETTEXT -DFEAT_PYTHON -DDYNAMIC_PYTHON  
> > > > -DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DFEAT_PYTHON3 -DFEAT_BIG 
> > > > /Fd.\ObjCYHAMD64/ /Zi /I "C:\Python34\Include" /I "C:\Python34\PC" 
> > > > if_python3.c
> > > > if_python3.c
> > > > if_python3.c(835) : error C2065: 'hinstPy3' : undeclared identifier
> > > > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual 
> > > > Studio 11.0\VC\BIN\amd64\cl.EXE"' : return code '0x2'
> > > > Stop.
> > > 
> > > As far as I found out, build is only failed with the pattern is
> > > DYNAMIC_PYTHON=yes and DYNAMIC_PYTHON3=no and other pattern is OK.
> > > 
> > > I think this problem fixed with the attached diff.
> > > Could check that?
> > 
> > This function is only called once from if_python.c, when both python and
> > python3 are compiled in.  And only for Unix.  So the #if should use an
> > AND between DYNAMIC_PYTHON and DYNAMIC_PYTHON3 and UNIX.
> 
> Not only Unix.
> I think Masatoshi's patch is right.
> And patch 7.4.890 is wrong.
> 
> 
> Look for combination of DYNAMIC_PYTHON and DYNAMIC_PYTHON result on build.
> 
> enable DYNAMIC_PYTHON enable DYNAMIC_PYTHON3  Build result
>   yes         yes             OK
>   yes         no              NG <---- *1
>   no          yes             OK
>   no          no              OK

I tried this on Unix and it works.  The call does have #ifdef UNIX.
Perhaps there is another change that matters?

-- 
"So this is it," said Arthur, "we are going to die."
"Yes," said Ford, "except...no!  Wait a minute!"  He suddenly lunged across
the chamber at something behind Arthur's line of vision.  "What's this
switch?" he cried.
"What?   Where?" cried Arthur, twisting around.
"No, I was only fooling," said Ford, "we are going to die after all."
                -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"

 /// Bram Moolenaar -- [email protected] -- 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    ///

-- 
-- 
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.

Raspunde prin e-mail lui