Commit graph

2247 commits

Author SHA1 Message Date
Aidan MacDonald
c6df8cc4f7 configure: Add support for compiling the simulator with UBSan
By passing --with-ubsan to tools/configure, you can now build the
simulator with UBSan to catch undefined behavior at runtime.

Change-Id: I054cd46ca59587dd544efbd7bdf6d27a040a4891
2022-04-17 11:37:34 -04:00
William Wilgus
a62d36d9e7 Warble builds define WARBLE fix metadata_common in warble builds
Change-Id: Ie5115162da5a06d917de09f75b90254bb30b7513
2022-03-13 11:41:30 -04:00
Dominik Riebeling
6783b2c8a7 rbspeex: Fix unused variable warning.
Change-Id: I24a0a9c28101f0d7f17d9e8e4a778f9566ba4701
2021-12-25 17:47:14 +01:00
Solomon Peachy
6a6f5fbd6c Voices: Enable the generation of turkish voice files.
Change-Id: Iee9ee12602e0a2f6c01d4de738d16787b9f5c23e
2021-12-15 22:37:14 -05:00
Solomon Peachy
b53d2bc432 languages: Fix RTL language file generation
The 'rtl' flags for Arabic and Hebrew was inadvertantly deleted
in 7ff3c94e1 (over a year ago, in November 2020!) but it's actually been
broken since the introduction of 'updatelang', in 2305966d (July 2020)

The fix here is to change the 'RTL' flag from an <options> section in
the language file to a comment in the header.  It's not as pure in a
design sense but it makes for a much cleaner implementation.

I may further revamp this by making the 'RTL' flag into an explicit
LANG_xxx string

Change-Id: I48f394adfadc0aa804fd67690c87cc28f04fccdc
2021-12-15 19:19:44 -05:00
Aidan MacDonald
701d4ba77e x1000: Merge makefiles used for the bootloader
All three X1000 native targets turned out to have a very
similar boot configuration and used a nearly identical
makefile. Eliminate this duplication by moving the logic
into the main makefile.

Change-Id: I13044b9675c0abd605b8accdb2fee4f54549b020
2021-11-18 14:14:54 -05:00
Solomon Peachy
5883cb4a52 languages: Prefer the translated <dest> over a <voice> that is identical to English
A lot of our translations have voice phrases that are identical
to English, even though they are translated in the display text.

In these scenarios, just use the translated text when generating
the voice files.  These will still be flagged as problems by the
translation web site!

Change-Id: I39a9888eaad650e4c847cccc60bd89cf44ae150a
2021-09-29 10:54:19 -04:00
Solomon Peachy
757766e807 languages: Prefer translated <dest> over untranslated english <voice>
When a prase is translated but the voice is not, default to using
the translated phrase over the untranslated English voice

Change-Id: Ie2cb1c6d0c370f450586b8a4653f1a073f8aec9d
2021-09-29 10:07:51 -04:00
Solomon Peachy
2ebe69b67a voice: Enable nightly Serbian & Norweigan voice generation.
The general rule is that languages with at least 90% coverage are
enabled.

Change-Id: I610b17dae95477f251067f75995502d089fc9094
2021-09-29 06:45:16 -04:00
Solomon Peachy
70e72e01d2 talk: Add support for languages that swap the tens position in numbers
For example, English would say "231" as "two hundred thirty one" but
many other languages would say "two hundred one and thirty"

So, if VOICE_NUMERIC_TENS_SWAP_SEPARATOR is not an empty string, swap
the tens and ones position and use that string ("and" in the above
example) as the voiced separator.

Change-Id: I69f8064d44b3995827327cabae6ad352bf257d04
2021-09-28 17:25:28 -04:00
Solomon Peachy
3cc7509e81 voice: Add default presets for Danish.
(The language remains <75% translated)

Change-Id: I7c9b7627e745aafc60a3d8965e7aceaa63c7664c
2021-09-28 17:25:28 -04:00
Solomon Peachy
412e76b487 configure: --no-ccache must disable CCACHE for $HOSTCC too!
Accomplish this by setting CCACHE_DISABLE=true

Change-Id: Ie930fc4e828ebb7a29234c1a8f371980489d5668
2021-09-20 20:14:37 -04:00
Solomon Peachy
3e52c7c734 rockboxdev: Add 'g++' to the list of required tools for building toolchains
Change-Id: Ia7e4922476c5107e758ee37e80a4553a9441e125
2021-09-03 22:03:54 -04:00
Aidan MacDonald
de578bde1f Add advanced build option to omit building plugins
Compiling the plugins takes quite a long time and is unnecessary
if you're only working on the core code. Having an option is nicer
than having to edit the configure script by hand.

Change-Id: I401867355d897ce3fd899d9daf25ea9afcc380f0
2021-08-15 19:36:14 +00:00
Solomon Peachy
04fe77a465 Remove the (very) incomplete port for the Tatung TPJ-1102
It was barely even a stub, and hasn't seen any development since 2009

Change-Id: I0aa15d9a7b90ae8c771924d9f401380d4cc0fab9
2021-08-14 16:29:39 -04:00
Aidan MacDonald
786d06742a Remove Samsung YP-Z5 port
It has only a couple GB of onboard flash storage with no storage
driver in Rockbox. It hasn't seen any meaningful development since
its initial commit, it's not on the build farm, and the bootloader
build is broken by other refactoring.

Change-Id: Idd9e3c46fac9b96f416ce444182f97a50770e747
2021-08-14 14:13:54 +01:00
James Buren
da45b37fac tools/iriver: fix resource management in encode/decode functions
Change-Id: Ib0b38378c66d5902694d9af9fd0271d616101660
2021-08-06 03:08:10 +00:00
Solomon Peachy
d0536b8b6b Fix typo in f8bbe3352c
Change-Id: I02ab35f21c2733efd81a9b97d1c88e283f6187ff
2021-07-24 16:27:49 +00:00
Solomon Peachy
f8bbe3352c rocker: First crack at manual for the AGPTek Rocker
It needs screenshots and slightly better installation instructions

Includes bits shared with other HibyOS platforms

Change-Id: I1c1974143b5badf1aca5c3281556ce553ab1b8a5
2021-07-24 11:16:57 -04:00
Solomon Peachy
a0948ddfa1 Enable building the manual for the FiiO M3K and Shanling Q1
The nightly manual builds previously only included targets that were
marked as "stable" -- The M3K and Q1 are not because they lack rbutil
integration, but we would like to provide the manual builds regardless.

Change-Id: I113e0576753ba6bb1518da2169c1b0b84aebd2f4
2021-07-24 11:16:57 -04:00
Dana Conrad
3e7a09cb0d New Port: Eros Q Native
What works:
- LCD: 16-bit RGB565
- all buttons, including scrollwheel
- SD Card
- Battery level and charging/not charging status
- USB
- audio
- sample rate switching
- HP / LO detect, with "safe" fixed LO volume -
   LO volume will only be put to user-defined max volume
   if headphones are not present.
- rtc
- Plugins build, tried a couple and they seem OK
- Bootloader, installable to nand via usbboot

What doesn't work:
- Dual Boot
- power on/off has intermittent, low volume audio click
   (sometimes it's completely silent, sometimes there's
    a click)
- Audio uses 16-bit volume scaling, so clicking/popping
   is pretty bad at lower volumes - need 32 bit volume
   scaling, 24 bit I2S data
- USB HID keys not yet defined
- no jztool support

Unknowns:
- Stereo Switch pins: Direction select, AC_DC
   (probably not even hooked up)
- What is the actual purpose of the Stereo Swtich?
- How does the bluetooth module connect?

"Someday" stuff:
- get LCD working at higher bit depth
- Bluetooth

Change-Id: I70dda8fc092c6e3f4352f2245e4164193f803c33
2021-07-18 12:14:35 +00:00
Solomon Peachy
ec31a2b4ad Fix builds.pm syntax error (1d72d9cf)
Change-Id: I7c7e8e7de16157ecc6535a8b461c12430bd376fb
2021-07-15 15:40:26 -04:00
Aidan MacDonald
1d72d9cf28 builds: add Shanling Q1 to unstable
Change-Id: Ic490b4d68c2faa35dd8cb6733766019aeeb192e7
2021-07-15 18:54:35 +00:00
Aidan MacDonald
4c60bc9e68 New port: Shanling Q1 native
- Audio playback works
- Touchscreen and buttons work
- Bootloader works and is capable of dual boot
- Plugins are working
- Cabbiev2 theme has been ported
- Stable for general usage

Thanks to Marc Aarts for porting Cabbiev2 and plugin bitmaps.

There's a few minor known issues:

- Bootloader must be installed manually using 'usbboot' as there is
  no support in jztool yet.

- Keymaps may be lacking, need further testing and feedback.

- Some plugins may not be fully adapted to the screen size and could
  benefit from further tweaking.

- LCD shows abnormal effects under some circumstances: for example,
  after viewing a mostly black screen an afterimage appears briefly
  when going back to a brightly-lit screen. Sudden power-off without
  proper shutdown of the backlight causes a "dissolving" effect.

- CW2015 battery reporting driver is buggy, and disabled for now.
  Battery reporting is currently voltage-based using the AXP192.

Change-Id: I635e83f02a880192c5a82cb0861ad3a61c137c3a
2021-07-13 22:01:33 +01:00
Solomon Peachy
663539619c configure: fix a typo that could break voice builds
(If you don't have espeak, festival, or flite installed)

Change-Id: I5820535c55cc02e32bf31f3e30070b2c1e68ff87
2021-07-09 15:10:50 +00:00
Solomon Peachy
2e9b93dc5d build: Nuke the ASMFLAGS workaround for gcc 3.4.x
Change-Id: I0f21e9539d39afd54916fa8d84ce798eef474a2c
2021-07-08 20:47:30 -04:00
Solomon Peachy
2c984f3714 build: use gcc-ar / gcc-ranlib in preparation for link-time-optimization
Change-Id: If5fd9a8f15200fca9a89999605394f7527387a2b
2021-07-08 19:53:05 -04:00
Solomon Peachy
2ff3425ab1 build: Rename SHARED_LDFLAG to SHARED_LDFLAGS
Change-Id: Icb81c72fbcfcdad624112a386ba38a40a830d18f
2021-07-08 19:53:05 -04:00
Solomon Peachy
17f7dfb9d2 build: Make checkwps use global GCCOPTS
Change-Id: I6859d3611b2008bf8a6ec52887d8e278df1ebd9f
2021-07-08 12:06:57 -04:00
Solomon Peachy
e6ee3dd17c builds: Move the Sansa Connect to unstable
Change-Id: I0087cb3e7d1b412353d3a02d7dd282a27c5a69fc
2021-07-08 12:25:36 +00:00
Tomasz Moń
e11fa5f74e Sansa Connect: Initial libertas WiFi driver port
Import non-free firmware image from linux-firmware package.

Firmware loading works but is disabled at compile time because just
loading firmware without configuring device results in higher power
consumption without any benefit to end user.

Change-Id: I8fd252c49385ede1ea4e0f9b1e29adeb331ab8ae
2021-07-04 07:41:44 +00:00
James Buren
9246cbc65e rbspeex: fix shared linkage on newer Linux distributions
The old linking order does not work anymore so reorder it to fix
shared linkage.

Change-Id: I438c44792b5aff20e752b093b4d81a027db952db
2021-06-27 15:16:35 +00:00
James Buren
91bae5837b mkzenboot: fix implicit function warning
strcasecmp is defined in strings.h but it is not included here.

Change-Id: I0629560b6f928f9839f01918cce5e2f1e5b4a85c
2021-06-27 15:13:59 +00:00
Solomon Peachy
0faf978c3d build: Add an 'xz' target to generate a .tar.xz image
Improve the tarball generation a bit too

Change-Id: Ie68bea4e876bad5cd101dd396ec2247127b1b390
2021-06-17 11:56:59 -04:00
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