Currently, SoX builds using the GNU autotools.
To get rid of this mostrosity (that checks whether you have stdint.h),
here is a branch that replaces the whole auto* hell with a Makefile
and one readable ./configure shell script.
https://sourceforge.net/u/janstary/sox/ci/build/tree/
Please test. It builds an installs fine on macOS and OpenBSD;
It detects sndio and CoreAudio, it detects FLAC;
more formats and drivers and tests coming.
Better version here: https://github.com/janstary/sox/tree/build
Tested on Debian-x86-32bit, give 19 messages like
tested ogg: no (compilation failed)
and spews lots of compiler warnings like
probably because the standard build silences compiler warnings (!) but it runs to completion fine. By golly, it's fast!
Thanks for testing!
Yes: none of the test for external libraries (such as ogg of flac) are there yet,
that's why thay all "fail" - that is the next step.
There rest are the warnings of compiling SoX itself,
nothing to do with the build system,
Yes, it is fast: it runs a nearly trivial shell script and that's it;
unike autotools it doesn't keep checking whether you have strlen() or unistd.h etc.
Please keep testing on all other systems :-)
It detects all the external file formats now,
except amr-vo for wb encoding and lame for mp3 encoding
(the decoders work though). Can you please test again?
Did anyone by chance create Windows binaries?
There's no way I can do this myself, I've got zero programming experience in C, no dev environment and if anything goes wrong, I'd have no way to solve it.
It would be great if SoX could be added to vcpkg repository. It would make the library easier to consume, and I even think vckpgks can distribute .exe files as part of the content. But I'm not sure how good support SoX has for Windows(?)
Been using the Windows binaries from SourceForge without any issues so far. Truth be told, I mostly use it for analysis, never to modify the actual soundfiles.
The only issue I have is I have to jump through hoops to work with files having non-Ansi names, would be nice if it could at least support utf-8/unicode characters in filenames (see patch #105)
Last edit: JarC 2024-07-06
UTF-8 encoding for filenames and ID3 tags has gone into sox_ng-14.5.0 but I too have a only a fingernail of experience in Windows builds. mansr is the SoX guru of MSVC builds but seems to be busy with other things at the moment. However, we're going off topic...
@JarC There is now a Windows build of sox_ng at
https://codeberg.org/sox_ng/sox_ng/releases/tag/sox_ng-14.5.0.1-rc1
@janstary The GCC Compile Farm is the most monstrous Unix and compiler portability test on Earth. You can ask for an account at https://portal.cfarm.net/users/new