Hey list, I spent the last half a day or so learning the autoconf/automake toolset and going through the build system of pulseaudio to get it to compile under cygwin rather then native. (I wanted module-x11-publish with Cygwin/X). The patch is against the 0.9.5 tree rather then SVN as I didn't know if I would get it done when I started, but I figured I'll share it anyway to see if it gets any use. The pulseaudio patch moves the win32api header detection up into the determine build environment section, this can be relocated back down to the other part but the cygwin test needs to stay for this to work. (The alternative is to go through every source file and modify where the winsock.h header file gets included from, it needs to go before the cygwin includes so that the cygwin headers can ifdef around the already defined functions from win32api. This was beyond the scope of what I wanted to do, which was to just get it compiled and running.) I also added the --disable-cygwin option for building which should revert the behavior under the cygwin compiler back to the mingw settings. I had to add in another conditional for automake, OS_IS_CYGWIN. Mostly setting OS_IS_WIN32 under Cygwin compiles the right things, however it was breaking the PG_DEFAULT_CONFIG_DIR, but mostly everything else was fine. I added the other conditional at first to fix this, but then I noticed that if I did it, I could clean up some of the other things in the automake file as well. (Rather specific Win32 compiler options that Cygwin doesn't really use) These fixes can look rather nasty but automake only supports checking one variable at a time in a conditional branch as far as I can tell from the manual. I also made a fix which may or may not have already been fixed in SVN with the module_x11_publish_la_LIBADD line where it was missing the include of libpulsecore.la, that's about the only thing in the pulseaudio patch that I can see that might already be done (unless I've gone and reinvented the wheel (again) and cygwin build support was already added). I also sent a patch off to the liboil list to fix a small compile bug with it which I'll attach here too. Short list of steps for compiling it under Cygwin: Download and install the IPv6 extension to Cygwin from http://win6.jp/Cygwin/index.html export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig (I've got this one in my /etc/bash.bashrc) Download libsndfile from http://www.mega-nerd.com/libsndfile/, if you have all the Cygwin devel prereq packages it should just be a ./configure && make && make install for this one Download libsamplerate from http://www.mega-nerd.com/SRC/, this one needs to be configured like: LDFLAGS='-no-undefined' ./configure && make && make install Download liboil from http://liboil.freedesktop.org/, apply the liboiltmp stub patch (patch -p1 -i liboil-0.3.10-liboiltmp-stub-cygwin-fix.patch from in the liboil folder), then ./configure && make && make install Download pulseaudio from http://pulseaudio.org/, apply the pulseaudio-0.9.5-cygwin-fix.patch (patch -p1 -i pulseaudio-0.9.5-cygwin-fix.patch from in the pulseaudio folder), ./configure && make && make install -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: pulseaudio-0.9.5-cygwin-fix.patch URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20061218/407b0358/attachment.asc> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: liboil-0.3.10-liboiltmp-stub-cygwin-fix.patch URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20061218/407b0358/attachment.txt>