commit:     c2d28f8122e1b55523aa94e657d05ee1be89fcfb
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 17 18:21:04 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Wed Feb 17 18:42:26 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c2d28f81

dev-libs/ustr: add a configure stage for cross-compiling

The build system likes to compile & run programs to figure out host
features.  This fails when cross-compiling and such, so add a func
to do all with compile tests.

 dev-libs/ustr/ustr-1.0.4-r7.ebuild | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/dev-libs/ustr/ustr-1.0.4-r7.ebuild 
b/dev-libs/ustr/ustr-1.0.4-r7.ebuild
index eaf650b..0c7387c 100644
--- a/dev-libs/ustr/ustr-1.0.4-r7.ebuild
+++ b/dev-libs/ustr/ustr-1.0.4-r7.ebuild
@@ -41,6 +41,26 @@ _emake() {
                "$@"
 }
 
+multilib_src_configure() {
+       # The included configure tests require execution.
+
+       # We require vsnprintf everywhere as it's in POSIX.
+       printf '#!/bin/sh\necho 0\n' > autoconf_vsnprintf
+       chmod a+rx autoconf_vsnprintf
+
+       # Always use stdint.h as it's in POSIX.
+       sed -i '/have_stdint_h=0/s:=0:=1:' Makefile || die
+
+       # Figure out the size of size_t.
+       printf '#include <sys/types.h>\nint main() { char buf[sizeof(size_t) - 
8]; }\n' > sizet_test.c
+        $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -c sizet_test.c 2>/dev/null
+       printf '#!/bin/sh\necho %s\n' $(( $? == 0 )) > autoconf_64b
+       chmod a+rx autoconf_64b
+
+       # Generate the config file now to avoid bad makefile deps.
+       _emake ustr-import
+}
+
 multilib_src_compile() {
        _emake all-shared
 }

Reply via email to