Commit graph

2213 commits

Author SHA1 Message Date
Solomon Peachy
62098a0cc9 toolchain: To build GCC for hosted targets, we need -std=gnu++11 for stage2.
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
2021-06-04 10:05:05 -04:00
Aidan MacDonald
49dfc8be27 rockboxdev.sh fixes for hosted MIPS toolchain
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
2021-06-04 13:06:57 +00:00
Solomon Peachy
18288fcce6 toolchains: Fix gcc 4,9.4 compilation using GCC11.
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
2021-06-04 08:38:35 -04:00
Solomon Peachy
0c4c1e6042 rbspeex: Fix build when using system speex libraries
Change-Id: If6dd5d89ff1e7d668ca975a89b9091a86cbca42c
2021-05-18 08:43:47 -04:00
Aidan MacDonald
3f26fcf340 FiiO M3K: New bootloader
SPL and UCL-compressed bootloader are now packed into one output,
bootloader.m3k, eliminating the separate SPL build phase.

The Rockbox bootloader now has a recovery menu, accessible by
holding VOL+ when booting, that lets you back up, restore, and
update the bootloader from the device.

Change-Id: I642c6e5fb83587a013ab2fbfd1adab439561ced2
2021-05-12 10:35:20 +00:00
Solomon Peachy
7d0d32dbc6 Nuke the never-functional iriver ifp-7xx port
It never worked, and hasn't compiled in something like a decade, Given
the HW capabilities (limited onboard flash, no expandability) there's
really no point in trying to fix/complete it.

Change-Id: I7d175089840396f8891645bd10010d730dd5bfdc
2021-04-26 07:42:58 -04:00
Solomon Peachy
3ba2f6e5c7 Nuke all TCC77x targets: iAudio 7, Sansa C100, M200(v1-3), Logik DAX
They were never finished, never saw any release ever, and haven't
compiled for the better part of a decade.  Given their HW capabilities [1],
they are not worth trying to fix.

[1] 1-2MB RAM, ~256MB onboard flash, no expandability

Change-Id: I7b2a5806d687114c22156bb0458d4a10a9734190
2021-04-26 07:41:51 -04:00
Solomon Peachy
39939a164b Promote FiiO M3K (native) to "unstable"
Now nightly and voice builds will show up.

Change-Id: Ibeddb08535ecc5ce913de2cb4d42ae458e88964d
2021-04-23 08:01:31 -04:00
James Buren
f968d6032a ipodpatcher: fix warning for apple stop sign constant
Convert both instances of the apple stop sign constant
to char array instances. This ensures sizeof will work
as expected when applied to the constant.

Change-Id: I8599f7b0a00031e944e654b12a0bc59309926807
2021-04-23 01:01:31 +00:00
Aidan MacDonald
a544c8467d FiiO M3K: increase bootloader font size
The default font was very small and hard to read.

Change-Id: Id6d8ec49a700dcad65903b92c09ec42840c1f6e5
2021-04-21 18:32:10 +00:00
Solomon Peachy
27b44bca73 configure: Get rid of the unused NOISEFLOOR option in voicefile generation
Change-Id: Id3b281e62487858120aae97cd5ee0ef888cf89a0
2021-04-20 08:50:06 -04:00
Aidan MacDonald
9847f9c85e x1000: don't add pointless '1' after SPL signature
I added this because it is present on the FiiO M3K's SPL, but nothing
in Ingenic docs suggest this means anything.

Just get rid of it; the M3K boots fine without it.

Change-Id: I2e480b8c0ada386b0e772db49c0a7ebd32ffc7ea
2021-04-09 10:53:36 +00:00
Solomon Peachy
d2f694696f configure: Enable easy use of AddressSanitizer with sim builds
Change-Id: I6df7e63b1820296a280faa0925ad4781637b879b
2021-04-07 21:48:58 -04:00
Solomon Peachy
9e15c19891 build: Make it easier to disable plugins
Instead of 'ifdef ENABLEPLUGINS' (which always gets set) use
'ifeq(yes,$(ENABLEPLUGINS))' which means any value other than 'yes' is
treated as a negative.

Change-Id: I6c92eef5565328f1bb9f64a4d379dec697354224
2021-04-01 15:45:38 -04:00
Solomon Peachy
afd8361d08 Add native FiiO M3K to builds.pm
Note:  It's marked as 'unusable' right now, so it won't show up
       on build.rockbox.org, nor will daily & voice files be
       created.

Change-Id: I5ea133477a6b4c0296c46757d0375994ad812cc5
2021-03-28 10:46:43 -04:00
Aidan MacDonald
3ec66893e3 New port: FiiO M3K on bare metal
Change-Id: I7517e7d5459e129dcfc9465c6fbd708619888fbe
2021-03-28 00:01:37 +00:00
Solomon Peachy
d5cc74ebd8 build: Get rid of suplerflous '-Os' references in linker calls
We should be using global optimization flags, and -Os is already our
default.

Change-Id: Iaba511b2b4fa2ee0f1eb1ad28024be954f4c5f03
2021-03-25 12:20:15 -04:00
Solomon Peachy
a53864ed4a build: Don't overwrite autoconf.h unless it has actually changed
This way we only rebuild the world if something relevant changed.

Change-Id: Ia7d104cadec185a3227acbf330bb3b359296f0fb
2021-03-24 18:50:58 +00:00
Solomon Peachy
bac897381c updatelang: Handle/flag the bad data that led to english-us breaking
Change-Id: Ifffea9557d50ab5a103e13473ebe074ae1aa7b6d
2021-03-05 17:43:32 +00:00
Aidan MacDonald
aacb0811d9 Rename symbols of FiiO M3K Linux-based port
Mainly a straight replacement of FIIO_M3K -> FIIO_M3K_LINUX.

Change-Id: Id07c84f8150991d1b6851540c2c3f8f67e3f12c2
2021-02-27 23:53:28 +00:00
Solomon Peachy
55dc86f5db Specify correct dependencies for tools/descramble
Fixes the red introduced in 6224efb2

Change-Id: I21e61fdb8e1b87486417faf34bfa6963e5ab2349
2021-02-27 18:39:04 -05:00
Solomon Peachy
dad23a0607 database: Database tool was excluding all SWCODECs!
When fixing this, I used this this opportunity to clean up the Makefile

Change-Id: I5dea77a8a2048bbfce5930f8ce2899b597e425eb
2021-02-27 18:29:02 -05:00
Aidan MacDonald
6224efb238 Fix build system not respecting TOOLSET
It seems that 'toolset=' in tools/configure was set but not used, with
the build system only generating a hardcoded set of tools. This change
fixes the issue by exporting the required tools in the TOOLSET variable,
and having root.make append those to the TOOLS list.

Change-Id: I07024bdf1dd2260c32cfeecaba0d3bb5bf00346d
2021-02-27 22:51:52 +00:00
Christian Soffke
05f1006246 Convttf makefile: Replace freetype-config with pkg-config
Freetype-config has been deprecated and is no longer included in libfreetype-dev. Pkg-config serves as its replacement.

Convttf isn't built as part of Rockbox by default, but manually doing so will currently fail even when libfreetype-dev is installed.

Change-Id: Iafc31df3b40c11d7c790189eb9d3788ba97d3e54
2021-02-21 05:23:39 +01:00
Wolfram Sang
422aa56243 rockboxdev: fix issues with relative paths for commandline options
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
2021-02-05 17:29:05 +00:00
Wolfram Sang
a67c6934c1 rockboxdev: better error message for unknown compression
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
2021-02-05 17:29:05 +00:00
Wolfram Sang
e23d45536e rockboxdev: fix summary output of options
'--download' is now named '--dlwhere' and 'target' was missing the '='

Change-Id: I5f295fac8ddfb9139b00e9b6b7b5dfa625ac05cf
2021-02-05 17:29:05 +00:00
Solomon Peachy
fe10830384 hiby_patcher: Tweak the fix needed to work around v1.31 AGPtek Rockers.
Change-Id: I6b8d175e0f6018281aedfa774488daecea1bc816
2021-01-21 08:39:48 -05:00
Solomon Peachy
56f4ec9668 voices: Enable Russian in the nightly voice builds.
It's using espeak-ng's default 'zle/ru' voice, which have to do until
someone suggests better settings or engine.

Change-Id: I7b105c6a5d9f73131c6e649e81635138f350f48e
2020-12-13 20:46:49 -05:00
Solomon Peachy
b459ded533 updatelang: Fix a couple of typos in the output used by the translate site
Change-Id: I13fe3e106c128dbc646906b5cb2c9702feb6bda2
2020-12-12 22:26:35 -05:00
Solomon Peachy
55d301184d Get rid of a _long_ obsolete tool.
Change-Id: I09474927a13c6ff51b667c80ac99af1d1a65fa07
2020-12-12 22:10:39 -05:00
Solomon Peachy
f7005eb4e4 voice: Generate Dutch voice file now that the translation is complete
Change-Id: Ic5fd45002e94f99d4557fca9ffa75df7fa6f20d8
2020-12-12 13:43:13 -05:00
Solomon Peachy
60139cf9f1 FS#9273: Add a bunch of voice corrections for Japanese.
Heavily modified from the original patches.

Change-Id: Ifb8e476e565c3049414aa3dd82818cae5000e788
2020-12-11 15:39:47 -05:00
Solomon Peachy
e4b514917e lang: The "InvalidVoice" language file wasn't being included properly
It ended up inside the 'langs/voicestrings.zip' with an absolute path
when it should of landed in langs/ directly.

Change-Id: I308b551e627d63142ec8871ccfb72b6036eff3d2
2020-12-11 15:35:12 -05:00
Solomon Peachy
10f05b3b27 build-info: Replace %MODEL% with %TARGET%
Change-Id: I93bcaae9f8f053bec783500418561faa84c60afe
2020-11-29 09:54:47 -05:00
Solomon Peachy
64fe7e03a8 build-info: Additions for new rbutil.
Change-Id: If61c7a013af78e064a0f5f5ab1046ef07af44730
2020-11-22 12:41:53 -05:00
Solomon Peachy
25529e4fe0 lang: More automated rejiggering, USB_MODE_* is no longer ibasso-specific
Change-Id: I8e7eb3bb3c5ed61572c0ade4059c3e3527558932
2020-11-22 14:45:16 +00:00
Solomon Peachy
497618e51e Add libraries to native MIPS toolchain to enable bluetooth support
libffi, zlib, glib, expat, and dbus

Change-Id: I9453b3cabe91fd3dc992e065729d61d7e005091e
2020-11-19 12:33:01 -05:00
Solomon Peachy
b7b0c7c648 languages: convert recording_swcodec -> recording
Change-Id: I481a53284d63457717f4a6524edc5b477f29a20a
2020-11-19 09:52:37 -05:00
Solomon Peachy
7c87467ba4 configure: Add prompt for USB Serial into the advanced mode
And explicitly disable USB_ENABLE_SERIAL when HAVE_USBSTACK is not define

Change-Id: Ieb4176b02a60eb1b9db81f0b8c69403898a76ca1
2020-11-18 08:50:05 -05:00
Solomon Peachy
7ff3c94e13 lang: Make all swcodec &| lcd_bitmap strings default.
Change-Id: Id0a3282884c3e258c5b2f24b35aa7e618a8e8bbe
2020-11-17 11:06:09 -05:00
James Buren
4fd1e4364b fwpatcher: fix compile errors and warnings on modern Linux
Change-Id: I87b71654ce8669904cfb587cb0673a46455bcbd1
2020-11-16 21:05:52 +00:00
James Buren
84086af957 update fwpatcher and rbutil checksums for iriver h1x0/h300 V8 bootloader
Change-Id: Icf6bc96889fbe682832a99882c5d66c832ffb2f7
2020-11-16 20:51:11 +00:00
James Buren
adee6a11bf rockbox: fix iriver firmware validation for larger bootloaders
It turns out the code for the firmware size validation was incorrectly
using the total length of the firmware file to check if it was too big
for the flash rom which caused it to incorrectly flag larger bootloaders
as too big even though they would still fit.

As it happens this situation can only really arise after mkboot has been
run on the decoded firmware image. Because mkboot writes the actual binary
size to the ESTFBINR header we will be using that to check if the firmware
image is too large for the flash rom.

Now because this information is embedded in the decrypted / encrypted
region we have to collect it as the region is processed so the validation
is also moved to after the data processing loop.

Change-Id: I8bfead73812fe4e59f08fbbe8956790604dcb4e2
2020-11-16 19:44:52 +00:00
James Buren
64ea644269 mkboot: fix the buffer size used for constructing the final firmware image
It was short by a fair number of bytes which could be reached when
attempting to insert bootloaders near the maximum size of 64k. This
ensures even the largest acceptable bootloader will not overflow the
buffer.

Change-Id: I8fbc92d4e3452192bf47104d7a32b49248eefc0e
2020-11-16 18:23:30 +00:00
James Buren
5252523937 fwpatcher: fix a few issues with the mksums.pl script
First, the way it was invoking mkboot was no longer correct so it
was not producing files used in the later commands.

Second, support for the H300 1.31k firmware was added sometime ago
but not to this script.

Change-Id: I0e9c74a3b9f83ade8d01df0bebfe06f4d3b92ce4
2020-11-16 14:05:17 +00:00
Solomon Peachy
fc4fff0b81 builds: Enable German voicefile generation in the nightly builds
Change-Id: I4881b30757027bbaa64d3f9b07146ceb478f3dbb
2020-11-13 21:40:58 +00:00
Solomon Peachy
090bd9592d Remove the firmware decompressor and a few more other SH-stragglers.
Change-Id: Ic568755afcccc6db1b6e791b1ed0d2588b90356f
2020-11-03 23:43:32 +00:00
Solomon Peachy
41a6da6043 builds: Enable -fno-delete-null-pointer-checks globally
* arm failures in lua, wolf3d, quake, flac
 * m68k failures in lua, wmapro
 * mips ???

I still think that most of these are actually due to latent bugs or
ambiguous code.

Change-Id: I4c9751d2b5c7a66253b313bfbc75fcd721b118d6
2020-10-28 04:10:29 +00:00
Solomon Peachy
804a49886a statusbar: Make statusbar height equal SYSFONT_HEIGHT
And size elements horizaontally based on SYSFONT_WIDTH

Unfortunately we need 16px icons to make 16px statusbar look right
but at least it _works_ properly now.

Also: all targets currently use 8-px SYSFONT, except some hosted bootloaders

Change-Id: I0cdf97e6ef47ec49693ef79667b200595b4fe075
2020-10-26 19:52:40 +00:00