Commit Graph

182 Commits

Author SHA1 Message Date
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
evpobr
7a35c52849 cmake: Fix pkg-config install path
Path was accidentally broken in acadefd.

Closes #200.
2020-04-07 18:13:01 +10:00
evpobr
acadefddac Add more CMake options
* BUILD_PROGRAMS
** INSTALL_MANPAGES
* INSTALL_PKGCONFIG_MODULES
* INSTALL_CMAKE_CONFIG_MODULE
2020-04-05 19:31:40 +10:00
Tamás Zahola
cffe3890c7 Fix nullptr dereference in FLAC++ 2019-12-27 11:34:06 +11:00
Vitaliy Kirsanov
0dfe23504c CMake: Handier way to find Iconv 2019-12-22 22:09:03 +11:00
DeadSix27
ed1b67b9a8 cmake: use proper pkg-config install path variable 2019-11-18 15:24:06 +11:00
Erik de Castro Lopo
888ea869a7 libFLAC++: Add libFLAC++-static.la target for oss-fuzzers 2019-11-18 06:29:10 +11:00
sezero
ee70d96932 cmake: do not add visibility attributes to shared lib builds for win32. 2019-10-10 18:30:39 +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
Rosen Penev
2409f5f39d Run libFLAC++ through clang-tidy.
Applied the following suggestions:

modernize-deprecated-headers
google-readability-casting
google-readability-namespace-comments
readability-else-after-return
2019-09-15 11:39:08 +10:00
Vitaliy Kirsanov
573dbc12ae Use of BUILD_SHARED_LIBS added 2019-05-04 11:41:48 +10:00
Виталий Кирсанов
1cb968a7d4 Fixed dependencies on win_utf8_io 2019-05-04 11:41:48 +10:00
Vitaly Kirsanov
a82a014cf1 CMake minimum required lowered to 3.1 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
Vitaly Kirsanov
aa96297d78 Versions for shared libs specified 2019-05-04 11:41:48 +10:00
Vitaliy Kirsanov
c39718d7a3 CMake support added 2019-05-04 11:41:48 +10:00
luz.paz
01eb19708c Fix miscellaneous typos.
Found via `codespell -q 3`
2018-05-24 07:20:19 +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
8279778735 flac++.pc.in: Make flac a private requires
Patch pulled from Debian package.

Description:
Chain::Status::as_cstring uses FLAC__Metadata_ChainStatusString which
is in libFLAC. Since the function is inline, every program calling
this function must also link with -lflac, but this is missing in
flac++.pc.

Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=713645
2016-07-09 21:56:36 +10: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
d20a79a8bd Let Makefile.lite build succeed on FreeBSD amd64
- build/config.mk: some OS call x86_64 amd64
- build/config.mk: FreeBSD needs -DHAVE_SYS_PARAM_H in CFLAGS
- build/exe.mk and lib.mk: default compilers on FreeBSD are cc/c++
- src/libFLAC++/Makefile.lite: $(OS) is not defined
- src/libFLAC++/Makefile.lite: Link -lstdc++ on FreeBSD

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2015-10-12 08:15:18 +11:00
Erik de Castro Lopo
e48ca8d4d7 libFLAC++/metadata.cpp: Fix undefined behaviour 2015-09-01 00:46:42 +10:00
Erik de Castro Lopo
1437391577 Update copyright years to include 2014. 2014-11-25 13:04:30 +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
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
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
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
Cristian Rodríguez
d42c04260b Add missing config.h includes
All C and C++ files must include config.h

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-06-05 18:50:17 +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
Cristian Rodríguez
92db3c951e Ensure AM_LDFLAGS is used consistently
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-04-21 17:26:33 +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
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
ae7eda1815 Rename all parameters and locals from 'index' to 'indx'. 2013-04-05 20:21:22 +11:00
Erik de Castro Lopo
da57d2a48d flac*.pc : Add -logg if configured with Ogg support. 2013-04-02 20:45:54 +11: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
168c258aa3 Purge old un-maintained MSVC 6 project files. 2013-03-10 11:17:20 +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
a43f56c0b2 Update library version-info. 2012-12-04 17:45:51 +11:00
Erik de Castro Lopo
b21f190861 Add a convenience function to create a Metadata::Padding object with a
certain size in one statement.

Patch from Bastiaan Timmer <basjetimmer@yahoo.com>
2012-09-11 15:52:24 +10:00
Bastiaan Timmer
1294b64996 Adds last functions from C metadata api to C++ metadata api
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2012-06-22 14:35:07 +10:00
Erik de Castro Lopo
56c3191827 metadata.cpp : Fix compiler warning on 64 bit.
Patch from Bastiaan Timmer <basjetimmer@yahoo.com>.
2012-05-08 19:51:50 +10:00
Erik de Castro Lopo
601e96102c Add missing functions to VorbisComment class.
Patch from Bastiaan Timmer <basjetimmer@yahoo.com> sent to the
<flac-dev@xiph.org> mailing list.
2012-05-08 19:12:58 +10:00
Erik de Castro Lopo
d9fde55674 Fix all links to libtool version info rules. 2012-05-07 19:45:23 +10:00