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.