Note: This page is not about compiling GPGMe on Windows. Instruction for this can be found in another blog post
As I stated earlier in GUPnP on win32 I’m currently porting the GUPnP stack to Windows. At first I tried an approach of developing on Linux, running autogen there and copying the whole tree to a Windows share, run
make there an see what breaks (or works)
After a while this gets quite annoying, so I tried to setup a complete build environment on Windows; you need:
- You’ll need an editor, of course
Basic win32 build environment
Install mingw and msys as advised on the mingw homepage.
Gtk/Gnome libs and build dependencies
Extract this anywhere you like, just make sure you can access it from your mingw environment (
/opt/gtk e.g.). Navigate to
/opt/gtk/share/icons, copy the
gnome directory to
higcolor. Change the theme name in file
highcolor/index.theme to highcolor. Otherwise the gupnp-tools (mainly the two control points) will not work.
Chain up everything
- I decided to put all gupnp stuff in another directory (
- Move the old libtool.m4 and ltdl.m4 out of the way (
/usr/local/aclocalas well as
- For libtool to work properly you need a file command. There’s no need for a full-blown implementation. The fake file available at http://trac.nexusformat.org/code/browser/trunk/file.MinGW is sufficient.
- Create a
.profilefile containing the following lines:
export PKG_CONFIG_PATH=/opt/gtk/lib/pkgconfig:/opt/gupnp/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=/opt/gtk/lib:/opt/gupnp/lib:$LD_LIBRARY_PATH export PATH=/opt/gtk/bin:/opt/gupnp/bin:$PATH export ACLOCAL_FLAGS="-I /opt/gtk/share/aclocal -I /opt/gupnp/share/aclocal"
- libxml2: There is an official win32 build of this available at http://www.zlatkovic.com/libxml.en.html. Unfortunately it is missing the import libraries and pkg-config file for usw with mingw. Follow the instructions on http://www.go-evolution.org/Building_Evolution_on_Windows#libxml2 to create those. If you get undefined symbols later, you might need to rename the export library to
libxml2.dll.apexports is available here: http://www.emmestech.com/software/pexports-0.43/download_pexports.html
- iconv: Download iconv from here: http://www.gtk.org/download-windows.html. I chose win_iconv.
- gnome-icon-theme: download both packages from here: http://ftp.gnome.org/pub/GNOME/binaries/win32/gnome-icon-theme/2.24/. Extract them to
/opt/gtk. Navigate to
highcolor. In the
highcolordirectory change index.theme in section
[Icon Theme]the key
highcolor. You can remove all the other translations if you like. This is necessary for the gupnp control points to run later
Building the GUPnP stack
Some parts of GUPnP for windows currently only exists as git branches on github or gitorious. There is no release and no ready-to-build tarball of gupnp. So you will need a version of git for windows. I’m using msysgit (http://code.google.com/p/msysgit/).
For the steps now following make sure you’re not in a directory containing spaces. There seems to be a (minor) problem with autoconf if you do. So let’s get started. First package is easy:
- libsoup: Download latest release from here: http://ftp.gnome.org/pub/GNOME/sources/libsoup/2.26/. Just run ./configure –prefix /opt/gupnp.
- gssdp: has windows support built-in since 0.10.0
- gupnp: Windows support will be included in 0.19.2
- gupnp-av: Latest release contains windows support
- gupnp-tools: Latest release contains windows support