kumquat-buildroot/package/binutils/arc-2016.09-eng005/0800-Docs-Prevent-build-failures-when-makeinfo-is-missing.patch
Alexey Brodkin 4520524ba0 toolchain: Bump ARC tools to arc-2016.09-eng005
With this commit we're starting a series of updates of ARC tools.
Significantly rewritten arc-2016.03 tools introduced way too many
problems highlighted by Buildroot autobuilder. Now in attempt to
resolve as many issues as possible by the time final release of
arc-2016.09 tools is cut we'll be executing arc-2016.09 series
with engineering snapshots like this one.

We decided to go this way instead of applying separate patches here
and there because ongoing development introduces quite a lot of
changes and separate patches are not practical in Buildroot.

Moreover this will give us very clean visibility of number of
issues we see (hopefully it will decrease over time).

One of the important changes introduced in this engineering build
is initial set of changes for proper support of PIE on ARC in terms
of both building on host and running on ARC target. I expect some
PIE-related build breakages to go away and new ones will be treated
as the high-priority issues to be fixed ASAP.

For now we only update Binutils and GCC while keeping GDB
as it is of arc-2016.03 release because there're some issues
we'd like to resolve before releasing it to wider audience.

So again note this is one of the first engineering builds of
arc-2016.09 series and it might have all kinds of breakages,
please don't use it for production builds.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: arc-buildroot@synopsys.com
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-06-29 22:12:47 +02:00

160 lines
4.9 KiB
Diff

From 5bd39e24e4903e49a0c301de4013c6b720862da1 Mon Sep 17 00:00:00 2001
From: Zakharov Vlad <vzakhar@synopsys.com>
Date: Fri, 3 Jun 2016 21:33:43 +0300
Subject: [PATCH] Docs: Prevent build failures when "makeinfo" is missing
Build failed when "makeinfo" was missing on the build host.
This was happenning because "makeinfo" is required to build .info targets
and make exited with error. But missing "makeinfo" only stops us from
building docs ("missing" script already throws a warning on that regard).
Let's continue to build other targets.
Now exit code of the script called "missing" is checked.
The value 127 means that "makeinfo" is not available on the build host.
So when such value occurs 0 is returned to the top level makefile.
Documentation is not being built but further build of binutils continues.
Signed-off-by: Zakharov Vlad <vzakhar@synopsys.com>
---
bfd/doc/Makefile.in | 8 +++++++-
binutils/doc/Makefile.in | 8 +++++++-
gas/doc/Makefile.in | 8 +++++++-
gprof/Makefile.in | 8 +++++++-
ld/Makefile.in | 8 +++++++-
5 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/bfd/doc/Makefile.in b/bfd/doc/Makefile.in
index be737f6..6c1eaf7 100644
--- a/bfd/doc/Makefile.in
+++ b/bfd/doc/Makefile.in
@@ -468,6 +468,8 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
+# Exit code 127 means that "makeinfo" is missing. So let's skip .info target
+# but return 0 to top level Makefile to build all other targets.
bfd.info: bfd.texinfo $(bfd_TEXINFOS)
restore=: && backupdir="$(am__leading_dot)am$$$$" && \
rm -rf $$backupdir && mkdir $$backupdir && \
@@ -481,7 +483,11 @@ bfd.info: bfd.texinfo $(bfd_TEXINFOS)
then \
rc=0; \
else \
- rc=$$?; \
+ if test $$? -eq 127; then \
+ rc=0; \
+ else \
+ rc=$$?; \
+ fi; \
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
fi; \
rm -rf $$backupdir; exit $$rc
diff --git a/binutils/doc/Makefile.in b/binutils/doc/Makefile.in
index ea3f938..8ed7884 100644
--- a/binutils/doc/Makefile.in
+++ b/binutils/doc/Makefile.in
@@ -397,6 +397,8 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
+# Exit code 127 means that "makeinfo" is missing. So let's skip .info target
+# but return 0 to top level Makefile to build all other targets.
binutils.info: binutils.texi
restore=: && backupdir="$(am__leading_dot)am$$$$" && \
rm -rf $$backupdir && mkdir $$backupdir && \
@@ -410,7 +412,11 @@ binutils.info: binutils.texi
then \
rc=0; \
else \
- rc=$$?; \
+ if test $$? -eq 127; then \
+ rc=0; \
+ else \
+ rc=$$?; \
+ fi; \
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
fi; \
rm -rf $$backupdir; exit $$rc
diff --git a/gas/doc/Makefile.in b/gas/doc/Makefile.in
index 9ca5e8e..3159bc3 100644
--- a/gas/doc/Makefile.in
+++ b/gas/doc/Makefile.in
@@ -425,6 +425,8 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
+# Exit code 127 means that "makeinfo" is missing. So let's skip .info target
+# but return 0 to top level Makefile to build all other targets.
as.info: as.texinfo $(as_TEXINFOS)
restore=: && backupdir="$(am__leading_dot)am$$$$" && \
rm -rf $$backupdir && mkdir $$backupdir && \
@@ -438,7 +440,11 @@ as.info: as.texinfo $(as_TEXINFOS)
then \
rc=0; \
else \
- rc=$$?; \
+ if test $$? -eq 127; then \
+ rc=0; \
+ else \
+ rc=$$?; \
+ fi; \
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
fi; \
rm -rf $$backupdir; exit $$rc
diff --git a/gprof/Makefile.in b/gprof/Makefile.in
index 67e85cd..c4040eb 100644
--- a/gprof/Makefile.in
+++ b/gprof/Makefile.in
@@ -538,6 +538,8 @@ clean-libtool:
distclean-libtool:
-rm -f libtool config.lt
+# Exit code 127 means that "makeinfo" is missing. So let's skip .info target
+# but return 0 to top level Makefile to build all other targets.
gprof.info: gprof.texi $(gprof_TEXINFOS)
restore=: && backupdir="$(am__leading_dot)am$$$$" && \
rm -rf $$backupdir && mkdir $$backupdir && \
@@ -551,7 +553,11 @@ gprof.info: gprof.texi $(gprof_TEXINFOS)
then \
rc=0; \
else \
- rc=$$?; \
+ if test $$? -eq 127; then \
+ rc=0; \
+ else \
+ rc=$$?; \
+ fi; \
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
fi; \
rm -rf $$backupdir; exit $$rc
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 7c78198..08950a8 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -1591,6 +1591,8 @@ clean-libtool:
distclean-libtool:
-rm -f libtool config.lt
+# Exit code 127 means that "makeinfo" is missing. So let's skip .info target
+# but return 0 to top level Makefile to build all other targets.
ld.info: ld.texinfo $(ld_TEXINFOS)
restore=: && backupdir="$(am__leading_dot)am$$$$" && \
rm -rf $$backupdir && mkdir $$backupdir && \
@@ -1604,7 +1606,11 @@ ld.info: ld.texinfo $(ld_TEXINFOS)
then \
rc=0; \
else \
- rc=$$?; \
+ if test $$? -eq 127; then \
+ rc=0; \
+ else \
+ rc=$$?; \
+ fi; \
$$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
fi; \
rm -rf $$backupdir; exit $$rc
--
2.5.5