Find a file
Solomon Peachy caaea275eb libspc: Temporarily disable problematic armv4 asm optimization
asm volatile (
    "mov    %[t0], %[out], asr #11  \n"
    "mul    %[out], %[t0], %[envx]  \n"
    : [out]"+r"(output), [t0]"=&r"(t0)
    : [envx]"r"((int) voice->envx));

This is resulting in "Rd and Rm should be different in mul" error,
because the compiler is putting [out] and [t0] into the same
register.

After some poking there doesn't appear to be a sane way to change
the constraints, so just disable it for now.

Change-Id: I7827713c8aadb27f0bf4a6f4a3e1d910c6193686
2025-09-21 15:39:35 -04:00
android build: instead of 'ifdef NODEPS' use 'ifneq ($NODEPS,)' 2025-03-29 14:33:20 -04:00
apps surfansf28: Hook up CONTEXT_YESNOSCREEN 2025-09-21 15:39:35 -04:00
backdrops New port: Anbernic RG Nano 2025-07-29 21:01:53 -04:00
bootloader unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
debian Prepare new maemo release 2013-03-10 12:12:38 +01:00
docs unicode: Support characters beyond the first unicode plane 2025-09-12 09:24:30 -04:00
firmware misc: Fix up more gcc9 warnings 2025-09-21 09:03:00 -04:00
fonts FS#9906: Correct SWIDTH, DWIDTH for ETHIOPIC SYLLABLE NO in 15-Adobe-Helvetica (Maurus Cuelenaere) 2025-03-25 21:25:21 -04:00
gdb Nuke the never-functional iriver ifp-7xx port 2021-04-26 07:42:58 -04:00
icons Revert Non-Alpha Updated 8x8 tango icons 2020-10-25 16:21:58 +00:00
lib libspc: Temporarily disable problematic armv4 asm optimization 2025-09-21 15:39:35 -04:00
manual manual: album art tag: fix width/height mixup 2025-09-10 22:30:03 +02:00
packaging rgnano: Proper keylock support 2025-08-30 17:20:31 -04:00
tools Toolchains: Update to GCC 9.5.0 2025-09-21 09:03:00 -04:00
uisimulator rgnano: Add simulator button click mappings 2025-08-18 19:06:04 -04:00
utils rbutil: add qt version check for setIniCodec 2025-09-11 21:39:52 -04:00
wps rgnano: Change ROCKBOX_DIR to /mnt/FunKey/.rockbox 2025-08-10 14:47:17 -04:00
.gitattributes Add a gitattributes file for the migration. 2011-12-01 14:14:59 +00:00
.gitignore gitignore: Add the output directory of the release scripts 2025-04-29 20:20:16 -04:00
.gitreview misc: Add a .gitreview file for better gerrit integration 2021-06-24 07:22:19 -04:00

               __________               __   ___.
     Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
     Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
     Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
     Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
                       \/            \/     \/    \/            \/

Build Your Own Rockbox

1. Clone 'rockbox' from git (or extract a downloaded archive).

   $ git clone git://git.rockbox.org/rockbox

     or

   $ tar xJf rockbox.tar.xz

2. Create a build directory, preferably in the same directory as the firmware/
   and apps/ directories. This is where all generated files will be written.

   $ cd rockbox
   $ mkdir build
   $ cd build

3. Make sure you have mips/m68k/arm-elf-gcc and siblings in the PATH. Make sure
   that you have 'perl' in your PATH too. Your gcc cross compiler needs to be
   a particular version depending on what player you are compiling for. These
   can be generated using the rockboxdev.sh script in the /tools/ folder of the
   source.

   $ which arm-elf-eabi-gcc
   $ which perl

4. In your build directory, run the 'tools/configure' script and enter what
   target you want to build for and if you want a debug version or not (and a
   few more questions). It'll prompt you. The debug version is for making a
   gdb version out of it. It is only useful if you run gdb towards your target
   Archos.

   $ ../tools/configure

5. *ploink*. Now you have got a Makefile generated for you.

6. Run 'make' and soon the necessary pieces from the firmware and the apps
   directories have been compiled, linked and scrambled for you.

   $ make
   $ make zip

7. unzip the rockbox.zip on your music player, reboot it and
   *smile*.

If you want to build for more than one target, just create several build
directories and create a setup for each target:

   $ mkdir build-fuzeplus
   $ cd build-fuzeplus
   $ ../tools/configure

   $ mkdir build-xduoox3
   $ cd build-xduoox3
   $ ../tools/configure

Questions anyone? Ask on the mailing list or on IRC. We'll be happy to help you!