From: Eric Bollengier Date: Mon, 16 Mar 2020 14:11:50 +0000 (+0100) Subject: Add support for QT5 in windows build X-Git-Tag: Release-11.3.2~313 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e632bb2aff781d971af1c06ec903e4c632e9035;p=thirdparty%2Fbacula.git Add support for QT5 in windows build --- diff --git a/bacula/src/qt-console/tray-monitor/win32/qmake.conf b/bacula/src/qt-console/tray-monitor/win32/qmake.conf index 7a4c04be2..efde4a8fc 100644 --- a/bacula/src/qt-console/tray-monitor/win32/qmake.conf +++ b/bacula/src/qt-console/tray-monitor/win32/qmake.conf @@ -8,7 +8,7 @@ MAKEFILE_GENERATOR = MINGW TEMPLATE = app CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header cross-win32 QT += core gui -DEFINES += UNICODE QT_LARGEFILE_SUPPORT +DEFINES += UNICODE QMAKE_COMPILER_DEFINES += __GNUC__ WIN32 QMAKE_EXT_OBJ = .o diff --git a/bacula/src/win32/Makefile.inc.in b/bacula/src/win32/Makefile.inc.in index e46e98828..458edc115 100644 --- a/bacula/src/win32/Makefile.inc.in +++ b/bacula/src/win32/Makefile.inc.in @@ -79,16 +79,16 @@ LDFLAGS := -g -Wall ifeq ($(MINGW_BASE),i686-w64-mingw32) CFLAGS += -DHAVE_MINGW_W64 WINDRESFLAGS := -DHAVE_MINGW_W64 - LIBS_PTHREADS := $(DEPKGS)/lib/libpthreadGCE2.a + LIBS_PTHREADS := -lwinpthread else ifeq ($(MINGW_BASE),x86_64-w64-mingw32) CFLAGS += -DHAVE_MINGW_W64 WINDRESFLAGS := -DHAVE_MINGW_W64 - LIBS_PTHREADS := $(DEPKGS)/lib/libpthreadGCE2.a + LIBS_PTHREADS := -lwinpthread else # old mingw - LIBS_PTHREADS := $(DEPKGS)/lib/libpthreadGCE.a + LIBS_PTHREADS := -lwinpthread LDFLAGS += -mno-cygwin -Wl,--disable-auto-import endif @@ -111,7 +111,7 @@ OBJDIRS := obj32 obj64 INCLUDE_DDK := -I$(MINGW_INCLUDE)/ddk INCLUDE_BACULA := -I$(MAINDIR)/src -I$(BUILDDIR)/compat -INCLUDE_PTHREADS := -I$(DEPKGS)/include/pthreads +INCLUDE_PTHREADS := INCLUDE_ZLIB := -I$(DEPKGS)/include INCLUDE_VSS := -I$(DEPKGS)/vss INCLUDE_ICONS := -I../libwin32 diff --git a/bacula/src/win32/build-depkgs-mingw-w64 b/bacula/src/win32/build-depkgs-mingw-w64 index ee7e9e1e7..44fa8a119 100755 --- a/bacula/src/win32/build-depkgs-mingw-w64 +++ b/bacula/src/win32/build-depkgs-mingw-w64 @@ -326,8 +326,9 @@ process_qt4() cp -rf lib/* ${DEPPKG_DIR}/lib/qt cp -rf src/corelib ${DEPPKG_DIR}/src/ cp -rf src/gui ${DEPPKG_DIR}/src/ - cp -rf lib/QtCore4.dll lib/QtGui4.dll ${DEPPKG_DIR}/bin/ - cp -rf lib/QtCore4.dll lib/QtGui4.dll ${DEPPKG_DIR}/lib/qt/ + cp -rf src/network ${DEPPKG_DIR}/src/ + cp -rf bin/Qt5Widgets.dll bin/libqtmain.a lib/Qt5Core.dll lib/Qt5Gui.dll lib/Qt5Network.dll ${DEPPKG_DIR}/bin/ + cp -rf bin/Qt5Widgets.dll bin/libqtmain.a lib/Qt5Core.dll lib/Qt5Gui.dll lib/Qt5Network.dll ${DEPPKG_DIR}/lib/qt/ } diff --git a/bacula/src/win32/build-depkgs-mingw32 b/bacula/src/win32/build-depkgs-mingw32 index 727e00251..d3733b9e2 100755 --- a/bacula/src/win32/build-depkgs-mingw32 +++ b/bacula/src/win32/build-depkgs-mingw32 @@ -550,6 +550,39 @@ process_dvd_rw_tools() m4 -DOS=XMINGW32 Makefile.m4 | make -f - prefix=${DEPPKG_DIR} manprefix=${DEPPKG_DIR} install >>make.log 2>&1 } +process_qt5() +{ + if get_source "${URL_Qt5}" "${DIR_Qt5}" "${MKD_Qt5}" + then + echo Patching Qt5 + fi + ./configure -xplatform win32-g++ -device-option CROSS_COMPILE=/usr/bin/x86_64-w64-mingw32- \ + -prefix ${DEPPKG_DIR}/qt-out -opensource -no-compile-examples \ + -no-openvg -no-sm -no-opengl \ + -skip qtactiveqt -skip qtcharts -skip qtdoc -skip qtlocation \ + -skip qtremoteobjects -skip qtserialbus -skip qtwebchannel \ + -skip qtwebview -skip qtandroidextras -skip qtconnectivity \ + -skip qtgamepad -skip qtmacextras -skip qtpurchasing -skip qtscript \ + -skip qttranslations -skip qtwebengine -skip qtwinextras \ + -skip qtdatavis3d -skip qtgraphicaleffects -skip qtmultimedia \ + -skip qtquickcontrols -skip qtscxml -skip qtspeech \ + -skip qtvirtualkeyboard -skip qtwebglplugin -skip qtx11extras \ + -skip qt3d -skip qtcanvas3d -skip qtdeclarative \ + -skip qtimageformats -skip qtnetworkauth -skip qtquickcontrols2 \ + -skip qtsensors -skip qtwayland -skip qtwebsockets -silent -nomake examples + + make + rm -rf ${DEPPKG_DIR}/include/qt ${DEPPKG_DIR}/lib/qt + mkdir -p ${DEPPKG_DIR}/include/qt ${DEPPKG_DIR}/lib/qt + cd $DEPPKG_DIR/qt-out + cp -rf include/* ${DEPPKG_DIR}/include/qt + cp -rf lib/* ${DEPPKG_DIR}/lib/qt + cp -rf src/corelib ${DEPPKG_DIR}/src/ + cp -rf src/gui ${DEPPKG_DIR}/src/ + cp -rf bin/Qt5Widgets.dll bin/libqtmain.a bin/Qt5Core.dll bin/Qt5Gui.dll bin/Qt5Network.dll ${DEPPKG_DIR}/bin/ + cp -rf bin/Qt5Widgets.dll bin/libqtmain.a bin/Qt5Core.dll bin/Qt5Gui.dll bin/Qt5Network.dll ${DEPPKG_DIR}/lib/qt/ +} + process_qt4() { if get_source "${URL_Qt4}" "${DIR_Qt4}" "${MKD_Qt4}" @@ -562,7 +595,7 @@ process_qt4() patch -p1 < ${SCRIPT_DIR}/patches/qt4-compilation.patch fi echo "Configuring Qt4" - ./configure -opensource -confirm-license -fast -xplatform win32-g++-4.6 \ + ./configure -opensource -confirm-license -fast -xplatform win32-g++-8.3 \ -device-option CROSS_COMPILE=i686-w64-mingw32- -device-option \ PKG_CONFIG='i686-w64-mingw32-pkg-config' -force-pkg-config -release \ -exceptions -shared -prefix ${DEPPKG_DIR}/qt-out -prefix-install -no-script \ @@ -576,15 +609,6 @@ process_qt4() -no-javascript-jit -no-qt3support -nomake tools \ -no-xmlpatterns -no-multimedia -nomake tools -silent - local qt_source_dir=`pwd` - # Required libz.dll.a, zlib.h and zconf.h for proper Qt build purpose - process_zlib - cd "${qt_source_dir}" - local zlib_dir=`basename "${URL_ZLIB}" | sed 's/.tar.gz//'` - cp "../${zlib_dir}/libz.dll.a" ./lib/ - cp "../${zlib_dir}/zlib.h" ./include/ - cp "../${zlib_dir}/zconf.h" ./include/ - make echo "Installing Qt4"