lrint() and lrintf() are ridiculously slow when libsndfile is built
using Visual C++.
On x86 and AMD64 platforms this patch adds SSE2 optimized versions.
It is safe to assume that non-SSE2 processors are no longer available to
avoid unnecessary checks.
Ogg: Introduce new functions ogg_sync_fseek(), ogg_ftell(), ogg_next_page(),
ogg_stream_next_page(), ogg_sync_last_page_before(), and
ogg_stream_unpack_page(). Use ogg_sync_* for ogg_read_first_page(). Bump libogg
version requirement from 1.1.3 to 1.3.0 as LibOgg 1.3.0 is required for
ogg_stream_pageout_fill() and ogg_stream_flush_fill().
Opus: Add opus support. Document added commands
SFC_(GET|SET)_ORIGINAL_SAMPLERATE. Added or extended tests ogg_opus_test,
compression_size_test, floating_point_test, lossy_comp_test, string_test,
external_libs_test. Change Opus to non-experimental.
* Using AX_RECURSIVE_EVAL to determine the full absolute path
and printing it inline in the configure script is less
brittle than calling another script from configure.
Unfortunately ABI was broken when symbols files were removed
in favour of new visibility control of exported functions.
Visibility control with -fvisibility works fine, but symbol
scripts had another feature - versioned symbols. And we lost it.
Since we can not make our symbols to be versioned with the new
approach, it's decided to return everything back.
* CMake: Restore symbol files generation
* CMake: Python is required to build shared libraries
* Autotools: Restore symbol files generation
Closes: https://github.com/erikd/libsndfile/issues/268
* Use symbol file under Win32 with MinGW only
* Use unified visibility control for other platforms
* Add recommended win32-dll option to LT_INIT macro
Closes: https://github.com/erikd/libsndfile/issues/213
Libtool requires AM_PROG_AR to be fully portable:
warning: 'libsndfile.la': linking libtool libraries using a non-POSIX
requires 'AM_PROG_AR' in 'configure.ac'
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
Closes: https://github.com/erikd/libsndfile/pull/193
Using test before running rm -f is unnecessary, as it
will lead to a non-zero exit code if the file does not
exist, in turn leading to 'make distcheck' failing.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
Some distributions unconditionally enable -D_FORTIFY_SOURCE, and
adding it to CFLAGS might cause a slew of warnings:
<command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
<built-in>: note: this is the location of the previous definition
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
It's more preferable to generate the testsuite when running 'make dist'
or 'make distcheck' instead of running it from the configure script.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
Some distributions build multiple ABIs (x86 and am64) to support
legacy platforms. For the non-native ABIs, building the programs
and examples is pointless and a waste of resources.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
The configure script had been forcing `-funsigned-char` which is not
supported by some compilers like Sun Studio.
Fixup one test which was failing on Sun Studio due to differences in
how that compiler handles undefined behaviour around assigning an
unsigned char value to a signed char.