common/build-helper/qmake*: allow parallel usage of qmake 5 and 6

This commit is contained in:
John 2025-08-24 02:01:25 +02:00 committed by John Zimmermann
parent 8cd46d7055
commit 8ad4185c29
3 changed files with 26 additions and 20 deletions

View file

@ -5,8 +5,8 @@
# respectively. # respectively.
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
mkdir -p "${XBPS_WRAPPERDIR}/target-spec/linux-g++" mkdir -p "${XBPS_WRAPPERDIR}/qt5/target-spec/linux-g++"
cat > "${XBPS_WRAPPERDIR}/target-spec/linux-g++/qmake.conf" <<_EOF cat > "${XBPS_WRAPPERDIR}/qt5/target-spec/linux-g++/qmake.conf" <<_EOF
MAKEFILE_GENERATOR = UNIX MAKEFILE_GENERATOR = UNIX
CONFIG += incremental no_qt_rpath CONFIG += incremental no_qt_rpath
QMAKE_INCREMENTAL_STYLE = sublib QMAKE_INCREMENTAL_STYLE = sublib
@ -34,9 +34,9 @@ QMAKE_CXXFLAGS = ${CXXFLAGS}
QMAKE_LFLAGS = ${LDFLAGS} QMAKE_LFLAGS = ${LDFLAGS}
load(qt_config) load(qt_config)
_EOF _EOF
echo "#include \"${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/linux-g++/qplatformdefs.h\"" > "${XBPS_WRAPPERDIR}/target-spec/linux-g++/qplatformdefs.h" echo "#include \"${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/linux-g++/qplatformdefs.h\"" > "${XBPS_WRAPPERDIR}/qt5/target-spec/linux-g++/qplatformdefs.h"
cat > "${XBPS_WRAPPERDIR}/qt.conf" <<_EOF cat > "${XBPS_WRAPPERDIR}/qt5.conf" <<_EOF
[Paths] [Paths]
Sysroot=${XBPS_CROSS_BASE} Sysroot=${XBPS_CROSS_BASE}
Prefix=${XBPS_CROSS_BASE}/usr Prefix=${XBPS_CROSS_BASE}/usr
@ -59,7 +59,7 @@ HostData=/usr/lib/qt5
HostBinaries=/usr/lib/qt5/bin HostBinaries=/usr/lib/qt5/bin
HostLibraries=/usr/lib HostLibraries=/usr/lib
Spec=linux-g++ Spec=linux-g++
TargetSpec=$XBPS_WRAPPERDIR/target-spec/linux-g++ TargetSpec=$XBPS_WRAPPERDIR/qt5/target-spec/linux-g++
_EOF _EOF
# create the qmake-wrapper here because it only # create the qmake-wrapper here because it only
@ -68,15 +68,15 @@ _EOF
# #
# + base flags will be picked up from QMAKE_{C,CXX,LD}FLAGS # + base flags will be picked up from QMAKE_{C,CXX,LD}FLAGS
# + hardening flags will be picked up from environment variables # + hardening flags will be picked up from environment variables
cat > "${XBPS_WRAPPERDIR}/qmake" <<_EOF cat > "${XBPS_WRAPPERDIR}/qmake5" <<_EOF
#!/bin/sh #!/bin/sh
exec /usr/lib/qt5/bin/qmake "\$@" -qtconf "${XBPS_WRAPPERDIR}/qt.conf" \\ exec /usr/lib/qt5/bin/qmake "\$@" -qtconf "${XBPS_WRAPPERDIR}/qt5.conf" \\
QMAKE_CFLAGS+="\${CFLAGS}" \\ QMAKE_CFLAGS+="\${CFLAGS}" \\
QMAKE_CXXFLAGS+="\${CXXFLAGS}" \\ QMAKE_CXXFLAGS+="\${CXXFLAGS}" \\
QMAKE_LFLAGS+="\${LDFLAGS}" QMAKE_LFLAGS+="\${LDFLAGS}"
_EOF _EOF
else else
cat > "${XBPS_WRAPPERDIR}/qmake" <<_EOF cat > "${XBPS_WRAPPERDIR}/qmake5" <<_EOF
#!/bin/sh #!/bin/sh
exec /usr/lib/qt5/bin/qmake \ exec /usr/lib/qt5/bin/qmake \
"\$@" \ "\$@" \
@ -91,5 +91,8 @@ exec /usr/lib/qt5/bin/qmake \
CONFIG+=no_qt_rpath CONFIG+=no_qt_rpath
_EOF _EOF
fi fi
chmod 755 ${XBPS_WRAPPERDIR}/qmake chmod 755 ${XBPS_WRAPPERDIR}/qmake5
cp -p ${XBPS_WRAPPERDIR}/qmake{,-qt5} cp -p ${XBPS_WRAPPERDIR}/qmake{5,-qt5}
if [ -z "$qmake_default_version" ] || [ "${qmake_default_version}" = "5" ]; then
cp -p ${XBPS_WRAPPERDIR}/qmake{5,}
fi

View file

@ -5,8 +5,8 @@
# respectively. # respectively.
if [ "$CROSS_BUILD" ]; then if [ "$CROSS_BUILD" ]; then
mkdir -p "${XBPS_WRAPPERDIR}/target-spec/linux-g++" mkdir -p "${XBPS_WRAPPERDIR}/qt6/target-spec/linux-g++"
cat > "${XBPS_WRAPPERDIR}/target-spec/linux-g++/qmake.conf" <<_EOF cat > "${XBPS_WRAPPERDIR}/qt6/target-spec/linux-g++/qmake.conf" <<_EOF
MAKEFILE_GENERATOR = UNIX MAKEFILE_GENERATOR = UNIX
CONFIG += incremental no_qt_rpath CONFIG += incremental no_qt_rpath
QMAKE_INCREMENTAL_STYLE = sublib QMAKE_INCREMENTAL_STYLE = sublib
@ -34,9 +34,9 @@ QMAKE_CXXFLAGS = ${CXXFLAGS}
QMAKE_LFLAGS = ${LDFLAGS} QMAKE_LFLAGS = ${LDFLAGS}
load(qt_config) load(qt_config)
_EOF _EOF
echo "#include \"${XBPS_CROSS_BASE}/usr/lib/qt6/mkspecs/linux-g++/qplatformdefs.h\"" > "${XBPS_WRAPPERDIR}/target-spec/linux-g++/qplatformdefs.h" echo "#include \"${XBPS_CROSS_BASE}/usr/lib/qt6/mkspecs/linux-g++/qplatformdefs.h\"" > "${XBPS_WRAPPERDIR}/qt6/target-spec/linux-g++/qplatformdefs.h"
cat > "${XBPS_WRAPPERDIR}/qt.conf" <<_EOF cat > "${XBPS_WRAPPERDIR}/qt6.conf" <<_EOF
[Paths] [Paths]
Sysroot=${XBPS_CROSS_BASE} Sysroot=${XBPS_CROSS_BASE}
Prefix=${XBPS_CROSS_BASE}/usr Prefix=${XBPS_CROSS_BASE}/usr
@ -69,15 +69,15 @@ _EOF
# #
# + base flags will be picked up from QMAKE_{C,CXX,LD}FLAGS # + base flags will be picked up from QMAKE_{C,CXX,LD}FLAGS
# + hardening flags will be picked up from environment variables # + hardening flags will be picked up from environment variables
cat > "${XBPS_WRAPPERDIR}/qmake" <<_EOF cat > "${XBPS_WRAPPERDIR}/qmake6" <<_EOF
#!/bin/sh #!/bin/sh
exec /usr/lib/qt6/bin/qmake "\$@" -qtconf "${XBPS_WRAPPERDIR}/qt.conf" \\ exec /usr/lib/qt6/bin/qmake "\$@" -qtconf "${XBPS_WRAPPERDIR}/qt6.conf" \\
QMAKE_CFLAGS+="\${CFLAGS}" \\ QMAKE_CFLAGS+="\${CFLAGS}" \\
QMAKE_CXXFLAGS+="\${CXXFLAGS}" \\ QMAKE_CXXFLAGS+="\${CXXFLAGS}" \\
QMAKE_LFLAGS+="\${LDFLAGS}" QMAKE_LFLAGS+="\${LDFLAGS}"
_EOF _EOF
else else
cat > "${XBPS_WRAPPERDIR}/qmake" <<_EOF cat > "${XBPS_WRAPPERDIR}/qmake6" <<_EOF
#!/bin/sh #!/bin/sh
exec /usr/lib/qt6/bin/qmake \ exec /usr/lib/qt6/bin/qmake \
"\$@" \ "\$@" \
@ -92,6 +92,8 @@ exec /usr/lib/qt6/bin/qmake \
CONFIG+=no_qt_rpath CONFIG+=no_qt_rpath
_EOF _EOF
fi fi
chmod 755 ${XBPS_WRAPPERDIR}/qmake chmod 755 ${XBPS_WRAPPERDIR}/qmake6
cp -p ${XBPS_WRAPPERDIR}/qmake{,-qt6} cp -p ${XBPS_WRAPPERDIR}/qmake{6,-qt6}
cp -p ${XBPS_WRAPPERDIR}/qmake{,6} if [ -z "$qmake_default_version" ] || [ "${qmake_default_version}" = "6" ]; then
cp -p ${XBPS_WRAPPERDIR}/qmake{6,}
fi

View file

@ -50,6 +50,7 @@ unset -v make_cmd meson_cmd gem_cmd fetch_cmd make_check_pre
unset -v python_version stackage unset -v python_version stackage
unset -v cmake_builddir meson_builddir unset -v cmake_builddir meson_builddir
unset -v meson_crossfile unset -v meson_crossfile
unset -v qmake_default_version
unset -v gemspec unset -v gemspec
unset -v go_import_path go_package go_mod_mode unset -v go_import_path go_package go_mod_mode
unset -v patch_args disable_parallel_build disable_parallel_check unset -v patch_args disable_parallel_build disable_parallel_check