My OpenAL patch has been merged with the official CVS. Thanks goes to Creative for the time they spent testing it! There is one thing that wasn't merged (it was a hack and I warned them about it, so that's understandable). Update: Apparently, they OpenAL Windows-branch coders are learning new tricks to make their code compiler-dependent; the make file has been updated with a hack to fix the builds.
How to cross compile OpenAL for Win32 from *nix with GCC:
Download the DirectX 8 headers and libraries for MinGW32 from here. Place the libraries and headers where they must go.
Download the OpenAL CVS (see opensource.creative.com for more information).
This is a hackish fix, someday I'll figure out a better way to deal with it.
Open openal/win/AL/alc.h. You'll see two lines, like this:
Download my scriptish makefile from here and place it in the openal/win directory.
Open a terminal and go to the openal/win directory.
Look at 'Makefile' to make sure it looks okay to you (you might have to edit some of the variables, but since you're cross compiling I assume you know what you're doing for the most part ;)).
Type 'make' (you'll see a lot of warnings, don't worry; if you see errors, then worry ;)).
Hopefully, you'll get the following files as output: openal32.dll openal32.def libopenal32.a