public inbox for cygwin-apps-cvs@sourceware.org
help / color / mirror / Atom feed
* [cygport - the Cygwin packaging tool] branch topic/mingw, updated. 0.34.0-30-gc052276
@ 2020-05-11 15:48 Yaakov Selkowitz
0 siblings, 0 replies; only message in thread
From: Yaakov Selkowitz @ 2020-05-11 15:48 UTC (permalink / raw)
To: cygwin-apps-cvs
https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=c052276338066515134d7316974ab7ddd962ad50
commit c052276338066515134d7316974ab7ddd962ad50
Author: Yaakov Selkowitz <yselkowi@redhat.com>
Date: Mon May 11 11:48:35 2020 -0400
mingw: split up into separate cygclasses per arch
Diff:
---
cygclass/meson.build | 15 +-
cygclass/mingw-internal.cygclass | 126 +++++
cygclass/mingw.cygclass | 771 +------------------------------
cygclass/mingw32.cygclass | 205 ++++++++
cygclass/mingw64.cygclass | 205 ++++++++
cygclass/mingwarm32.cygclass | 205 ++++++++
cygclass/mingwarm64.cygclass | 205 ++++++++
testsuite/mingw/make/mingw-crypt.cygport | 7 +-
8 files changed, 978 insertions(+), 761 deletions(-)
diff --git a/cygclass/meson.build b/cygclass/meson.build
index 27f57e5..b22ca30 100644
--- a/cygclass/meson.build
+++ b/cygclass/meson.build
@@ -142,7 +142,15 @@
# * cross.cygclass -
# For packaging libraries to be used with generic cross-compiler toolchains.
# * mingw.cygclass -
-# For packaging libraries to be used with MinGW cross-compiler toolchains.
+# For packaging libraries to be used with all MinGW cross-compiler toolchains.
+# * mingw32.cygclass -
+# For packaging libraries to be used with the i686 MinGW cross-compiler toolchain.
+# * mingw64.cygclass -
+# For packaging libraries to be used with the x86_64 MinGW cross-compiler toolchain.
+# * mingwarm32.cygclass -
+# For packaging libraries to be used with the armv7 MinGW cross-compiler toolchain.
+# * mingwarm64.cygclass -
+# For packaging libraries to be used with the aarch64 MinGW cross-compiler toolchain.
# * multilib.cygclass -
# For packaging libraries for cross-compiler toolchains which support
# multiple ABIs.
@@ -200,6 +208,11 @@ cygclasses = files(
'mate.cygclass',
'meson.cygclass',
'mingw.cygclass',
+ 'mingw-internal.cygclass',
+ 'mingw32.cygclass',
+ 'mingw64.cygclass',
+ 'mingwarm32.cygclass',
+ 'mingwarm64.cygclass',
'mtn.cygclass',
'multilib.cygclass',
'ninja.cygclass',
diff --git a/cygclass/mingw-internal.cygclass b/cygclass/mingw-internal.cygclass
new file mode 100644
index 0000000..3ccd5c7
--- /dev/null
+++ b/cygclass/mingw-internal.cygclass
@@ -0,0 +1,126 @@
+################################################################################
+#
+# mingw-internal.cygclass - internal functions for mingw*.cygclass
+#
+# Part of cygport - Cygwin packaging application
+# Copyright (C) 2006-2020 Cygport authors
+# Provided by the Cygwin project <https://cygwin.com/>
+#
+# cygport is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cygport is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cygport. If not, see <http://www.gnu.org/licenses/>.
+#
+################################################################################
+
+__mingw_init() {
+ local a=${1} t=${2}
+ local c h n p r s v
+
+ declare -g MINGW${t}_HOST="${a}-w64-mingw32"
+ declare -g MINGW${t}_TARGET="${a}-w64-mingw32"
+
+ h=MINGW${t}_HOST
+ for c in CC=gcc CXX=g++ F77=gfortran FC=gfortran OBJC=gcc OBJCXX=g++ \
+ AR=ar DLLTOOL=dlltool NM=nm OBJDUMP=objdump RANLIB=ranlib \
+ RC=windres STRIP=strip PKG_CONFIG=pkg-config QT5_QMAKE=qmake-qt5
+ do
+ declare -g MINGW${t}_${c%=*}="${!h}-${c#*=}"
+ done
+ if inherited clang
+ then
+ declare -g MINGW${t}_CC="${!h}-clang"
+ declare -g MINGW${t}_CXX="${!h}-clang++"
+ fi
+
+ declare -g MINGW${t}_SYSROOT="/usr/${!h}/sys-root"
+ r=MINGW${t}_SYSROOT
+ declare -g MINGW${t}_PREFIX="${!r}/mingw"
+ p=MINGW${t}_PREFIX
+ declare -g MINGW${t}_BINDIR="${!p}/bin"
+ declare -g MINGW${t}_INCLUDEDIR="${!p}/include"
+ declare -g MINGW${t}_LIBDIR="${!p}/lib"
+ declare -g MINGW${t}_DATADIR="${!p}/share"
+
+ if inherited mingw && [[ ${MINGW_ARCHS} =~ "${a}" ]] && [[ "${NAME}" =~ "mingw-" ]]
+ then
+ _CYGPORT_INTERNAL_multi_doc_=1
+ n=${NAME#mingw-}
+ PKG_NAMES+=" mingw64-${a}-${n}"
+ declare -g mingw64_${a}_${n//[-\.]/_}_CONTENTS="${!p#/} usr/share/doc/mingw64-${a}-${n}/"
+ fi
+}
+
+__mingw_wrapper() {
+ local ovar var
+ local toolvars=(CC=gcc CXX=g++ F77=gfortran FC=gfortran OBJC=gcc OBJCXX=g++ \
+ AR=ar DLLTOOL=dlltool NM=nm OBJDUMP=objdump RANLIB=ranlib \
+ RC=windres STRIP=strip PKG_CONFIG=pkg-config QT5_QMAKE=qmake-qt5)
+ local miscvars=(CHOST CTARGET CC_SYSROOT)
+ local expvars=(CFLAGS CXXFLAGS)
+
+ __check_triplet ${1}
+
+ for var in ${miscvars[*]} ${toolvars[*]%=*} ${expvars[*]}
+ do
+ ovar="orig_${var}"
+ local ${ovar}="${!var}"
+ done
+ declare -g CHOST=${1}
+ shift
+ declare -g CTARGET=${CHOST}
+ declare -g CC_SYSROOT=/usr/${CHOST}/sys-root
+ # mingw-w64 actually supports these now, but with libssp it is fragile
+ declare -gx CFLAGS="${CFLAGS/-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong}"
+ declare -gx CXXFLAGS="${CXXFLAGS/-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong}"
+
+ for var in ${toolvars[*]}
+ do
+ declare -g ${var%=*}=${CHOST}-${var#*=}
+ done
+ if inherited clang
+ then
+ declare -g CC="${CHOST}-clang"
+ declare -g CXX="${CHOST}-clang++"
+ fi
+
+ if ! check_prog ${CC} || ! check_prog ${STRIP}
+ then
+ error "This package requires ${CHOST} binutils and gcc"
+ fi
+
+ if ! defined __MINGW_WRAPPER_NO_CWD
+ then
+ mkdir -p ${CHOST}/${MINGW_BUILDDIR_SUFFIX}
+ pushd ${CHOST}/${MINGW_BUILDDIR_SUFFIX}
+ fi
+
+ inform "cross-compiling for ${CHOST}"
+ "${@}" || error "${1} for ${CHOST} failed"
+
+ if ! defined __MINGW_WRAPPER_NO_CWD
+ then
+ popd
+ fi
+
+ for var in ${miscvars[*]} ${toolvars[*]%=*}
+ do
+ ovar="orig_${var}"
+ declare -g ${var}="${!ovar}"
+ done
+ for var in ${expvars[*]}
+ do
+ ovar="orig_${var}"
+ declare -gx ${var}="${!ovar}"
+ done
+}
+
+readonly -f __mingw_init __mingw_wrapper
diff --git a/cygclass/mingw.cygclass b/cygclass/mingw.cygclass
index 0ebf344..272c168 100644
--- a/cygclass/mingw.cygclass
+++ b/cygclass/mingw.cygclass
@@ -1,6 +1,6 @@
################################################################################
#
-# mingw.cygclass - for building cross-compiled packages
+# mingw.cygclass - for building cross-compiled MinGW packages
#
# Part of cygport - Cygwin packaging application
# Copyright (C) 2006-2020 Cygport authors
@@ -40,8 +40,16 @@
# Supported build systems for cross-compiling are autotools, cmake, meson,
# Qt5 qmake, and custom Makefiles. The respective cygclasses still need
# to be inherit()ed, with mingw.cygclass being inherit()ed last.
+# INHERITS
+# mingw32.cygclass, mingw64.cygclass, mingwarm32.cygclass, mingwarm64.cygclass
#****
+case ${MINGW_ARCHS:=i686;x86_64} in
+all) MINGW_ARCHS="i686;x86_64;armv7;aarch64" ;;
+esac
+
+inherit mingw32 mingw64 mingwarm32 mingwarm64
+
ARCH=noarch
unset ARCH_i686 ARCH_x86_64
@@ -55,387 +63,6 @@ unset ARCH_i686 ARCH_x86_64
# This variable must be defined before inherit()ing mingw.cygclass.
# If undefined, defaults to "i686;x86_64".
#****
-case ${MINGW_ARCHS:=i686;x86_64} in
-all) MINGW_ARCHS="i686;x86_64;armv7;aarch64" ;;
-esac
-
-#****d* mingw.cygclass/MINGW32_HOST
-# DESCRIPTION
-# The host triplet for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_TARGET
-# DESCRIPTION
-# The target triplet for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_CC
-# DESCRIPTION
-# The C compiler for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_CXX
-# DESCRIPTION
-# The C++ compiler for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_F77
-# DESCRIPTION
-# The Fortran 77 compiler for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_FC
-# DESCRIPTION
-# The Fortran 95 compiler for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_AR
-# DESCRIPTION
-# The static library archiver for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_DLLTOOL
-# DESCRIPTION
-# The DLL import creation tool for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_NM
-# DESCRIPTION
-# The symbol listing tool for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_RANLIB
-# DESCRIPTION
-# The static library indexer for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_RC
-# DESCRIPTION
-# The Windows resource compiler for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_STRIP
-# DESCRIPTION
-# The symbol remover tool for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_PKG_CONFIG
-# DESCRIPTION
-# The pkg-config tool for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_QT5_QMAKE
-# DESCRIPTION
-# The Qt5 qmake tool for the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_SYSROOT
-# DESCRIPTION
-# The virtual root for files used by the i686 toolchain.
-#****
-#****d* mingw.cygclass/MINGW32_PREFIX
-# DESCRIPTION
-# The prefix directory under the i686 sysroot.
-#****
-#****d* mingw.cygclass/MINGW32_BINDIR
-# DESCRIPTION
-# The bin directory under the i686 sysroot
-#****
-#****d* mingw.cygclass/MINGW32_INCLUDEDIR
-# DESCRIPTION
-# The include directory under the i686 sysroot.
-#****
-#****d* mingw.cygclass/MINGW32_LIBDIR
-# DESCRIPTION
-# The lib directory under the i686 sysroot.
-#****
-#****d* mingw.cygclass/MINGW32_DATADIR
-# DESCRIPTION
-# The data directory under the i686 sysroot.
-#****
-
-#****d* mingw.cygclass/MINGW64_HOST
-# DESCRIPTION
-# The host triplet for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_TARGET
-# DESCRIPTION
-# The target triplet for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_CC
-# DESCRIPTION
-# The C compiler for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_CXX
-# DESCRIPTION
-# The C++ compiler for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_F77
-# DESCRIPTION
-# The Fortran 77 compiler for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_FC
-# DESCRIPTION
-# The Fortran 95 compiler for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_AR
-# DESCRIPTION
-# The static library archiver for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_DLLTOOL
-# DESCRIPTION
-# The DLL import creation tool for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_NM
-# DESCRIPTION
-# The symbol listing tool for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_RANLIB
-# DESCRIPTION
-# The static library indexer for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_RC
-# DESCRIPTION
-# The Windows resource compiler for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_STRIP
-# DESCRIPTION
-# The symbol remover tool for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_PKG_CONFIG
-# DESCRIPTION
-# The pkg-config tool for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_QT5_QMAKE
-# DESCRIPTION
-# The Qt5 qmake tool for the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_SYSROOT
-# DESCRIPTION
-# The virtual root for files used by the x86_64 toolchain.
-#****
-#****d* mingw.cygclass/MINGW64_PREFIX
-# DESCRIPTION
-# The prefix directory under the x86_64 sysroot.
-#****
-#****d* mingw.cygclass/MINGW64_BINDIR
-# DESCRIPTION
-# The bin directory under the x86_64 sysroot
-#****
-#****d* mingw.cygclass/MINGW64_INCLUDEDIR
-# DESCRIPTION
-# The include directory under the x86_64 sysroot.
-#****
-#****d* mingw.cygclass/MINGW64_LIBDIR
-# DESCRIPTION
-# The lib directory under the x86_64 sysroot.
-#****
-#****d* mingw.cygclass/MINGW64_DATADIR
-# DESCRIPTION
-# The data directory under the x86_64 sysroot.
-#****
-
-#****d* mingw.cygclass/MINGWARM32_HOST
-# DESCRIPTION
-# The host triplet for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_TARGET
-# DESCRIPTION
-# The target triplet for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_CC
-# DESCRIPTION
-# The C compiler for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_CXX
-# DESCRIPTION
-# The C++ compiler for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_F77
-# DESCRIPTION
-# The Fortran 77 compiler for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_FC
-# DESCRIPTION
-# The Fortran 95 compiler for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_AR
-# DESCRIPTION
-# The static library archiver for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_DLLTOOL
-# DESCRIPTION
-# The DLL import creation tool for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_NM
-# DESCRIPTION
-# The symbol listing tool for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_RANLIB
-# DESCRIPTION
-# The static library indexer for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_RC
-# DESCRIPTION
-# The Windows resource compiler for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_STRIP
-# DESCRIPTION
-# The symbol remover tool for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_PKG_CONFIG
-# DESCRIPTION
-# The pkg-config tool for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_QT5_QMAKE
-# DESCRIPTION
-# The Qt5 qmake tool for the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_SYSROOT
-# DESCRIPTION
-# The virtual root for files used by the armv7 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM32_PREFIX
-# DESCRIPTION
-# The prefix directory under the armv7 sysroot.
-#****
-#****d* mingw.cygclass/MINGWARM32_BINDIR
-# DESCRIPTION
-# The bin directory under the armv7 sysroot
-#****
-#****d* mingw.cygclass/MINGWARM32_INCLUDEDIR
-# DESCRIPTION
-# The include directory under the armv7 sysroot.
-#****
-#****d* mingw.cygclass/MINGWARM32_LIBDIR
-# DESCRIPTION
-# The lib directory under the armv7 sysroot.
-#****
-#****d* mingw.cygclass/MINGWARM32_DATADIR
-# DESCRIPTION
-# The data directory under the armv7 sysroot.
-#****
-
-#****d* mingw.cygclass/MINGWARM64_HOST
-# DESCRIPTION
-# The host triplet for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_TARGET
-# DESCRIPTION
-# The target triplet for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_CC
-# DESCRIPTION
-# The C compiler for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_CXX
-# DESCRIPTION
-# The C++ compiler for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_F77
-# DESCRIPTION
-# The Fortran 77 compiler for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_FC
-# DESCRIPTION
-# The Fortran 95 compiler for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_AR
-# DESCRIPTION
-# The static library archiver for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_DLLTOOL
-# DESCRIPTION
-# The DLL import creation tool for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_NM
-# DESCRIPTION
-# The symbol listing tool for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_RANLIB
-# DESCRIPTION
-# The static library indexer for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_RC
-# DESCRIPTION
-# The Windows resource compiler for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_STRIP
-# DESCRIPTION
-# The symbol remover tool for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_PKG_CONFIG
-# DESCRIPTION
-# The pkg-config tool for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_QT5_QMAKE
-# DESCRIPTION
-# The Qt5 qmake tool for the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_SYSROOT
-# DESCRIPTION
-# The virtual root for files used by the aarch64 toolchain.
-#****
-#****d* mingw.cygclass/MINGWARM64_PREFIX
-# DESCRIPTION
-# The prefix directory under the aarch64 sysroot.
-#****
-#****d* mingw.cygclass/MINGWARM64_BINDIR
-# DESCRIPTION
-# The bin directory under the aarch64 sysroot
-#****
-#****d* mingw.cygclass/MINGWARM64_INCLUDEDIR
-# DESCRIPTION
-# The include directory under the aarch64 sysroot.
-#****
-#****d* mingw.cygclass/MINGWARM64_LIBDIR
-# DESCRIPTION
-# The lib directory under the aarch64 sysroot.
-#****
-#****d* mingw.cygclass/MINGWARM64_DATADIR
-# DESCRIPTION
-# The data directory under the aarch64 sysroot.
-#****
-
-__mingw_init() {
- local c h n p r s t v
-
- for t in 32:i686 64:x86_64 ARM32:armv7 ARM64:aarch64
- do
- declare -g MINGW${t%:*}_HOST="${t#*:}-w64-mingw32"
- declare -g MINGW${t%:*}_TARGET="${t#*:}-w64-mingw32"
-
- h=MINGW${t%:*}_HOST
- for c in CC=gcc CXX=g++ F77=gfortran FC=gfortran OBJC=gcc OBJCXX=g++ \
- AR=ar DLLTOOL=dlltool NM=nm OBJDUMP=objdump RANLIB=ranlib \
- RC=windres STRIP=strip PKG_CONFIG=pkg-config QT5_QMAKE=qmake-qt5
- do
- declare -g MINGW${t%:*}_${c%=*}="${!h}-${c#*=}"
- done
- if inherited clang
- then
- declare -g MINGW${t%:*}_CC="${!h}-clang"
- declare -g MINGW${t%:*}_CXX="${!h}-clang++"
- fi
-
- declare -g MINGW${t%:*}_SYSROOT="/usr/${!h}/sys-root"
- r=MINGW${t%:*}_SYSROOT
- declare -g MINGW${t%:*}_PREFIX="${!r}/mingw"
- p=MINGW${t%:*}_PREFIX
- declare -g MINGW${t%:*}_BINDIR="${!p}/bin"
- declare -g MINGW${t%:*}_INCLUDEDIR="${!p}/include"
- declare -g MINGW${t%:*}_LIBDIR="${!p}/lib"
- declare -g MINGW${t%:*}_DATADIR="${!p}/share"
-
- if ! [[ ${MINGW_ARCHS} =~ "${t#*:}" ]]
- then
- continue
- fi
-
- v=MINGW${t%:*}_CC
- s=MINGW${t%:*}_STRIP
- if ! (check_prog ${!v} && check_prog ${!s})
- then
- error "This package requires ${t#*:}-w64-mingw32 binutils and gcc"
- fi
-
- if [[ "${NAME}" =~ "mingw-" ]]
- then
- _CYGPORT_INTERNAL_multi_doc_=1
- n=${NAME#mingw-}
- PKG_NAMES+=" mingw64-${t#*:}-${n}"
- declare -g mingw64_${t#*:}_${n//[-\.]/_}_CONTENTS="${!p#/} usr/share/doc/mingw64-${t#*:}-${n}/"
- fi
- done
-}
-
-__mingw_init
#****v* mingw.cygclass/MINGW_BUILDDIR_SUFFIX
# DESCRIPTION
@@ -448,108 +75,21 @@ __mingw_init
# avoids having to manage separate build directories manually.
#****
-__mingw_wrapper() {
- local ovar var
- local toolvars=(CC=gcc CXX=g++ F77=gfortran FC=gfortran OBJC=gcc OBJCXX=g++ \
- AR=ar DLLTOOL=dlltool NM=nm OBJDUMP=objdump RANLIB=ranlib \
- RC=windres STRIP=strip PKG_CONFIG=pkg-config QT5_QMAKE=qmake-qt5)
- local miscvars=(CHOST CTARGET CC_SYSROOT)
- local expvars=(CFLAGS CXXFLAGS)
-
- __check_triplet ${1}
-
- for var in ${miscvars[*]} ${toolvars[*]%=*} ${expvars[*]}
- do
- ovar="orig_${var}"
- local ${ovar}="${!var}"
- done
- declare -g CHOST=${1}
- shift
- declare -g CTARGET=${CHOST}
- declare -g CC_SYSROOT=/usr/${CHOST}/sys-root
- # mingw-w64 actually supports these now, but with libssp it is fragile
- declare -gx CFLAGS="${CFLAGS/-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong}"
- declare -gx CXXFLAGS="${CXXFLAGS/-Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong}"
-
- for var in ${toolvars[*]}
- do
- declare -g ${var%=*}=${CHOST}-${var#*=}
- done
- if inherited clang
- then
- declare -g CC="${CHOST}-clang"
- declare -g CXX="${CHOST}-clang++"
- fi
-
- if ! defined __MINGW_WRAPPER_NO_CWD
- then
- mkdir -p ${CHOST}/${MINGW_BUILDDIR_SUFFIX}
- pushd ${CHOST}/${MINGW_BUILDDIR_SUFFIX}
- fi
-
- inform "cross-compiling for ${CHOST}"
- "${@}" || error "${1} for ${CHOST} failed"
-
- if ! defined __MINGW_WRAPPER_NO_CWD
- then
- popd
- fi
-
- for var in ${miscvars[*]} ${toolvars[*]%=*}
- do
- ovar="orig_${var}"
- declare -g ${var}="${!ovar}"
- done
- for var in ${expvars[*]}
- do
- ovar="orig_${var}"
- declare -gx ${var}="${!ovar}"
- done
-}
-
+#****C* mingw.cygclass/mingw_lndirs
+# DESCRIPTION
+# Runs lndirs separately for each enabled architecture's build directory.
+#****
mingw_lndirs() {
local t
for t in 32:i686 64:x86_64 arm32:armv7 arm64:aarch64
do
if [[ ${MINGW_ARCHS} =~ "${t#*:}" ]]
then
- __mingw_wrapper ${t#*:}-w64-mingw32 lndirs ${S}
+ mingw${t%:*}_lndirs "${@}"
fi
done
}
-#****C* mingw.cygclass/mingw32_configure
-# DESCRIPTION
-# Runs cygconf using the i686 toolchain. Any arguments are passed along.
-#****
-mingw32_configure() {
- __mingw_wrapper ${MINGW32_HOST} cygconf ${MINGW32_CONFIGURE_ARGS} "${@}"
-}
-
-#****C* mingw.cygclass/mingw64_configure
-# DESCRIPTION
-# Runs cygconf using the x86_64 toolchain. Any arguments are passed along.
-#****
-mingw64_configure() {
- __mingw_wrapper ${MINGW64_HOST} cygconf ${MINGW64_CONFIGURE_ARGS} "${@}"
-}
-
-#****C* mingw.cygclass/mingwarm32_configure
-# DESCRIPTION
-# Runs cygconf using the armv7 toolchain. Any arguments are passed along.
-#****
-mingwarm32_configure() {
- __mingw_wrapper ${MINGWARM32_HOST} cygconf ${MINGWARM32_CONFIGURE_ARGS} "${@}"
-}
-
-#****C* mingw.cygclass/mingwarm64_configure
-# DESCRIPTION
-# Runs cygconf using the aarch64 toolchain. Any arguments are passed along.
-#****
-mingwarm64_configure() {
- __mingw_wrapper ${MINGWARM64_HOST} cygconf ${MINGWARM64_CONFIGURE_ARGS} "${@}"
-}
-
#****C* mingw.cygclass/mingw_configure
# DESCRIPTION
# Runs cygconf separately for each enabled architecture. Any arguments are passed along.
@@ -581,38 +121,6 @@ mingw_configure() {
done
}
-#****C* mingw.cygclass/mingw32_make
-# DESCRIPTION
-# Runs cygmake using the i686 toolchain. Any arguments are passed along.
-#****
-mingw32_make() {
- __mingw_wrapper ${MINGW32_HOST} cygmake "${@}"
-}
-
-#****C* mingw.cygclass/mingw64_make
-# DESCRIPTION
-# Runs cygmake using the x86_64 toolchain. Any arguments are passed along.
-#****
-mingw64_make() {
- __mingw_wrapper ${MINGW64_HOST} cygmake "${@}"
-}
-
-#****C* mingw.cygclass/mingwarm32_make
-# DESCRIPTION
-# Runs cygmake using the armv7 toolchain. Any arguments are passed along.
-#****
-mingwarm32_make() {
- __mingw_wrapper ${MINGWARM32_HOST} cygmake "${@}"
-}
-
-#****C* mingw.cygclass/mingwarm64_make
-# DESCRIPTION
-# Runs cygmake using the aarch64 toolchain. Any arguments are passed along.
-#****
-mingwarm64_make() {
- __mingw_wrapper ${MINGWARM64_HOST} cygmake "${@}"
-}
-
#****C* mingw.cygclass/mingw_make
# DESCRIPTION
# Runs cygmake separately for each enabled architecture. Any arguments are passed along.
@@ -628,39 +136,6 @@ mingw_make() {
done
}
-
-#****C* mingw.cygclass/mingw32_cmake
-# DESCRIPTION
-# Runs cygcmake using the i686 toolchain. Any arguments are passed along.
-#****
-mingw32_cmake() {
- __mingw_wrapper ${MINGW32_HOST} cygcmake ${MINGW32_CMAKE_ARGS} "${@}"
-}
-
-#****C* mingw.cygclass/mingw64_cmake
-# DESCRIPTION
-# Runs cygcmake using the i686 toolchain. Any arguments are passed along.
-#****
-mingw64_cmake() {
- __mingw_wrapper ${MINGW64_HOST} cygcmake ${MINGW64_CMAKE_ARGS} "${@}"
-}
-
-#****C* mingw.cygclass/mingwarn32_cmake
-# DESCRIPTION
-# Runs cygcmake using the i686 toolchain. Any arguments are passed along.
-#****
-mingwarm32_cmake() {
- __mingw_wrapper ${MINGWARM32_HOST} cygcmake ${MINGWARM32_CMAKE_ARGS} "${@}"
-}
-
-#****C* mingw.cygclass/mingwarm64_cmake
-# DESCRIPTION
-# Runs cygcmake using the i686 toolchain. Any arguments are passed along.
-#****
-mingwarm64_cmake() {
- __mingw_wrapper ${MINGWARM64_HOST} cygcmake ${MINGWARM64_CMAKE_ARGS} "${@}"
-}
-
#****C* mingw.cygclass/mingw_cmake
# DESCRIPTION
# Runs cygcmake separately for each enabled architecture. Any arguments are passed along.
@@ -692,43 +167,6 @@ mingw_cmake() {
done
}
-
-#****C* mingw.cygclass/mingw32_meson
-# DESCRIPTION
-# Runs cygmeson using the i686 toolchain. Any arguments are passed along.
-#****
-mingw32_meson() {
- __MINGW_WRAPPER_NO_CWD=1 \
- __mingw_wrapper ${MINGW32_HOST} cygmeson ${MINGW32_MESON_ARGS} "${@}"
-}
-
-#****C* mingw.cygclass/mingw64_meson
-# DESCRIPTION
-# Runs cygmeson using the x86_64 toolchain. Any arguments are passed along.
-#****
-mingw64_meson() {
- __MINGW_WRAPPER_NO_CWD=1 \
- __mingw_wrapper ${MINGW64_HOST} cygmeson ${MINGW64_MESON_ARGS}"${@}"
-}
-
-#****C* mingw.cygclass/mingwarm32_meson
-# DESCRIPTION
-# Runs cygmeson using the armv7 toolchain. Any arguments are passed along.
-#****
-mingwarm32_meson() {
- __MINGW_WRAPPER_NO_CWD=1 \
- __mingw_wrapper ${MINGWARM32_HOST} cygmeson ${MINGWARM32_MESON_ARGS} "${@}"
-}
-
-#****C* mingw.cygclass/mingwarm64_meson
-# DESCRIPTION
-# Runs cygmeson using the aarch64 toolchain. Any arguments are passed along.
-#****
-mingwarm64_meson() {
- __MINGW_WRAPPER_NO_CWD=1 \
- __mingw_wrapper ${MINGWARM64_HOST} cygmeson ${MINGWARM64_MESON_ARGS} "${@}"
-}
-
#****C* mingw.cygclass/mingw_meson
# DESCRIPTION
# Runs cygmeson separately for each enabled architecture. Any arguments are passed along.
@@ -760,38 +198,6 @@ mingw_meson() {
done
}
-#****C* mingw.cygclass/mingw32_ninja
-# DESCRIPTION
-# Runs cygninja using the i686 toolchain. Any arguments are passed along.
-#****
-mingw32_ninja() {
- __mingw_wrapper ${MINGW32_HOST} cygninja "${@}"
-}
-
-#****C* mingw.cygclass/mingw64_ninja
-# DESCRIPTION
-# Runs cygninja using the x86_64 toolchain. Any arguments are passed along.
-#****
-mingw64_ninja() {
- __mingw_wrapper ${MINGW64_HOST} cygninja "${@}"
-}
-
-#****C* mingw.cygclass/mingwarm32_ninja
-# DESCRIPTION
-# Runs cygninja using the armv7 toolchain. Any arguments are passed along.
-#****
-mingwarm32_ninja() {
- __mingw_wrapper ${MINGWARM32_HOST} cygninja "${@}"
-}
-
-#****C* mingw.cygclass/mingwarm64_ninja
-# DESCRIPTION
-# Runs cygninja using the aarch64 toolchain. Any arguments are passed along.
-#****
-mingwarm64_ninja() {
- __mingw_wrapper ${MINGWARM64_HOST} cygninja "${@}"
-}
-
#****C* mingw.cygclass/mingw_ninja
# DESCRIPTION
# Runs cygninja separately for each enabled architecture. Any arguments are passed along.
@@ -807,38 +213,6 @@ mingw_ninja() {
done
}
-#****C* mingw.cygclass/mingw32_qt5_qmake
-# DESCRIPTION
-# Runs cygqmake5 using the i686 toolchain. Any arguments are passed along.
-#****
-mingw32_qt5_qmake() {
- __mingw_wrapper ${MINGW32_HOST} cygqmake5 "${@}"
-}
-
-#****C* mingw.cygclass/mingw64_qt5_qmake
-# DESCRIPTION
-# Runs cygqmake5 using the x86_64 toolchain. Any arguments are passed along.
-#****
-mingw64_qt5_qmake() {
- __mingw_wrapper ${MINGW64_HOST} cygqmake5 "${@}"
-}
-
-#****C* mingw.cygclass/mingwarm32_qt5_qmake
-# DESCRIPTION
-# Runs cygqmake5 using the armv7 toolchain. Any arguments are passed along.
-#****
-mingwarm32_qt5_qmake() {
- __mingw_wrapper ${MINGWARM32_HOST} cygqmake5 "${@}"
-}
-
-#****C* mingw.cygclass/mingwarm64_qt5_qmake
-# DESCRIPTION
-# Runs cygqmake5 using the aarch64 toolchain. Any arguments are passed along.
-#****
-mingwarm64_qt5_qmake() {
- __mingw_wrapper ${MINGWARM64_HOST} cygqmake5 "${@}"
-}
-
#****C* mingw.cygclass/mingw_qt5_qmake
# DESCRIPTION
# Runs cygqmake5 separately for each enabled architecture. Any arguments are passed along.
@@ -854,38 +228,6 @@ mingw_qt5_qmake() {
done
}
-#****I* mingw.cygclass/mingw32_make_install
-# DESCRIPTION
-# Runs cyginstall using the i686 toolchain. Any arguments are passed along.
-#****
-mingw32_make_install() {
- __mingw_wrapper ${MINGW32_HOST} cyginstall "${@}"
-}
-
-#****I* mingw.cygclass/mingw64_make_install
-# DESCRIPTION
-# Runs cyginstall using the x86_64 toolchain. Any arguments are passed along.
-#****
-mingw64_make_install() {
- __mingw_wrapper ${MINGW64_HOST} cyginstall "${@}"
-}
-
-#****I* mingw.cygclass/mingwarm32_make_install
-# DESCRIPTION
-# Runs cyginstall using the armv7 toolchain. Any arguments are passed along.
-#****
-mingwarm32_make_install() {
- __mingw_wrapper ${MINGWARM32_HOST} cyginstall "${@}"
-}
-
-#****I* mingw.cygclass/mingwarm64_make_install
-# DESCRIPTION
-# Runs cyginstall using the aarch64 toolchain. Any arguments are passed along.
-#****
-mingwarm64_make_install() {
- __mingw_wrapper ${MINGWARM64_HOST} cyginstall "${@}"
-}
-
#****I* mingw.cygclass/mingw_make_install
# DESCRIPTION
# Runs cyginstall separately for each enabled architecture. Any arguments are passed along.
@@ -901,42 +243,6 @@ mingw_make_install() {
done
}
-#****I* mingw.cygclass/mingw32_ninja_install
-# DESCRIPTION
-# Runs ninja_install using the i686 toolchain. Any arguments are passed along.
-#****
-mingw32_ninja_install() {
- DESTDIR=${D} \
- __mingw_wrapper ${MINGW32_HOST} cygninja install "${@}"
-}
-
-#****I* mingw.cygclass/mingw64_ninja_install
-# DESCRIPTION
-# Runs ninja_install using the x86_64 toolchain. Any arguments are passed along.
-#****
-mingw64_ninja_install() {
- DESTDIR=${D} \
- __mingw_wrapper ${MINGW64_HOST} cygninja install "${@}"
-}
-
-#****I* mingw.cygclass/mingwarm32_ninja_install
-# DESCRIPTION
-# Runs ninja_install using the armv7 toolchain. Any arguments are passed along.
-#****
-mingwarm32_ninja_install() {
- DESTDIR=${D} \
- __mingw_wrapper ${MINGWARM32_HOST} cygninja install "${@}"
-}
-
-#****I* mingw.cygclass/mingwarm64_ninja_install
-# DESCRIPTION
-# Runs ninja_install using the aarch64 toolchain. Any arguments are passed along.
-#****
-mingwarm64_ninja_install() {
- DESTDIR=${D} \
- __mingw_wrapper ${MINGWARM64_HOST} cygninja install "${@}"
-}
-
#****I* mingw.cygclass/mingw_ninja_install
# DESCRIPTION
# Runs ninja_install separately for each enabled architecture. Any arguments are passed along.
@@ -952,42 +258,6 @@ mingw_ninja_install() {
done
}
-#****I* mingw.cygclass/mingw32_qt5_qmake_install
-# DESCRIPTION
-# Runs qt5_qmake_install using the i686 toolchain. Any arguments are passed along.
-#****
-mingw32_qt5_qmake_install() {
- DESTDIR=${D} \
- __mingw_wrapper ${MINGW32_HOST} qt5_qmake_install "${@}"
-}
-
-#****I* mingw.cygclass/mingw64_qt5_qmake_install
-# DESCRIPTION
-# Runs qt5_qmake_install using the x86_64 toolchain. Any arguments are passed along.
-#****
-mingw64_qt5_qmake_install() {
- DESTDIR=${D} \
- __mingw_wrapper ${MINGW64_HOST} qt5_qmake_install "${@}"
-}
-
-#****I* mingw.cygclass/mingwarm32_qt5_qmake_install
-# DESCRIPTION
-# Runs qt5_qmake_install using the armv7 toolchain. Any arguments are passed along.
-#****
-mingwarm32_qt5_qmake_install() {
- DESTDIR=${D} \
- __mingw_wrapper ${MINGWARM32_HOST} qt5_qmake_install "${@}"
-}
-
-#****I* mingw.cygclass/mingwarm64_qt5_qmake_install
-# DESCRIPTION
-# Runs qt5_qmake_install using the aarch64 toolchain. Any arguments are passed along.
-#****
-mingwarm64_qt5_qmake_install() {
- DESTDIR=${D} \
- __mingw_wrapper ${MINGWARM64_HOST} qt5_qmake_install "${@}"
-}
-
#****I* mingw.cygclass/mingw_qt5_qmake_install
# DESCRIPTION
# Runs qt5_qmake_install separately for each enabled architecture. Any arguments are passed along.
@@ -1053,14 +323,7 @@ src_install() {
fi
}
-readonly -f __mingw_init __mingw_wrapper mingw_lndirs \
- mingw32_configure mingw64_configure mingwarm32_configure mingwarm64_configure mingw_configure \
- mingw32_make mingw64_make mingwarm32_make mingwarm64_make mingw_make \
- mingw32_cmake mingw64_cmake mingwarm32_cmake mingwarm64_cmake mingw_cmake \
- mingw32_meson mingw64_meson mingwarm32_meson mingwarm64_meson mingw_meson \
- mingw32_ninja mingw64_ninja mingwarm32_ninja mingwarm64_ninja mingw_ninja \
- mingw32_qt5_qmake mingw64_qt5_qmake mingwarm32_qt5_qmake mingwarm64_qt5_qmake mingw_qt5_qmake \
- mingw32_make_install mingw64_make_install mingwarm32_make_install mingwarm64_make_install mingw_make_install \
- mingw32_ninja_install mingw64_ninja_install mingwarm32_ninja_install mingwarm64_ninja_install mingw_ninja_install \
- mingw32_qt5_qmake_install mingw64_qt5_qmake_install mingwarm32_qt5_qmake_install mingwarm64_qt5_qmake_install mingw_qt5_qmake_install
+readonly -f mingw_lndirs mingw_configure mingw_make mingw_cmake \
+ mingw_meson mingw_ninja mingw_qt5_qmake mingw_make_install \
+ mingw_ninja_install mingw_qt5_qmake_install
\ No newline at end of file
diff --git a/cygclass/mingw32.cygclass b/cygclass/mingw32.cygclass
new file mode 100644
index 0000000..7af2183
--- /dev/null
+++ b/cygclass/mingw32.cygclass
@@ -0,0 +1,205 @@
+################################################################################
+#
+# mingw32.cygclass - for building cross-compiled MinGW i686 packages
+#
+# Part of cygport - Cygwin packaging application
+# Copyright (C) 2006-2020 Cygport authors
+# Provided by the Cygwin project <https://cygwin.com/>
+#
+# cygport is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cygport is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cygport. If not, see <http://www.gnu.org/licenses/>.
+#
+################################################################################
+
+#****h* Cygclasses/mingw32.cygclass
+# DESCRIPTION
+# This cygclass provides the mingw32_* functions and MINGW32_ definitions
+# for cross-compiling packages for Windows/x86 using the MinGW-w64 toolchain.
+# Generally, this cygclass is not inherit'ed directly, but its functions
+# and definitions are used by inherit'ing mingw.cygclass.
+# INHERITED BY
+# mingw.cygclass
+# REQUIRES
+# mingw64-i686-gcc-core
+#****
+inherit mingw-internal
+
+#****d* mingw32.cygclass/MINGW32_HOST
+# DESCRIPTION
+# The host triplet for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_TARGET
+# DESCRIPTION
+# The target triplet for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_CC
+# DESCRIPTION
+# The C compiler for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_CXX
+# DESCRIPTION
+# The C++ compiler for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_F77
+# DESCRIPTION
+# The Fortran 77 compiler for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_FC
+# DESCRIPTION
+# The Fortran 95 compiler for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_AR
+# DESCRIPTION
+# The static library archiver for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_DLLTOOL
+# DESCRIPTION
+# The DLL import creation tool for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_NM
+# DESCRIPTION
+# The symbol listing tool for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_RANLIB
+# DESCRIPTION
+# The static library indexer for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_RC
+# DESCRIPTION
+# The Windows resource compiler for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_STRIP
+# DESCRIPTION
+# The symbol remover tool for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_PKG_CONFIG
+# DESCRIPTION
+# The pkg-config tool for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_QT5_QMAKE
+# DESCRIPTION
+# The Qt5 qmake tool for the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_SYSROOT
+# DESCRIPTION
+# The virtual root for files used by the i686 toolchain.
+#****
+#****d* mingw32.cygclass/MINGW32_PREFIX
+# DESCRIPTION
+# The prefix directory under the i686 sysroot.
+#****
+#****d* mingw32.cygclass/MINGW32_BINDIR
+# DESCRIPTION
+# The bin directory under the i686 sysroot
+#****
+#****d* mingw32.cygclass/MINGW32_INCLUDEDIR
+# DESCRIPTION
+# The include directory under the i686 sysroot.
+#****
+#****d* mingw32.cygclass/MINGW32_LIBDIR
+# DESCRIPTION
+# The lib directory under the i686 sysroot.
+#****
+#****d* mingw32.cygclass/MINGW32_DATADIR
+# DESCRIPTION
+# The data directory under the i686 sysroot.
+#****
+
+__mingw_init i686 32
+
+#****C* mingw32.cygclass/mingw32_lndirs
+# DESCRIPTION
+# Runs lndirs into the build directory used by other mingw32_* functions.
+#****
+mingw32_lndirs() {
+ __mingw_wrapper ${MINGW32_HOST} lndirs ${S}
+}
+
+#****C* mingw32.cygclass/mingw32_configure
+# DESCRIPTION
+# Runs cygconf using the i686 toolchain. Any arguments are passed along.
+#****
+mingw32_configure() {
+ __mingw_wrapper ${MINGW32_HOST} cygconf ${MINGW32_CONFIGURE_ARGS} "${@}"
+}
+
+#****C* mingw32.cygclass/mingw32_make
+# DESCRIPTION
+# Runs cygmake using the i686 toolchain. Any arguments are passed along.
+#****
+mingw32_make() {
+ __mingw_wrapper ${MINGW32_HOST} cygmake "${@}"
+}
+
+#****C* mingw32.cygclass/mingw32_cmake
+# DESCRIPTION
+# Runs cygcmake using the i686 toolchain. Any arguments are passed along.
+#****
+mingw32_cmake() {
+ __mingw_wrapper ${MINGW32_HOST} cygcmake ${MINGW32_CMAKE_ARGS} "${@}"
+}
+
+#****C* mingw32.cygclass/mingw32_meson
+# DESCRIPTION
+# Runs cygmeson using the i686 toolchain. Any arguments are passed along.
+#****
+mingw32_meson() {
+ __MINGW_WRAPPER_NO_CWD=1 \
+ __mingw_wrapper ${MINGW32_HOST} cygmeson ${MINGW32_MESON_ARGS} "${@}"
+}
+
+#****C* mingw32.cygclass/mingw32_ninja
+# DESCRIPTION
+# Runs cygninja using the i686 toolchain. Any arguments are passed along.
+#****
+mingw32_ninja() {
+ __mingw_wrapper ${MINGW32_HOST} cygninja "${@}"
+}
+
+#****C* mingw32.cygclass/mingw32_qt5_qmake
+# DESCRIPTION
+# Runs cygqmake5 using the i686 toolchain. Any arguments are passed along.
+#****
+mingw32_qt5_qmake() {
+ __mingw_wrapper ${MINGW32_HOST} cygqmake5 "${@}"
+}
+
+#****I* mingw32.cygclass/mingw32_make_install
+# DESCRIPTION
+# Runs cyginstall using the i686 toolchain. Any arguments are passed along.
+#****
+mingw32_make_install() {
+ __mingw_wrapper ${MINGW32_HOST} cyginstall "${@}"
+}
+
+#****I* mingw32.cygclass/mingw32_ninja_install
+# DESCRIPTION
+# Runs ninja_install using the i686 toolchain. Any arguments are passed along.
+#****
+mingw32_ninja_install() {
+ DESTDIR=${D} \
+ __mingw_wrapper ${MINGW32_HOST} cygninja install "${@}"
+}
+
+#****I* mingw32.cygclass/mingw32_qt5_qmake_install
+# DESCRIPTION
+# Runs qt5_qmake_install using the i686 toolchain. Any arguments are passed along.
+#****
+mingw32_qt5_qmake_install() {
+ DESTDIR=${D} \
+ __mingw_wrapper ${MINGW32_HOST} qt5_qmake_install "${@}"
+}
+
+readonly -f mingw32_lndirs mingw32_configure mingw32_make mingw32_cmake \
+ mingw32_meson mingw32_ninja mingw32_qt5_qmake mingw32_make_install \
+ mingw32_ninja_install mingw32_qt5_qmake_install
diff --git a/cygclass/mingw64.cygclass b/cygclass/mingw64.cygclass
new file mode 100644
index 0000000..9f08af1
--- /dev/null
+++ b/cygclass/mingw64.cygclass
@@ -0,0 +1,205 @@
+################################################################################
+#
+# mingw64.cygclass - for building cross-compiled MinGW x86_64 packages
+#
+# Part of cygport - Cygwin packaging application
+# Copyright (C) 2006-2020 Cygport authors
+# Provided by the Cygwin project <https://cygwin.com/>
+#
+# cygport is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cygport is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cygport. If not, see <http://www.gnu.org/licenses/>.
+#
+################################################################################
+
+#****h* Cygclasses/mingw64.cygclass
+# DESCRIPTION
+# This cygclass provides the mingw64_* functions and MINGW64_ definitions
+# for cross-compiling packages for Windows/x86 using the MinGW-w64 toolchain.
+# Generally, this cygclass is not inherit'ed directly, but its functions
+# and definitions are used by inherit'ing mingw.cygclass.
+# INHERITED BY
+# mingw.cygclass
+# REQUIRES
+# mingw64-x86_64-gcc-core
+#****
+inherit mingw-internal
+
+#****d* mingw64.cygclass/MINGW64_HOST
+# DESCRIPTION
+# The host triplet for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_TARGET
+# DESCRIPTION
+# The target triplet for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_CC
+# DESCRIPTION
+# The C compiler for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_CXX
+# DESCRIPTION
+# The C++ compiler for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_F77
+# DESCRIPTION
+# The Fortran 77 compiler for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_FC
+# DESCRIPTION
+# The Fortran 95 compiler for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_AR
+# DESCRIPTION
+# The static library archiver for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_DLLTOOL
+# DESCRIPTION
+# The DLL import creation tool for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_NM
+# DESCRIPTION
+# The symbol listing tool for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_RANLIB
+# DESCRIPTION
+# The static library indexer for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_RC
+# DESCRIPTION
+# The Windows resource compiler for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_STRIP
+# DESCRIPTION
+# The symbol remover tool for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_PKG_CONFIG
+# DESCRIPTION
+# The pkg-config tool for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_QT5_QMAKE
+# DESCRIPTION
+# The Qt5 qmake tool for the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_SYSROOT
+# DESCRIPTION
+# The virtual root for files used by the x86_64 toolchain.
+#****
+#****d* mingw64.cygclass/MINGW64_PREFIX
+# DESCRIPTION
+# The prefix directory under the x86_64 sysroot.
+#****
+#****d* mingw64.cygclass/MINGW64_BINDIR
+# DESCRIPTION
+# The bin directory under the x86_64 sysroot
+#****
+#****d* mingw64.cygclass/MINGW64_INCLUDEDIR
+# DESCRIPTION
+# The include directory under the x86_64 sysroot.
+#****
+#****d* mingw64.cygclass/MINGW64_LIBDIR
+# DESCRIPTION
+# The lib directory under the x86_64 sysroot.
+#****
+#****d* mingw64.cygclass/MINGW64_DATADIR
+# DESCRIPTION
+# The data directory under the x86_64 sysroot.
+#****
+
+__mingw_init x86_64 64
+
+#****C* mingw64.cygclass/mingw64_lndirs
+# DESCRIPTION
+# Runs lndirs into the build directory used by other mingw64_* functions.
+#****
+mingw64_lndirs() {
+ __mingw_wrapper ${MINGW64_HOST} lndirs ${S}
+}
+
+#****C* mingw64.cygclass/mingw64_configure
+# DESCRIPTION
+# Runs cygconf using the x86_64 toolchain. Any arguments are passed along.
+#****
+mingw64_configure() {
+ __mingw_wrapper ${MINGW64_HOST} cygconf ${MINGW64_CONFIGURE_ARGS} "${@}"
+}
+
+#****C* mingw64.cygclass/mingw64_make
+# DESCRIPTION
+# Runs cygmake using the x86_64 toolchain. Any arguments are passed along.
+#****
+mingw64_make() {
+ __mingw_wrapper ${MINGW64_HOST} cygmake "${@}"
+}
+
+#****C* mingw64.cygclass/mingw64_cmake
+# DESCRIPTION
+# Runs cygcmake using the x86_64 toolchain. Any arguments are passed along.
+#****
+mingw64_cmake() {
+ __mingw_wrapper ${MINGW64_HOST} cygcmake ${MINGW64_CMAKE_ARGS} "${@}"
+}
+
+#****C* mingw64.cygclass/mingw64_meson
+# DESCRIPTION
+# Runs cygmeson using the x86_64 toolchain. Any arguments are passed along.
+#****
+mingw64_meson() {
+ __MINGW_WRAPPER_NO_CWD=1 \
+ __mingw_wrapper ${MINGW64_HOST} cygmeson ${MINGW64_MESON_ARGS} "${@}"
+}
+
+#****C* mingw64.cygclass/mingw64_ninja
+# DESCRIPTION
+# Runs cygninja using the x86_64 toolchain. Any arguments are passed along.
+#****
+mingw64_ninja() {
+ __mingw_wrapper ${MINGW64_HOST} cygninja "${@}"
+}
+
+#****C* mingw64.cygclass/mingw64_qt5_qmake
+# DESCRIPTION
+# Runs cygqmake5 using the x86_64 toolchain. Any arguments are passed along.
+#****
+mingw64_qt5_qmake() {
+ __mingw_wrapper ${MINGW64_HOST} cygqmake5 "${@}"
+}
+
+#****I* mingw64.cygclass/mingw64_make_install
+# DESCRIPTION
+# Runs cyginstall using the x86_64 toolchain. Any arguments are passed along.
+#****
+mingw64_make_install() {
+ __mingw_wrapper ${MINGW64_HOST} cyginstall "${@}"
+}
+
+#****I* mingw64.cygclass/mingw64_ninja_install
+# DESCRIPTION
+# Runs ninja_install using the x86_64 toolchain. Any arguments are passed along.
+#****
+mingw64_ninja_install() {
+ DESTDIR=${D} \
+ __mingw_wrapper ${MINGW64_HOST} cygninja install "${@}"
+}
+
+#****I* mingw64.cygclass/mingw64_qt5_qmake_install
+# DESCRIPTION
+# Runs qt5_qmake_install using the x86_64 toolchain. Any arguments are passed along.
+#****
+mingw64_qt5_qmake_install() {
+ DESTDIR=${D} \
+ __mingw_wrapper ${MINGW64_HOST} qt5_qmake_install "${@}"
+}
+
+readonly -f mingw64_lndirs mingw64_configure mingw64_make mingw64_cmake \
+ mingw64_meson mingw64_ninja mingw64_qt5_qmake mingw64_make_install \
+ mingw64_ninja_install mingw64_qt5_qmake_install
diff --git a/cygclass/mingwarm32.cygclass b/cygclass/mingwarm32.cygclass
new file mode 100644
index 0000000..5cc9877
--- /dev/null
+++ b/cygclass/mingwarm32.cygclass
@@ -0,0 +1,205 @@
+################################################################################
+#
+# mingwarm32.cygclass - for building cross-compiled MinGW armv7 packages
+#
+# Part of cygport - Cygwin packaging application
+# Copyright (C) 2006-2020 Cygport authors
+# Provided by the Cygwin project <https://cygwin.com/>
+#
+# cygport is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cygport is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cygport. If not, see <http://www.gnu.org/licenses/>.
+#
+################################################################################
+
+#****h* Cygclasses/mingwarm32.cygclass
+# DESCRIPTION
+# This cygclass provides the mingwarm32_* functions and MINGWARM32_ definitions
+# for cross-compiling packages for Windows/x86 using the MinGW-w64 toolchain.
+# Generally, this cygclass is not inherit'ed directly, but its functions
+# and definitions are used by inherit'ing mingw.cygclass.
+# INHERITED BY
+# mingw.cygclass
+# REQUIRES
+# mingw64-armv7-gcc-core
+#****
+inherit mingw-internal
+
+#****d* mingwarm32.cygclass/MINGWARM32_HOST
+# DESCRIPTION
+# The host triplet for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_TARGET
+# DESCRIPTION
+# The target triplet for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_CC
+# DESCRIPTION
+# The C compiler for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_CXX
+# DESCRIPTION
+# The C++ compiler for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_F77
+# DESCRIPTION
+# The Fortran 77 compiler for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_FC
+# DESCRIPTION
+# The Fortran 95 compiler for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_AR
+# DESCRIPTION
+# The static library archiver for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_DLLTOOL
+# DESCRIPTION
+# The DLL import creation tool for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_NM
+# DESCRIPTION
+# The symbol listing tool for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_RANLIB
+# DESCRIPTION
+# The static library indexer for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_RC
+# DESCRIPTION
+# The Windows resource compiler for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_STRIP
+# DESCRIPTION
+# The symbol remover tool for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_PKG_CONFIG
+# DESCRIPTION
+# The pkg-config tool for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_QT5_QMAKE
+# DESCRIPTION
+# The Qt5 qmake tool for the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_SYSROOT
+# DESCRIPTION
+# The virtual root for files used by the armv7 toolchain.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_PREFIX
+# DESCRIPTION
+# The prefix directory under the armv7 sysroot.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_BINDIR
+# DESCRIPTION
+# The bin directory under the armv7 sysroot
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_INCLUDEDIR
+# DESCRIPTION
+# The include directory under the armv7 sysroot.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_LIBDIR
+# DESCRIPTION
+# The lib directory under the armv7 sysroot.
+#****
+#****d* mingwarm32.cygclass/MINGWARM32_DATADIR
+# DESCRIPTION
+# The data directory under the armv7 sysroot.
+#****
+
+__mingw_init armv7 ARM32
+
+#****C* mingwarm32.cygclass/mingwarm32_lndirs
+# DESCRIPTION
+# Runs lndirs into the build directory used by other mingwarm32_* functions.
+#****
+mingwarm32_lndirs() {
+ __mingw_wrapper ${MINGWARM32_HOST} lndirs ${S}
+}
+
+#****C* mingwarm32.cygclass/mingwarm32_configure
+# DESCRIPTION
+# Runs cygconf using the armv7 toolchain. Any arguments are passed along.
+#****
+mingwarm32_configure() {
+ __mingw_wrapper ${MINGWARM32_HOST} cygconf ${MINGWARM32_CONFIGURE_ARGS} "${@}"
+}
+
+#****C* mingwarm32.cygclass/mingwarm32_make
+# DESCRIPTION
+# Runs cygmake using the armv7 toolchain. Any arguments are passed along.
+#****
+mingwarm32_make() {
+ __mingw_wrapper ${MINGWARM32_HOST} cygmake "${@}"
+}
+
+#****C* mingwarm32.cygclass/mingwarm32_cmake
+# DESCRIPTION
+# Runs cygcmake using the armv7 toolchain. Any arguments are passed along.
+#****
+mingwarm32_cmake() {
+ __mingw_wrapper ${MINGWARM32_HOST} cygcmake ${MINGWARM32_CMAKE_ARGS} "${@}"
+}
+
+#****C* mingwarm32.cygclass/mingwarm32_meson
+# DESCRIPTION
+# Runs cygmeson using the armv7 toolchain. Any arguments are passed along.
+#****
+mingwarm32_meson() {
+ __MINGW_WRAPPER_NO_CWD=1 \
+ __mingw_wrapper ${MINGWARM32_HOST} cygmeson ${MINGWARM32_MESON_ARGS} "${@}"
+}
+
+#****C* mingwarm32.cygclass/mingwarm32_ninja
+# DESCRIPTION
+# Runs cygninja using the armv7 toolchain. Any arguments are passed along.
+#****
+mingwarm32_ninja() {
+ __mingw_wrapper ${MINGWARM32_HOST} cygninja "${@}"
+}
+
+#****C* mingwarm32.cygclass/mingwarm32_qt5_qmake
+# DESCRIPTION
+# Runs cygqmake5 using the armv7 toolchain. Any arguments are passed along.
+#****
+mingwarm32_qt5_qmake() {
+ __mingw_wrapper ${MINGWARM32_HOST} cygqmake5 "${@}"
+}
+
+#****I* mingwarm32.cygclass/mingwarm32_make_install
+# DESCRIPTION
+# Runs cyginstall using the armv7 toolchain. Any arguments are passed along.
+#****
+mingwarm32_make_install() {
+ __mingw_wrapper ${MINGWARM32_HOST} cyginstall "${@}"
+}
+
+#****I* mingwarm32.cygclass/mingwarm32_ninja_install
+# DESCRIPTION
+# Runs ninja_install using the armv7 toolchain. Any arguments are passed along.
+#****
+mingwarm32_ninja_install() {
+ DESTDIR=${D} \
+ __mingw_wrapper ${MINGWARM32_HOST} cygninja install "${@}"
+}
+
+#****I* mingwarm32.cygclass/mingwarm32_qt5_qmake_install
+# DESCRIPTION
+# Runs qt5_qmake_install using the armv7 toolchain. Any arguments are passed along.
+#****
+mingwarm32_qt5_qmake_install() {
+ DESTDIR=${D} \
+ __mingw_wrapper ${MINGWARM32_HOST} qt5_qmake_install "${@}"
+}
+
+readonly -f mingwarm32_lndirs mingwarm32_configure mingwarm32_make mingwarm32_cmake \
+ mingwarm32_meson mingwarm32_ninja mingwarm32_qt5_qmake mingwarm32_make_install \
+ mingwarm32_ninja_install mingwarm32_qt5_qmake_install
diff --git a/cygclass/mingwarm64.cygclass b/cygclass/mingwarm64.cygclass
new file mode 100644
index 0000000..5e980d3
--- /dev/null
+++ b/cygclass/mingwarm64.cygclass
@@ -0,0 +1,205 @@
+################################################################################
+#
+# mingwarm64.cygclass - for building cross-compiled MinGW aarch64 packages
+#
+# Part of cygport - Cygwin packaging application
+# Copyright (C) 2006-2020 Cygport authors
+# Provided by the Cygwin project <https://cygwin.com/>
+#
+# cygport is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cygport is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cygport. If not, see <http://www.gnu.org/licenses/>.
+#
+################################################################################
+
+#****h* Cygclasses/mingwarm64.cygclass
+# DESCRIPTION
+# This cygclass provides the mingwarm64_* functions and MINGWARM64_ definitions
+# for cross-compiling packages for Windows/x86 using the MinGW-w64 toolchain.
+# Generally, this cygclass is not inherit'ed directly, but its functions
+# and definitions are used by inherit'ing mingw.cygclass.
+# INHERITED BY
+# mingw.cygclass
+# REQUIRES
+# mingw64-aarch64-gcc-core
+#****
+inherit mingw-internal
+
+#****d* mingwarm64.cygclass/MINGWARM64_HOST
+# DESCRIPTION
+# The host triplet for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_TARGET
+# DESCRIPTION
+# The target triplet for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_CC
+# DESCRIPTION
+# The C compiler for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_CXX
+# DESCRIPTION
+# The C++ compiler for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_F77
+# DESCRIPTION
+# The Fortran 77 compiler for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_FC
+# DESCRIPTION
+# The Fortran 95 compiler for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_AR
+# DESCRIPTION
+# The static library archiver for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_DLLTOOL
+# DESCRIPTION
+# The DLL import creation tool for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_NM
+# DESCRIPTION
+# The symbol listing tool for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_RANLIB
+# DESCRIPTION
+# The static library indexer for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_RC
+# DESCRIPTION
+# The Windows resource compiler for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_STRIP
+# DESCRIPTION
+# The symbol remover tool for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_PKG_CONFIG
+# DESCRIPTION
+# The pkg-config tool for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_QT5_QMAKE
+# DESCRIPTION
+# The Qt5 qmake tool for the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_SYSROOT
+# DESCRIPTION
+# The virtual root for files used by the aarch64 toolchain.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_PREFIX
+# DESCRIPTION
+# The prefix directory under the aarch64 sysroot.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_BINDIR
+# DESCRIPTION
+# The bin directory under the aarch64 sysroot
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_INCLUDEDIR
+# DESCRIPTION
+# The include directory under the aarch64 sysroot.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_LIBDIR
+# DESCRIPTION
+# The lib directory under the aarch64 sysroot.
+#****
+#****d* mingwarm64.cygclass/MINGWARM64_DATADIR
+# DESCRIPTION
+# The data directory under the aarch64 sysroot.
+#****
+
+__mingw_init aarch64 ARM64
+
+#****C* mingwarm64.cygclass/mingwarm64_lndirs
+# DESCRIPTION
+# Runs lndirs into the build directory used by other mingwarm64_* functions.
+#****
+mingwarm64_lndirs() {
+ __mingw_wrapper ${MINGWARM64_HOST} lndirs ${S}
+}
+
+#****C* mingwarm64.cygclass/mingwarm64_configure
+# DESCRIPTION
+# Runs cygconf using the aarch64 toolchain. Any arguments are passed along.
+#****
+mingwarm64_configure() {
+ __mingw_wrapper ${MINGWARM64_HOST} cygconf ${MINGWARM64_CONFIGURE_ARGS} "${@}"
+}
+
+#****C* mingwarm64.cygclass/mingwarm64_make
+# DESCRIPTION
+# Runs cygmake using the aarch64 toolchain. Any arguments are passed along.
+#****
+mingwarm64_make() {
+ __mingw_wrapper ${MINGWARM64_HOST} cygmake "${@}"
+}
+
+#****C* mingwarm64.cygclass/mingwarm64_cmake
+# DESCRIPTION
+# Runs cygcmake using the aarch64 toolchain. Any arguments are passed along.
+#****
+mingwarm64_cmake() {
+ __mingw_wrapper ${MINGWARM64_HOST} cygcmake ${MINGWARM64_CMAKE_ARGS} "${@}"
+}
+
+#****C* mingwarm64.cygclass/mingwarm64_meson
+# DESCRIPTION
+# Runs cygmeson using the aarch64 toolchain. Any arguments are passed along.
+#****
+mingwarm64_meson() {
+ __MINGW_WRAPPER_NO_CWD=1 \
+ __mingw_wrapper ${MINGWARM64_HOST} cygmeson ${MINGWARM64_MESON_ARGS} "${@}"
+}
+
+#****C* mingwarm64.cygclass/mingwarm64_ninja
+# DESCRIPTION
+# Runs cygninja using the aarch64 toolchain. Any arguments are passed along.
+#****
+mingwarm64_ninja() {
+ __mingw_wrapper ${MINGWARM64_HOST} cygninja "${@}"
+}
+
+#****C* mingwarm64.cygclass/mingwarm64_qt5_qmake
+# DESCRIPTION
+# Runs cygqmake5 using the aarch64 toolchain. Any arguments are passed along.
+#****
+mingwarm64_qt5_qmake() {
+ __mingw_wrapper ${MINGWARM64_HOST} cygqmake5 "${@}"
+}
+
+#****I* mingwarm64.cygclass/mingwarm64_make_install
+# DESCRIPTION
+# Runs cyginstall using the aarch64 toolchain. Any arguments are passed along.
+#****
+mingwarm64_make_install() {
+ __mingw_wrapper ${MINGWARM64_HOST} cyginstall "${@}"
+}
+
+#****I* mingwarm64.cygclass/mingwarm64_ninja_install
+# DESCRIPTION
+# Runs ninja_install using the aarch64 toolchain. Any arguments are passed along.
+#****
+mingwarm64_ninja_install() {
+ DESTDIR=${D} \
+ __mingw_wrapper ${MINGWARM64_HOST} cygninja install "${@}"
+}
+
+#****I* mingwarm64.cygclass/mingwarm64_qt5_qmake_install
+# DESCRIPTION
+# Runs qt5_qmake_install using the aarch64 toolchain. Any arguments are passed along.
+#****
+mingwarm64_qt5_qmake_install() {
+ DESTDIR=${D} \
+ __mingw_wrapper ${MINGWARM64_HOST} qt5_qmake_install "${@}"
+}
+
+readonly -f mingwarm64_lndirs mingwarm64_configure mingwarm64_make mingwarm64_cmake \
+ mingwarm64_meson mingwarm64_ninja mingwarm64_qt5_qmake mingwarm64_make_install \
+ mingwarm64_ninja_install mingwarm64_qt5_qmake_install
diff --git a/testsuite/mingw/make/mingw-crypt.cygport b/testsuite/mingw/make/mingw-crypt.cygport
index fb694bb..e0c6621 100644
--- a/testsuite/mingw/make/mingw-crypt.cygport
+++ b/testsuite/mingw/make/mingw-crypt.cygport
@@ -16,13 +16,8 @@ PATCH_URI="1.1-mingw.patch"
src_compile() {
cd ${B}
-
- mkdir -p ${B}/${MINGW32_TARGET}
- lndirs ${S} ${B}/${MINGW32_TARGET}
+ mingw_lndirs
mingw32_make CC=${MINGW32_CC} AR=${MINGW32_AR}
-
- mkdir -p ${B}/${MINGW64_TARGET}
- lndirs ${S} ${B}/${MINGW64_TARGET}
mingw64_make CC=${MINGW64_CC} AR=${MINGW64_AR}
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-05-11 15:48 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-11 15:48 [cygport - the Cygwin packaging tool] branch topic/mingw, updated. 0.34.0-30-gc052276 Yaakov Selkowitz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).