84 Commits

Author SHA1 Message Date
Erik de Castro Lopo
95fc3bf314 Add first micro-benchmark 2015-09-01 04:14:17 +10:00
Mario Sanchez Prada
5ff15bddeb configure.ac : Pass -fno-inline-small-functions when using GCC 4.7
For some reason, the build fails when using GCC 4.7 due to the implicit
-finline-functions option passed to the compiler when -O3 is enabled,
which does not happen in newer versions of GCC, probably due to some of
the "General Optimizer Improvements" included in 4.8 (see [1]).

Fortunately, we don't need to disable -finline-functions completely but
just do it for "small functions", which is what this patch does.

[1] https://gcc.gnu.org/gcc-4.8/changes.html

Closes: https://sourceforge.net/p/flac/bugs/429/
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2015-07-08 22:20:52 +10:00
Tristan Matthews
a84587061c configure: Only use -mstackrealign on i686 for mingw32/os2
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2015-04-19 06:27:20 +10:00
Erik de Castro Lopo
1ed65e5600 configure.ac : Add -mstackrealign whenever we add -msse2.
There have been some (pretty much unconfirmed) reports of problems
with SSE enabled but without this stack alignment flag.
2015-03-31 10:14:29 +11:00
Erik de Castro Lopo
7566d3d4c1 configure.ac : Tweak for x32 architecture.
The x32 architecture uses and ILP32 (32 bit ints, longs and pointers)
on an x86_64 CPU. Since the CPU is x86_64 we need to set FLAC__CPU_X86_64
even though the pointer size is 32 bits.

Patch-from: Stuart Shelton
Closes: https://sourceforge.net/p/flac/bugs/427/
2015-03-12 08:28:01 +11:00
Erik de Castro Lopo
336f6a5429 configure.ac : Fix FLAC__HAS_X86INTRIN / FLaC__SSE_OS.
* Correct definition of FLAC__HAS_X86INTRIN in config.h file.
* Correct comparison of sse_os with 'true' instead of 'yes'.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2015-02-25 06:48:34 +11:00
Christian Weisgerber
b5a10e75ed configure.ac : Detect 'amd64' as being same as 'x86_64'.
On BSD systems, the 64-bit x86 architecture is called "amd64".

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2015-02-19 06:13:01 +11:00
Erik de Castro Lopo
723cfa34f2 configure.ac : Relax automake version requirements.
Suggested-by: Jan Stary <hans@stare.cz>
2014-12-01 05:28:18 +11:00
Erik de Castro Lopo
1e4ffabb6e configure.ac : Don't zap '-g' from $CFLAGS.
The '-g' was in-correctly getting zapped from all CFLAGS expressions
including eg:

    -mfloat-gprs=double (for powerpc e500) -> -mfloatprs=double.

Reported-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
2014-11-30 11:56:54 +11:00
Erik de Castro Lopo
0e11f73eab Version 1.3.1 final. 2014-11-27 14:04:48 +11:00
Erik de Castro Lopo
b83ee75363 Set version to 1.3.1pre1. 2014-11-25 19:10:31 +11:00
Ralph Giles
7a671e7c41 Use a configure check for bswap16 instead of gcc version #ifdefs.
Fixes a build problem on apple clang.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2014-11-04 21:18:48 -08:00
Erik de Castro Lopo
7cb032c322 Remove support for AMD's 3Dnow.
AMD stopped release new chips withe 3DNow in 2010.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-10-04 09:01:36 +10:00
Erik de Castro Lopo
b60f16bbc8 Remove old/broken PPC/Altivec code.
* Removes FLAC__lpc_restore_signal_asm_ppc_altivec_16*
  from lpc.h and stream_decoder.c
* Removes PPC-specific code from cpu.c and cpu.h
* Removes PPC stuff from libFLAC/Makefile.lite and build/*.mk
* Removes as/gas/PPC-specific stuff from configure.ac and
  libFLAC/Makefile.am*
* Removes libFLAC/ppc folder and remove "src/libFLAC/ppc*/Makefile"
  lines from configure.ac

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-09-17 23:21:39 +10:00
Erik de Castro Lopo
1930ae104c configure.ac : Fix --disable-sse option.
Based on a patch from lvqcl <lvqcl.mail@gmail.com>.
2014-07-27 21:18:13 +10:00
Erik de Castro Lopo
f73c82a73d configure.ac : Erase default -O2 when setting -O3.
Previously CFLAGS had a -O3 at the start and a -O2 at the end. According
to the GCC docs:

    https://gcc.gnu.org/onlinedocs/gcc-4.9.1/gcc/Optimize-Options.html

    "If you use multiple -O options, with or without level numbers,
    the last such option is the one that is effective" which means that
    GCC doesn't try to use SIMD to vectorize the code, etc."
2014-07-27 10:24:44 +10:00
Erik de Castro Lopo
221bdc409d configure.ac : Set default CFLAGS to something sensible.
Preserve the CFLAGS value from the time the configure script is run.
2014-07-26 18:24:52 +10:00
Erik de Castro Lopo
b8d58e327c Revert "Replace FLAC__CPU_X86_64 with FLaC__CPU_X86_64."
This reverts commit 151739921b74fbf31420358a5fbeb094efa017ed.

This patch only when part way to replace all FLAC_* with FLaC_*
and its really not worth going all the way.
2014-06-15 20:29:34 +10:00
Erik de Castro Lopo
151739921b Replace FLAC__CPU_X86_64 with FLaC__CPU_X86_64.
Previous autorconf versions had problems with variable begining witj
'FLAC_' (autoconf uses 'AC_').

Reported-by: lvqcl <lvqcl.mail@gmail.com>
2014-06-01 17:33:54 +10:00
Erik de Castro Lopo
be0a894278 configure.ac : Add -fvisibility=hidden to OSX build.
Patch-from : Ozkan Sezer <sezeroz@gmail.com>
2014-05-25 19:42:57 +10:00
Erik de Castro Lopo
96a5c54feb Purge src/monkeys_audio_utilities/ tree.
Monkey's Audio Utilities seem to have been dead for some time.
2014-05-14 21:48:13 +10:00
Erik de Castro Lopo
2c45537721 configure.ac : Allow -Werror to be enabled when using clang. 2014-04-09 09:49:11 +10:00
Erik de Castro Lopo
bc2b8c6e16 configure.ac : Add -Wunreachable-code to GCC CFLAGS. 2014-03-21 18:52:24 +11:00
Erik de Castro Lopo
95bc23a811 configure.ac : Add AC_PROG_MKDIR_P.
Closes: https://sourceforge.net/p/flac/bugs/404/
2014-03-21 18:27:41 +11:00
Erik de Castro Lopo
d7e6d91fba Fix build issue on OSX with GCC 4.2/Xcode.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-03-21 17:45:21 +11:00
Erik de Castro Lopo
9863998c99 configure.ac : Make --enable-sse the default.
SSE can still be disabled by configuring with --disable-sse but SSE
will be enabled by default.
2014-03-15 16:47:52 +11:00
Erik de Castro Lopo
a6a4b6f205 Detect Clang masquerading as GCC.
Autoconf detects the Clang compiler as GNU GCC (clang sets defines like
__GNUC__ etc) but Clang is *not* completely compatible. If we detect
Clang we set ac_vc_c_compiler_gnu to 'no'.
2013-11-22 18:13:40 +11:00
Erik de Castro Lopo
899599e506 configure.ac : Tweaks.
* Add FLAC__ALIGN_MALLOC_DATA for x86_64.
* Removes XIPH_ADD_CFLAGS([-msse]) as -msse2 implies -msse.
* Fix typo.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2013-09-25 23:30:15 +10:00
Erik de Castro Lopo
99f5a57d2a Fix minor Makefile.am issues arising from 943384d7c33.
Commit 943384d7c33 removed two directories in the doc/ tree and
those directories had to be removed from the Makefile.ams one
level up.
2013-09-18 06:56:42 +10:00
Erik de Castro Lopo
a9712a2279 Factor out common test functionality to test/common.sh.in. 2013-09-17 06:14:57 +10:00
Erik de Castro Lopo
ae4d720417 Fix/re-enable SSE/SSE2 lpc optimisations. 2013-09-17 06:14:50 +10:00
Erik de Castro Lopo
e21237a87f configure.ac : Report Ogg/FLAC support. 2013-09-15 20:10:06 +10:00
Erik de Castro Lopo
24a644718f configure.ac : Add -Weffc++ to CXXFLAGS.
Also rearrange CFLAGS somewhat.
2013-09-15 18:09:54 +10:00
Erik de Castro Lopo
b72540b43c configure.ac : Prepare for x86_64 initrinsics based optimisations.
Detect presence of <x86intrin.h> and set FLAC__HAS_X86INTRIN.
Define FLAC__CPU_X86_64 when CPU is x96_64.
2013-09-15 09:42:36 +10:00
Erik de Castro Lopo
1ec41a97da configure.ac : Improve asm optimisation detection.
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.
2013-08-11 21:46:22 +10:00
Cristian Rodríguez
355f4aae47 Link with -no-undefined regardless of the OS
libFLAC* must never have undefined symbols no matter
what is the target platform.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-07-21 19:51:08 +10:00
Ulrich Klauer
cd4ddabe0f Language fix: "difference licenses"
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-05-27 18:08:57 +10:00
Dagobert Michelsen
5999d81f0e Use location of TIOCGWINSZ from autoconf manual
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-05-27 18:06:56 +10:00
Erik de Castro Lopo
b1982fbc5f Set version to 1.3.0 and update coyprights throughout. 2013-05-26 19:17:53 +10:00
Erik de Castro Lopo
c1ebd2caa4 Two minor compiled fixes for OS/2.
Patch from Dave Yeo <dave.r.yeo@gmail.com>.
2013-04-29 21:33:02 +10:00
Erik de Castro Lopo
1b1d05bb25 Version 1.3.0pre4. 2013-04-28 19:00:30 +10:00
Ulrich Klauer
5da86630be Fix pkg-config files to avoid overlinking
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>
2013-04-07 11:03:52 +10:00
Erik de Castro Lopo
f44c353e59 Two small patches for utf8 I/O.
Thanks to LRN <lrn1986@gmail.com>.
2013-04-02 06:27:12 +11:00
Erik de Castro Lopo
36c1f08564 configure.ac : Version 1.3.0pre3. 2013-04-01 20:49:41 +11:00
Erik de Castro Lopo
2199d08692 Enable utf8 I/O stuff when compiling with MinGW. 2013-04-01 19:57:13 +11:00
Erik de Castro Lopo
b3c3e2ac4f Use recursive automake in src/share/ part of tree.
This will make it easier to incorporate the win_utf8_io stuff.
2013-04-01 19:46:12 +11:00
Erik de Castro Lopo
6497ce1977 configure.ac : Detect the size of off_t. 2013-03-13 21:54:15 +11:00
Erik de Castro Lopo
195470fe2e Add configure option to enable GNU GCC stack smash protection.
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.
2013-03-13 18:59:50 +11:00
Erik de Castro Lopo
06f3812d79 configure.ac : When compiling with GCC use some extra warning flags. 2013-03-11 06:06:34 +11:00
Erik de Castro Lopo
1ad32efb89 Version 1.3.0pre2. 2013-03-09 22:06:12 +11:00