Perl 5.14 removed Switch which means that Rockbox will no longer build
with the current release of Perl. The patch replaces Switch
with given/when which was introduced in Perl 5.10.0.
Debian stable has 5.10.1, cygwin 1.7 has 5.10.1 and Mac OSX 10.6 comes
with 5.10.0. I'm not sure what version older versions of OSX come with,
but newer versions are apparently available from Macports.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30169 a1c6a512-1295-4272-9138-f99709370657
Change the logic in configure to record the entire command line from the
beginning and filter out options that are set again by configure.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30134 a1c6a512-1295-4272-9138-f99709370657
In order to enable it, #define HAVE_DUALBOOT when building the bootloader.
Do not use the automatically created x5_fw.bin or m5_fw.bin, but use mkboot
to create a new firmware file from an OF x5_fw.bin resp. m5_fw.bin and
bootloader.bin.
The dual-boot bootloader boots the OF when pressing Play (main or remote) for
more than 3 seconds. Hold it a bit longer because the OF also checks buttons.
Short press boots rockbox.
As a bonus, the Play button read (for hold check) is done a bit earlier for
single-boot mode as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30018 a1c6a512-1295-4272-9138-f99709370657
Building the manual requires to use the manual make target, and it can be
invoked from a normal build configuration. Having a separate configure option
isn't necessary anymore.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29994 a1c6a512-1295-4272-9138-f99709370657
If the screen size specified is wider than higher specify the orientation as
landscape in AndroidManifest.xml. This usually applies to tablets where Rockbox
in portrait mode feels unnatural.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29951 a1c6a512-1295-4272-9138-f99709370657
Codec files are loaded as dynamic libraries. Instead of extracting them from
the packaged libmisc.so and therefore having them present twice on the device
put them into the apk as native libraries. Decreases the size of the installed
Rockbox by the compressed size of the codecs. Also, the extraction on first
Rockbox startup gets notably faster since it's less data to extract.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29940 a1c6a512-1295-4272-9138-f99709370657
Put the generated AndroidManifest.xml into the bin subfolder and remove it from
clean list. Avoids problems with cleaning if you're building in the android/
folder. Thanks to kugel for pointing out that people are actually doing that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29931 a1c6a512-1295-4272-9138-f99709370657
Use the source tree version as versionName string. As result the Android
Settings menu will now show that version instead of a rather unhelpful "1.0".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29929 a1c6a512-1295-4272-9138-f99709370657
Extend sapi_voice.vbs with slovak (FS#10904). Additionally add it to the list
of supported languages in Rockbox Utility and fix the country code used for
slovenscina (by myself).
Author: Peter Lecky
Flyspray: FS#10904
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29830 a1c6a512-1295-4272-9138-f99709370657
commit ID in the version string, much like is done for repos tracked
with bzr. FS#11297
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29827 a1c6a512-1295-4272-9138-f99709370657
When operating with binary files on Windows it is necessary to explicitly open
them in binary mode to prevent unwanted effects.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29699 a1c6a512-1295-4272-9138-f99709370657
- Move variable declarations to the top of blocks to be compatible with C89
compilers (like MSVS).
- Remove unnecessary Windows includes.
- Paths on Windows usually use backslash as path delimiter so accept that as
well.
- Rename some variables to avoid shadowing functions (like index()).
No functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29698 a1c6a512-1295-4272-9138-f99709370657
This enables Rockbox to render anti-aliased fonts using an alpha blending method.
The input font bitmaps are 4bit, i.e. 4x larger, but the metadata size stays the same.
A tool, convttf, for converting ttf fonts directly to the Rockbox fnt format is provided.
It has a useful help output, but the parameter that works best is -c1 or -c2 (2 for larger font sizes).
Flyspray: FS#8961
Author: Initial work by Jonas Hurrelmann, further work by Fred Bauer, Andrew Mahone, Teruaki Kawashima and myself.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29523 a1c6a512-1295-4272-9138-f99709370657
voice.pl will now read the TTS correction expressions from a file
tools/voice-corrections.txt which includes regular expressions for
adjusting the string. This makes it easier to adjust the corrections and
allows integrating them into tools like Rockbox Utility.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29500 a1c6a512-1295-4272-9138-f99709370657
More information: www.openpandora.org
Possible things to implement:
- Special button mappings
- Battery monitoring
- ALSA audio backend
- Automate creation of "pnd" (=binary) file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29451 a1c6a512-1295-4272-9138-f99709370657
Fixes building Rockbox Utility with multiple jobs since other libs could have
created the output folder already.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29414 a1c6a512-1295-4272-9138-f99709370657
Plugins still default to grid mode so using them will be awkward.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29408 a1c6a512-1295-4272-9138-f99709370657
Use own plugins/SOURCES and plugins/SUBDIRS file to avoid
ifdef hell for disabled plugins without a keymap.
This finally brings the credits screen to RaaA.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29392 a1c6a512-1295-4272-9138-f99709370657
* Pass the release version to make in the release script instead of having to remember to hack up version.sh in the release branch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29358 a1c6a512-1295-4272-9138-f99709370657
This replaces SDL threads with real cooperative threads, which are less cpu intensive and allow priority scheduling.
The backend for context switching is dependant on the host (sigaltstack/longjmp on Unix, Fibers on Windows).
configure has options to force or disallow SDL threads.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29327 a1c6a512-1295-4272-9138-f99709370657
Adds Nokia N900, N810 and N800 support.
Features:
- Introduce maemo specific platform defines
- Play audio in silent mode
- Stop playback on incoming calls
- Battery level readout
- Bluetooth headset support
- Save CPU by disabling screen updates if the display
is off or the app doesn't have input focus
- N900: GStreamer audio backend
Kudos to kugel for the code review.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29248 a1c6a512-1295-4272-9138-f99709370657
Add make install target for android builds.
Remove standard install targets as they don't apply.
Add java compilation dependancy on generated resource class(es?) to prevent weird runtime issues.
Update installApk.sh script to use correct tool location in recent sdks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29131 a1c6a512-1295-4272-9138-f99709370657
On Mac the folder holding the prebuilt compiler is darwin-x86, not linux-x86.
The extension of PATH to hold the compiler path below ANDROID_NDK_PATH needs to
be present when findtool searches for the compiler, so applying it to the
prefixtool call is not sufficient. OS X has a different behaviour to Linux
which keeps the set value even if it's applied to the prefixtool call only.
Might be caused by OS X coming with an older version of bash.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29125 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
Retune codec compiler optimizations with new compiler. Overall speedup with aac and flac getting big speedups.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29042 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
Major known issues:
- No bootloader yet
- No support for the first-generation 160GB CE-ATA hard disk drive yet
- Audio playback is slow, only FLAC seems to reach realtime
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28953 a1c6a512-1295-4272-9138-f99709370657
- pass AR to the lib Makefiles to make sure the correct one gets used.
- create an archive index for archives.
- simplify ucl Makefile a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28883 a1c6a512-1295-4272-9138-f99709370657
This unifies jpeg viewer, png viewer, and bmp viewer to one plugin, image viewer, so that you can navigate through different image formats.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28626 a1c6a512-1295-4272-9138-f99709370657
as Unstable. Also added the GoGear HDD6330 as Unusable for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28460 a1c6a512-1295-4272-9138-f99709370657
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
~/rockbox/.../e200 -> e200, normal
~/rockbox/.../e200-sim -> e200, sim build
~/rockbox/.../sim/e200 -> e200, sim build
replace sim with "boot" for bootloader, falls back on normal if neither is given.
Run this from inside the build dir just like you would tools/configure
using the full shortname guarentees the correct match, as above e200 will work for sansae200.... asks for confirmation before doing anything.
Add your folder structure if this doesnt work for your way of doing things
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28180 a1c6a512-1295-4272-9138-f99709370657
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
Skins are now more self contained in the skin manager which in the future might allow on demand skin loading (i.e smaller skin buffers)
Skin backdrops are also managed more intelegently (fixes a bug where you can get a crazy backdrop loaded if a .sbs fails to load)
the rockbox_default rescue theme is now called rockbox_failsafe to better express what it actually is.
This commit hopefully/maybe fixes the heavily reported data aborts, so please check if you are getting them
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28073 a1c6a512-1295-4272-9138-f99709370657
This also seems to fix a problem with make apk on some machines. Thanks to Dustin Skoracki for helping to investigate.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28062 a1c6a512-1295-4272-9138-f99709370657
example: for(int i=0; i<n; i++) ;
This should have no side effects
It was already used for android builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28021 a1c6a512-1295-4272-9138-f99709370657
Make sure to not try to dynamically link libspeex on Mac, since it's not a
standard library, and application bundles aren't statically linked anyway.
Remove looking up libspeex on Windows since it's not a standard library there
either. Don't search for libspeex multiple times but instead pass it to the
librbspeex Makefile.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27999 a1c6a512-1295-4272-9138-f99709370657
Seperate make rules in a almost empty android.make.
Also add forgotten powermgmt-android.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27977 a1c6a512-1295-4272-9138-f99709370657
Since memory on 32mb ipod videos is mapped twice, a 64mb build still has codecs and plugins mapped in a usable area. This means that all that needs to be done to support 32mb and 64mb boards with the same build is to adjust audiobufend to avoid using more than the actually present RAM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27960 a1c6a512-1295-4272-9138-f99709370657
It's used by both, plugins and codecs, and sh/hwcodec doesn't compile codecs
so it doesn't fit into sources.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27869 a1c6a512-1295-4272-9138-f99709370657
- some functions don't need to return their output, drop $(shell ... )
and prefix with $(SILENT), make V=1 will show the complete scripts being
run
- tweak make.dep generation: make the temporary file appear in root.make
only, and remove a useless "real command", there is already a real
command (mv)
- make addtargetdir.pl terminate its output with a newline ($(shell) did
that for us)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27855 a1c6a512-1295-4272-9138-f99709370657
General state is: Rockbox is usable (plays music, saves configuration, touchscreen works too).
Problems:
- Playing music in the background (i.e. when switching to another app) doesn't work reliably, but I'm working on that now.
- no cabbiev2 (only some preliminary files for it), no other default theme.
- screen flickers sometimes if the updates are too frequent
- no multi screen apk/package
- strange behavior when a phone call comes in
The java files (and the eclipse project) resides in android/, which is also supposed to be the build folder.
I've put a small README in there for instructions. There are some steps needed after the make part, which are described there,
and which eclipse mostly handles. But there ought to be some script/makefile rules which do that instead in the future.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27668 a1c6a512-1295-4272-9138-f99709370657
For RaaA it evaluates user paths at runtime. For everything but codecs/plugins it will give the path under $HOME/.config/rockbox.org if write access is needed or if the file/folder in question exists there (otherwise it gives /usr/local/share/rockbox).
This allows for installing themes under $HOME as well as having config.cfg and other important files there while installing the application (and default themes) under /usr/local.
On the DAPs it's a no-op, returing /.rockbox directly.
Not converted to use get_user_file_path() are plugins themselves, because RaaA doesn't build plugins yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27656 a1c6a512-1295-4272-9138-f99709370657
checkwps and database tools need to find their way to our headers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27550 a1c6a512-1295-4272-9138-f99709370657
Now it can install RaaA properly into /usr/local/{bin,lib,share} (incompatible with RaaA in svn, because it needs fixing to work with these dirs).
make install for sim and target builds is also cleaned up a bit.
Additionally, use the install tool for install make targets, it has some advantages over cp.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27407 a1c6a512-1295-4272-9138-f99709370657
SIMVER was really only used to detect a simulator build. With APP_TYPE you can
now differentiate between simulator, application, checkwps and database builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27372 a1c6a512-1295-4272-9138-f99709370657
EABI is now the default for all targets, but --no-eabi is still
available for testing purposes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27361 a1c6a512-1295-4272-9138-f99709370657
- cygwin's abs_path() can't operate on non existing path, so only
evaluate abs_path("$install/something") if $install is set. (apply
r27137 again)
- don't set $install to 0 since it's meant to be a string
- create the install prefix with mkdir -p before installing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27341 a1c6a512-1295-4272-9138-f99709370657
perl string comparison operator is 'eq', not '=='
$install needs to be concatenated to $rbdir for comparsion
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27340 a1c6a512-1295-4272-9138-f99709370657
It still works mostly like the simulator. There's also some minor left overs from the sim, but it does not define SIMULATOR.
It installs into the current (build) dir, and you need to run it with '--root .' (because it looks for ./.rockbox and not ./simdisk/rockbox) as options. That's one of the few kludges left that should be resolved soon'ish.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27310 a1c6a512-1295-4272-9138-f99709370657
- windows linker doesn't support -z defs
- rename 'crosscompile' variable to 'win32crosscompile' to show its real meaning
- do not test which host we are running on if we are cross compiling for win32
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27283 a1c6a512-1295-4272-9138-f99709370657
Running the linker with -z defs will error out if a shared library (such as a simulator codec/plugin) uses an undefined symbol
Replace a bunch of sed s,XX,YY, by s<XX<YY< because GCCOPTS will contain the ","
I chosed "<" because it's a weird character to be found in a PATH/option, but any character which wouldn't be present in XX or YY would do
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27256 a1c6a512-1295-4272-9138-f99709370657
Blacklist stable targets not tested enough and use the old gcc for these
Please test --eabi on these targets and remove them from the list when done
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26769 a1c6a512-1295-4272-9138-f99709370657
Put the USE_THUMB define in extradefines (Makefile), not in autoconf.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26764 a1c6a512-1295-4272-9138-f99709370657
You'll need a libgcc build with interworking enabled (our eabi gcc works)
Confirmed to work on Sansa AMS
Confirmed to boot on Gigabeat S
Not working on PP, linker generates invalid branches when mixing
ARM->thumb switches and long calls
Build time will be about 50% longer, because the gcc wrapper script
tries to build everything with -mthumb and falls back to default if it
fails (for example if the file uses inline ARM-only assembly)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26760 a1c6a512-1295-4272-9138-f99709370657
The small speed decrease is worth the size saving on these players with
2MB of ram
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26735 a1c6a512-1295-4272-9138-f99709370657
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
Add some more return checks and fix a memleak on error. Addresses warnings when
building with Rockbox Utility.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26569 a1c6a512-1295-4272-9138-f99709370657
Don't use make -j as it uses an unlimited number of jobs and can
severely slow down machines and/or make the build fail if processes
can't be created
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26533 a1c6a512-1295-4272-9138-f99709370657
It's now easier to force rebuild of files depending on the svn revision
version.c/version.h are generated once with new tools/genversion.sh
Changes in the VCS are still not auto detected, so you'll have to remove
builddir/version.* if you want to change the string in your binaries
APPSVERSION is now called RBVERSION and is defined in the generated
header instead of being defined by the Makefiles
appsversion is now called rbversion (the plugin api number didn't change
since old modules are still binary compatible)
Change some bootloaders to use knwon-at-buildtime RBVERSION instead of
"%s" + rbversion
You'll need to run make clean to regenerate dependencies after the
removal of apps/version.h
To build binaries with a different version string, hand-edit
tools/version.sh or tools/genversion.sh (which calls the former)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26320 a1c6a512-1295-4272-9138-f99709370657
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
This sort of change should never go in without prior discussion or consensus
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26071 a1c6a512-1295-4272-9138-f99709370657