Menu

#129 a sane build system

open
nobody
None
5
2024-07-06
2024-05-28
Jan Starý
No

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.

Discussion

  • Jan Starý

    Jan Starý - 2024-05-29
     
  • Martin Guy

    Martin Guy - 2024-05-30

    Tested on Debian-x86-32bit, give 19 messages like
    tested ogg: no (compilation failed)
    and spews lots of compiler warnings like

    aiff.c:36:44: note: expected char *' but argument is of type ‘const char *’
    aiff.c:885:21: warning: assignment discards const qualifier from pointer target type [-Wdiscarded-qualifiers]
    wav.c:548:5: warning: missing initializer for field encoding of const struct waveformat [-Wmissing-field-initializers]
    

    probably because the standard build silences compiler warnings (!) but it runs to completion fine. By golly, it's fast!

     
  • Jan Starý

    Jan Starý - 2024-05-30

    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 :-)

     
  • Jan Starý

    Jan Starý - 2024-06-04

    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?

     
  • JarC

    JarC - 2024-07-02

    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.

     
    • rogper

      rogper - 2024-07-05

      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(?)

       
      • JarC

        JarC - 2024-07-06

        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

Log in to post a comment.