Commit Graph

561 Commits

Author SHA1 Message Date
65157112a2 [*] Use C++ inttypes.h instead of cstdint 2021-06-04 19:27:57 +01:00
524b3cd7dd remove trash idiots with no sense in buildchains thrown together 2020-09-25 15:06:58 +01:00
Clément Bœsch
684c73773e framing: check for overflow on growing buffer
newsize is a long, but storage is an int. This means the allocation
could succeed but storage would overflow.

Closes #2300
2020-08-10 00:36:44 +02:00
Ralph Giles
0bbcba4e7c
Fix link in ogg_stream_clear documentation.
The link pointed to the wrong structure documentation.
Looks like a cut-and-paste error.
2020-05-25 10:13:30 -07:00
thp-hatch
5fb070b6ba Fix link in ogg_stream_init documentation
Signed-off-by: Ralph Giles <giles@thaumas.net>
2020-05-25 10:08:41 -07:00
Ralph Giles
1e8d7cce26
Use the default key for gitab-ci config.
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.
2020-05-04 10:17:53 -07:00
Ralph Giles
a4208e5fc8
Use the gcc:9 image for gitlab-ci builds.
Specify an explicit version of the base container image for more
repeatable results. Note that this will need to be bumped periodically.
2020-05-04 10:05:13 -07:00
Ralph Giles
0f1b6987e7
Add gitlab integration tests.
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.
2020-05-04 10:05:12 -07:00
Ralph Giles
fc92469846
Remove symbian build files.
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>
2020-05-02 21:04:28 -07:00
Ralph Giles
b661e504ae
Remove macOS XCode project files.
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>
2020-05-02 21:03:05 -07:00
willson-chen
6e9f7cc2f6 src/framing.c: close compile warning under windows whith msbuild
Close the C4244 warning while compiling under windows with cmake+msbuild.

Signed-off-by: Tristan Matthews <tmatth@videolan.org>
2020-04-25 19:30:24 -04:00
Tristan Matthews
68ca384156 doc: fix typo 2019-10-29 12:14:42 -04:00
Tristan Matthews
c8fca6b4a0 os_types: fix unsigned typedefs for MacOS
This effectively reverts f8ce071e10 which was
probably broken by 6449883cca.
2019-09-07 11:18:22 -04:00
Ralph Giles
992eb2fe80 README: Remove trailing whitespace. 2019-09-05 09:26:25 -07:00
willson-chen
ee859d89d0 README: Add Testing section
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>
2019-09-05 09:26:04 -07:00
Ralph Giles
d50b8d7ac0
Add release checksums for libogg-1.3.4 source packages.
These should match http://downloads.xiph.org/releases/ogg/SHA256SUMS
2019-08-31 08:44:09 -07:00
Ralph Giles
bada457184 Update documentation version and release date for v1.3.4.
Result of running make -C doc/libogg update-doc-version.
2019-08-30 16:05:52 -07:00
Ralph Giles
07de4ca9cd Update version for v1.3.4. 2019-08-30 16:05:52 -07:00
Ralph Giles
13b89bab4d Update CHANGES for v1.3.4.
List of significant changes since the last release tag.
2019-08-30 16:05:52 -07:00
Ralph Giles
8e84da6eb5 Update release checklist.
Describe how to update documentation versioning. No need for
sed one-liners each time.
2019-08-30 16:05:27 -07:00
Ralph Giles
7abfed1517
Distribute the whole cmake directory.
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>
2019-08-30 16:03:45 -07:00
Ralph Giles
5dbbfd4f68 Run the cmake build as part of make distcheck.
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.
2019-08-30 14:58:10 -07:00
Ralph Giles
105eaed955 Fix a typo in CHANGES.
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.
2019-08-30 13:35:52 -07:00
willson-chen
c2c2f75571
modify cmake guide in README
cmake in build dir is recommand by officially.

Signed-off-by: Ralph Giles <giles@thaumas.net>
2019-08-30 13:08:24 -07:00
Eugene Opalev
6d55ddf64b Use full platform name in project file 2019-08-30 12:53:51 -07:00
Eugene Opalev
771fe5b53f Remove DLL configurations from appveyor.yml and fix platform name for x86 2019-08-30 12:53:51 -07:00
Eugene Opalev
c1aa237f6b Update appveyor.yml for project changes.
Use the correct library filename and only package the dll
if the build produced one.

Signed-off-by: Ralph Giles <giles@thaumas.net>
2019-08-30 12:52:17 -07:00
Eugene Opalev
4db3edae9a Remove VS2017 and VS2019 project files
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>
2019-08-30 12:49:10 -07:00
Eugene Opalev
92af72dfc9 Tidy up solutions and projects 2019-08-30 12:36:21 -07:00
Eugene Opalev
733fded865 Add VS2019 project 2019-08-30 12:36:21 -07:00
Eugene Opalev
5bc7a15675 Don't use runtime DLLs in static builds (prevents LNK4217 linker warning) 2019-08-30 12:36:21 -07:00
Eugene Opalev
6773ed8ce1 Make AppVeyor check DLL builds too 2019-08-30 12:36:21 -07:00
Eugene Opalev
2244d1abe4 Setup proper VS output directory structure 2019-08-30 12:36:21 -07:00
Eugene Opalev
e96100791d Disable minimal rebuild in VS2015 project 2019-08-30 12:36:21 -07:00
Eugene Opalev
5a234fa51f Update project for VS2015 and appveyor.yml 2019-08-30 12:36:21 -07:00
Eugene Opalev
d1d7ca0db3 Add project for VS2017, update .gitignore 2019-08-30 12:33:11 -07:00
Eugene Opalev
17dba4d5c7 Do not include default library names in static build 2019-08-30 12:33:11 -07:00
Brion Vibber
6449883cca
Fix iOS/macOS build with current SDKs.
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>
2019-08-13 09:03:58 -07:00
Ralph Giles
51b74c367b
Improve ogg_stream_state documentation formatting.
Copy the struct definition from ogg.h which has better comment
alignment.
2019-08-13 08:55:32 -07:00
Ralph Giles
3461004ef0
Fix ogg_stream_state documentation.
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.
2019-08-13 08:54:31 -07:00
willson-chen
689371fdc2 Fix memory leak in test_framing
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>
2019-08-12 11:57:10 -07:00
Ralph Giles
42597febc8
Add a dll name to ogg.def.
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.
2019-08-07 15:58:29 -07:00
Ralph Giles
ae7aba9fff Don't update homebrew on macOS travis builds.
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.
2019-08-07 15:58:05 -07:00
Ralph Giles
7c78ab63ec Only call cpack on linux travis builds.
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.
2019-08-07 15:58:05 -07:00
Stephen G
be336819ac Improve travis 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>
2019-08-07 15:58:05 -07:00
Marcel Metz
7d034c60d2 Add cmake as build system to AppVeyor configuration
* 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>
2019-08-07 15:58:05 -07:00
Ralph Giles
934385378f
Fix documentation typo.
Update cut-and-paste description of the reset functions to reference
resetting instead of clearing.
2019-07-31 09:07:06 -07:00
willson-chen
1b22b8958c Fix memory leak in test_framing
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>
2019-07-31 09:04:06 -07:00
Ralph Giles
d7ac86c97a
Merge remote-tracking branch 'github/master'
The git.xiph.org and github branches had diverged.
2019-07-31 09:01:33 -07:00
willson-chen
1ab2706e52 Update the comment in config_types.h.in (#53)
@var@ is replaced by configure when autoconf or cmake when use cmake
2019-07-23 16:28:06 +10:00