From 55b51d0baed715c834a2f9652c0f25f039c166aa Mon Sep 17 00:00:00 2001 From: Syping Date: Wed, 17 Feb 2021 22:48:08 +0100 Subject: [PATCH] Update Clang to 11.0.1 --- Dockerfile.shared | 18 ++++++++---------- Dockerfile.static | 20 +++++++++----------- docker_build | 2 +- qmake-static | 14 -------------- qt_build | 15 +++++++++------ shared/mingw32-qt-cmake | 10 ++++++++++ shared/mingw64-qt-cmake | 10 ++++++++++ static/mingw32-qt-cmake | 11 +++++++++++ static/mingw64-qt-cmake | 11 +++++++++++ static/qmake-static | 8 ++++++++ 10 files changed, 77 insertions(+), 42 deletions(-) delete mode 100755 qmake-static create mode 100755 shared/mingw32-qt-cmake create mode 100755 shared/mingw64-qt-cmake create mode 100755 static/mingw32-qt-cmake create mode 100755 static/mingw64-qt-cmake create mode 100755 static/qmake-static diff --git a/Dockerfile.shared b/Dockerfile.shared index 6d216ee..35d1d55 100644 --- a/Dockerfile.shared +++ b/Dockerfile.shared @@ -1,5 +1,4 @@ -# Debian Buster is recommended -FROM syping/llvm-mingw-debian:10.0.1 +FROM syping/llvm-mingw-debian:11.0.1 # Custom Directory ENV CUSTOM_DIRECTORY YES @@ -16,10 +15,10 @@ ENV QT_BUILD 2 ENV ZLIB_VERSION 1.2.11 ENV LIBPNG_VERSION 1.6.37 ENV LIBJPEGTURBO_VERSION 2.0.6 -ENV LIBRESSL_VERSION 3.2.2 -ENV OPENSSL_VERSION 1.1.1h -ENV ICU_VERSION 68.1 -ENV HB_VERSION 2.7.2 +ENV LIBRESSL_VERSION 3.2.4 +ENV OPENSSL_VERSION 1.1.1j +ENV ICU_VERSION 68.2 +ENV HB_VERSION 2.7.4 # SSL Choice ENV CUSTOM_SSL YES @@ -40,9 +39,8 @@ ENV BUILD_MINGW64_STATIC NO WORKDIR / COPY qt_build /opt/qt_build/bin/ - -RUN rm -f /bin/sh && \ - ln -s /bin/bash /bin/sh +COPY shared/mingw32-qt-cmake /usr/local/bin/ +COPY shared/mingw64-qt-cmake /usr/local/bin/ RUN export PATH=/opt/llvm-mingw/bin:${PATH} && \ apt-get update && \ @@ -50,7 +48,7 @@ RUN export PATH=/opt/llvm-mingw/bin:${PATH} && \ rm -rf /temp && \ /opt/qt_build/bin/qt_build && \ rm -rf /temp && \ - apt-get remove -y cmake g++ libucl-dev nasm ninja-build perl python zlib1g-dev && \ + apt-get remove -y g++ libucl-dev nasm ninja-build perl python zlib1g-dev && \ apt-get autoremove -y && \ rm -rf /var/lib/apt/lists/* diff --git a/Dockerfile.static b/Dockerfile.static index cbdf19b..337a700 100644 --- a/Dockerfile.static +++ b/Dockerfile.static @@ -1,5 +1,4 @@ -# Debian Buster is recommended -FROM syping/llvm-mingw-debian:10.0.1 +FROM syping/llvm-mingw-debian:11.0.1 # Custom Directory ENV CUSTOM_DIRECTORY YES @@ -16,10 +15,10 @@ ENV QT_BUILD 2 ENV ZLIB_VERSION 1.2.11 ENV LIBPNG_VERSION 1.6.37 ENV LIBJPEGTURBO_VERSION 2.0.6 -ENV LIBRESSL_VERSION 3.2.2 -ENV OPENSSL_VERSION 1.1.1h -ENV ICU_VERSION 68.1 -ENV HB_VERSION 2.7.2 +ENV LIBRESSL_VERSION 3.2.4 +ENV OPENSSL_VERSION 1.1.1j +ENV ICU_VERSION 68.2 +ENV HB_VERSION 2.7.4 # SSL Choice ENV CUSTOM_SSL YES @@ -40,10 +39,9 @@ ENV BUILD_MINGW64_SHARED NO WORKDIR / COPY qt_build /opt/qt_build/bin/ -COPY qmake-static /usr/local/bin/ - -RUN rm -f /bin/sh && \ - ln -s /bin/bash /bin/sh +COPY static/mingw32-qt-cmake /usr/local/bin/ +COPY static/mingw64-qt-cmake /usr/local/bin/ +COPY static/qmake-static /usr/local/bin/ RUN export PATH=/opt/llvm-mingw/bin:${PATH} && \ apt-get update && \ @@ -51,7 +49,7 @@ RUN export PATH=/opt/llvm-mingw/bin:${PATH} && \ rm -rf /temp && \ /opt/qt_build/bin/qt_build && \ rm -rf /temp && \ - apt-get remove -y cmake g++ libucl-dev nasm ninja-build perl python zlib1g-dev && \ + apt-get remove -y g++ libucl-dev nasm ninja-build perl python zlib1g-dev && \ apt-get autoremove -y && \ rm -rf /var/lib/apt/lists/* diff --git a/docker_build b/docker_build index c0ae43d..7b15e33 100755 --- a/docker_build +++ b/docker_build @@ -1,3 +1,3 @@ -#!/bin/bash +#!/usr/bin/env bash docker build -t qt-llvm-mingw-docker:shared -f Dockerfile.shared . docker build -t qt-llvm-mingw-docker:static -f Dockerfile.static . diff --git a/qmake-static b/qmake-static deleted file mode 100755 index 220a43e..0000000 --- a/qmake-static +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -if [ "${QMAKE_FORCE_ALL_STATIC}" == "YES" ]; then - qmake "$@" LIBS+=-static -else - QMAKE_XSPEC=$(qmake -query QMAKE_XSPEC) - if [ "${QMAKE_XSPEC}" == "win32-clang-g++" ]; then - qmake "$@" LIBS+=-static - elif [ "${QMAKE_XSPEC}" == "win32-g++" ]; then - qmake "$@" LIBS+=-static-libgcc LIBS+=-static-libstdc++ - else - qmake "$@" LIBS+=-static # Force all static because compiler unknown - fi -fi diff --git a/qt_build b/qt_build index 609f306..3cd9de2 100755 --- a/qt_build +++ b/qt_build @@ -23,10 +23,10 @@ if [ ! "${CUSTOM_VERSION}" == "YES" ]; then ZLIB_VERSION=1.2.11 LIBPNG_VERSION=1.6.37 LIBJPEGTURBO_VERSION=2.0.6 - LIBRESSL_VERSION=3.2.2 - OPENSSL_VERSION=1.1.1h - ICU_VERSION=68.1 - HB_VERSION=2.7.2 # HarfBuzz + LIBRESSL_VERSION=3.2.4 + OPENSSL_VERSION=1.1.1j + ICU_VERSION=68.2 + HB_VERSION=2.7.4 # HarfBuzz # Qt Framework QT_SERIES=5.15 # (x.x).y @@ -51,11 +51,14 @@ if [ ! "${CUSTOM_QT_FLAGS}" == "YES" ]; then QT_FLAGS="-qt-freetype" fi if [ ! "${CUSTOM_QT_SKIP_FLAGS}" == "YES" ]; then - QT_SKIP_FLAGS="-skip qtactiveqt -skip qtconnectivity -skip qtlocation -skip qtmultimedia -skip qtwebengine -skip qtwebglplugin" + QT_SKIP_FLAGS="-skip qtactiveqt -skip qtconnectivity -skip qtlocation -skip qtwebengine -skip qtwebglplugin" fi if [ ! "${CUSTOM_QT_NOMAKE_FLAGS}" == "YES" ]; then QT_NOMAKE_FLAGS="-nomake tests -nomake examples" fi +if [ ! "${CUSTOM_QT_NOFEATURE_FLAGS}" == "YES" ]; then + QT_NOFEATURE_FLAGS="-no-feature-d3d12" +fi if [ ! "${CUSTOM_QT_OPENGL_FLAGS}" == "YES" ]; then QT_OPENGL_FLAGS="-opengl desktop" fi @@ -706,7 +709,7 @@ function qt_build { if [ -f "config.cache" ]; then rm -rf * fi - "${SOURCE_DIR_QT}/configure" -prefix "${PREFIX_DIR}/lib/${COMPILER}/qt_${QT_VERSION}${TARGET_SUFFIX}" -headerdir "${PREFIX_DIR}/include/qt_${QT_VERSION}" -datadir "${QT_SHARE_DIR}/qt_${QT_VERSION}" -sysconfdir "${QT_SYSCONF_DIR}" -device-option CROSS_COMPILE=${COMPILER}- -xplatform ${QT_XPLATFORM} ${QT_BUILDTYPE_FLAGS} -${TARGET_TYPE} ${QT_FLAGS} ${QT_LIBS_FLAGS} ${QT_SKIP_FLAGS} ${QT_NOMAKE_FLAGS} ${QT_OPENGL_FLAGS} ${TARGET_FLAGS} -opensource -confirm-license ${QT_EXTRA_FLAGS} + "${SOURCE_DIR_QT}/configure" -prefix "${PREFIX_DIR}/lib/${COMPILER}/qt_${QT_VERSION}${TARGET_SUFFIX}" -headerdir "${PREFIX_DIR}/include/qt_${QT_VERSION}" -datadir "${QT_SHARE_DIR}/qt_${QT_VERSION}" -sysconfdir "${QT_SYSCONF_DIR}" -device-option CROSS_COMPILE=${COMPILER}- -xplatform ${QT_XPLATFORM} ${QT_BUILDTYPE_FLAGS} -${TARGET_TYPE} ${QT_FLAGS} ${QT_LIBS_FLAGS} ${QT_SKIP_FLAGS} ${QT_NOMAKE_FLAGS} ${QT_NOFEATURE_FLAGS} ${QT_OPENGL_FLAGS} ${TARGET_FLAGS} -opensource -confirm-license ${QT_EXTRA_FLAGS} ${MAKE_GENERATOR} } diff --git a/shared/mingw32-qt-cmake b/shared/mingw32-qt-cmake new file mode 100755 index 0000000..f6a331c --- /dev/null +++ b/shared/mingw32-qt-cmake @@ -0,0 +1,10 @@ +#!/bin/bash + +cmake \ + "-DCMAKE_SYSTEM_NAME=Windows" \ + "-DCMAKE_SYSTEM_PROCESSOR=x86" \ + "-DCMAKE_C_COMPILER=i686-w64-mingw32-clang" \ + "-DCMAKE_CXX_COMPILER=i686-w64-mingw32-clang++" \ + "-DCMAKE_RC_COMPILER=i686-w64-mingw32-windres" \ + "-DCMAKE_PREFIX_PATH=/usr/local/lib/i686-w64-mingw32/qt5" \ + "$@" diff --git a/shared/mingw64-qt-cmake b/shared/mingw64-qt-cmake new file mode 100755 index 0000000..d669a36 --- /dev/null +++ b/shared/mingw64-qt-cmake @@ -0,0 +1,10 @@ +#!/bin/bash + +cmake \ + "-DCMAKE_SYSTEM_NAME=Windows" \ + "-DCMAKE_SYSTEM_PROCESSOR=amd64" \ + "-DCMAKE_C_COMPILER=x86_64-w64-mingw32-clang" \ + "-DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-clang++" \ + "-DCMAKE_RC_COMPILER=x86_64-w64-mingw32-windres" \ + "-DCMAKE_PREFIX_PATH=/usr/local/lib/x86_64-w64-mingw32/qt5" \ + "$@" diff --git a/static/mingw32-qt-cmake b/static/mingw32-qt-cmake new file mode 100755 index 0000000..a44d092 --- /dev/null +++ b/static/mingw32-qt-cmake @@ -0,0 +1,11 @@ +#!/bin/bash + +cmake \ + "-DCMAKE_SYSTEM_NAME=Windows" \ + "-DCMAKE_SYSTEM_PROCESSOR=x86" \ + "-DCMAKE_C_COMPILER=i686-w64-mingw32-clang" \ + "-DCMAKE_CXX_COMPILER=i686-w64-mingw32-clang++" \ + "-DCMAKE_RC_COMPILER=i686-w64-mingw32-windres" \ + "-DCMAKE_PREFIX_PATH=/usr/local/lib/i686-w64-mingw32/qt5" \ + "-DCMAKE_EXE_LINKER_FLAGS=-static" \ + "$@" diff --git a/static/mingw64-qt-cmake b/static/mingw64-qt-cmake new file mode 100755 index 0000000..220a634 --- /dev/null +++ b/static/mingw64-qt-cmake @@ -0,0 +1,11 @@ +#!/bin/bash + +cmake \ + "-DCMAKE_SYSTEM_NAME=Windows" \ + "-DCMAKE_SYSTEM_PROCESSOR=amd64" \ + "-DCMAKE_C_COMPILER=x86_64-w64-mingw32-clang" \ + "-DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-clang++" \ + "-DCMAKE_RC_COMPILER=x86_64-w64-mingw32-windres" \ + "-DCMAKE_PREFIX_PATH=/usr/local/lib/x86_64-w64-mingw32/qt5" \ + "-DCMAKE_EXE_LINKER_FLAGS=-static" \ + "$@" diff --git a/static/qmake-static b/static/qmake-static new file mode 100755 index 0000000..1cb41e2 --- /dev/null +++ b/static/qmake-static @@ -0,0 +1,8 @@ +#!/bin/bash + +QMAKE_XSPEC=$(qmake -query QMAKE_XSPEC) +if [ "${QMAKE_XSPEC}" == "win32-g++" ]; then + qmake "$@" LIBS+=-static-libgcc LIBS+=-static-libstdc++ +else + qmake "$@" LIBS+=-static +fi