<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/hauke/include/prereq-build.mk, branch v19.07.3</title>
<subtitle>Hauke Mehrtens staging tree</subtitle>
<id>https://git.openwrt.org/openwrt/staging/hauke/atom?h=v19.07.3</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/hauke/atom?h=v19.07.3'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/hauke/'/>
<updated>2020-03-29T16:47:03Z</updated>
<entry>
<title>build: prereq: tidy gcc version checks</title>
<updated>2020-03-29T16:47:03Z</updated>
<author>
<name>Kevin Darbyshire-Bryant</name>
</author>
<published>2020-03-24T11:05:27Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/hauke/commit/?id=a08394b3c6f5c8e4b4828b11bf691836c8dd306f'/>
<id>urn:sha1:a08394b3c6f5c8e4b4828b11bf691836c8dd306f</id>
<content type='text'>
There is a restriction in the number of parameters(10)  that may be passed to
the SetupHostCommand macro so continually adding explicit gcc'n' version
checks ends up breaking the compiler check for the later versions and
oddballs like Darwin as was done in 835d1c68a0 which added gcc10.

Drop all the explicitly specified gcc version checks.  If a suitable gcc
compiler is not found, it may be specified at the dependency checking
stage after which that version will be symlinked into the build staging
host directory.

eg. 'CC=gccfoo CXX=g++foo make prereq'

Signed-off-by: Kevin Darbyshire-Bryant &lt;ldir@darbyshire-bryant.me.uk&gt;
Acked-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
(cherry picked from commit 1fb3c003d68d3feaf797e8b64edccc9fa622d250)
</content>
</entry>
<entry>
<title>build: add GCC 10 version detection</title>
<updated>2020-03-29T16:46:57Z</updated>
<author>
<name>Robert Marko</name>
</author>
<published>2020-03-18T18:39:43Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/hauke/commit/?id=66cbfeeaae2c8d9eff8ede50e52ba99875b0ad66'/>
<id>urn:sha1:66cbfeeaae2c8d9eff8ede50e52ba99875b0ad66</id>
<content type='text'>
Lets add GCC 10 detection to the build system as distributions like Fedora 32 have started shipping with it.
Some tools like mtd-utils need work to compile under GCC10, but that will be next step.

Signed-off-by: Robert Marko &lt;robert.marko@sartura.hr&gt;
(cherry picked from commit 835d1c68a0f036c8b0d837a48b5a05fdfb2e8218)
</content>
</entry>
<entry>
<title>build: cleanup possibly dangling Python 3 host symlink</title>
<updated>2019-11-09T07:21:45Z</updated>
<author>
<name>Etienne Champetier</name>
</author>
<published>2019-11-08T14:58:01Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/hauke/commit/?id=799de7c641ffa98323929a20a8d92c7cc4ebb251'/>
<id>urn:sha1:799de7c641ffa98323929a20a8d92c7cc4ebb251</id>
<content type='text'>
When switching from master branch to 19.07 or older, we need to ensure
that Python symlink in staging bin directory points to Python 2.

We can't rely completly just on SetupHostCommand as its executed only in
cases when the $(STAGING_DIR_HOST)/bin/python doesn't already exist, so
we need to remove it before running SetupHostCommand.

This is a cherry-pick of 3b68fb57c938af3948ae4c2da61501183fbef649
with python3 instead of python2

Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
Signed-off-by: Etienne Champetier &lt;champetier.etienne@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: fixup python SetupHostCommand to use python2</title>
<updated>2019-11-09T07:21:45Z</updated>
<author>
<name>Etienne Champetier</name>
</author>
<published>2019-10-31T10:54:59Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/hauke/commit/?id=785d4f3efded4a5094ee8e1ce4535dd0933b956d'/>
<id>urn:sha1:785d4f3efded4a5094ee8e1ce4535dd0933b956d</id>
<content type='text'>
Here is a way to break your build env without this patch:
1) have python point to python3, and no python2
2) start the build, SetupHostCommand will create a symlink
./staging_dir/host/bin/python -&gt; /usr/bin/python
3) build fails on scons because it can't find any python2
4) install python2 and restart the build
5) the build fails on wireless-regdb compile because python is python3 instead of python

Signed-off-by: Etienne Champetier &lt;champetier.etienne@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: adjust gcc/g++ version checks for newer apple compilers</title>
<updated>2019-10-10T11:55:23Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2019-10-10T11:42:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/hauke/commit/?id=fcf87d5461c56091313a9432472264c8da8574e3'/>
<id>urn:sha1:fcf87d5461c56091313a9432472264c8da8574e3</id>
<content type='text'>
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
(cherry-picked from commit 46a129194de0f9e2f71b6526634569e1ec802504)
</content>
</entry>
<entry>
<title>build: fix umask detection bashism</title>
<updated>2019-01-30T11:39:18Z</updated>
<author>
<name>Thorsten Glaser</name>
</author>
<published>2018-10-22T17:28:50Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/hauke/commit/?id=da5bee5345ce8f66eb36b8993b87b684e5cce614'/>
<id>urn:sha1:da5bee5345ce8f66eb36b8993b87b684e5cce614</id>
<content type='text'>
the leading 0 is optional and not emitted by some shells

Signed-off-by: Thorsten Glaser &lt;tg@mirbsd.org&gt;
</content>
</entry>
<entry>
<title>build: remove GNU time dependency</title>
<updated>2018-08-04T22:06:27Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2018-08-04T22:06:27Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/hauke/commit/?id=d3ddf6631e491a831617a5ae8b3d7924e47a275a'/>
<id>urn:sha1:d3ddf6631e491a831617a5ae8b3d7924e47a275a</id>
<content type='text'>
Replace the GNU time program invocation with a simple Perl script reporting
the timing values. Since we require Perl anyway for the build system, we can
as well use that instead of requiring a random GNU utility rarely installed
by default.

Fixes: ff6e62b288 ("build: log time taken by each packages/steps")
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>build: prereq-build.mk: fix gcc/g++ SetupHostCommand invocation</title>
<updated>2018-07-24T11:37:24Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2018-07-24T11:36:28Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/hauke/commit/?id=a6f4c7bce8c62d2dded5c8c12f7f118e2a6c9ee5'/>
<id>urn:sha1:a6f4c7bce8c62d2dded5c8c12f7f118e2a6c9ee5</id>
<content type='text'>
A missing comma caused the first command option to be considered part of
the error message.

Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>include/prereq-build.mk: explicitly check for -f flag when using busybox time</title>
<updated>2018-07-14T13:46:35Z</updated>
<author>
<name>Matthias Schiffer</name>
</author>
<published>2018-07-14T13:44:47Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/hauke/commit/?id=b123921a92a957f08abb186e041aa38aa9328f3e'/>
<id>urn:sha1:b123921a92a957f08abb186e041aa38aa9328f3e</id>
<content type='text'>
On Debian, busybox does have a time applet, but it does not support the -f
flag. Catch this in prereq check to give users to proper error message.

Signed-off-by: Matthias Schiffer &lt;mschiffer@universe-factory.net&gt;
</content>
</entry>
<entry>
<title>build: add busybox support to `time` prereq-check</title>
<updated>2018-06-18T19:27:01Z</updated>
<author>
<name>Andy Boyett</name>
</author>
<published>2018-05-17T05:09:57Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/hauke/commit/?id=591780615b304fb4624e363135942e9ee8f6caa3'/>
<id>urn:sha1:591780615b304fb4624e363135942e9ee8f6caa3</id>
<content type='text'>
Busybox time supports the GNU time '-f' syntax used by the build time
logging implemented in ff6e62b288c, however the prerequisite check added
only works with GNU time installed as `time` or `gtime`.

As busybox is a multicall binary, the name of the symlink setup by
SetupHostCommand also must be changed from `gtime` to `time` to fix the
value of argv[0]. This causes a number of shells (including bash) to use
their builtin impelementation of time, so the sole invocation has been
changed to use `env time` to use the value found on the $PATH.

Signed-off-by: Andy Boyett &lt;agb@agb.io&gt;
</content>
</entry>
</feed>
