1 To: vim_dev@googlegroups.com
4 From: Bram Moolenaar <Bram@moolenaar.net>
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
11 Problem: With Python 3.2 ":py3" fails.
12 Solution: Move PyEval_InitThreads() to after Py_Initialize(). (Roland
13 Puntaier) Check abiflags in configure. (Andreas Behr)
14 Files: src/if_python3.c, src/auto/configure, src/configure.in
17 *** ../mercurial/vim73/src/if_python3.c 2011-02-25 15:18:46.000000000 +0100
18 --- src/if_python3.c 2011-06-11 04:24:49.000000000 +0200
21 Py_SetPythonHome(PYTHON3_HOME);
24 - /* initialise threads */
25 - PyEval_InitThreads();
27 #if !defined(MACOS) || defined(MACOS_X_UNIX)
33 #ifdef DYNAMIC_PYTHON3
36 Py_SetPythonHome(PYTHON3_HOME);
39 #if !defined(MACOS) || defined(MACOS_X_UNIX)
44 + /* initialise threads, must be after Py_Initialize() */
45 + PyEval_InitThreads();
47 #ifdef DYNAMIC_PYTHON3
49 *** ../mercurial/vim73/src/auto/configure 2011-05-10 15:41:59.000000000 +0200
50 --- src/auto/configure 2011-06-12 21:33:16.000000000 +0200
54 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python3_version" >&5
55 $as_echo "$vi_cv_var_python3_version" >&6; }
57 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's abiflags" >&5
58 + $as_echo_n "checking Python's abiflags... " >&6; }
59 + if test "${vi_cv_var_python3_abiflags+set}" = set; then :
60 + $as_echo_n "(cached) " >&6
63 + vi_cv_var_python3_abiflags=
64 + if ${vi_cv_path_python3} -c \
65 + "import sys; sys.exit(${vi_cv_var_python3_version} < 3.2)"
67 + vi_cv_var_python3_abiflags=`${vi_cv_path_python3} -c \
68 + "import sys; print(sys.abiflags)"`
71 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python3_abiflags" >&5
72 + $as_echo "$vi_cv_var_python3_abiflags" >&6; }
74 { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5
75 $as_echo_n "checking Python's install prefix... " >&6; }
76 if test "${vi_cv_path_python3_pfx+set}" = set; then :
81 vi_cv_path_python3_conf=
82 for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do
83 for subdir in lib64 lib share; do
84 ! d="${path}/${subdir}/python${vi_cv_var_python3_version}/config"
85 if test -d "$d" && test -f "$d/config.c"; then
86 vi_cv_path_python3_conf="$d"
91 vi_cv_path_python3_conf=
93 + if test "${vi_cv_var_python3_abiflags}" != ""; then
94 + config_dir="${config_dir}-${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
96 for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do
97 for subdir in lib64 lib share; do
98 ! d="${path}/${subdir}/python${vi_cv_var_python3_version}/${config_dir}"
99 if test -d "$d" && test -f "$d/config.c"; then
100 vi_cv_path_python3_conf="$d"
104 eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
105 rm -f -- "${tmp_mkf}"
106 vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
107 ! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS} ${python3_LINKFORSHARED}"
108 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
109 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
112 eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
113 rm -f -- "${tmp_mkf}"
114 vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
115 ! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
116 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
117 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
122 PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
123 if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
124 ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
126 ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
128 PYTHON3_SRC="if_python3.c"
129 if test "x$MACOSX" = "xyes"; then
132 PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
133 if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
134 ! 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}\\\""
136 ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
138 PYTHON3_SRC="if_python3.c"
139 if test "x$MACOSX" = "xyes"; then
140 *** ../mercurial/vim73/src/configure.in 2011-05-10 15:41:59.000000000 +0200
141 --- src/configure.in 2011-06-12 21:31:18.000000000 +0200
145 ${vi_cv_path_python3} -c 'import sys; print(sys.version[:3])'`
148 + dnl -- get abiflags for python 3.2 or higher (PEP 3149)
149 + AC_CACHE_CHECK(Python's abiflags,vi_cv_var_python3_abiflags,
151 + vi_cv_var_python3_abiflags=
152 + if ${vi_cv_path_python3} -c \
153 + "import sys; sys.exit(${vi_cv_var_python3_version} < 3.2)"
155 + vi_cv_var_python3_abiflags=`${vi_cv_path_python3} -c \
156 + "import sys; print(sys.abiflags)"`
159 dnl -- find where python3 thinks it was installed
160 AC_CACHE_CHECK(Python's install prefix,vi_cv_path_python3_pfx,
161 [ vi_cv_path_python3_pfx=`
164 AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python3_conf,
166 vi_cv_path_python3_conf=
167 for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do
168 for subdir in lib64 lib share; do
169 ! d="${path}/${subdir}/python${vi_cv_var_python3_version}/config"
170 if test -d "$d" && test -f "$d/config.c"; then
171 vi_cv_path_python3_conf="$d"
174 AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python3_conf,
176 vi_cv_path_python3_conf=
177 + config_dir="config"
178 + if test "${vi_cv_var_python3_abiflags}" != ""; then
179 + config_dir="${config_dir}-${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}"
181 for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do
182 for subdir in lib64 lib share; do
183 ! d="${path}/${subdir}/python${vi_cv_var_python3_version}/${config_dir}"
184 if test -d "$d" && test -f "$d/config.c"; then
185 vi_cv_path_python3_conf="$d"
189 eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
190 rm -f -- "${tmp_mkf}"
191 vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
192 ! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS} ${python3_LINKFORSHARED}"
193 dnl remove -ltermcap, it can conflict with an earlier -lncurses
194 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
195 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
197 eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
198 rm -f -- "${tmp_mkf}"
199 vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}"
200 ! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}"
201 dnl remove -ltermcap, it can conflict with an earlier -lncurses
202 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//`
203 vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//`
207 PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
208 if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
209 ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
211 ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
213 PYTHON3_SRC="if_python3.c"
214 dnl For Mac OSX 10.2 config.o is included in the Python library.
217 PYTHON3_LIBS="${vi_cv_path_python3_plibs}"
218 if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then
219 ! 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}\\\""
221 ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\""
223 PYTHON3_SRC="if_python3.c"
224 dnl For Mac OSX 10.2 config.o is included in the Python library.
225 *** ../vim-7.3.211/src/version.c 2011-06-12 21:24:56.000000000 +0200
226 --- src/version.c 2011-06-12 21:35:31.000000000 +0200
230 { /* Add new patch number below this line */
236 In Joseph Heller's novel "Catch-22", the main character tries to get out of a
237 war by proving he is crazy. But the mere fact he wants to get out of the war
238 only shows he isn't crazy -- creating the original "Catch-22".
240 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
241 /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
242 \\\ an exciting new programming language -- http://www.Zimbu.org ///
243 \\\ help me help AIDS victims -- http://ICCF-Holland.org ///