summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-09-25 05:37:55 +0000
committerMike Frysinger <vapier@gentoo.org>2012-09-25 05:37:55 +0000
commit41b031cbc29e33aa4a930352963e3731d1d563f2 (patch)
tree67f732fcb9cac89ead3c04ef62854844003313d2 /media-libs
parentStable on alpha, bug 435228. (diff)
downloadgentoo-2-41b031cbc29e33aa4a930352963e3731d1d563f2.tar.gz
gentoo-2-41b031cbc29e33aa4a930352963e3731d1d563f2.tar.bz2
gentoo-2-41b031cbc29e33aa4a930352963e3731d1d563f2.zip
Initial x32 ABI support #426248 by devsk.
(Portage version: 2.2.0_alpha131/cvs/Linux x86_64)
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/libvpx/ChangeLog6
-rw-r--r--media-libs/libvpx/files/libvpx-1.1.0-x32.patch64
-rw-r--r--media-libs/libvpx/libvpx-1.1.0.ebuild9
3 files changed, 75 insertions, 4 deletions
diff --git a/media-libs/libvpx/ChangeLog b/media-libs/libvpx/ChangeLog
index 24c62c1798da..09258e794dff 100644
--- a/media-libs/libvpx/ChangeLog
+++ b/media-libs/libvpx/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for media-libs/libvpx
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/libvpx/ChangeLog,v 1.65 2012/08/16 23:03:00 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libvpx/ChangeLog,v 1.66 2012/09/25 05:37:55 vapier Exp $
+
+ 25 Sep 2012; Mike Frysinger <vapier@gentoo.org> +files/libvpx-1.1.0-x32.patch,
+ libvpx-1.1.0.ebuild:
+ Initial x32 ABI support #426248 by devsk.
16 Aug 2012; Mike Frysinger <vapier@gentoo.org> libvpx-1.1.0.ebuild,
libvpx-9999.ebuild:
diff --git a/media-libs/libvpx/files/libvpx-1.1.0-x32.patch b/media-libs/libvpx/files/libvpx-1.1.0-x32.patch
new file mode 100644
index 000000000000..bcacdbf4c79d
--- /dev/null
+++ b/media-libs/libvpx/files/libvpx-1.1.0-x32.patch
@@ -0,0 +1,64 @@
+https://bugs.gentoo.org/426248
+
+From c769945318b84b5c823091213634a4db0cdc5be5 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 25 Sep 2012 00:37:11 -0400
+Subject: [PATCH] check for x32 targets
+
+Add configure detection of the new x32 ABI.
+---
+ build/make/configure.sh | 5 +++++
+ vpx_ports/x86_abi_support.asm | 10 ++++++++++
+ 2 files changed, 15 insertions(+)
+
+diff --git a/build/make/configure.sh b/build/make/configure.sh
+index eeb959a..05bbabe 100755
+--- a/build/make/configure.sh
++++ b/build/make/configure.sh
+@@ -989,6 +989,11 @@ process_common_toolchain() {
+ x86*)
+ bits=32
+ enabled x86_64 && bits=64
++ check_cpp <<EOF && bits=x32
++#ifndef __ILP32__
++#error "not x32"
++#endif
++EOF
+ soft_enable runtime_cpu_detect
+ soft_enable mmx
+ soft_enable sse
+diff --git a/vpx_ports/x86_abi_support.asm b/vpx_ports/x86_abi_support.asm
+index e1a540c..0c9fe37 100644
+--- a/vpx_ports/x86_abi_support.asm
++++ b/vpx_ports/x86_abi_support.asm
+@@ -88,6 +88,8 @@
+ %define sym(x) x
+ %elifidn __OUTPUT_FORMAT__,elf64
+ %define sym(x) x
++%elifidn __OUTPUT_FORMAT__,elfx32
++%define sym(x) x
+ %elifidn __OUTPUT_FORMAT__,x64
+ %define sym(x) x
+ %else
+@@ -223,6 +227,9 @@
+ %ifidn __OUTPUT_FORMAT__,elf64
+ %define WRT_PLT wrt ..plt
+ %define HIDDEN_DATA(x) x:data hidden
++ %elifidn __OUTPUT_FORMAT__,elfx32
++ %define WRT_PLT wrt ..plt
++ %define HIDDEN_DATA(x) x:data hidden
+ %else
+ %define HIDDEN_DATA(x) x
+ %endif
+@@ -364,5 +371,8 @@ section .text
+ %elifidn __OUTPUT_FORMAT__,elf64
+ section .note.GNU-stack noalloc noexec nowrite progbits
+ section .text
++%elifidn __OUTPUT_FORMAT__,elfx32
++section .note.GNU-stack noalloc noexec nowrite progbits
++section .text
+ %endif
+
+--
+1.7.12
+
diff --git a/media-libs/libvpx/libvpx-1.1.0.ebuild b/media-libs/libvpx/libvpx-1.1.0.ebuild
index 63af80f2320d..496e47b384d8 100644
--- a/media-libs/libvpx/libvpx-1.1.0.ebuild
+++ b/media-libs/libvpx/libvpx-1.1.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/libvpx/libvpx-1.1.0.ebuild,v 1.14 2012/08/16 23:03:00 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/libvpx/libvpx-1.1.0.ebuild,v 1.15 2012/09/25 05:37:55 vapier Exp $
EAPI=4
inherit multilib toolchain-funcs base
@@ -43,6 +43,7 @@ PATCHES=(
"${FILESDIR}/${P}-chost.patch"
"${FILESDIR}/${P}-generic-gnu-shared.patch"
"${FILESDIR}/${P}-arm.patch"
+ "${FILESDIR}/${P}-x32.patch"
)
src_configure() {
@@ -65,6 +66,7 @@ src_configure() {
# Link with gcc by default, the build system should override this if needed.
export LD="${CC}"
+ set -- \
./configure \
--prefix="${EPREFIX}"/usr \
--libdir="${EPREFIX}"/usr/$(get_libdir) \
@@ -84,8 +86,9 @@ src_configure() {
$(use_enable sse4_1) \
$(use_enable ssse3) \
$(use_enable static-libs static ) \
- $(use_enable threads multithread) \
- || die
+ $(use_enable threads multithread)
+ echo "$@"
+ "$@" || die
}
src_install() {