Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
setup: Build per-platform wheels. (#5787)
* setup: Build per-platform wheels. Build separate wheels for each platform containing only the correct bootloaders for said platform with no C source code/build scripts. Set the platform tag so that the correct wheel will be selected automatically by pip. To facilitate cross compiling (or rather cross platform wheel building), add new cross-build wheel commands to the setup.py and a "build the lot" command (bdist_wheels) to run them all: $ python setup.py --help-commands ... Extra commands: ... wheel_windows_64bit Create a Windows-64bit wheel wheel_windows_32bit Create a Windows-32bit wheel wheel_linux_64bit Create a Linux-64bit wheel wheel_linux_32bit Create a Linux-32bit wheel wheel_darwin_64bit Create a Darwin-64bit wheel ... bdist_wheels Build all available wheel types ... With the above in place, it no longer makes sense to include bootloaders in source distributions (sdists) as the only time pip will choose the sdist over the wheels is if it is installing on a platform which is incompatible with all the wheels' platforms and therefore all of the pre-built bootloaders. Therefore, strip all bootloaders (and various other things that shouldn't have been there anyway) from the MANIFEST.in. Co-authored-by: Rok Mandeljc <rok.mandeljc@gmail.com>
- Loading branch information
Showing
3 changed files
with
136 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,4 @@ | ||
graft bootloader | ||
graft doc | ||
graft PyInstaller | ||
graft tests | ||
|
||
include *.rst | ||
include *.txt | ||
include *.toml | ||
include pyinstaller.py | ||
include pyinstaller-gui.py | ||
|
||
prune bootloader/build | ||
prune bootloader/.waf-* | ||
prune bootloader/.waf3-* | ||
prune bootloader/waf-* | ||
prune bootloader/waf3-* | ||
prune bootloader/_sdks | ||
prune bootloader/.vagrant | ||
exclude bootloader/.lock-waf* | ||
|
||
prune doc/source | ||
prune doc/_build | ||
recursive-exclude doc *.tmp | ||
include news/_template.rst | ||
prune news | ||
|
||
prune old | ||
prune scripts | ||
prune tests/scripts | ||
prune .github | ||
|
||
exclude .* *.yml *~ .directory | ||
global-exclude *.py[co] | ||
recursive-include bootloader *.c *.h wscript waf strip.py | ||
recursive-exclude PyInstaller/bootloader * | ||
recursive-include PyInstaller/bootloader/images * | ||
include pyproject.toml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters