Commit graph

92 commits

Author SHA1 Message Date
Amaury Pouly
142f80f07d Modernize toolchain script and add generic arm toolchain
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
2017-09-04 15:06:48 +02:00
Amaury Pouly
906a95ccbf rockoxdev.sh: fix compilation of ARM toolchain
This will breaks mips but mips is already super hard to build anyway.

Change-Id: Ia481a22440758fe72a87e2808f4fb8d31c49cb53
2016-12-04 15:11:58 +01:00
Frank Gevaerts
78f4f7b621 Make crosstool-ng build with gnu make 4.0
Change-Id: Id3a5a310e6fa53e690c92f420994875cb1bfff43
2014-07-30 14:29:27 +02:00
Frank Gevaerts
110e094db5 Switch back to kernel.org.
kernel.org is back, and nic.funet.fi is being difficult, so it's time
to switch back.

Change-Id: If981dedd0cb7bb64de7563de6657f63ebb931a6f
2013-10-20 21:14:57 +02:00
Michael Rodger
6845f6c396 Include 60s timeout for wget commands in rockboxdev.sh
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>
2013-10-19 13:06:04 +02:00
Nils Wallménius
084c75e5f9 Fix building of sh, arm and m68k toolchains with new texinfo
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>
2013-06-15 21:01:26 +02:00
Marcin Bukat
5dec7af1ec Revert "SH gcc 4.6.3 with link-time optimization, for Archos targets"
This was commited by accident, sorry.
2012-10-24 14:05:39 +02:00
Boris Gjenero
c975de1534 SH gcc 4.6.3 with link-time optimization, for Archos targets
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
2012-10-24 14:02:41 +02:00
Peter D'Hoye
63a48fa9b0 more tools checks to be done before starting toolchain builds 2012-05-19 01:45:23 +02:00
Peter D'Hoye
0587e85e23 add aditional required tools to the check 2012-05-19 01:01:22 +02:00
Dominik Riebeling
975332d608 Disable built-in make rules for binutils 2.16.1.
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
2012-03-04 10:40:15 +01:00
Thomas Martitz
2ec443df12 Remove bash-specific syntax from rockboxdev.sh
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31422 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 15:40:11 +00:00
Thomas Martitz
461e2c72ad Actually call ct-ng (i.e. fix left-over from testing).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31413 a1c6a512-1295-4272-9138-f99709370657
2011-12-23 13:54:00 +00:00
Thomas Martitz
6296045e2a Add crosstool-NG build to rockboxdev.sh.
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
2011-12-23 13:49:43 +00:00
Nick Peskett
476f4a7baf I think 'e' for arm (rather than 'a') is a typo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31362 a1c6a512-1295-4272-9138-f99709370657
2011-12-19 14:02:36 +00:00
Thomas Martitz
84b527410a Remove deprecated arm toolchain from rockboxdev.sh. Replace with arm-eabi.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31361 a1c6a512-1295-4272-9138-f99709370657
2011-12-19 13:11:16 +00:00
Björn Stenberg
5adf7d315d sunet mirror was bad. let's try funet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30612 a1c6a512-1295-4272-9138-f99709370657
2011-09-27 19:19:28 +00:00
Björn Stenberg
291c6be8e4 Use another GNU mirror while kernel.org is down.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30605 a1c6a512-1295-4272-9138-f99709370657
2011-09-26 06:48:53 +00:00
Nils Wallménius
ee7cbf6d4a FS#12121 by Sean Bartell, disables -Werror on binutils builds to fix them when using gcc 4.6.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29928 a1c6a512-1295-4272-9138-f99709370657
2011-05-27 15:13:29 +00:00
Dominik Riebeling
37feed5287 Make m68k-elf 4.5.2 toolchain build on OS X 10.6.
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
2011-01-13 20:12:36 +00:00
Nils Wallménius
4ca7c9c2c6 rockboxdev.sh: coldfire toolchain upgrade, now using gcc 4.5.2 and binutils 2.20.1. The configure switch will come as soon as a few buildclients are updated.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29039 a1c6a512-1295-4272-9138-f99709370657
2011-01-12 21:39:02 +00:00
Nils Wallménius
a335afadaa rockboxdev.sh: switch back to using the kernel.org mirrors as the gnu.org mirrors were unreliable and inconsistent. Hardcode the mpc url as mpc is not on the kernel.org mirrors. Sorry for the noise.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29024 a1c6a512-1295-4272-9138-f99709370657
2011-01-10 19:13:33 +00:00
Nils Wallménius
daa3c36248 rockboxdev.sh: Hardcode gcc mirror for now as the gnu mirrors have a different dir layout and are missing the infrastructure dir which was the whole reason for the switch. Fix spurious trailing slash
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28981 a1c6a512-1295-4272-9138-f99709370657
2011-01-06 23:51:15 +00:00
Nils Wallménius
50b151adcb rockboxdev.sh:
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
2011-01-06 14:56:36 +00:00
Torne Wuff
a02fada130 rockboxdev.sh: Fix build failure on cygwin by not trying to remove the current directory
On Windows you can't delete a directory that's in use, so deleting $builddir while inside it fails. The script now leaves the individual tool build directory then just deletes that (and the corresponding source)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28314 a1c6a512-1295-4272-9138-f99709370657
2010-10-19 21:31:35 +00:00
Dominik Riebeling
7b52f97912 Make eabi toolchain build on OS X 10.6.
OS X requires slightly different compiler options due to functions deprecated
in 10.6 (FS#11643).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28179 a1c6a512-1295-4272-9138-f99709370657
2010-09-27 20:42:30 +00:00
Frank Gevaerts
d298fa857e Add missing quote, and use the right word
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27376 a1c6a512-1295-4272-9138-f99709370657
2010-07-10 20:17:26 +00:00
Michael Giacomelli
6206f4083f Update the text in rockboxdev.sh to make it clear that EABI should be used on ARM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27374 a1c6a512-1295-4272-9138-f99709370657
2010-07-10 15:52:53 +00:00
Jonas Häggqvist
83c19efa7e Don't explicitly set -j for make. Inform the user that he can set MAKEFLAGS instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26822 a1c6a512-1295-4272-9138-f99709370657
2010-06-12 21:08:45 +00:00
Rafaël Carré
3fec40194c rockboxdev: patch eabi binutils to fix thumb interworking mixed with long calls
Thumb builds now boots fine on e200v1

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26784 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 17:52:38 +00:00
Rafaël Carré
fe7ca44471 rockboxdev: build with -U_FORTIFY_SOURCE
It is needed on Ubuntu at least, else gcc fails to build

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26755 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 03:54:54 +00:00
Nils Wallménius
102540b14e The ifp isn't coldfire based, add some targets that are instead
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26616 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 10:03:00 +00:00
Björn Stenberg
5e412b3757 Corrected the GMP & MPFR workaround.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26606 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 00:27:52 +00:00
Björn Stenberg
46f267c0e1 makeinfo is required by recent binutils and gcc
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26605 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 23:58:49 +00:00
Björn Stenberg
9f6ec43b32 Typo: We're using mipsel, not mips.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26601 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 23:20:09 +00:00
Björn Stenberg
576b7068c1 Added GMP and MPFR workaround for EABI GCC.
Reorganized the structure to remove duplicated code and collect target specific data in one place.
Now installs all compilers to /usr/local/bin, removing the need to point out each compiler separately in PATH.
FS#11357


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26600 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 23:05:07 +00:00
Jonathan Gordon
0dfd418b31 revert an accidental commit in r26078
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26458 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 00:51:18 +00:00
Thomas Martitz
1dcc21d846 Upgrade the ARM eabi toolchain to gcc 4.4.4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26366 a1c6a512-1295-4272-9138-f99709370657
2010-05-28 23:41:16 +00:00
Jonathan Gordon
7d5e0d7375 FS#11263 - Radio Art support! %C and %Cl tags work in the radio screen and Base Skin when the radio is running.
put your station images in .rockbox/fmpresets/<preset name>.bmp or .jpg. Must be in preset mode and the preset name must match the filename


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26078 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 11:13:42 +00:00
Thomas Martitz
29a602cb80 Update rockboxdev.sh/configure for arm-elf-eabi-gcc 4.4.3 and binutils 2.20.1.
Additional slight change to rockboxdev.sh: strip the gcc folder from the patch paths (which contains the version), so that patches aren't strictly dependant on the gcc version. Add a sanity check for the case the patch fails to apply.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25070 a1c6a512-1295-4272-9138-f99709370657
2010-03-08 14:49:10 +00:00
Jens Arnold
a5ffb4dabf rockbox.dev.sh
- recognise SunOS (OpenSolaris), and apply m68k patch on it
- report unknown host system and state that necessity of the m68k patch needs checking
- don't assume 'tar' being GNU tar - call bunzip2 explicitly
This allows building ARM, m68k and MIPS toolchains on OpenSolaris. SH1 has further problems which probably require a gcc patch.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25066 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 23:03:07 +00:00
Andrew Mahone
475e68851d Add arm-elf-eabi target to rockboxdev.sh, selected with "e".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23676 a1c6a512-1295-4272-9138-f99709370657
2009-11-20 10:27:53 +00:00
Dave Chapman
4c41a2d428 Add quotes around the name of any missing tools (patch, make etc) to help clarify the error message
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21983 a1c6a512-1295-4272-9138-f99709370657
2009-07-20 17:30:33 +00:00
Robert Keevil
eea149bd13 FS#10436 - add the Sansa View to the build system. The bootloader builds but doesn't do anything useful yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21848 a1c6a512-1295-4272-9138-f99709370657
2009-07-13 21:09:39 +00:00
Dave Chapman
f85c0c67de Revert r20704 and only use the -r option when compiling binutils. This is good enough to fix compilation of the toolchains on OSX, but doesn't break compiling the m68k gcc, which makes use of built-ins and hence doesn't work with -r.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20899 a1c6a512-1295-4272-9138-f99709370657
2009-05-10 18:11:09 +00:00
Robert Menes
a0ff7d0fa9 Commit FS#10108 by myself: use the -r option for gmake and make when building the Rockbox dev environment. This was needed for Mac OS X especially; the -r option makes gmake and make ignore their own rules and use the rules set by rockboxdev.sh; thanks to Dave Chapman for the idea.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20704 a1c6a512-1295-4272-9138-f99709370657
2009-04-13 22:14:14 +00:00
Thomas Martitz
0eb9288056 Make rockboxdev.sh building multiple targets in a run work again by not complaining if build dir exists. Small other fixes too, like for clearing the build folders or showing the summaries.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20677 a1c6a512-1295-4272-9138-f99709370657
2009-04-10 15:35:24 +00:00
Dave Chapman
57ce975cfb When rockboxdev.sh temporarily adds $bindir to the PATH (so the gcc build can find the matching binutils), put it at the start, just in case the user has an old (and incompatible) target-binutils around.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20346 a1c6a512-1295-4272-9138-f99709370657
2009-03-17 20:53:02 +00:00
Thomas Martitz
23722d5ff4 Oops, I cut&pasted a bit too much.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20305 a1c6a512-1295-4272-9138-f99709370657
2009-03-12 16:48:58 +00:00
Thomas Martitz
56973b43a6 rockboxdev.sh: Fix summary (it ended up in the wrong path after my previous commit to this file)
Also, check if the prefix dir exists before checking write permissions to avoid confusing error messages.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20303 a1c6a512-1295-4272-9138-f99709370657
2009-03-12 16:35:03 +00:00