[libdvdnav-devel] [Git][videolan/libdvdread][master] 5 commits: CI: build wasm with the latest Docker image
Jean-Baptiste Kempf (@jbk)
gitlab at videolan.org
Wed Jul 29 06:51:12 UTC 2026
Jean-Baptiste Kempf pushed to branch master at VideoLAN / libdvdread
Commits:
c7d8d33a by Steve Lhomme at 2026-07-29T08:50:13+02:00
CI: build wasm with the latest Docker image
- - - - -
8d8b8a4b by Steve Lhomme at 2026-07-29T08:50:13+02:00
CI: build wasm with extra checks
It's using a recent LLVM.
- - - - -
28a1bb57 by Steve Lhomme at 2026-07-29T08:50:13+02:00
file_posix: remove unused off_t type
It's defined in dvd_filesystem.h anyway.
- - - - -
261eba3e by Steve Lhomme at 2026-07-29T08:50:13+02:00
wasm: map off64_t to off_t
off64_t doesn't seem to exist but off_t does:
/home/videolan/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h:221:16: note: 'off_t' declared here
221 | typedef _Int64 off_t;
- - - - -
96c98740 by Steve Lhomme at 2026-07-29T08:50:13+02:00
file_posix: verify the size of off_t/off64_t is 64-bit as expected
- - - - -
3 changed files:
- .gitlab-ci.yml
- src/dvdread/dvd_filesystem.h
- src/file/file_posix.c
Changes:
=====================================
.gitlab-ci.yml
=====================================
@@ -87,7 +87,7 @@ build-win-uwp:
- CROSSFILE: [x86_64-w64-mingw32uwp, aarch64-w64-mingw32uwp, armv7-w64-mingw32uwp, i686-w64-mingw32uwp]
build-wasm:
- image: registry.videolan.org/vlc-debian-wasm-emscripten:20250323132008
+ image: registry.videolan.org/vlc-debian-wasm-emscripten:20260617104340
stage: build
tags:
- docker
@@ -95,7 +95,7 @@ build-wasm:
script:
- source $EMSCRIPTEN_SDK/emsdk_env.sh
- export EM_CACHE=`em-config CACHE`
- - meson setup build -Dwarning_level=2 --cross-file package/crossfiles/wasm-unknown-emscripten.meson
+ - meson setup build -Dwarning_level=2 -Dextra_checks=true --cross-file package/crossfiles/wasm-unknown-emscripten.meson
- meson compile -C build
build-android:
=====================================
src/dvdread/dvd_filesystem.h
=====================================
@@ -37,7 +37,7 @@ typedef __int64 off64_t;
#elif defined(__GLIBC__)
/* sys/types.h may have been included before _LARGEFILE64_SOURCE was defined. */
typedef __off64_t off64_t;
-#elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
+#elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined (__wasm__)
/* off_t is already 64 bit here so off64_t is not provided. */
typedef off_t off64_t;
#endif
=====================================
src/file/file_posix.c
=====================================
@@ -19,6 +19,7 @@
#include "config.h"
+#include <assert.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
@@ -42,15 +43,18 @@
#include "filesystem.h"
+// verify the off64_t from dvd_filesystem.h has the proper size
+static_assert(sizeof(off64_t) >= (64/8), "Bogus off64_t size");
+// verify the off_t from dvd_filesystem.h has the proper size
+static_assert(sizeof(off_t) >= (64/8), "Bogus off_t size");
+
#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
- defined(__NetBSD__) || defined(__DragonFly__) || \
+ defined(__NetBSD__) || defined(__DragonFly__) || defined (__wasm__) || \
(defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS >= 64)
-/* off_t is already 64 bit; lseek handles off64_t offsets */
+/* lseek handles off64_t offsets */
#else
# undef lseek
# define lseek lseek64
-# undef off_t
-# define off_t off64_t
#endif
View it on GitLab: https://code.videolan.org/videolan/libdvdread/-/compare/e37cb32951503dea45df362580b558623d32f80b...96c98740abd2aeb53e9a562fcb586793dcb8c6bd
--
View it on GitLab: https://code.videolan.org/videolan/libdvdread/-/compare/e37cb32951503dea45df362580b558623d32f80b...96c98740abd2aeb53e9a562fcb586793dcb8c6bd
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help
More information about the libdvdnav-devel
mailing list