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}\\\""

Raspunde prin e-mail lui