When compiling for ia32 on an x86_64 kernel, the configure script
was not detecting the ability to do asm optimisations because the
configure script was detecting the x86_64 kernel not the ia32
user space.
Libraries that are used internally by libFLAC(++) but are not part of
their API should be listed in pkg-config "private" clauses. Otherwise
executables that are linked dynamically against libFLAC(++) will have
unneeded direct dependencies (overlinking).
Based on a patch by Brad Smith from
https://sourceforge.net/p/flac/bugs/397/
that I updated to only include ogg if libFLAC is actually built with
ogg support.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
This option is disabled by default because it is known not to work
on FreeBSD 9.1 and for Linux -> Windows cross compiling using the
Debian MinGW-w64 tool chain.
It is known to work for native compiles in Debian testing and
OpenBSD 5.2.
Extra compile options are detected at configure time with new
XIPH_ADD_*FLAGS m4 macros.
Options enabled include -Wextra, -D_FORTIFY_SOURCE=2 and stack
protection.
When building outside of the source tree, the Doxyfile needs to be
generated in the build tree and should point to the proper paths for
include directories and html footer.
The generated api files to install should also be taken from the build
tree instead of the source tree.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
In particular:
- quote several macro arguments properly
- switch to the extended version of AC_INIT
- replace AM_CONFIG_HEADER by AC_CONFIG_HEADERS
- remove obsolete extra AC_CHECK_SIZEOF param
- upgrade minimal automake version from 1.7 to 1.11
(which is when dist-xz was introduced)
Signed-off-by: Max Horn <max@quendi.de>
Also removed some pointless AC_SUBST invocation, which would only be
necessary if the Makefiles were using the results of the header
detection, which they are not.
Signed-off-by: Max Horn <max@quendi.de>
Previously, we only printed whether the used compiler was
detected as gcc if the answer was positive. Now we always
print the result (but the GCC version still is only
printed when we are using GCC)
Signed-off-by: Max Horn <max@quendi.de>
The autoreconf tool is provided by autoconf to do what custom
autogen.sh scripts in many projects used to do. Only it is more
robust and widely tested. It has been available for several years,
too. No reason to rely on custom code for this.
Signed-off-by: Max Horn <max@quendi.de>
With gcc >= 4 and ELF, set default visibility to hidden and make visible
only the symbols with FLAC_API or FLACPP_API.
A convenience libFLAC-static.la is created for test_libFLAC as it
depends on the hidden symbols.
recent autotools require calling AM_PROG_AR before LT_INIT
this macro needs to be conditionally defined as it is not
present in old versions.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
- INCLUDES is deprecated, and CPPFLAGS is an user-defined
variable, use the proper AM_CPPFLAGS instead
- Remove FLAC__INLINE definition, providing proper
replacement for MSVC compilers.
- Detect if we have C99 's lround and provide a replacement
for windows...
Fixes "undefined macro: AM_PATH_XMMS" and similar errors which cause
autoreconf to fail.
From Sebastian Andrzej Siewior <bigeasy@linutronix.de> via Debian.