media-libs/giflib: Use reallocarray() if available.
authorArfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Thu, 14 Feb 2019 04:35:45 +0000 (05:35 +0100)
committerLars Wendler <polynomial-c@gentoo.org>
Thu, 14 Feb 2019 12:26:10 +0000 (13:26 +0100)
Closes: https://bugs.gentoo.org/677956
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
media-libs/giflib/giflib-5.1.6-r1.ebuild [moved from media-libs/giflib/giflib-5.1.6.ebuild with 78% similarity]

similarity index 78%
rename from media-libs/giflib/giflib-5.1.6.ebuild
rename to media-libs/giflib/giflib-5.1.6-r1.ebuild
index decea553a76e0de014034945384190aca9b4c0e4..2569ad2ddb96bdb16f569f7787f7781ff0eff65f 100644 (file)
@@ -26,6 +26,13 @@ src_prepare() {
 }
 
 multilib_src_compile() {
+       # Use reallocarray() from libc if available.
+       if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -D_GNU_SOURCE -o "${T}/reallocarray_test" -x c - <<< $'#include <stdlib.h>\nint main() {void *p = reallocarray(NULL, 0, 0);}' 2> /dev/null; then
+               local -x CPPFLAGS="${CPPFLAGS} -D_GNU_SOURCE -DHAVE_REALLOCARRAY"
+               sed -e "s/ openbsd-reallocarray\.c//" -i Makefile || die
+               rm openbsd-reallocarray.c || die
+       fi
+
        emake \
                CC="$(tc-getCC)" \
                CFLAGS="${CFLAGS} -std=gnu99 -fPIC -Wno-format-truncation" \