Commit Graph

66 Commits

Author SHA1 Message Date
Martijn van Beurden de8bbb0d5b
Update copyright to 2024 (#722) 2024-07-11 15:35:32 +02:00
Martijn van Beurden e00d9b881f
Update copyright year and maintainer status 2023-06-06 22:08:24 +02:00
Martijn van Beurden 10d7ce268b Bulk update copyright dates to 2022 2022-07-26 16:23:07 +02:00
Martijn van Beurden dd4a263406 Remove Makefile.lite build system 2022-05-27 21:59:32 +02:00
Martijn van Beurden e0e9cc58b4 Remove all Visual Studio specific build files 2022-05-27 21:59:32 +02:00
Martijn van Beurden a67102694d Add extra check to decoding cpp example like in 93846ee
This fixes https://github.com/xiph/flac/issues/162

See also https://sourceforge.net/p/flac/bugs/418/
2022-05-23 06:53:07 +02:00
Andrey Astafyev a9557c13fa
examples: Fix error condition processing
Don't attempt to attach failed metadata objects. This also avoids
clobbering the error flag if attaching the objects should succeed.

There may still be problems later, for example calling _delete()
on a possibly null metadata object pointer, but this it at least
and improvement in the compromise between error handling and
readability in C.

Signed-off-by: Ralph Giles <giles@thaumas.net>
2021-06-23 13:24:22 -07:00
evpobr e0b62a61a7 Bunch of CMake fixes
* Add more Git ignore patterns
* Fix Ogg dependency handling (closes #203)
* Remove unneeded compiler flag (closes #204)
* Fix Visual Studio DLL build error error C2491:
  'flac_internal_rename_utf8': definition of dllimport function not
  allowed (closes #205)
* Add alias targets
* Reduce number of CMake files
* Improve CMake intrinsics detection
2020-05-03 17:13:50 +10:00
Andrey Astafyev a3d8927c2b Correct printf specifiers to unsigned int where needed 2019-12-09 06:13:11 +11:00
Erik de Castro Lopo 6d0e222a6e Make sure CMake build files end up in release tarball 2019-10-01 08:18:28 +10:00
Vitaliy Kirsanov 573dbc12ae Use of BUILD_SHARED_LIBS added 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov 2359563a46 FLAC now depends on win_utf8_io
Accidently found this missing dependency
2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov c39718d7a3 CMake support added 2019-05-04 11:41:48 +10:00
Erik de Castro Lopo 1e9e707c6f stdint.h fixes for MSVS 2005/2008
This adds a new msvc2005_int.h header file which is "force included"
as needed by the MSVS project file.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2017-01-19 06:33:33 +11:00
Erik de Castro Lopo 71b909b7a4 Yet more purging of `unsigned` type 2017-01-15 09:48:42 +11:00
Erik de Castro Lopo 6a5fe43b7e Bulk update copyright dates 2016-12-05 06:35:39 +11:00
Erik de Castro Lopo d40a6bc695 libFLAC: Remove win_utf8_io dependency
Path-from: lvqcl <lvqcl.mail@gmail.com>
2016-02-08 22:04:12 +11:00
Thomas Zander c05b7babed Makefile.lite: Include config.mk from top level build dir
Makefile.lite in libs/executables subdirs must include
top level's config.mk to allow variables defined there (OS, PROC)
to be used; otherwise e.g. EXPLICIT_LIBS is not set and link
fails on Darwin.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2015-10-30 20:21:26 +11:00
Erik de Castro Lopo eb753ae5b4 Remove traiing whitespace (mostly .c and .h files).
Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-12-05 05:52:30 +11:00
Erik de Castro Lopo 71b5c02870 examples/*/Makefile.am : Add CLEANFILES line to remove Windows .exe files. 2014-11-27 13:40:37 +11:00
Erik de Castro Lopo 1437391577 Update copyright years to include 2014. 2014-11-25 13:04:30 +11:00
Erik de Castro Lopo 93846ee223 examples/c/decode/file/main.c : Add extra error handling.
Michele Spagnuolo provided a file that initially had frames with two
channels but then had a frame with a single channel. This example
program only supports exactly two channels and previously had
insufficient validation.

Closes: https://sourceforge.net/p/flac/bugs/418/
Reported-by: Michele Spagnuolo,
             Google Security Team <mikispag@google.com>
2014-11-20 21:46:57 +11:00
Erik de Castro Lopo 31948291a2 Makefile.ams: Add MSVS project files to EXTRA_DIST.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-07-09 19:02:35 +10:00
Erik de Castro Lopo d043785d41 Add project files for Visual Studio 2010 and later.
Also allows building for x86-64 Windows.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-07-06 20:48:53 +10:00
Erik de Castro Lopo 46bedb58d3 Update URLs as nedeed.
Sourceforge.net links updated as nedeed with some of them
being changed to point to xiph.org/flac.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-06-28 09:12:45 +10:00
Evan Ramos 9df6736ec0 Update Makefile.lite build system.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2014-06-24 21:02:24 +10:00
Erik de Castro Lopo 006b8356d5 Fix all instances of '#if HAVE_CONFIG_H'.
Should be '#ifdef HAVE_CONFIG_H'.

Closes: https://sourceforge.net/p/flac/bugs/410/
2014-03-24 12:06:49 +11:00
Erik de Castro Lopo a1abfa3df2 Vcproj file updates.
rplaces
     OutputDirectory="..\..\..\..\objs\debug\bin"
with
     OutputDirectory="$(SolutionDir)objs\$(ConfigurationName)\bin
and so on.

Rmoves
     OutputFile="..\..\objs\debug\lib\$(ProjectName).lib
when possible.

Also, in the current version "Whole program optimization" compiler option
is set, but the corresponding linker option isn't. From MSDN:
   "If you do not explicitly specify /LTCG when you pass /GL or MSIL modules
   to the linker, the linker eventually detects this and restarts the link
   by using /LTCG. Explicitly specify /LTCG when you pass /GL and MSIL modules
   to the linker for the fastest possible build performance."
So /LTCG option was added too.

Debug build now uses libogg_static.lib from .\objs\debug\lib folder.
(the dependency for both release and debug is
    objs\$(ConfigurationName)\lib\libogg_static.lib)

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2013-10-04 13:50:01 +10:00
Erik de Castro Lopo 95552e11ba Fix numerous warnings arising from addition of -Weffc++. 2013-09-15 18:10:55 +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
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 6a9a18ff7a For windows, make UTF-8 mode into a runtime choice.
The smaller patch makes the utf-8 library use ANSI codepage by
default. When frontends call the "get_utf8_argv" function it
changes Unicode conversion codepage from ANSI to UTF-8.

Patch from Janne Hyvärinen <cse@sci.fi>.
2013-04-07 13:11:19 +10:00
Ulrich Klauer b500183e95 Only link against libogg (and libm) if needed
Most of the programs don't use libogg or libm directly and should not
link to them (overlinking).

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-04-07 11:03:56 +10:00
Erik de Castro Lopo 0cd2e9ed69 Purge FLAC__STRINGS_IN_UTF8 from VC project files. 2013-04-01 20:01:37 +11:00
Erik de Castro Lopo 5705b4d7b2 Huge Windows utf8 I/O patch.
Patch from Janne Hyvärinen <cse@sci.fi>.
2013-03-29 21:25:59 +11:00
Erik de Castro Lopo c152d1adf9 More Microsoft Visual Studio project file updates.
Patch from Janne Hyvärinen <cse@sci.fi>.
2013-03-18 06:22:57 +11:00
Erik de Castro Lopo 168c258aa3 Purge old un-maintained MSVC 6 project files. 2013-03-10 11:17:20 +11:00
Erik de Castro Lopo a4c321e492 Large patch from Ben Allison fixing the MSVC build.
Patch tweaked a little to fix Linux build and clean up minor problems.
2013-03-06 22:17:51 +11:00
Erik de Castro Lopo f67928dec4 Fix VC project files to use /objs/ directory instead of /obj/ directory. 2013-01-02 22:49:55 +11:00
Erik de Castro Lopo 85d5c53803 Fix all Makefile.lite to use /objs/ directory instead of /obj/ directory. 2013-01-02 22:49:37 +11:00
Hendricks266 96d081c1c9 Fix building with MSYS and MinGW(-w64); Improve Makefile.lite build system
This is a patch to allow building of the project using MSYS, MinGW, and MinGW-w64 with the following invocation:

make -f Makefile.lite libFLAC libFLAC++ flac metaflac test_libs_common test_libFLAC test_libFLAC++ test_grabbag test_seeking test_streams utils examples

This patch addresses eight points:
1. `uname -p` in MSYS returns "unknown" so we must use `gcc -dumpmachine` to gain information about the target, 32-bit or 64-bit.
2. MinGW-w64 does not ship with a working iconv.h, so we must disable it under this specific compiler.
3. The code requires <inttypes.h> in a handful of C files, but config.mk did not contain -DHAVE_INTTYPES_H, which under the full build process (I assume) is added by autoconf.
4. The compiler complained when lround() in lpc.c was static, so it is no longer static.
5. Additional scattered linking directives (and reordering) (particularly FLAC, grabbag, and replaygain_analysis) were necessary to build some of the components.
6. The Makefile.lite build system benefited from some cleanup, particularly by rigorously defining all entries, factoring redundancy, and establishing dependencies. (Some typos were fixed too.)
7. Shared objects on Windows use .dll, not .so. (Added *.dll, *.dylib, and *.exe to .gitignore.)
8. To allow more freedom using Makefile.lite without configure, I added the variables USE_OGG and USE_ICONV which can toggle these two components in the build process.
ex: make -f Makefile.lite examples USE_OGG=0 USE_ICONV=0

These improvements make use of some use-time Makefile variable expansion.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-01-02 21:35:47 +11:00
Miroslav Lichvar 6a1f59b58f Update FSF address. 2012-12-06 06:17:26 +11:00
Erik de Castro Lopo 605f920816 Fix more compiler warnings. 2012-05-08 20:08:06 +10:00
Cristian Rodríguez 9b7cb22f84 Update and improve autotools build
- 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...
2012-04-08 09:03:03 +10:00
Erik de Castro Lopo df80b9b659 Add missing <csting> include.
Patch from Cyril Brulebois <cyril.brulebois@enst-bretagne.fr> via
Debian. Closes Debian bug #455304.
2012-02-12 20:45:53 +11:00
Erik de Castro Lopo 698ee5c7ed Purge MINGW_WINSOCK_LIBS config variable.
This was only needed for ntohl() function which has already been removed.
2012-02-05 16:25:22 +11:00
Erik de Castro Lopo 59afe36f71 Add file include/share/compat.h and start moving CPP hackery into it. 2012-02-04 16:13:37 +11:00
Erik de Castro Lopo d5bb4be5b4 Patch from David Yeo to conditionally include <inttypes.h>. 2012-02-04 11:06:12 +11:00
Erik de Castro Lopo ce8a75134c Fix a bunch of printf format warnings. 2012-02-01 20:34:04 +11:00
Josh Coalson dea0f5a044 add 2009 copyright 2009-01-07 07:31:28 +00:00