| To: vim_dev@googlegroups.com |
| Subject: Patch 7.4.676 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| 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 |
| |
| |
| |
| |
| |
| *** 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//` |
| |
| |
| |
| *** 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 |
| |
| |
| |
| *** 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 -- Bram@Moolenaar.net -- 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 /// |