* Explicitly require 'xz' (we've implicitly required it for a while now)
* Prefer xz files in a few more places
* Much better logging for native toolchain builds
* Use -O2 for native toolchain binaries
Change-Id: I401b734882c2c21329624911c09a46168d82f388
The description for arm-linux mentions "Linux-based Sony NWZ", which
is misleading for people who aren't very familiar with the various
targets and history. People setting up toolchains for the first time
for their "traditional" NWZ will overlook the "linux" part (or not
understand what it means) and build the wrong compiler.
Mentioning "older Sony NWZ" may of course not immediately tell those
people which one to pick, but at least they'll know they need to look
things up.
Change-Id: I5743a6427842db7334cff5479291e2137c35ae0c
zlib has been updated to 1.2.12 on March 27, 2022 with the following note:
Due to the bug fixes, any installations of 1.2.11 should be
replaced with 1.2.12.
The previous version has been removed and is no longer available for
download on the official site.
Change-Id: I807fbb4605378d99654be3e4c1b28bd04de729c9
But for stage1 (and non-hosted targets) we can stick with -std=gnu++03.
This keeps everyone happy with no apparent regerssions on older
host compilers.
Change-Id: I1300574557bc8d4d13e5cf07d4ae85645998f071
Add --with-sysroot= to the configure args of glib and dbus because
otherwise they get confused and try to use host system dependencies.
Also fix the broken restart logic so you can actually restart a build.
Change-Id: Ib456c04845d80cc923dcc6b83e57f67a0868104b
Basically it defaults to using C++17, which breaks the GCC compilation.
Instead, explicitly specify -std=c++03, which should work everywhere.
Change-Id: I821591dbbac4fab4b1d930702ed66c7c767b5c92
I wanted to build into a 'toolchain' directory like this:
$ tools/rockboxdev.sh --dlwhere=toolchain --builddir=toolchain/build --prefix=toolchain/bin
This failed twice:
a) the extraction stage could not uncompress because of the relative
paths, so convert them to absolute paths in the script to fix the issue.
b) patches could not be applied because 'rockboxdevdir' was assigned a
string with the directory twice and '\n' in the middle. Using readlink,
this now works.
Change-Id: I9c7c30812e1fb4b58db7e6561d73678f34714c91
I hit this error and its message confused me because I interpreted it as
"bzip2 executable could not be found". The message was also outdated
because xz is supported meanwhile. Update the message to something
hopefully more helpful.
Change-Id: Ide2f8809dc0f8159d7d04fa22c29607dd6b35792
GCC 4.9.4 was already used for MIPS and all hosted targets; this enables
it across the board for everything (ie m68k and arm native)
Other changes:
* Use '-Os' as the default optiomization for all targets
(was only disabled for arm native)
* Enable -funit-at-a-time and -Wextra
* Drop all obsolete toolchain patches
* Update ARM multilib/exception patch
* Bump toolchain libs (gmp, mpfr, mpc) to recommended versions, and
add 'isl' to enable better optimization & vectorization opportunities.
(Will revisit optimization for the codecs and plugins at a later date)
Confirmed working:
* armv4t (ipodmini2g and many other PP502x targets)
* arm >= v5 (sansaclipplus, ipod6g, ipodnano2g, sansafuzeplus)
* m68k (ihp100)
Change-Id: If9ed405ae0f289d9adea46d4cf46bfefc2f4250d
This frees us from having to keep the web site in sync.
Note that only currently-referenced patches were kept.
Change-Id: I50da1b75baeac214cf142c8b76a05a8c56b4c1d4
Cleaned up, rebased, and forward-ported from the xvortex fork.
(original credit to vsoftster@gmail.com)
Change-Id: Ibcc023a0271ea81e901450a88317708c2683236d
Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
If we use mips-rockbox-linux target resulting toolchain is
big endian. If we use mipsel-rockbox-linux build fail since
linux doesn't have separate archs for BE and LE mips. So we
tweak arch passed to linux-headers stage to fix this.
Change-Id: Iccae529998d1cd8f3429fa3b2ca4f030122f23bb
I did some cleanup of redudant stuff, simplify some logic, also switch to bash
because sh in the pain when ones want to locally define variables for functions
calls. I also added support to download more stuff like alsa-lib and more recent
gccs that use a different naming convention, as well as linux kernels.
I also add some build to build linux toolchains without ct-ng. The biggest problem
with ct-ng is that they regularly drop support for old stuff and as a result it
rots really quickly for old toolchains. I add a new toolchain for generic linux arm
with the minimum requirements, it works fine on Sony NWZ and also on YP-R0.
Finally, rockboxdev.sh now understand options on its command line (see --help).
Notably --target to give the list of targets (useful for noninteractive scripts),
--restart to restart at a step, --makeflags and others (instead of the environment
variables)
Change-Id: I869760c1faeb00ab381796a4cda82ffbc9637123
Added a 60s timeout to the script to avoid having to wait for ages when a download stalls.
Change-Id: I97f0aafe4eac0fb3cfc83805c99d19f1ef02b9f9
Reviewed-on: http://gerrit.rockbox.org/636
Reviewed-by: Kevin Zheng <kevinz5000@gmail.com>
Tested-by: Michael Rodger <rockbox@atinyhedgehog.za.net>
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
Recent versions of texinfo breaks various binutils and GCC
builds. For GCC setting MAKEINFO=missing at configure time works
but not for binutils where patches are used to fix parsing errors.
This also makes rockboxdev.sh handle applying multiple patches.
Change-Id: Ia8e6dc7662ab725490e4b4428676d235f0bd38bb
Reviewed-on: http://gerrit.rockbox.org/471
Reviewed-by: Nils Wallménius <nils@rockbox.org>
This is work from FS#12431 synced to current HEAD and slightly
tweaked (gcc 4.6.2 -> 4.6.3, binutils 2.21.1 -> 2.22)
Change-Id: I76af91e80ac2a9c16a776c7f0a33cc51603bbf9b
If make provides a built-in rule for .m files (seen on Fedora 16, reported on
the net for OS X) it breaks binutils 2.16.1. Disable built-in rules to avoid
this.
Change-Id: I2e76c52661e47edf81706ed5c8c30f5e6cab8546
rockboxdev.sh can now build toolchains using ct-ng (and build ct-ng before
if required). It downloads the appropriate config for ct-ng and lets it do its job.
Used for the upcoming YP-R0 target, which requires a full toolchain including libc.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31412 a1c6a512-1295-4272-9138-f99709370657
OS X requires slightly different compiler options due to functions deprecated
in 10.6 (as done in r28179 for arm-eabi-elf).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29051 a1c6a512-1295-4272-9138-f99709370657
Prepare for compiler upgrade by adding support for building the mpc lib that gcc 4.5 needs. Switch mirror so that we can use the "infrastructure" dir set up with all the libs gcc depends on in the correct versions. Use these versions (meaning 4.3.2 of gmp is used instead of 5.0.1 now but should be functionally equivalent).
Fix a small typo while at it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28974 a1c6a512-1295-4272-9138-f99709370657