Hi,
recently, I've done some research and experimenting on how to build  
SoX binaries for Windows, and I've come to think that the best tool is  
MXE (M Cross Environment, http://mxe.cc/). Essentially, it is a  
collection of patches and build scripts with some makefile glue, made  
exactly for our purposes; i.e., cross-building libraries to link  
statically into Windows executables, all done on a Unix system.

You say, e.g., "make libsndfile", and it will automatically fetch the  
source for libsndfile as well as libflac, libogg etc. from the  
official download sites, apply any necessary patches (like one that  
adds the missing -lwsock32 to flac.pc), and build the libraries. Set  
PATH to include the provided cross-building tools (gcc is also built  
directly from source), then in the SoX directory, call configure with  
"--host=i686-pc-mingw32", and you are ready to build.

MXE already includes a very extensive set of libraries, almost  
everything we need, like magic, flac, png, sndfile, lame, gomp, ltdl  
... with their dependencies. Actually, there were only three missing  
(id3tag, twolame, wavpack), and of those, I already added twolame and  
wavpack (accepted in MXE upstream). To add id3tag should be no problem  
either.

The main advantage is that we can get up-to-date libraries, built in a  
reproduceable way, without the need to do manual tweaking on our side  
in most cases.

I made some test builds and mentioned them in an inconspicuous place  
on sox-users, so they have had a little bit of testing on Wine and on  
"real" Windows. They seem to be working OK.


Thus, my proposal is to use MXE for building a new 14.4.1 (or  
14.4.1.1, or 14.4.1a) Windows binary that includes flac and sndfile  
support; and probably for later releases as well. I could turn  
mingwbuild into an mxebuild that automates the build process (for MXE,  
then for SoX using MXE). I guess I could also build the whole Windows  
package myself, if necessary/preferred by Chris.

Ulrich


------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
SoX-devel mailing list
SoX-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-devel

Reply via email to