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
- Refactor the program startup. main() is now in main.c like on target, and the implicit application thread will now act as our main thread (previously a separate one was created for this in thread initialization).
This is part of Rockbox as an application and is the first step to make an application port from the uisimulator. In a further step the sim bits from the sdl build will be separated out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26065 a1c6a512-1295-4272-9138-f99709370657
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
Select (B)ootchart in advanced options in configure, and logf will record timings for various stages of boot, for performance comparisons. Format logged is:
BC:>function_name,123,80
where 123 is the line number, 80 is the number of ticks since boot. This can be loaded as CSV into a spreadsheet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25426 a1c6a512-1295-4272-9138-f99709370657
Big endian hosts need to byteswap the wave data when reading or writing to
disk. Should fix speex based voice- and talkfiles only containing garbage on
PPC machines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25177 a1c6a512-1295-4272-9138-f99709370657
Voicefont writes most data as integer values which need bitswapping depending
on the architecture. Fixes voicefont creating invalid files on OS X PPC.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25160 a1c6a512-1295-4272-9138-f99709370657
Don't rely on the host being little endian -- PPC Macs are not, resulting in
wavtrim not trimming files at all. Also fix a printf warning while at it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25158 a1c6a512-1295-4272-9138-f99709370657
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
- 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
Compilation shows a warning for the first argument of the lcd_bitmap() call in show_logo().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24911 a1c6a512-1295-4272-9138-f99709370657
- buildable for Cygwin/MinGW.
- SDL cobfig is set by using SDL-config.
- metadata/*.c add automaticaly when database tool builds.
- bitmap files do not create when database tool builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24908 a1c6a512-1295-4272-9138-f99709370657