# HG changeset patch # User Markus Mützel # Date 1696013009 -7200 # Node ID f5093577b0020a7d65852c769e3d1c7f10bef95f # Parent 3b1036b3713b755a352e0c6b92b0dbdb79e77078 Qt6 QtBase: Dynamic OpenGL works only on Windows. * src/qt6-qtbase.mk: Enable FEATURE_opengl_dynamic only when building for Windows. Create symlink to keep build rules of reverse dependencies simple. * src/qt6-qttools.mk: Create dummy executable only when building for Windows. diff -r 3b1036b3713b -r f5093577b002 src/qt6-qtbase.mk --- a/src/qt6-qtbase.mk Fri Sep 29 15:18:41 2023 -0400 +++ b/src/qt6-qtbase.mk Fri Sep 29 20:43:29 2023 +0200 @@ -27,6 +27,7 @@ $(PKG)_CMAKE_OPTS += \ -DFEATURE_sql_mysql=OFF \ -DFEATURE_sql_odbc=ON \ + -DFEATURE_opengl_dynamic=ON \ -DFEATURE_sql_psql=ON \ -DFEATURE_sql_sqlite=ON \ -DFEATURE_system_sqlite=ON @@ -98,7 +99,6 @@ -DFEATURE_system_freetype=ON \ -DFEATURE_glib=OFF \ -DFEATURE_system_harfbuzz=OFF \ - -DFEATURE_opengl_dynamic=ON \ -DFEATURE_openssl=OFF \ -DFEATURE_system_pcre2=ON \ -DFEATURE_pkg_config=ON \ @@ -109,7 +109,7 @@ 'cmake' --build '$(1).build' -j '$(JOBS)' 'cmake' --install '$(1).build' - if [ $(MXE_WINDOWS_BUILD) = yes ]; then \ + if [ "$(MXE_WINDOWS_BUILD)" = yes ]; then \ $(INSTALL) -d '$(HOST_BINDIR)'; \ cp '$(HOST_PREFIX)'/qt6/bin/Qt6Concurrent.dll '$(HOST_BINDIR)'/Qt6Concurrent.dll; \ cp '$(HOST_PREFIX)'/qt6/bin/Qt6Core.dll '$(HOST_BINDIR)'/Qt6Core.dll; \ @@ -125,9 +125,11 @@ fi if [ "$(MXE_NATIVE_BUILD)" = "no" ]; then \ - ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/bin/qmake6' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'qmake-qt6; \ - ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/libexec/moc' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'moc; \ - ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/libexec/uic' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'uic; \ - ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/libexec/rcc' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'rcc; \ + ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/bin/qmake6' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'qmake-qt6; \ + ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/libexec/moc' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'moc; \ + ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/libexec/uic' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'uic; \ + ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/libexec/rcc' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'rcc; \ + else \ + ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/bin/qt-cmake' '$(HOST_PREFIX)/qt6/bin/qt-cmake-private'; \ fi endef diff -r 3b1036b3713b -r f5093577b002 src/qt6-qttools.mk --- a/src/qt6-qttools.mk Fri Sep 29 15:18:41 2023 -0400 +++ b/src/qt6-qttools.mk Fri Sep 29 20:43:29 2023 +0200 @@ -16,37 +16,41 @@ define $(PKG)_BUILD # native tools - mkdir '$(1).native' && cd '$(1).native' && \ - '$(BUILD_TOOLS_PREFIX)/qt6/bin/qt-cmake' -S '$(1)' -DCMAKE_INSTALL_PREFIX='$(BUILD_TOOLS_PREFIX)/qt6' \ + mkdir '$(1).tools' && cd '$(1).tools' && \ + '$(BUILD_TOOLS_PREFIX)/qt6/bin/qt-cmake' -S '$(1)' \ + -DCMAKE_INSTALL_PREFIX='$(BUILD_TOOLS_PREFIX)/qt6' \ -DFEATURE_clang=OFF \ -DFEATURE_clangcpp=OFF \ -DFEATURE_linguist=ON \ -DFEATURE_designer=OFF - cmake --build $(1).native -j '$(JOBS)' - cmake --install '$(1).native' + cmake --build $(1).tools -j '$(JOBS)' + cmake --install '$(1).tools' if [ "$(MXE_NATIVE_BUILD)" = "no" ]; then \ - ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/bin/lconvert' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'lconvert; \ - ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/bin/lrelease' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'lrelease; \ - echo -e "#!/bin/sh\necho $$0 $$*" > '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'qhelpgenerator && chmod a+rx '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'qhelpgenerator; \ - echo -e "#!/bin/sh\necho $$0 $$*" > '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'qcollectiongenerator && chmod a+rx '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'qcollectiongenerator; \ + ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/bin/lconvert' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'lconvert; \ + ln -sf '$(BUILD_TOOLS_PREFIX)/qt6/bin/lrelease' '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'lrelease; \ + echo -e "#!/bin/sh\necho $$0 $$*" > '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'qhelpgenerator && chmod a+rx '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'qhelpgenerator; \ + echo -e "#!/bin/sh\necho $$0 $$*" > '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'qcollectiongenerator && chmod a+rx '$(BUILD_TOOLS_PREFIX)/bin/$(MXE_TOOL_PREFIX)'qcollectiongenerator; \ fi mkdir '$(1).build' && cd '$(1).build' && \ - '$(HOST_PREFIX)/qt6/bin/qt-cmake-private' -S '$(1)' -DCMAKE_INSTALL_PREFIX='$(HOST_PREFIX)/qt6' \ - -DFEATURE_clang=OFF \ - -DFEATURE_clangcpp=OFF \ - -DQT_FORCE_BUILD_TOOLS=ON + '$(HOST_PREFIX)/qt6/bin/qt-cmake-private' -S '$(1)' \ + -DCMAKE_INSTALL_PREFIX='$(HOST_PREFIX)/qt6' \ + -DFEATURE_clang=OFF \ + -DFEATURE_clangcpp=OFF \ + -DQT_FORCE_BUILD_TOOLS=ON # not built for some reason. make dummy so install won't fail - touch '$(1).build/bin/qhelpgenerator.exe' + if [ "$(MXE_WINDOWS_BUILD)" = yes ]; then \ + touch '$(1).build/bin/qhelpgenerator.exe'; \ + fi cmake --build $(1).build -j '$(JOBS)' cmake --install '$(1).build' - if [ $(MXE_WINDOWS_BUILD) = yes ]; then \ + if [ "$(MXE_WINDOWS_BUILD)" = yes ]; then \ $(INSTALL) -d '$(HOST_BINDIR)'; \ cp '$(HOST_PREFIX)'/qt6/bin/Qt6UiTools.dll '$(HOST_BINDIR)'/Qt6UiTools.dll; \ cp '$(HOST_PREFIX)'/qt6/bin/Qt6Help.dll '$(HOST_BINDIR)'/Qt6Help.dll; \