[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