Hi,
I tried to use +python/dyn on Cygwin, but it did't work.
It seems that Vim is going to load libpython2.6.dll.a instead of
libpython2.6.dll.
$ ./configure --with-feature=huge --enable-pythoninterp=dynamic
$ make
$ ./vim
:python print "hello"
E370: Could not load library libpython2.6.dll.a
E263: Sorry, this command is disabled, the Python library could not be loaded.
The filename of the shared library is taken from $(INSTSONAME) defined in
/usr/lib/pythonX.X/Makefile on Linux, but $(INSTSONAME) doesn't point the
filename of the DLL on Cygwin. I think $(DLLLIBRARY) should be used instead
of $(INSTSONAME) on Cygwin.
Attached patch fixes this problem.
Best 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
# HG changeset patch
# Parent 7972a471de7b37e8d1c2a2c0b46d6a0f635db4d6
diff --git a/src/configure.in b/src/configure.in
--- a/src/configure.in
+++ b/src/configure.in
@@ -889,6 +889,7 @@
@echo "python_LIBS='$(LIBS)'"
@echo "python_SYSLIBS='$(SYSLIBS)'"
@echo "python_LINKFORSHARED='$(LINKFORSHARED)'"
+ @echo "python_DLLLIBRARY='$(DLLLIBRARY)'"
@echo "python_INSTSONAME='$(INSTSONAME)'"
eof
dnl -- delete the lines from make about Entering/Leaving directory
@@ -909,6 +910,9 @@
fi
])
+ if test "X$python_DLLLIBRARY" != "X"; then
+ python_INSTSONAME="$python_DLLLIBRARY"
+ fi
PYTHON_LIBS="${vi_cv_path_python_plibs}"
if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\\\"${vi_cv_path_python_pfx}\\\""
@@ -1082,6 +1086,7 @@
@echo "python3_BASEMODLIBS='$(BASEMODLIBS)'"
@echo "python3_LIBS='$(LIBS)'"
@echo "python3_SYSLIBS='$(SYSLIBS)'"
+ @echo "python3_DLLLIBRARY='$(DLLLIBRARY)'"
@echo "python3_INSTSONAME='$(INSTSONAME)'"
eof
dnl -- delete the lines from make about Entering/Leaving directory
@@ -1094,6 +1099,9 @@
vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
])
+ if test "X$python3_DLLLIBRARY" != "X"; then
+ python3_INSTSONAME="$python3_DLLLIBRARY"
+ fi
PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""