Skip to content
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

Build cleanups and enforce a subset of tests #19

Merged
merged 12 commits into from
Jul 29, 2021
Merged

Conversation

lazka
Copy link
Member

@lazka lazka commented Jul 25, 2021

The goal here is to make the build setup simpler and to run/enforce some tests in CI so we have a higher chance of detecting regressions.

See the commits for details

Fixes #13
Fixes #14
Fixes #17

lazka added 12 commits July 25, 2021 21:51
Mirror what si already done for libffi; Look it up via
pkg-config and use the exported path via sysconfig in setup.py

This should be merged into "dont include system ncurses path"
%p has different casing with mingw-w64, but it's implementation defined.
Change the test to the mingw-w64 variant.
It's crt specific and not compiler specific.
This fixes a test case in test_time
This fixes test_winconsoleio

Should be merged into "build winconsoleio"
We support win7 still, so adjust accordingly.

Should be merged into the win7 patch
Just like with MSVC. This fixes a test in test_ctypes.
While it is (potentially) available with mingw we don't want to use it, so skip any
checks for it.
Otherwise one has to set it when calling "make install".
This is required for venv creation on Windows.
Ideally this would use the venv specific launcher (PC/launcher.c),
but a copy of main binary seems to work as well for now.
This now enforces success of a subset of tests (see mingw_ignorefile.txt)
and runs smoketests on the build as well as after installation.

Remove everything that is no longer needed after the previous patches:

* the build uses -O3 by default
* it sets fwrapv by default
* __USE_MINGW_ANSI_STDIO is not needed anymore with c99
* it sets_WIN32_WINNT anyway
* ncurses is fixed by patching the build
* debug is handled by autotools
* all ac_cv_* overrides are now handled in configure.ac
* venvlauncher is handled by the main makefile
* setting MSYS2_ARG_CONV_EXCL is now handled by the makefile
* the import library is now installed by the makefile
* _sysconfig_data overrides are handled at runtime anyway
* we don't care about permissions.. (I think?)
@jeremyd2019
Copy link

jeremyd2019 commented Jul 25, 2021

I think this also fixed #11 - running smoketests succeeds pre-install, maybe because the import lib is now in the right place? -- oh, or maybe python3.9 is installed and it's using the installed import lib?

@lazka
Copy link
Member Author

lazka commented Jul 25, 2021

hm, it shouldn't have changed because

cp -f "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/config-${_pybasever}/libpython${_pybasever}.dll.a "${pkgdir}${MINGW_PREFIX}"/lib/libpython${_pybasever}.dll.a
was already there before, unless I'm missing something.

@lazka lazka merged commit 02aeab5 into mingw-v3.9.6 Jul 29, 2021
@lazka lazka deleted the more-build-cleanup branch July 29, 2021 17:17
@lazka lazka mentioned this pull request Jul 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

util.find_msvcrt() shouldn't return anything for ucrt Move smoketests into the src tree Default to -O2
2 participants