Gitlab now supports a `default` section on the build description,
which sets defaults which can be overridden by specific jobs.
This encapsulates things a little better and avoid duplicating
runner tags.
We've moved hosting to a gitlab instance. Make use of the built-in
integration testing framework to verify commits.
This has parallel jobs to run the autotools and cmake builds.
Note that the autotools job needs cmake because the `distcheck`
target verifies that the generated source package also builds
correctly with cmake, in particular to check that the necessary
files are included.
This description of the build is old and unmaintained. It's not
useful to have untested code in the tree.
Signed-off-by: Thomas Daede <daede003@umn.edu>
This description of the build is very old, unmaintained, and
not integration tested. I don't think it's useful to users,
who can use the supported autotools or cmake builds, or just
add the few source files directly to their own projects.
Signed-off-by: Thomas Daede <daede003@umn.edu>
add `make test` to README.md
On windows platform, building with MinGW can run 'make check' (autoconf)
and 'ctest' or 'make test' (cmake), while building with MSBuild can only
run 'ctest -c Release|Debug'.
Signed-off-by: Ralph Giles <giles@thaumas.net>
Include everything in the cmake directory in the `make dist`
target. Fixes a missing include error in the CMake build
from a release tarball for `CheckSizes.cmake`.
Signed-off-by: Tristan Matthews <tmatth@videolan.org>
Verify that the CMake build works from a release tarball.
This will give coverage for problems with part of the
CMake build description not being included in the
source package. We still consider the `make dist`
output from the GNU autotools build to be canonical.
NB CMakelists was in the repo at the time of the 1.3.3 release,
but didn't make it into the 1.3.3 dist target, so it can't be
said to be available for that release.
The 2015 version of the project files can be opened by newer
versions of Visual Studio, and we want to deprecate the project
files in favour of the CMake build, so it doesn't make sense
to support three different versions.
Signed-off-by: Ralph Giles <giles@thaumas.net>
Use <sys/types.h> not <inttypes.h> when building for Apple platforms,
as it works with modular dynamic-framework builds.
Signed-off-by: Ralph Giles <giles@thaumas.net>
The pageno is declared `long` in the header, not `int`, although
it's a 32-bit value in the page header.
Thanks to Spencer Russell for reporting the issue.
oy.data memory is alloc by ogg_sync_buffer(), but does not call free()
before main() exit. After fixing it, I test test_framing by valgrind.
And no more memory leak in test_framing and test_bitwise right now.
Signed-off-by: Ralph Giles <giles@thaumas.net>
According to VS2017 docs, the initial LIBRARY line must include
a dll name. MSVC handles the missing name, but MinGW does not.
Removing the line entirely is also accepted by both toolchains,
but is contrary to documentation.
Based on a patch by evpobr in https://github.com/xiph/ogg/pull/42
No ABI change according to comments there.
The macOS system image already provides a version of xz through
homebrew, so we don't need to explicitly install it through
`brew bundle`.
Skipping the `brew update` step reduces the runtime of test jobs
from 6 minutes to 1, so we get test feedback more promptly.
The xz package is really only needed for 'make dist' targets,
so listing it in a Brewfile doesn't help users get started
building the library. Better not to clutter the top-level
directory further.
The DEB package generator isn't available in the cmake version
provided by travis-ci.org, so only skip invoking it there.
Unbreaks cmake build tests after adding macOS coverage.
Test on Linux and macOS with both gcc and clang.
Ubuntu 14.04 (trusty) is now the default travis environment.
Signed-off-by: Ralph Giles <giles@thaumas.net>
* Use build_script step in AppVeyor configuration. This is a
preparation for building with multiple build systems.
* Add BUILD_SYSTEM env variable to AppVeyor build matrix. This
allows to switch between different build systems when building
multiple test matrix configurations.
Signed-off-by: Ralph Giles <giles@thaumas.net>
We call ogg_stream_init() in main() of framing.c, but no
ogg_stream_clear() in corresponding. It will cause memory leak.
Signed-off-by: Ralph Giles <giles@thaumas.net>