When building in the same directory as the source, it works, but not in
a separate directory. The trailing slash is important with nasm. Note
that include_directories("${CMAKE_CURRENT_SOURCE_DIR}/") does not work
because cmake seems to strip the trailing slash.
Also relax the cmake version requirement from 3.12 to 3.9 as everywhere
else in the tree: it works just fine.
The flac configury marked clang as 'not being gcc' and excluded
a lot of compiler switches, most importantly the visibility flags,
from being used with it. This was done possibly after a problem
reported at: https://github.com/erikd/libsndfile/issues/49 .
This patch does the following:
- m4/gcc_version.m4 (XIPH_GCC_VERSION): set GCC_MAJOR_VERSION and
GCC_MINOR_VERSION to 0 for non-gcc. Previously, they were left
unset.
- configure: the gcc version checks are, naturally, against non-
zero values, so, allow many compiler switches to be used with
clang without affecting real-gcc cases.
- configure: When setting CFLAGS="-O3 -funroll-loops", also set
CXXFLAGS="-O3". Prevents g++ warnings with _FORTIFY_SOURCE, i.e.:
'_FORTIFY_SOURCE requires compiling with optimization (-O)'
Tested compilation using gcc-7.3.1 and clang-5.0.2 on x86_64-linux,
and gcc-4.4.7 and clang-3.4.2 on an i686-linux. Also tested cross-
compiling for Mac OS X using clang-5.0.2.
the issue is, flac and metaflac exes rely on flac_internal_???_utf8()
procedures from windows_unicode_filenames.c and there is no easy way
to exclude them from exports without breaking things. So export them
explicitly (they are exported anyway w/o this patch), but add a FIXME
note about the kludge in windows_unicode_filenames.c.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Note: One of the buildroot autobuilder provided powerpc toolchains
seem to not provide the sys/auxv.h header file, resulting in a
compile failure (see [1] for details).
[1] http://lists.busybox.net/pipermail/buildroot/2019-September/259732.html
Applied the following suggestions:
modernize-deprecated-headers
google-readability-casting
google-readability-namespace-comments
readability-else-after-return
Some libcs like uClibc-ng can optionally disable deprecated functions.
utime is one of them. When done so, both the header and the function go
missing.
This fixes flac_utime to work in such a situation.
The 1.3.3 release didn't update the version number in the cmake
build. It's too late to fix the release, but bringing the version
number into sync allows the metaflac test which verifies the
encoder's embedded version number to pass, giving us proper test
feedback on other changes to the development tree.
Fix "privacy-breach-w3c-valid-html" lintian error.
Don't ping an external site when loading documentation
pages since this can be used to track user activity.
These links are also broken, since they depend on the
referer header, which browsers no longer send to insecure
pages for similar privacy reasons. That aspect could be
addressed by using https urls for the validator site.
Signed-off-by: Ralph Giles <giles@thaumas.net>
Improve the conformance of the xhtml generated by doxygen by
using the self-closing <hr/> tag in the custom footer.
Without this, xmllint complains about </body> and </html> end
tags inside the still-only <hr>. That syntax is allowed in
html but not xml.
Install Doxygen when running on the linux environment to test
generation of the API documentation.
Run the included static html documentation as well as the
generated API documentation through xmllint to verify
it conforms to the declared DTD. Since this this will be very
slow or fail relying on network resources, also install
the w3c-sgml library so the xhtml1 DTDs are available locally.
We're checking the source files, not build results in the
particular environment, so it's fine to run this check
on only a subset of builds.
Don't validate on CMake builds since they're not currently
generating API documentation even when Doxygen is available.