8000 bpo-35947: Update windows to the current version of libffi by paulmon · Pull Request #11797 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

bpo-35947: Update windows to the current version of libffi #11797

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 35 commits into from
Mar 29, 2019
Merged
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
de396d4
Rip out libffi_msvc
zware Sep 7, 2017
e7f43ea
Remove /safeseh, which doesn't seem to exist for ml64
zware Sep 8, 2017
102a098
Fix copy of structures when passed by value.
zooba Sep 8, 2017
374110e
preserve bug fix
Jan 23, 2019
548e488
use libffi 3.3
Jan 23, 2019
bc59c71
add sysv_intel.S for x86
Feb 6, 2019
87a232f
ffi_call no longer returns stack difference from windows 32-bit
Feb 7, 2019
51ccf8a
change libffi-3.3 to libffi
Feb 11, 2019
83da944
add blurb
Feb 11, 2019
369318e
change libffi-3.3 to libffi in python.props
Feb 11, 2019
ec20baa
add configured windows header files
Feb 13, 2019
109ba99
put configured files in libffi_msvc so that they pass patchcheck.py
Feb 13, 2019
55f62c4
move configured files to ctypes-source-dep
Feb 15, 2019
c43cb08
add missing quotes
Feb 19, 2019
c663960
remove reference to libffi_msvc
Feb 19, 2019
ad7d6bf
Update PCbuild/get_externals.bat
zware Feb 19, 2019
f4ccea6
Update PCbuild/python.props
zware Feb 19, 2019
8c3479f
basic script for configuring libffi
Mar 1, 2019
d57ab4c
add cygwin info
Mar 1, 2019
8000 0dc1bd1
add link to appveyor.yml used as a reference
Mar 1, 2019
0ba8113
used per-processor configured files
Mar 1, 2019
2f70852
remove prepare_libffi.bat
Mar 1, 2019
27b9946
generate configured header files for libffi
Mar 4, 2019
c9d8354
improvements found by trying this with ARM
Mar 5, 2019
9b4773b
use prebuilt libffi binaries
Mar 12, 2019
12e69e4
build after installing vs 2019
Mar 12, 2019
1914207
add libffi .dll to layout
Mar 12, 2019
ff0edbc
got libffi tests to run
Mar 14, 2019
9eb7c3c
setting MSBUILD is a better workaround
Mar 15, 2019
814034d
optionally install cygwin with required packages
Mar 18, 2019
d5b71ba
Fixes empty variable checks
zooba Mar 29, 2019
d7a2546
Enable overriding output directory
zooba Mar 29, 2019
ff3ff8a
Ensure VCVARSALL variable is quoted
zooba Mar 29, 2019
8fa8035
build with libffi from cpython-bin-deps
Mar 29, 2019
20d27a3
add libffi to msi definition
Mar 29, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Enable overriding output directory
  • Loading branch information
zooba committed Mar 29, 2019
commit d7a2546903824a8af167259b65032a9f093bf0a6
19 changes: 10 additions & 9 deletions PCbuild/prepare_libffi.bat
Original file line number Diff line number Diff line change
Expand Up @@ -118,13 +118,14 @@ if /I "%VCVARS_PLATFORM%" EQU "x86" (
set SRC_ARCHITECTURE=x86
)

set LIBFFI_OUT=%~dp0\..\externals\libffi-bin-3.3.0-rc0-r1\%ARCH%
if NOT DEFINED LIBFFI_OUT set LIBFFI_OUT=%~dp0\..\externals\libffi-bin-3.3.0-rc0-r1
set _LIBFFI_OUT=%LIBFFI_OUT%\%ARCH%

echo get VS build environment
call %VCVARSALL% %VCVARS_PLATFORM%

echo clean %LIBFFI_OUT%
if exist %LIBFFI_OUT% (rd %LIBFFI_OUT% /s/q)
echo clean %_LIBFFI_OUT%
if exist %_LIBFFI_OUT% (rd %_LIBFFI_OUT% /s/q)

echo Configure the build to generate fficonfig.h and ffi.h
%SH% -lc "(cd $OLDPWD; ./configure CC='%MSVCC% %ASSEMBLER%' CXX='%MSVCC% %ASSEMBLER%' LD='link' CPP='cl -nologo -EP' CXXCPP='cl -nologo -EP' CPPFLAGS='-DFFI_BUILDING_DLL' NM='dumpbin -symbols' STRIP=':' --build=$BUILD --host=$HOST;)"
Expand All @@ -141,12 +142,12 @@ if "%LIBFFI_TEST%" EQU "1" (
)


echo copying files to %LIBFFI_OUT%
if not exist %LIBFFI_OUT%\include (md %LIBFFI_OUT%\include)
copy %ARTIFACTS%\.libs\libffi-7.dll %LIBFFI_OUT%
copy %ARTIFACTS%\.libs\libffi-7.lib %LIBFFI_OUT%
copy %ARTIFACTS%\fficonfig.h %LIBFFI_OUT%\include
copy %ARTIFACTS%\include\*.h %LIBFFI_OUT%\include
echo copying files to %_LIBFFI_OUT%
if not exist %_LIBFFI_OUT%\include (md %_LIBFFI_OUT%\include)
copy %ARTIFACTS%\.libs\libffi-7.dll %_LIBFFI_OUT%
copy %ARTIFACTS%\.libs\libffi-7.lib %_LIBFFI_OUT%
copy %ARTIFACTS%\fficonfig.h %_LIBFFI_OUT%\include
copy %ARTIFACTS%\include\*.h %_LIBFFI_OUT%\include

endlocal
exit /b
Expand Down
0