view .appveyor.yml @ 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 0c7d833308c7
children 93c715c63a4a
line wrap: on
line source

version: "{build}"

image: Visual Studio 2015

skip_tags: true

environment:
  matrix:
    - FEATURE: HUGE
  
    # Alternate environments, not used right now.  2022 is a lot slower.
    #
    # - job_name: VS-2015
    #   appveyor_build_worker_image: Visual Studio 2015
    #   FEATURE: HUGE

    # - job_name: VS-2017
    #   appveyor_build_worker_image: Visual Studio 2017
    #   FEATURE: HUGE

    # - job_name: VS-2019
    #   appveyor_build_worker_image: Visual Studio 2019
    #   FEATURE: HUGE

    # - job_name: VS-2022
    #   appveyor_build_worker_image: Visual Studio 2022
    #   FEATURE: HUGE

# disabled
#    - FEATURE: TINY
#    - FEATURE: NORMAL
#    - FEATURE: BIG

matrix:
  fast_finish: true

before_build:
  - call ver
  - ci\appveyor.bat install

build_script:
  - ci\appveyor.bat build

test_script:
  - ci\appveyor.bat test

artifacts:
  - path: src/vim.exe
    name: vim
  - path: src/gvim.exe
    name: gvim

# vim: sw=2 sts=2 et ts=8 sr