Update mingw-w64 runtime for cross-compiler to git SHA [4421b4a]

This commit is contained in:
Alexpux
2015-05-07 22:48:16 +03:00
parent fe5800e8b8
commit 46f0d5a073
5 changed files with 99 additions and 38 deletions

View File

@@ -6,8 +6,7 @@ pkgname="${_mingw_suff}-${_realname}-git"
replaces="${_mingw_suff}-${_realname}"
provides=("${_mingw_suff}-${_realname}")
conflicts=("${_mingw_suff}-${_realname}")
_ver_base=4.0.0
pkgver=4.0.0.4384.404d457
pkgver=5.0.0.4501.4421b4a
pkgrel=1
pkgdesc='MinGW-w64 CRT for cross-compiler'
arch=('i686' 'x86_64')
@@ -17,14 +16,17 @@ groups=("${_mingw_suff}-toolchain" "${_mingw_suff}")
depends=("${_mingw_suff}-headers")
makedepends=("git" "${_mingw_suff}-gcc" "${_mingw_suff}-binutils")
options=('!strip' 'staticlibs' '!emptydirs' '!buildflags')
source=("${_realname}"::"git://git.code.sf.net/p/mingw-w64/mingw-w64")
md5sums=(SKIP)
source=("mingw-w64"::"git://git.code.sf.net/p/mingw-w64/mingw-w64")
md5sums=('SKIP')
_targets="i686-w64-mingw32 x86_64-w64-mingw32"
pkgver() {
cd "$srcdir/$_realname"
printf "%s.%s.%s" "$_ver_base" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
cd "$srcdir/mingw-w64"
local _major=$(head -n 16 mingw-w64-headers/crt/_mingw_mac.h | grep '__MINGW64_VERSION_MAJOR' | sed -e 's/.* //' | tr '\n' '.' | sed 's/.$/\n/')
local _minor=$(head -n 16 mingw-w64-headers/crt/_mingw_mac.h | grep '__MINGW64_VERSION_MINOR' | sed -e 's/.* //' | tr '\n' '.' | sed 's/.$/\n/')
local _rev=0
printf "%s.%s.%s.%s.%s" ${_major} ${_minor} ${_rev} "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
@@ -39,7 +41,7 @@ build() {
;;
esac
mkdir -p ${srcdir}/crt-${_target} && cd ${srcdir}/crt-${_target}
${srcdir}/${_realname}/mingw-w64-crt/configure \
${srcdir}/mingw-w64/mingw-w64-crt/configure \
--build=${CHOST} \
--prefix=/opt/${_target} \
--host=${_target} \
@@ -51,9 +53,8 @@ build() {
package() {
for _target in ${_targets}; do
msg "Installing ${_target} crt"
cd ${srcdir}/crt-${_target}
make DESTDIR=${pkgdir} install
msg "Installing ${_target} crt"
cd ${srcdir}/crt-${_target}
make DESTDIR=${pkgdir} install
done
}

View File

@@ -7,8 +7,7 @@ replaces="${_mingw_suff}-${_realname}"
provides=("${_mingw_suff}-${_realname}")
conflicts=("${_mingw_suff}-${_realname}")
pkgdesc="MinGW-w64 headers for cross-compiler"
_ver_base=4.0.0
pkgver=4.0.0.4384.404d457
pkgver=5.0.0.4501.4421b4a
pkgrel=1
arch=('i686' 'x86_64')
url="http://mingw-w64.sourceforge.net"
@@ -16,21 +15,24 @@ license=('custom')
groups=("${_mingw_suff}-toolchain" "${_mingw_suff}")
makedepends=('git')
options=('!strip' '!libtool' '!emptydirs' '!buildflags')
source=("${_realname}"::"git://git.code.sf.net/p/mingw-w64/mingw-w64")
md5sums=(SKIP)
source=("mingw-w64"::"git://git.code.sf.net/p/mingw-w64/mingw-w64")
md5sums=('SKIP')
_targets="i686-w64-mingw32 x86_64-w64-mingw32"
pkgver() {
cd "$srcdir/$_realname"
printf "%s.%s.%s" "$_ver_base" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
cd "$srcdir/mingw-w64"
local _major=$(head -n 16 mingw-w64-headers/crt/_mingw_mac.h | grep '__MINGW64_VERSION_MAJOR' | sed -e 's/.* //' | tr '\n' '.' | sed 's/.$/\n/')
local _minor=$(head -n 16 mingw-w64-headers/crt/_mingw_mac.h | grep '__MINGW64_VERSION_MINOR' | sed -e 's/.* //' | tr '\n' '.' | sed 's/.$/\n/')
local _rev=0
printf "%s.%s.%s.%s.%s" ${_major} ${_minor} ${_rev} "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
for _target in ${_targets}; do
msg "Configuring ${_target} headers"
mkdir -p ${srcdir}/headers-${_target} && cd ${srcdir}/headers-${_target}
${srcdir}/${_realname}/mingw-w64-headers/configure \
${srcdir}/mingw-w64/mingw-w64-headers/configure \
--build=${CHOST} \
--host=${_target} \
--prefix=/opt/${_target} \

View File

@@ -0,0 +1,46 @@
From c402bcc0139033a365f30e00caecff9f8be40974 Mon Sep 17 00:00:00 2001
From: Ray Donnelly <mingw.android@gmail.com>
Date: Fri, 7 Nov 2014 22:43:58 +0000
Subject: [PATCH] Define __{de,}register_frame_info in fake libgcc_s
---
mingw-w64-libraries/winpthreads/Makefile.am | 2 +-
mingw-w64-libraries/winpthreads/src/libgcc/dll_frame_info.c | 12 ++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
create mode 100644 mingw-w64-libraries/winpthreads/src/libgcc/dll_frame_info.c
diff --git a/mingw-w64-libraries/winpthreads/Makefile.am b/mingw-w64-libraries/winpthreads/Makefile.am
index 231c313..6d3b857 100644
--- a/mingw-w64-libraries/winpthreads/Makefile.am
+++ b/mingw-w64-libraries/winpthreads/Makefile.am
@@ -18,7 +18,7 @@ libwinpthread_la_SOURCES = \
# Break circular dep on bootstrap
noinst_LIBRARIES = fakelib/libgcc.a fakelib/libgcc_eh.a fakelib/libgcc_s.a
fakelib_libgcc_a_SOURCES = src/libgcc/dll_dependency.S src/libgcc/dll_math.c
-fakelib_libgcc_s_a_SOURCES =
+fakelib_libgcc_s_a_SOURCES = src/libgcc/dll_frame_info.c
fakelib_libgcc_eh_a_SOURCES =
lib_LIBRARIES =
diff --git a/mingw-w64-libraries/winpthreads/src/libgcc/dll_frame_info.c b/mingw-w64-libraries/winpthreads/src/libgcc/dll_frame_info.c
new file mode 100644
index 0000000..115ac12
--- /dev/null
+++ b/mingw-w64-libraries/winpthreads/src/libgcc/dll_frame_info.c
@@ -0,0 +1,13 @@
+/* Because of:
+ https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-gcc/955-4.9.2-apply-hack-so-gcc_s-isnt-stripped.patch
+ .. we need to define these functions.
+*/
+
+void __register_frame_info (__attribute__((unused)) const void *vp, __attribute__((unused)) void *op)
+{
+}
+
+void *__deregister_frame_info (__attribute__((unused)) const void *vp)
+{
+ return (void *)0;
+}
--
2.1.3

View File

@@ -6,8 +6,7 @@ pkgname="${_mingw_suff}-${_realname}-git"
replaces="${_mingw_suff}-${_realname}"
provides=("${_mingw_suff}-${_realname}")
conflicts=("${_mingw_suff}-${_realname}")
_ver_base=4.0.0
pkgver=4.0.0.4305.9bd8fe9
pkgver=5.0.0.4501.4421b4a
pkgrel=1
pkgdesc="MinGW-w64 winpthreads library for cross-compiler"
arch=('i686' 'x86_64')
@@ -19,20 +18,32 @@ depends=("${_mingw_suff}-crt")
optdepends=()
backup=()
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs' '!buildflags')
source=("${_realname}"::"git://git.code.sf.net/p/mingw-w64/mingw-w64")
md5sums=(SKIP)
source=("mingw-w64"::"git://git.code.sf.net/p/mingw-w64/mingw-w64"
0001-Define-__-de-register_frame_info-in-fake-libgcc_s.patch)
md5sums=('SKIP'
'74a4dab06a8fa113407a6e11fdb3c962')
_targets="i686-w64-mingw32 x86_64-w64-mingw32"
pkgver() {
cd "$srcdir/$_realname"
printf "%s.%s.%s" "$_ver_base" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
cd "$srcdir/mingw-w64"
local _major=$(head -n 16 mingw-w64-headers/crt/_mingw_mac.h | grep '__MINGW64_VERSION_MAJOR' | sed -e 's/.* //' | tr '\n' '.' | sed 's/.$/\n/')
local _minor=$(head -n 16 mingw-w64-headers/crt/_mingw_mac.h | grep '__MINGW64_VERSION_MINOR' | sed -e 's/.* //' | tr '\n' '.' | sed 's/.$/\n/')
local _rev=0
printf "%s.%s.%s.%s.%s" ${_major} ${_minor} ${_rev} "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
prepare() {
cd "$srcdir/mingw-w64"
git am "${srcdir}"/0001-Define-__-de-register_frame_info-in-fake-libgcc_s.patch
cd "${srcdir}"/mingw-w64/mingw-w64-libraries/winpthreads
autoreconf -vfi
}
build() {
for _target in ${_targets}; do
mkdir -p ${srcdir}/winpthreads-build-${_target} && cd ${srcdir}/winpthreads-build-${_target}
${srcdir}/${_realname}/mingw-w64-libraries/winpthreads/configure \
${srcdir}/mingw-w64/mingw-w64-libraries/winpthreads/configure \
--prefix=/opt/${_target} \
--build=${CHOST} \
--host=${_target} \
@@ -44,7 +55,7 @@ build() {
package() {
for _target in ${_targets}; do
cd ${srcdir}/winpthreads-build-${_target}
make DESTDIR=${pkgdir} install
cd ${srcdir}/winpthreads-build-${_target}
make DESTDIR=${pkgdir} install
done
}

View File

@@ -6,8 +6,7 @@ pkgname="${_mingw_suff}-${_realname}-git"
replaces="${_mingw_suff}-${_realname}"
provides=("${_mingw_suff}-${_realname}")
conflicts=("${_mingw_suff}-${_realname}")
_ver_base=4.0.0
pkgver=4.0.0.4327.31a1d26
pkgver=5.0.0.4501.4421b4a
pkgrel=1
pkgdesc="MinGW-w64 winRT compat library"
arch=('i686' 'x86_64')
@@ -19,21 +18,23 @@ depends=("${_mingw_suff}-crt")
optdepends=()
backup=()
options=('!strip' '!buildflags' 'staticlibs' '!emptydirs' '!buildflags')
source=("${_realname}"::"git://git.code.sf.net/p/mingw-w64/mingw-w64")
md5sums=(SKIP)
source=("mingw-w64"::"git://git.code.sf.net/p/mingw-w64/mingw-w64")
md5sums=('SKIP')
_targets="x86_64-w64-mingw32"
#_targets="i686-w64-mingw32 x86_64-w64-mingw32"
_targets="i686-w64-mingw32 x86_64-w64-mingw32"
pkgver() {
cd "$srcdir/$_realname"
printf "%s.%s.%s" "$_ver_base" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
cd "$srcdir/mingw-w64"
local _major=$(head -n 16 mingw-w64-headers/crt/_mingw_mac.h | grep '__MINGW64_VERSION_MAJOR' | sed -e 's/.* //' | tr '\n' '.' | sed 's/.$/\n/')
local _minor=$(head -n 16 mingw-w64-headers/crt/_mingw_mac.h | grep '__MINGW64_VERSION_MINOR' | sed -e 's/.* //' | tr '\n' '.' | sed 's/.$/\n/')
local _rev=0
printf "%s.%s.%s.%s.%s" ${_major} ${_minor} ${_rev} "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
for _target in ${_targets}; do
mkdir -p ${srcdir}/build-${_target} && cd ${srcdir}/build-${_target}
${srcdir}/${_realname}/mingw-w64-libraries/winstorecompat/configure \
${srcdir}/mingw-w64/mingw-w64-libraries/winstorecompat/configure \
--prefix=/opt/${_target} \
--build=${CHOST} \
--host=${_target}
@@ -43,7 +44,7 @@ build() {
package() {
for _target in ${_targets}; do
cd ${srcdir}/build-${_target}
make DESTDIR=${pkgdir} install
cd ${srcdir}/build-${_target}
make DESTDIR=${pkgdir} install
done
}