xpra icon
Bug tracker and wiki

Version 6 (modified by Antoine Martin, 3 months ago) (diff)

--

Building on Microsoft Windows

http://xpra.org/icons/windows.png

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 ${XPKG}python2-gobject
    #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):


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.

Version 2.0 uses a simple shell script, older versions used a combination of the setup.py file and BAT files. In both cases, an innosetup script generates the executable installer.