Mercurial > vim
view src/INSTALLami.txt @ 33452:ed8db57d1034 v9.0.1980
patch 9.0.1980: win32: issues with stable python ABI
Commit: https://github.com/vim/vim/commit/119fdd9293f63614ed2ca60a78993466435db639
Author: Ken Takata <kentkt@csc.jp>
Date: Wed Oct 4 20:05:05 2023 +0200
patch 9.0.1980: win32: issues with stable python ABI
Problem: win32: issues with stable python ABI
Solution: if_python3,win32: Fix Python3 stable ABI
There were some issues in current stable ABI implementation on Windows:
* Python DLL name should be `python3.dll` instead of `python311.dll` and
so on. (See: https://docs.python.org/3/c-api/stable.html)
* Some non-stable API functions were used:
- `_PyObject_NextNotImplemented`
- `PyStdPrinter_Type`
* `reset_stdin()` and `hook_py_exit()` didn't work with `python3.dll`.
`python3.dll` is a special type of DLL called forwarder DLL.
It just forwards the functions to other DLL (e.g. `python311.dll`).
There were two issues regarding these functions:
- `python3.dll` doesn't have import tables. This caused a crash in
`get_imported_func_info()`. Add a check whether the specified DLL
has an import table.
- `reset_stdin()` and `hook_py_exit()` should be applied to the
forwarded DLL (e.g. `python311.dll`), not to `python3.dll`.
Check the export directory of `python3.dll` to find the forwarded
DLL and apply the functions to it.
closes: #13260
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ken Takata <kentkt@csc.jp>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 04 Oct 2023 20:15:03 +0200 |
parents | 591f210d9324 |
children |
line wrap: on
line source
INSTALLami.txt - Installation of Vim from source on Amiga and MorphOS This file contains instructions for compiling Vim. If you already have an executable version of Vim, you don't need this. The file "feature.h" can be edited to match your preferences. You can skip this, then you will get the default behavior as is documented, which should be fine for most people. Summary: make -f Make_ami.mak gcc make -f Make_ami.mak CC=vc vbcc Please note that currently only gcc has been tested. VBCC would need its own CFLAGS, but should otherwise work out of the box. For cross-compiling, UNM can be used to override uname and thereby set the target. An example is shown below: make -f Make_ami.mak CC=ppc-morphos-gcc UNM=MorphOS