[vlc-commits] [Git][videolan/vlc][master] 6 commits: package/win32: use optimization setting between release/other builds
Steve Lhomme (@robUx4)
gitlab at videolan.org
Thu Oct 22 13:03:16 UTC 2026
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
fb253643 by Steve Lhomme at 2026-10-22T12:13:11+00:00
package/win32: use optimization setting between release/other builds
configure either uses -O3 or -Og. The debug symbols should always be
present, even in release builds.
We keep the buildtype otherwise it looks for a debug build of qt6...
-O3 is implied for the release mode but we set it to match the other mode
and the explicit value set in autotools.
- - - - -
51bc83fb by Steve Lhomme at 2026-10-22T12:13:11+00:00
meson: add Win64 linker flags from autotools
- - - - -
0e5c47b1 by Steve Lhomme at 2026-10-22T12:13:11+00:00
freetype: add missing meson compilation flags for C++
- - - - -
314bd94a by Steve Lhomme at 2026-10-22T12:13:11+00:00
vout: do not use sensors.cpp with Direct3D9
It's not used in autotools and doesn't support 360 videos.
- - - - -
b5eabca4 by Steve Lhomme at 2026-10-22T12:13:11+00:00
nvdec: do not include interop.h
We do not call any of the functions defined there.
We only need the dependency that provides the OpenGL headers.
- - - - -
09cd1e26 by Steve Lhomme at 2026-10-22T12:13:11+00:00
chromecast: do not link the demuxer with the protocol buffer
It's not used for linking in autotools and is not needed for compilation either.
- - - - -
8 changed files:
- extras/package/win32/build.sh
- meson.build
- modules/hw/nvdec/meson.build
- modules/hw/nvdec/nvdec_gl.c
- modules/stream_out/Makefile.am
- modules/stream_out/chromecast/meson.build
- modules/text_renderer/meson.build
- modules/video_output/win32/meson.build
Changes:
=====================================
extras/package/win32/build.sh
=====================================
@@ -511,13 +511,13 @@ MCONFIGFLAGS="-Dlua=enabled -Dflac=enabled -Dtheoradec=enabled -Dtheoraenc=enabl
MCONFIGFLAGS="$MCONFIGFLAGS --prefer-static"
if [ "$RELEASE" != "yes" ]; then
CONFIGFLAGS="$CONFIGFLAGS --enable-debug"
- MCONFIGFLAGS="$MCONFIGFLAGS --buildtype debugoptimized"
+ MCONFIGFLAGS="$MCONFIGFLAGS --buildtype debugoptimized -Doptimization=g"
else
if [ -z "$WITH_LTO" ]; then
info "Warning: Link Time Optimization not used in Release mode (missing --enable-lto)"
fi
CONFIGFLAGS="$CONFIGFLAGS --disable-debug"
- MCONFIGFLAGS="$MCONFIGFLAGS --buildtype release"
+ MCONFIGFLAGS="$MCONFIGFLAGS --buildtype release -Doptimization=3"
fi
if [ "$I18N" != "yes" ]; then
CONFIGFLAGS="$CONFIGFLAGS --disable-nls"
=====================================
meson.build
=====================================
@@ -457,6 +457,15 @@ ucrt_version_test = '''
# DEP, ASLR, NO SEH
add_project_link_arguments('-Wl,--nxcompat', '-Wl,--no-seh', '-Wl,--dynamicbase',
language: ['c', 'cpp'])
+
+ if host_machine.cpu_family() == 'x86_64' or host_machine.cpu_family() == 'aarch64' or host_machine.cpu() == 'arm64'
+ if cc.has_link_argument('-Wl,--high-entropy-va')
+ add_project_link_arguments('-Wl,--high-entropy-va', language: ['c', 'cpp'])
+ endif
+ if cc.has_link_argument('-Wl,--image-base,0x140000000')
+ add_project_link_arguments('-Wl,--image-base,0x140000000', language: ['c', 'cpp'])
+ endif
+ endif
endif
# Check if we are building for Windows Store
=====================================
modules/hw/nvdec/meson.build
=====================================
@@ -21,7 +21,7 @@ vlc_modules += {
vlc_modules += {
'name' : 'glinterop_nvdec',
'sources' : files('nvdec_gl.c'),
- 'dependencies' : [ nvdec_dep, gl_common_dep, dl_lib ],
+ 'dependencies' : [ nvdec_dep, opengl_dep, dl_lib ],
'plugin_dir' : 'codec',
- 'enabled' : nvdec_dep.found() and gl_common_dep.found(),
+ 'enabled' : nvdec_dep.found() and opengl_dep.found(),
}
=====================================
modules/hw/nvdec/nvdec_gl.c
=====================================
@@ -34,7 +34,9 @@
#include "nvdec_fmt.h"
#include "nvdec_priv.h"
-#include "../../video_output/opengl/interop.h"
+#include <vlc_opengl.h>
+#include <vlc_opengl_interop.h>
+#include "../../video_output/opengl/gl_common.h"
// glew.h conflicts with glext.h, but also makes glext.h unnecessary.
#ifndef __GLEW_H__
=====================================
modules/stream_out/Makefile.am
=====================================
@@ -141,9 +141,8 @@ stream_out/chromecast/@PROTOBUF_VERSION@/cast_channel.pb.cc: stream_out/chromeca
stream_out/chromecast/@PROTOBUF_VERSION@/cast_channel.pb.h: stream_out/chromecast/@PROTOBUF_VERSION@/cast_channel.pb.cc
-libdemux_chromecast_plugin_la_SOURCES = stream_out/chromecast/chromecast_demux.cpp stream_out/chromecast/chromecast.h \
+libdemux_chromecast_plugin_la_SOURCES = stream_out/chromecast/chromecast_demux.cpp \
stream_out/chromecast/chromecast_common.h
-libdemux_chromecast_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -Istream_out/chromecast/@PROTOBUF_VERSION@
libstream_out_chromecast_plugin_la_SOURCES = stream_out/chromecast/cast.cpp stream_out/chromecast/chromecast.h \
stream_out/chromecast/cast_channel.proto \
=====================================
modules/stream_out/chromecast/meson.build
=====================================
@@ -45,8 +45,7 @@ vlc_modules += {
'name' : 'demux_chromecast',
'sources' : files(
'chromecast_demux.cpp',
- 'chromecast.h',
- 'chromecast_common.h') + chromecast_proto,
+ 'chromecast_common.h'),
'dependencies' : [protobuf_dep],
'plugin_dir' : 'demux',
'enabled': get_option('stream_outputs') and protoc.found() and protobuf_dep.found(),
=====================================
modules/text_renderer/meson.build
=====================================
@@ -39,6 +39,7 @@ fontconfig_dep = dependency('fontconfig', version: '>= 2.11',
if fontconfig_dep.found()
freetype_srcs += files('freetype/fonts/fontconfig.c')
freetype_cargs += '-DHAVE_FONTCONFIG'
+ freetype_cppargs += '-DHAVE_FONTCONFIG'
freetype_deps += fontconfig_dep
endif
@@ -46,6 +47,7 @@ fribidi_dep = dependency('fribidi', required: get_option('fribidi'))
if fribidi_dep.found()
freetype_cargs += '-DHAVE_FRIBIDI'
+ freetype_cppargs += '-DHAVE_FRIBIDI'
freetype_deps += fribidi_dep
endif
@@ -53,6 +55,7 @@ harfbuzz_dep = dependency('harfbuzz', required: get_option('harfbuzz'))
if harfbuzz_dep.found()
freetype_cargs += '-DHAVE_HARFBUZZ'
+ freetype_cppargs += '-DHAVE_HARFBUZZ'
freetype_deps += harfbuzz_dep
endif
=====================================
modules/video_output/win32/meson.build
=====================================
@@ -43,7 +43,7 @@ if have_win_desktop
# Direct3D9 video output
vlc_modules += {
'name' : 'direct3d9',
- 'sources' : files('direct3d9.c', 'common.c', 'events.c', 'sensors.cpp', 'win32touch.c'),
+ 'sources' : files('direct3d9.c', 'common.c', 'events.c', 'win32touch.c'),
'link_with' : [ d3d9_common_lib, chroma_copy_lib ],
'dependencies' : [
cc.find_library('user32'),
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/be276791231f96f703de135a8dfa4ba8be83eea5...09cd1e26b61a3dd7ec06cca7f654c0994017e3a7
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/be276791231f96f703de135a8dfa4ba8be83eea5...09cd1e26b61a3dd7ec06cca7f654c0994017e3a7
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 vlc-commits
mailing list