Patch 7.4.676
Problem: On Mac, when not using the default Python framework configure
doesn't do the right thing.
Solution: Use a linker search path. (Kazunobu Kuriyama)
Files: src/configure.in, src/auto/configure
*** ../vim-7.4.675/src/configure.in 2015-03-05 16:47:15.764151809 +0100
--- src/configure.in 2015-03-24 12:14:13.317567690 +0100
***************
*** 1126,1131 ****
--- 1126,1134 ----
@echo "python_LINKFORSHARED='$(LINKFORSHARED)'"
@echo "python_DLLLIBRARY='$(DLLLIBRARY)'"
@echo "python_INSTSONAME='$(INSTSONAME)'"
+ @echo "python_PYTHONFRAMEWORK='$(PYTHONFRAMEWORK)'"
+ @echo "python_PYTHONFRAMEWORKPREFIX='$(PYTHONFRAMEWORKPREFIX)'"
+ @echo "python_PYTHONFRAMEWORKINSTALLDIR='$(PYTHONFRAMEWORKINSTALLDIR)'"
eof
dnl -- delete the lines from make about Entering/Leaving directory
eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/
directory /d'`"
***************
*** 1133,1144 ****
--- 1136,1169 ----
if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
"import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
vi_cv_path_python_plibs="-framework Python"
+ if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n
"${python_PYTHONFRAMEWORKPREFIX}"; then
+ vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX}
-framework Python"
+ fi
else
if test "${vi_cv_var_python_version}" = "1.4"; then
vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a
${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a
${PYTHON_CONFDIR}/libParser.a"
else
vi_cv_path_python_plibs="-L${PYTHON_CONFDIR}
-lpython${vi_cv_var_python_version}"
fi
+ dnl -- Check if the path contained in python_LINKFORSHARED is
+ dnl usable for vim build. If not, make and try other
+ dnl candidates.
+ if test -n "${python_LINKFORSHARED}"; then
+ python_link_symbol=`echo ${python_LINKFORSHARED} | sed 's/\([[^
\t]][[^ \t]]*[[ \t]][[ \t]]*[[^ \t]][[^ \t]]*\)[[ \t]].*/\1/'`
+ python_link_path=`echo ${python_LINKFORSHARED} | sed 's/\([[^
\t]][[^ \t]]*[[ \t]][[ \t]]*[[^ \t]][[^ \t]]*\)[[ \t]][[ \t]]*\(.*\)/\2/'`
+ if test -n "${python_link_path}" && ! test -x
"${python_link_path}"; then
+ dnl -- The path looks relative. Guess the absolute one using
+ dnl the prefix and try that.
+
python_link_path="${python_PYTHONFRAMEWORKPREFIX}/${python_link_path}"
+ if test -n "${python_link_path}" && ! test -x
"${python_link_path}"; then
+ dnl -- A last resort.
+
python_link_path="${python_PYTHONFRAMEWORKINSTALLDIR}/Versions/${vi_cv_var_python_version}/${python_PYTHONFRAMEWORK}"
+ dnl -- No check is done. The last word is left to the
+ dnl "sanity" test on link flags that follows shortly.
+ fi
+ python_LINKFORSHARED="${python_link_symbol}
${python_link_path}"
+ fi
+ fi
vi_cv_path_python_plibs="${vi_cv_path_python_plibs}
${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
dnl remove -ltermcap, it can conflict with an earlier -lncurses
vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed
s/-ltermcap//`
*** ../vim-7.4.675/src/auto/configure 2015-03-05 16:47:15.768151744 +0100
--- src/auto/configure 2015-03-24 12:14:19.901586591 +0100
***************
*** 5888,5905 ****
--- 5888,5922 ----
@echo "python_LINKFORSHARED='$(LINKFORSHARED)'"
@echo "python_DLLLIBRARY='$(DLLLIBRARY)'"
@echo "python_INSTSONAME='$(INSTSONAME)'"
+ @echo "python_PYTHONFRAMEWORK='$(PYTHONFRAMEWORK)'"
+ @echo "python_PYTHONFRAMEWORKPREFIX='$(PYTHONFRAMEWORKPREFIX)'"
+ @echo "python_PYTHONFRAMEWORKINSTALLDIR='$(PYTHONFRAMEWORKINSTALLDIR)'"
eof
eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ |
sed '/ directory /d'`"
rm -f -- "${tmp_mkf}"
if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
"import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
vi_cv_path_python_plibs="-framework Python"
+ if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n
"${python_PYTHONFRAMEWORKPREFIX}"; then
+ vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX}
-framework Python"
+ fi
else
if test "${vi_cv_var_python_version}" = "1.4"; then
vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a
${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a
${PYTHON_CONFDIR}/libParser.a"
else
vi_cv_path_python_plibs="-L${PYTHON_CONFDIR}
-lpython${vi_cv_var_python_version}"
fi
+ if test -n "${python_LINKFORSHARED}"; then
+ python_link_symbol=`echo ${python_LINKFORSHARED} | sed 's/\([^
\t][^ \t]*[ \t][ \t]*[^ \t][^ \t]*\)[ \t].*/\1/'`
+ python_link_path=`echo ${python_LINKFORSHARED} | sed 's/\([^
\t][^ \t]*[ \t][ \t]*[^ \t][^ \t]*\)[ \t][ \t]*\(.*\)/\2/'`
+ if test -n "${python_link_path}" && ! test -x
"${python_link_path}"; then
+
python_link_path="${python_PYTHONFRAMEWORKPREFIX}/${python_link_path}"
+ if test -n "${python_link_path}" && ! test -x
"${python_link_path}"; then
+
python_link_path="${python_PYTHONFRAMEWORKINSTALLDIR}/Versions/${vi_cv_var_python_version}/${python_PYTHONFRAMEWORK}"
+ fi
+ python_LINKFORSHARED="${python_link_symbol}
${python_link_path}"
+ fi
+ fi
vi_cv_path_python_plibs="${vi_cv_path_python_plibs}
${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs |
sed s/-ltermcap//`
fi
*** ../vim-7.4.675/src/version.c 2015-03-24 11:46:21.712636141 +0100
--- src/version.c 2015-03-24 12:19:02.901966841 +0100
***************
*** 743,744 ****
--- 743,746 ----
{ /* Add new patch number below this line */
+ /**/
+ 676,
/**/
--
Be nice to your kids... they'll be the ones choosing your nursing home.
/// 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.