79 lines
2.5 KiB
Bash
79 lines
2.5 KiB
Bash
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
|
|
# Contributor: Martell Malone <martellmalone@gmail.com>
|
|
|
|
_realname=headers
|
|
_mingw_suff=mingw-w64-cross
|
|
pkgbase="${_mingw_suff}-mingwarm64-${_realname}"
|
|
_targetpkgs=("${_mingw_suff}-mingwarm64-${_realname}")
|
|
pkgname=("${_targetpkgs[@]}")
|
|
pkgver=13.0.0dev
|
|
pkgrel=1
|
|
pkgdesc="MinGW-w64 headers for cross-compiler"
|
|
arch=('i686' 'x86_64')
|
|
url="https://www.mingw-w64.org/"
|
|
msys2_repository_url="https://github.com/Windows-on-ARM-Experiments/mingw-woarm64"
|
|
license=('custom')
|
|
groups=("${_mingw_suff}-toolchain" "${_mingw_suff}")
|
|
makedepends=('git' 'autotools')
|
|
options=('!strip' '!libtool' '!emptydirs' '!buildflags')
|
|
_commit='9d8da7d28c75dd70bcd7b6b5f9b360ebfe13194a'
|
|
source=("mingw-w64"::"git+https://github.com/Windows-on-ARM-Experiments/mingw-woarm64.git#commit=$_commit")
|
|
sha256sums=('1900fb686ee98ef7b55297d7e5298b01b1c1be2d4ca61f2c0fb39bb1dc1a7858')
|
|
msys2_references=(
|
|
'archlinux: mingw-w64-headers'
|
|
'cpe: cpe:/a:mingw-w64:mingw-w64'
|
|
)
|
|
|
|
_build() {
|
|
_target=$1
|
|
unset CC CXX
|
|
|
|
if [[ "${_target}" == "x86_64-w64-mingw32ucrt" ]]; then
|
|
_default_msvcrt=ucrt
|
|
_default_win32_winnt=0x603 # Windows 8.1
|
|
elif [[ "${_target}" == "aarch64-w64-mingw32" ]]; then
|
|
_default_msvcrt=ucrt
|
|
_default_win32_winnt=0xA00 # Windows 10
|
|
else
|
|
_default_msvcrt=msvcrt
|
|
_default_win32_winnt=0x601 # Windows 7
|
|
fi
|
|
|
|
msg "Configuring ${_target} headers"
|
|
mkdir -p ${srcdir}/headers-${_target} && cd ${srcdir}/headers-${_target}
|
|
${srcdir}/mingw-w64/mingw-w64-headers/configure \
|
|
--build=${CHOST} \
|
|
--host=${_target} \
|
|
--prefix=/opt/${_target} \
|
|
--enable-sdk=all \
|
|
--with-default-win32-winnt=${_default_win32_winnt} \
|
|
--with-default-msvcrt=${_default_msvcrt}
|
|
}
|
|
|
|
_package() {
|
|
_target=$1
|
|
msg "Installing ${_target} headers"
|
|
cd ${srcdir}/headers-${_target}
|
|
make DESTDIR=${pkgdir} install
|
|
|
|
rm ${pkgdir}/opt/${_target}/include/pthread_signal.h
|
|
rm ${pkgdir}/opt/${_target}/include/pthread_time.h
|
|
rm ${pkgdir}/opt/${_target}/include/pthread_unistd.h
|
|
}
|
|
|
|
build() {
|
|
for _pkg in "${_targetpkgs[@]}"; do
|
|
case "$_pkg" in
|
|
"${_mingw_suff}-ucrt64-${_realname}") _build "x86_64-w64-mingw32ucrt" ;;
|
|
"${_mingw_suff}-mingw32-${_realname}") _build "i686-w64-mingw32" ;;
|
|
"${_mingw_suff}-mingw64-${_realname}") _build "x86_64-w64-mingw32" ;;
|
|
"${_mingw_suff}-mingwarm64-${_realname}") _build "aarch64-w64-mingw32" ;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
package_mingw-w64-cross-mingwarm64-headers() {
|
|
conflicts=("${_mingw_suff}-${_realname}<=12.0.0.r0.g819a6ec2e-1")
|
|
_package "aarch64-w64-mingw32"
|
|
}
|