Version 4 (modified by 5 years ago) (diff) | ,
---|
Building on Microsoft Windows
For general information, see wiki/Building first.
Building
The new build system is a work in progress, see #678 for details.
Steps:
- install mingw-w64
- run these commands:
#choose your target build arch (or do each one in turn): #32-bit: #export XPKG="mingw-w64-i686-" #64-bit: export XPKG="mingw-w64-x86_64-" #most packages get installed here: (python, gtk, etc): pacman --noconfirm -S ${XPKG}python2 ${XPKG}python2-pygtk ${XPKG}gtkglext #media libraries (more than we actually need): pacman --noconfirm -S ${XPKG}ffmpeg ${XPKG}gst-plugins-good ${XPKG}gst-plugins-bad ${XPKG}gst-plugins-ugly #network layer libraries: pacman --noconfirm -S ${XPKG}lz4 ${XPKG}lzo2 ${XPKG}xxhash #python3 GStreamer bindings: pacman --noconfirm -S ${XPKG}gst-python #development tools and libs for building extra packages: pacman --noconfirm -S base-devel ${XPKG}yasm ${XPKG}nasm subversion rsync gtk-doc ${XPKG}cmake ${XPKG}gcc ${XPKG}pkg-config ${XPKG}libffi #python libraries and install and packaging tools: pacman --noconfirm -S ${XPKG}python2-numpy ${XPKG}python2-pillow ${XPKG}cython2 ${XPKG}python2-setuptools ${XPKG}python2-cx_Freeze #python3 versions (not all are really needed if just using python3 for sound): pacman --noconfirm -S ${XPKG}python3-numpy ${XPKG}python3-pillow ${XPKG}cython ${XPKG}python3-cx_Freeze #using easy-install for python libraries which are not packaged by mingw: for x in rencode xxhash netifaces lz4 websocket-client comtypes PyOpenGL PyOpenGL_accelerate websockify cffi pycparser cryptography nvidia-ml-py; do easy_install-2.7 -U -Z $x easy_install-3.5 -U -Z $x done #for webcam support: pacman -S ${XPKG}opencv ${XPKG}hdf5 ${XPKG}tesseract-ocr
Not covered here yet (see #678):
- pygtkglext: follow ticket:678#comment:27
- pygobject patching (minor)
- websockify
- CUDA / NVENC / pycuda
- install gsview and ghostscript (see wiki/Dependencies)
The old build system is very hard to setup: follow these instructions to build all the required dependencies (and trim the parts that are only relevant to winswitch)
Packaging
The MS Windows specific build scripts are here.
We use a combination of the setup.py file, BAT files and an innosetup script to generate the executable installer.