From: Rafael Sadowski Subject: Remove undefined_flag in Qt6 To: ports@openbsd.org Date: Sat, 2 Aug 2025 21:37:26 +0200 "-Wl,-undefined,error" and "-Wl,--no-undefined" are set by default in all Qt6 ports that use QtFlagHandlingHelpers.cmake which should be all. This diff remove the both flags. Idea stolen by FreeBSD. I think a full bulk is necessary. Rafael Index: Makefile.inc =================================================================== RCS file: /cvs/ports/x11/qt6/Makefile.inc,v diff -u -p -r1.13 Makefile.inc --- Makefile.inc 6 Jun 2025 05:12:03 -0000 1.13 +++ Makefile.inc 2 Aug 2025 19:31:52 -0000 @@ -37,7 +37,7 @@ EXTRACT_SUFX ?= .tar.xz MODULES := devel/cmake x11/qt6 ${MODULES} CXXFLAGS += -I${LOCALBASE}/include -MODCMAKE_LDFLAGS += -L${LOCALBASE}/lib -lc +MODCMAKE_LDFLAGS += -L${LOCALBASE}/lib CONFIGURE_ARGS += -DQT_GENERATE_SBOM=OFF Index: qtbase/Makefile =================================================================== RCS file: /cvs/ports/x11/qt6/qtbase/Makefile,v diff -u -p -r1.43 Makefile --- qtbase/Makefile 6 Jun 2025 05:12:03 -0000 1.43 +++ qtbase/Makefile 2 Aug 2025 19:31:52 -0000 @@ -4,7 +4,7 @@ COMMENT-main = C++ general-purpose tool COMMENT-global = global Qt6 documentation internals COMMENT-mysql = MySQL plugin for Qt6 COMMENT-psql = PostgresSQL plugin for Qt6 -REVISION-main = 1 +REVISION-main = 2 PKGSPEC-main = qt6-qtbase-${QT6_PKGSPEC} Index: qtbase/patches/patch-cmake_QtFlagHandlingHelpers_cmake =================================================================== RCS file: qtbase/patches/patch-cmake_QtFlagHandlingHelpers_cmake diff -N qtbase/patches/patch-cmake_QtFlagHandlingHelpers_cmake --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ qtbase/patches/patch-cmake_QtFlagHandlingHelpers_cmake 2 Aug 2025 19:31:52 -0000 @@ -0,0 +1,14 @@ +Index: cmake/QtFlagHandlingHelpers.cmake +--- cmake/QtFlagHandlingHelpers.cmake.orig ++++ cmake/QtFlagHandlingHelpers.cmake +@@ -177,6 +177,10 @@ function(qt_internal_add_link_flags_no_undefined targe + set(no_undefined_flag "-Wl,--no-undefined") + endif() + ++ if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR CMAKE_SYSTEM_NAME MATCHES "OpenBSD") ++ set(no_undefined_flag "") ++ endif() ++ + set(CMAKE_REQUIRED_LINK_OPTIONS ${previous_CMAKE_REQUIRED_LINK_OPTIONS}) + + if (NOT HAVE_DASH_UNDEFINED_SYMBOLS AND NOT HAVE_DASH_DASH_NO_UNDEFINED)