Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
ee57b63e by Steve Lhomme at 2026-01-31T13:55:00+00:00
contrib: qt: strip installed static libraries with gcc+win32

Since the generated DLL is too big if it contains the symbols (#28643, #28598)
we strip the symbols.
Since it won't be used to make release builds, it doesn't matter.

- - - - -
43d7d202 by Steve Lhomme at 2026-01-31T13:55:00+00:00
contrib: qt: use the CMake build type set in main.mak

We don't need to force Release mode because libraries still contain the debug 
symbols.
And we set the optimization level in the C/CXXFLAGS.

- - - - -


4 changed files:

- contrib/src/qt/rules.mak
- contrib/src/qtdeclarative/rules.mak
- contrib/src/qtsvg/rules.mak
- contrib/src/qtwayland/rules.mak


Changes:

=====================================
contrib/src/qt/rules.mak
=====================================
@@ -77,10 +77,14 @@ QTBASE_CONFIG += -DFEATURE_style_fusion=OFF
 QTBASE_CONFIG += -DFEATURE_direct2d=ON -DFEATURE_direct2d1_1=OFF
 endif
 
-ifdef ENABLE_PDB
-QTBASE_CONFIG += -DCMAKE_BUILD_TYPE=RelWithDebInfo
-else
-QTBASE_CONFIG += -DCMAKE_BUILD_TYPE=Release
+QTBASE_HOSTVARS = $(HOSTVARS_CMAKE)
+ifdef HAVE_WIN32
+ifndef HAVE_CLANG
+# gcc doesn't support PDBs and therefore keep a huge amount of debug 
information
+# this can result in libqt_plugin.dll being bigger than 2GB (#28643).
+QTBASE_CONFIG += -DCMAKE_CXX_FLAGS_DEBUG:STRING= -DCMAKE_C_FLAGS_DEBUG:STRING= 
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING= -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING=
+QTBASE_HOSTVARS += CXXFLAGS="$(patsubst -g,,${CXXFLAGS})" CFLAGS="$(patsubst 
-g,,${CFLAGS})"
+endif
 endif
 
 QTBASE_COMMON_CONFIG := -DFEATURE_pkg_config=OFF -DINPUT_openssl=no \
@@ -133,7 +137,7 @@ endif
 
 .qt: qt toolchain.cmake
        $(CMAKECLEAN)
-       $(HOSTVARS_CMAKE) $(CMAKE) $(QTBASE_CONFIG)
+       $(QTBASE_HOSTVARS) $(CMAKE) $(QTBASE_CONFIG)
        +PATH="$(PATH):$(PREFIX)/bin" $(CMAKEBUILD)
        $(CMAKEINSTALL)
        touch $@


=====================================
contrib/src/qtdeclarative/rules.mak
=====================================
@@ -76,11 +76,6 @@ QT_DECLARATIVE_COMMON_CONFIG := \
 
 QT_DECLARATIVE_CONFIG := $(QT_DECLARATIVE_COMMON_CONFIG) \
        $(QT_CMAKE_CONFIG)
-ifdef ENABLE_PDB
-QT_DECLARATIVE_CONFIG += -DCMAKE_BUILD_TYPE=RelWithDebInfo
-else
-QT_DECLARATIVE_CONFIG += -DCMAKE_BUILD_TYPE=Release
-endif
 
 QT_DECLARATIVE_NATIVE_CONFIG := $(QT_DECLARATIVE_COMMON_CONFIG) \
        -DFEATURE_qml_animation=OFF \
@@ -91,6 +86,16 @@ QT_DECLARATIVE_NATIVE_CONFIG := 
$(QT_DECLARATIVE_COMMON_CONFIG) \
        -DFEATURE_quick_shadereffect=OFF \
        -DCMAKE_TOOLCHAIN_FILE=$(QT_HOST_LIBS)/cmake/Qt6/qt.toolchain.cmake
 
+QT_DECLARATIVE_HOSTVARS = $(HOSTVARS_CMAKE)
+ifdef HAVE_WIN32
+ifndef HAVE_CLANG
+# gcc doesn't support PDBs and therefore keep a huge amount of debug 
information
+# this can result in libqt_plugin.dll being bigger than 2GB (#28643).
+QT_DECLARATIVE_CONFIG += -DCMAKE_CXX_FLAGS_DEBUG:STRING= 
-DCMAKE_C_FLAGS_DEBUG:STRING= -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING= 
-DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING=
+QT_DECLARATIVE_HOSTVARS += CXXFLAGS="$(patsubst -g,,${CXXFLAGS})" 
CFLAGS="$(patsubst -g,,${CFLAGS})"
+endif
+endif
+
 .qtdeclarative-tools: BUILD_DIR=$</vlc_native
 .qtdeclarative-tools: qtdeclarative
        $(CMAKECLEAN)
@@ -101,7 +106,7 @@ QT_DECLARATIVE_NATIVE_CONFIG := 
$(QT_DECLARATIVE_COMMON_CONFIG) \
 
 .qtdeclarative: qtdeclarative toolchain.cmake
        $(CMAKECLEAN)
-       $(HOSTVARS_CMAKE) $(CMAKE) $(QT_DECLARATIVE_CONFIG)
+       $(QT_DECLARATIVE_HOSTVARS) $(CMAKE) $(QT_DECLARATIVE_CONFIG)
        +PATH="$(PATH):$(PREFIX)/bin" $(CMAKEBUILD)
        $(CMAKEINSTALL)
        touch $@


=====================================
contrib/src/qtsvg/rules.mak
=====================================
@@ -19,11 +19,6 @@ $(TARBALLS)/qtsvg-everywhere-src-$(QTSVG_VERSION).tar.xz:
 .sum-qtsvg: qtsvg-everywhere-src-$(QTSVG_VERSION).tar.xz
 
 QTSVG_CONFIG := $(QT_CMAKE_CONFIG)
-ifdef ENABLE_PDB
-QTSVG_CONFIG += -DCMAKE_BUILD_TYPE=RelWithDebInfo
-else
-QTSVG_CONFIG += -DCMAKE_BUILD_TYPE=Release
-endif
 
 qtsvg: qtsvg-everywhere-src-$(QTSVG_VERSION).tar.xz .sum-qtsvg
        $(UNPACK)


=====================================
contrib/src/qtwayland/rules.mak
=====================================
@@ -17,11 +17,6 @@ 
$(TARBALLS)/qtwayland-everywhere-src-$(QTWAYLAND_VERSION).tar.xz:
 .sum-qtwayland: qtwayland-everywhere-src-$(QTWAYLAND_VERSION).tar.xz
 
 QTWAYLAND_CONFIG := $(QT_CMAKE_CONFIG)
-ifdef ENABLE_PDB
-QTWAYLAND_CONFIG += -DCMAKE_BUILD_TYPE=RelWithDebInfo
-else
-QTWAYLAND_CONFIG += -DCMAKE_BUILD_TYPE=Release
-endif
 
 qtwayland: qtwayland-everywhere-src-$(QTWAYLAND_VERSION).tar.xz .sum-qtwayland
        $(UNPACK)



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/98a047e1ddf9881d224d215b62d9aecac52dec81...43d7d202031b3af096fd0a193640e4c39716cf1d

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/98a047e1ddf9881d224d215b62d9aecac52dec81...43d7d202031b3af096fd0a193640e4c39716cf1d
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance
_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to