diff options
Diffstat (limited to 'external/poky/meta/recipes-devtools/m4')
7 files changed, 264 insertions, 0 deletions
diff --git a/external/poky/meta/recipes-devtools/m4/m4-1.4.18.inc b/external/poky/meta/recipes-devtools/m4/m4-1.4.18.inc new file mode 100644 index 00000000..a6cef6f3 --- /dev/null +++ b/external/poky/meta/recipes-devtools/m4/m4-1.4.18.inc @@ -0,0 +1,30 @@ +SUMMARY = "Traditional Unix macro processor" +HOMEPAGE = "https://www.gnu.org/software/m4/m4.html" +DESCRIPTION = "GNU m4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 \ +compatible although it has some extensions (for example, handling more than 9 positional parameters to macros). \ +GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc." + +inherit autotools texinfo + +SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \ + file://ac_config_links.patch \ + file://remove-gets.patch \ + file://m4-1.4.18-glibc-change-work-around.patch \ + " + +SRC_URI_append_class-target = " file://0001-Unset-need_charset_alias-when-building-for-musl.patch" + +SRC_URI[md5sum] = "a077779db287adf4e12a035029002d28" +SRC_URI[sha256sum] = "ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab" + +LICENSE = "GPLv3" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\ + file://examples/COPYING;md5=4031593b2166d6c47cae282d944a7ede" + +# Fix "Argument list too long" error when len(TMPDIR) = 410 +acpaths = "-I ./m4" + +EXTRA_OECONF += "--without-libsigsegv-prefix" + +EXTRA_OEMAKE += "'infodir=${infodir}'" diff --git a/external/poky/meta/recipes-devtools/m4/m4-native_1.4.18.bb b/external/poky/meta/recipes-devtools/m4/m4-native_1.4.18.bb new file mode 100644 index 00000000..407ad893 --- /dev/null +++ b/external/poky/meta/recipes-devtools/m4/m4-native_1.4.18.bb @@ -0,0 +1,14 @@ +require m4-${PV}.inc + +inherit native + +INHIBIT_AUTOTOOLS_DEPS = "1" +DEPENDS += "gnu-config-native" + +do_configure() { + install -m 0644 ${STAGING_DATADIR}/gnu-config/config.sub . + install -m 0644 ${STAGING_DATADIR}/gnu-config/config.guess . + oe_runconf +} + +UPSTREAM_CHECK_URI = "${GNU_MIRROR}/m4/" diff --git a/external/poky/meta/recipes-devtools/m4/m4/0001-Unset-need_charset_alias-when-building-for-musl.patch b/external/poky/meta/recipes-devtools/m4/m4/0001-Unset-need_charset_alias-when-building-for-musl.patch new file mode 100644 index 00000000..ba1a4bab --- /dev/null +++ b/external/poky/meta/recipes-devtools/m4/m4/0001-Unset-need_charset_alias-when-building-for-musl.patch @@ -0,0 +1,33 @@ +From b9565dc2fe0c4f7daaec91b7e83bc7313dee2f4a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 13 Apr 2015 17:02:13 -0700 +Subject: [PATCH] Unset need_charset_alias when building for musl + +localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4 +which actually shoudl be fixed in gnulib and then all downstream +projects will get it eventually. For now we apply the fix to +coreutils + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + lib/gnulib.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/gnulib.mk b/lib/gnulib.mk +index e1d74db..c0e92dd 100644 +--- a/lib/gnulib.mk ++++ b/lib/gnulib.mk +@@ -1882,7 +1882,7 @@ install-exec-localcharset: all-local + case '$(host_os)' in \ + darwin[56]*) \ + need_charset_alias=true ;; \ +- darwin* | cygwin* | mingw* | pw32* | cegcc*) \ ++ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \ + need_charset_alias=false ;; \ + *) \ + need_charset_alias=true ;; \ +-- +2.1.4 + diff --git a/external/poky/meta/recipes-devtools/m4/m4/ac_config_links.patch b/external/poky/meta/recipes-devtools/m4/m4/ac_config_links.patch new file mode 100644 index 00000000..71edf595 --- /dev/null +++ b/external/poky/meta/recipes-devtools/m4/m4/ac_config_links.patch @@ -0,0 +1,31 @@ +Upstream-Status: Inappropriate [configuration] + +This patch fixes a build problem for m4-native experienced on Ubuntu 9.10, +where autoconf/automake (AC_CONFIG_LINKS) ends up making GNUmakefile a +symlink to itself. + +The patch comments out ac_config_links directly in configure, +as autoreconf is not actually run for m4-native. + +I believe it should be safe, as GNUmakefile is actually unpacked from +source, and what we want is to is to not touch it. + +Tested on x86_64_linux (Ubuntu 8.04 and 9.10). + +2009-11-10 Esben Haabendal <eha@doredevelopment.dk> + +Index: m4-1.4.18/configure +=================================================================== +--- m4-1.4.18.orig/configure ++++ m4-1.4.18/configure +@@ -24415,8 +24415,8 @@ $as_echo "#define GNULIB_TEST_GETTIMEOFD + # only, it does not matter if we skip the link with older autoconf. + # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH + # builds, so use a shell variable to bypass this. +- GNUmakefile=GNUmakefile +- ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" ++ # GNUmakefile=GNUmakefile ++ # ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" + + + : diff --git a/external/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch b/external/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch new file mode 100644 index 00000000..72e7ae20 --- /dev/null +++ b/external/poky/meta/recipes-devtools/m4/m4/m4-1.4.18-glibc-change-work-around.patch @@ -0,0 +1,129 @@ +update for glibc libio.h removal in 2.28+ + +see +https://src.fedoraproject.org/rpms/m4/c/814d592134fad36df757f9a61422d164ea2c6c9b?branch=master + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Index: m4-1.4.18/lib/fflush.c +=================================================================== +--- m4-1.4.18.orig/lib/fflush.c ++++ m4-1.4.18/lib/fflush.c +@@ -33,7 +33,7 @@ + #undef fflush + + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ + static void +@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) + + #endif + +-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) ++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) + + # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ +@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) + if (stream == NULL || ! freading (stream)) + return fflush (stream); + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + clear_ungetc_buffer_preserving_position (stream); + +Index: m4-1.4.18/lib/fpending.c +=================================================================== +--- m4-1.4.18.orig/lib/fpending.c ++++ m4-1.4.18/lib/fpending.c +@@ -32,7 +32,7 @@ __fpending (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + <stdio.h>, because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + return fp->_IO_write_ptr - fp->_IO_write_base; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ +Index: m4-1.4.18/lib/fpurge.c +=================================================================== +--- m4-1.4.18.orig/lib/fpurge.c ++++ m4-1.4.18/lib/fpurge.c +@@ -62,7 +62,7 @@ fpurge (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + <stdio.h>, because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_IO_read_end = fp->_IO_read_ptr; + fp->_IO_write_ptr = fp->_IO_write_base; + /* Avoid memory leak when there is an active ungetc buffer. */ +Index: m4-1.4.18/lib/freadahead.c +=================================================================== +--- m4-1.4.18.orig/lib/freadahead.c ++++ m4-1.4.18/lib/freadahead.c +@@ -25,7 +25,7 @@ + size_t + freadahead (FILE *fp) + { +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_write_ptr > fp->_IO_write_base) + return 0; + return (fp->_IO_read_end - fp->_IO_read_ptr) +Index: m4-1.4.18/lib/freading.c +=================================================================== +--- m4-1.4.18.orig/lib/freading.c ++++ m4-1.4.18/lib/freading.c +@@ -31,7 +31,7 @@ freading (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + <stdio.h>, because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + return ((fp->_flags & _IO_NO_WRITES) != 0 + || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 + && fp->_IO_read_base != NULL)); +Index: m4-1.4.18/lib/fseeko.c +=================================================================== +--- m4-1.4.18.orig/lib/fseeko.c ++++ m4-1.4.18/lib/fseeko.c +@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int when + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int when + return -1; + } + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags &= ~_IO_EOF_SEEN; + fp->_offset = pos; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ +Index: m4-1.4.18/lib/stdio-impl.h +=================================================================== +--- m4-1.4.18.orig/lib/stdio-impl.h ++++ m4-1.4.18/lib/stdio-impl.h +@@ -18,6 +18,12 @@ + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif + + /* BSD stdio derived implementations. */ + diff --git a/external/poky/meta/recipes-devtools/m4/m4/remove-gets.patch b/external/poky/meta/recipes-devtools/m4/m4/remove-gets.patch new file mode 100644 index 00000000..abe82f3b --- /dev/null +++ b/external/poky/meta/recipes-devtools/m4/m4/remove-gets.patch @@ -0,0 +1,24 @@ +eglibc has remove gets starting 2.16 +therefore check for its being there before +undefining it. + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- +diff --git a/lib/stdio.in.h b/lib/stdio.in.h +index 5727452..f04a691 100644 +--- a/lib/stdio.in.h ++++ b/lib/stdio.in.h +@@ -742,10 +742,12 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning; besides, C11 + removed it. */ ++#if defined gets + #undef gets + #if HAVE_RAW_DECL_GETS && !defined __cplusplus + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + #endif ++#endif + + #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ + struct obstack; diff --git a/external/poky/meta/recipes-devtools/m4/m4_1.4.18.bb b/external/poky/meta/recipes-devtools/m4/m4_1.4.18.bb new file mode 100644 index 00000000..b12c0adf --- /dev/null +++ b/external/poky/meta/recipes-devtools/m4/m4_1.4.18.bb @@ -0,0 +1,3 @@ +require m4-${PV}.inc + +BBCLASSEXTEND = "nativesdk" |