Commit graph

2248 commits

Author SHA1 Message Date
Michael Giacomelli
3e91ad5df2 Fix download link for the MIPS toolchain. 2018-07-28 10:56:31 -04:00
Solomon Peachy
0662793ca0 Add cleaned-up xDuoo X3 support
Cleaned up, rebased, and forward-ported from the xvortex fork.

(original credit to vsoftster@gmail.com)

Change-Id: Ibcc023a0271ea81e901450a88317708c2683236d
Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
2018-07-28 10:56:31 -04:00
Amaury Pouly
b3e2bd619b Update MIPS toolchain to GCC 4.9.4 and binutils 2.26.1, update configure
Change-Id: I4d3dad4521bdf0b0d6ee5d1635ddbf57483d2b42
2018-07-28 10:56:31 -04:00
Marcin Bukat
20bdfa8209 Agptek Rocker: Add to builds.pm
Change-Id: I512dc1d5419d4e59a3dd2503ce9da0a826975af1
2018-06-14 11:29:02 +02:00
Marcin Bukat
203e4adb1e Agptek Rocker: Slightly tweak build procedure
In bootloader build create stripped binary bootloader.rocker

Change-Id: Id67bebe82251fac22ad905ad3d49525691816746
2018-06-14 11:02:18 +02:00
Marcin Bukat
419219e06d Agptek Rocker: Update tools to alter .upt update images
Change all references to official rockbox repository

Change-Id: I22d305bc6c6f89b8737b2bc15378bfd7fe10621e
2018-06-13 13:30:34 +02:00
Marcin Bukat
f4390794ef bmp2rb: Add XRGB 32bit native format
Change-Id: Ic4af5a7c53c032e58dc252d1f69001d7aafd7f26
2018-06-12 12:55:56 +02:00
Marcin Bukat
fbb6a2ff6d Agptek Rocker: Build plugins
Patch provided by Aapo Tahkola.

Change-Id: I37a42a950d78d6b8aa3927ec7aeb30030f7be7a5
2018-06-12 10:31:15 +02:00
Marcin Bukat
0538ba3d59 Agptek Rocker: Restrict root directory to SD only
Actual / of underlying linux OS should not be available to user.
I am still not sure if implementation is correct. It doesn't
perform any relative path sandboxing for example.

Change-Id: Ic577a10f3947f6e950e2c4d03173f9f207395eb7
2018-06-12 10:31:15 +02:00
Marcin Bukat
09fde79ec8 Agptek Rocker: Add tools to work with OF update images
Original firmware update is provided as .upt file. This file
is actually ISO9660 image containing uBoot, kernel image and
UBIFS rootfs and additional control files. Installing
bootloader means patching UBIFS rootfs image.

Change-Id: Ica86d1189dc1d5f3131d2035d8b87c8d08ec36b5
2018-06-12 10:31:14 +02:00
Marcin Bukat
d55680993d Agptek Rocker: Initial commit
Change-Id: I26b51106c7b1c36a603fba6d521e917d79b5a95b
2018-06-12 10:31:14 +02:00
Marcin Bukat
beef52c5f0 mipsel-rockbox-linux toolchain build fix
If we use mips-rockbox-linux target resulting toolchain is
big endian. If we use mipsel-rockbox-linux build fail since
linux doesn't have separate archs for BE and LE mips. So we
tweak arch passed to linux-headers stage to fix this.

Change-Id: Iccae529998d1cd8f3429fa3b2ca4f030122f23bb
2018-06-12 10:31:03 +02:00
Amaury Pouly
1b2faea677 Add generic linux MIPS toolchain
Change-Id: I9f8927e348421bd8592d62eb61f6acf324d5f3a4
2018-06-12 10:31:03 +02:00
Sebastian Leonhardt
0486e5b93e Zen XFi2: Enable Plugins
Keymaps aren't tested, there may be room for improvement.


Change-Id: I6b8fe697899b241ea6e96f4fe446d88671ad7818
2018-04-03 11:34:01 +02:00
Amaury Pouly
5da0cbea31 nwz: enable plugins on all targets except NWZ-A860
Keymap might be suboptimal.

Change-Id: Ibaf51e91cf935c96b7f419647fe1147dee6cc8be
2017-11-14 00:28:00 +01:00
Amaury Pouly
0fe7b8becf nwzlinux: add support for radio
None of the Sony up to A15 seem to support RDS (they use either Si4702 or Si4708),
thus I did not add any code to support RDS.

Change-Id: I64838993b9705b36b94665f8470c7a89c772c961
2017-11-06 21:37:06 +01:00
Amaury Pouly
6a62cc1f78 Add NWZ-E350 as unstable
Change-Id: I13cb173b2e0eee8799469c6b9a7029cb965dc2dd
2017-09-17 23:49:07 +02:00
Amaury Pouly
127e6bbfdd Add support for the NWZ-E350
Strangely it has the SAME encryption key as the E450. Either they didn't bother
changing it or more likely they have exactly the same internals and a slightly
different case.

Change-Id: I39ab88845b3e40db34160c2e61dde421f391df44
2017-09-17 23:47:49 +02:00
Amaury Pouly
91d3c8e459 Add support for the Sony NWZ-S750
Change-Id: I9050129949809b3dbe9f4f9e816f8980c4f3a904
2017-09-17 14:35:58 +02:00
Amaury Pouly
53ebdbc7f3 Add NWZ-A860 as unstable
Change-Id: Iba944551d7bf4e1f24ffbd4f2a0be82eee395651
2017-09-17 00:09:07 +02:00
Amaury Pouly
ac57f96838 Add support for the NWZ-A860
Change-Id: Ibf0c5168ac31d4ba2aeaa86cbeca37a1011b75fa
2017-09-17 00:03:02 +02:00
Amaury Pouly
4580897d05 fix yellows
Change-Id: Ie27d3aa7d2485b4eb053af48ba34ad6526bf6472
2017-09-06 18:01:25 +02:00
Amaury Pouly
6e819f8c80 Add NWZ-E450/E460/E470/E580/A10/A20 as unstable
Change-Id: If4e20893e77f1f0e7b1d38ce21a8e945b7930463
2017-09-06 18:01:24 +02:00
Johannes Rauh
3a5ae7dd3a Add support for Sony NW-A20
Add original author to CREDITS

Change-Id: I7a0159635c7896e2b5521c078ef62618f568d89e
2017-09-06 17:16:55 +02:00
Amaury Pouly
1d121e8c08 Initial commit for the Sony NWZ linux port
SUPPORTED SERIES:
- NWZ-E450
- NWZ-E460
- NWZ-E470
- NWZ-E580
- NWZ-A10

NOTES:
- bootloader makefile convert an extra font to be installed alongside the bootloader
  since sysfont is way too small
- the toolsicon bitmap comes from the Oxygen iconset
- touchscreen driver is untested

TODO:
- implement audio routing driver (pcm is handled by pcm-alsa)
- fix playback: it crashes on illegal instruction in DEBUG builds
- find out why the browser starts at / instead of /contents
- implement radio support
- implement return to OF for usb handling
- calibrate battery curve (NB: of can report a battery level on a 0-5 scale but
  probabl don't want to use that ?)
- implement simulator build (we need a nice image of the player)
- figure out if we can detect jack removal

POTENTIAL TODOS:
- try to build a usb serial gadget and gdbserver

Change-Id: Ic77d71e0651355d47cc4e423a40fb64a60c69a80
2017-09-05 21:42:12 +02:00
Amaury Pouly
142f80f07d Modernize toolchain script and add generic arm toolchain
I did some cleanup of redudant stuff, simplify some logic, also switch to bash
because sh in the pain when ones want to locally define variables for functions
calls. I also added support to download more stuff like alsa-lib and more recent
gccs that use a different naming convention, as well as linux kernels.

I also add some build to build linux toolchains without ct-ng. The biggest problem
with ct-ng is that they regularly drop support for old stuff and as a result it
rots really quickly for old toolchains. I add a new toolchain for generic linux arm
with the minimum requirements, it works fine on Sony NWZ and also on YP-R0.

Finally, rockboxdev.sh now understand options on its command line (see --help).
Notably --target to give the list of targets (useful for noninteractive scripts),
--restart to restart at a step, --makeflags and others (instead of the environment
variables)

Change-Id: I869760c1faeb00ab381796a4cda82ffbc9637123
2017-09-04 15:06:48 +02:00
Franklin Wei
27ca56d241 Implement warning silencing in a cleaner way
Change-Id: Iae6356c7e9e04f4e975b1995f77a35f6252293a4
2017-08-27 13:22:49 -04:00
Franklin Wei
99e467e4ff Revert "Silence GCC 7.x warnings when building simulator"
This reverts commit b13f6e5b67.
2017-08-27 13:13:49 -04:00
Franklin Wei
b13f6e5b67 Silence GCC 7.x warnings when building simulator
Adds -Wno-expansion-to-defined and -Wimplicit-fallthrough=0 to sim
opts.

Change-Id: I62148e392446ae6a3fbe4c4d55770b72962e393d
2017-08-23 14:32:39 -04:00
Amaury Pouly
7482b82175 Fix formatting in configure
Change-Id: Ie877121bb60df6fb1fed4f778cc9aa0f5c426ed8
2017-05-16 12:16:25 +10:00
Amaury Pouly
b959655822 Fix unsafe substitutions in Makefile.
Strange things can happen in the (unlikely) case that ROOTDIR=/rockbox

Change-Id: I085f928fd859b307667e8fccf40b29a9c325f7ae
2017-05-12 20:28:57 +10:00
Franklin Wei
e016a167a5 fix nano status (3=stable)
Change-Id: I6e86e6ef0894f28c6583eca8273fadf51028e924
2017-04-30 19:55:20 -04:00
Franklin Wei
a8fa696288 N2G is stable and 6G is unstable
Change-Id: Ib5b939debb1db838907d33563784d336fdad3444
2017-04-30 19:50:11 -04:00
Franklin Wei
4519027562 Actually bump version to 3.14
This reverts commit e59197f078.
2017-04-30 19:33:35 -04:00
Franklin Wei
dfef033b43 Revert "Bump version to 3.14"
This reverts commit 42115ffab8.
2017-04-30 13:24:45 -04:00
Franklin Wei
42115ffab8 Bump version to 3.14
Change-Id: I839e90638d55782d0ce330808051842de581a0bd
2017-04-30 11:55:25 -04:00
Amaury Pouly
2c45548f65 Fix typo in configure
Change-Id: I142822983bf1144ab265caf5e9a488c5e423da4f
2017-01-16 20:09:56 +01:00
Michael Sevakis
4f7fea2add Fix path handling snafu for CheckWPS tool
Somehow it got hooked to simulator file functions when it should
be (and was) using raw OS functions.

Credit: Frank Gevaerts

Change-Id: Iac02fed1067830a432183632a047e00dfd03d3c2
2017-01-16 07:30:39 -05:00
Matthias Mohr
955be5b34a Fix configure for windows simulator builds in cygwin / mingw cross-compiling environments.
Fixes and Changes to configure the Windows simulator builds mostly for cygwin / mingw cross-compiling environments:
  - fix CROSS_COMPILE values including detection for old and newer mingw
environments
  - fix detection of sdl-config by searching inside CROSS_COMPILE
sys-root
  - fix call of sdl-config and use correct (found) version
  - add possibility to build a 64-bit simulator
  - added several -Wno- options to GCCOPTS to prevent annoying compiler
warnings
  - use cross-compiler as HOST_CC if no "native" HOST_CC is available

Change-Id: Ib5dd288c3f9a11be9b66e53e3406eadfa65f7604
2017-01-15 21:32:25 +01:00
Amaury Pouly
906a95ccbf rockoxdev.sh: fix compilation of ARM toolchain
This will breaks mips but mips is already super hard to build anyway.

Change-Id: Ia481a22440758fe72a87e2808f4fb8d31c49cb53
2016-12-04 15:11:58 +01:00
Amaury Pouly
50c1de7092 Fix makefile not rebuilding rbversion.h in some cases
For example when running make VERSION="bla"

Change-Id: I8f8833f0fb200828346ed0a6842a9340e3653932
2016-09-23 23:03:23 +02:00
Szymon Dziok
92450a9924 Mark Philips GoGear players as stable.
Change-Id: Id1f22488724d3ada5fa6efffc87e444add86400d
2016-09-22 22:34:42 +02:00
Szymon Dziok
5869ad2c87 Mark Samsung YH players as stable.
Change-Id: I4a0e8b7042ca54bf653ff2ce46a93f87000b0b2d
2016-09-22 21:48:01 +02:00
Amaury Pouly
c534be035a Move ZEN X-Fi/X-Fi3/X-Fi Style/Mozaic, NWZ-E360/E370/E380 and Fuze+ to stable.
Move ZEN and ZEN X-Fi2 to unstable.

Change-Id: I432d99b4fa976d93e2db883869995802a41186b6
2016-09-21 20:39:46 +01:00
Frank Gevaerts
d938411a94 Print make version in configure output.
This should make it easier to figure out random build issues.

Change-Id: Ic037ecc94a3c8386043349db1573c3587d7e1fda
2016-08-21 17:19:26 +02:00
Frank Gevaerts
37cc433628 Silence newer toolchains a bit
Newer toolchains (both gcc and libc related) add a lot of warnings.
While these can be useful and correct, cleaning them up woult be a
lot of work and isn't likely to actually happen any time soon.

Change-Id: I8c4e8cd3dc92f9afa4bf003c63ca65e895e3ef00
2016-08-12 14:42:31 +02:00
Franklin Wei
615c638c7d Fix broken simulator build with weird sdl-config
* --static-libs isn't supported on some (possibly newer) SDL installs, falls back to --libs if this is the case

Patch mostly by Amaury Pouly.

Change-Id: I6dd2f4847f2a2d1de7b2d287c0af6651cec461ff
2016-06-01 15:11:09 -04:00
Frank Gevaerts
9327885d14 Use an actually reliable method to determine 32 vs 64 bit
Change-Id: Idba256ae66e67efa7a03f3817bc588e0b4ccd4ba
2016-05-25 13:41:44 +02:00
Amaury Pouly
60fb707203 configure: statically link sdl on win32 cross compile
Change-Id: If9115da0470e2c301589329af67433f7260d24d3
2016-05-13 23:55:33 +01:00
Amaury Pouly
16c915ec18 configure: allow for compiler toolchain override (with warnings)
The current configure script unfortunately does not allow one to use another
toolchain than the one hardwire in the script. Although this is good to ensure
working builds, it can be burden when one wants to either test other compilers,
does not want to have to multiple redundant compilers or when the compiler
install script fails for unknown reasons (MIPS I'm looking at you).

The syntax is simple, for example:
/path/to/configure --compiler-prefix arm-none-eabi-
Also 'make reconf' will properly keep the prefix.

Change-Id: I5ee3bc61afa10193586ddd3aef694a8ac08854e2
2016-02-02 22:54:48 +00:00
Dominik Riebeling
465eb727a3 Fix rebuilding librbspeex on OS X and make rm work on Windows.
OS X ar operates on fat libaries and cannot update existing archives. Remove it
first to avoid this.
Use a make function when removing files to allow calling the correct command on
Windows, which doesn't know about rm.

Change-Id: Ia0c13ef7907239a1e6f4abc26bb08238a226c476
2015-06-20 20:47:35 +02:00
Thomas Martitz
2e58102174 configure: harden arch autodetected a bit
Some arm gcc versions have multiple cpp symbols beginning with
__ARM_ARCH, but want only the one that contains the arch version.

Change-Id: I6792572e29200fc4e62ba07bdd63dc722356c2bb
2015-04-19 18:14:23 +02:00
Simon Rothen
b84fd878d3 iBasso DX50/DX90 added as "unstable" to builds.pm
Change-Id: If6c906c363341aa8c80b6c5010274ce07daef4c8
2015-02-21 15:05:16 +01:00
Franklin Wei
74fc3efb60 Prevent configure from being run in the root of the tree, fix a typo in the configure script
Change-Id: I61205c2f00edbdcd726ca455a67c810fafe3ca92
2015-02-15 21:03:36 +01:00
Udo Schläpfer
dbabd0d9c3 iBasso DX50/DX90: Major code cleanup and reorganization.
Reorganization

- Separated iBasso devices from PLATFORM_ANDROID. These are now standlone
  hosted targets. Most device specific code is in the
  firmware/target/hosted/ibasso directory.
- No dependency on Android SDK, only the Android NDK is needed.
  32 bit Android NDK and Android API Level 16.
- Separate implementation for each device where feasible.

Code cleanup

- Rewrite of existing code, from simple reformat to complete reimplementation.
- New backlight interface, seperating backlight from touchscreen.
- Rewrite of device button handler, removing unneeded code and fixing memory
  leaks.
- New Debug messages interface logging to Android adb logcat (DEBUGF, panicf,
  logf).
- Rewrite of lcd device handler, removing unneeded code and fixing memory leaks.
- Rewrite of audiohw device handler/pcm interface, removing unneeded code and
  fixing memory leaks, enabling 44.1/48kHz pthreaded playback.
- Rewrite of power and powermng, proper shutdown, using batterylog results
  (see http://gerrit.rockbox.org/r/#/c/1047/).
- Rewrite of configure (Android NDK) and device specific config.
- Rewrite of the Android NDK specific Makefile.

Misc

- All plugins/games/demos activated.
- Update tinyalsa to latest from https://github.com/tinyalsa/tinyalsa.

Includes

- http://gerrit.rockbox.org/r/#/c/993/
- http://gerrit.rockbox.org/r/#/c/1010/
- http://gerrit.rockbox.org/r/#/c/1035/

Does not include http://gerrit.rockbox.org/r/#/c/1007/ due to new backlight
interface and new option for hold switch, touchscreen, physical button
interaction.

Rockbox needs the iBasso DX50/DX90 loader for startup, see
http://gerrit.rockbox.org/r/#/c/1099/

The loader expects Rockbox to be installed in /mnt/sdcard/.rockbox/. If
/mnt/sdcard/ is accessed as USB mass storage device, Rockbox will exit
gracefully and the loader will restart Rockbox on USB disconnect.

Tested on iBasso DX50.
Compiled (not tested) for iBasso DX90.
Compiled (not tested) for PLATFORM_ANDROID.

Change-Id: I5f5e22e68f5b4cf29c28e2b40b2c265f2beb7ab7
2015-02-02 21:57:55 +01:00
Thomas Jarosch
98280bb203 Multiple variables for 'my' need to be in parenthesis
perl -wc reported:

Parentheses missing around "my" list at sims.pl line 9.
Useless use of a variable in void context at sims.pl line 9.
Useless use of a variable in void context at sims.pl line 9.
Useless use of a variable in void context at sims.pl line 9.
Useless use of a variable in void context at sims.pl line 9.
Name "main::doonly" used only once: possible typo at sims.pl line 9.

-> now it's happy.

Change-Id: I3b3685d6918ddb77e47c58bade931897075c6e04
2015-01-03 15:25:09 +01:00
Thomas Jarosch
dd75bb756d Don't build sims twice
Some of those builds are already in the 'builds' list.

Change-Id: I6985702d50ff00e166463384d78f823f6fad9873
2015-01-03 15:20:27 +01:00
Thomas Jarosch
61e322c840 mkzenboot: Fix double close of bootfd on error
cppcheck reported:
[rockbox/tools/mkzenboot.c:1176]: (error) Used file that is not opened.

Change-Id: Ibbf7ab2910c7f43b547fef25c62e0b4d19ff9551
2014-12-20 15:18:46 +01:00
Simon Rothen
0b5ad60c26 Introducing Targets iBasso DX50 & iBasso DX90
The port to for this two targets has been entirely developped by Ilia Sergachev (alias Il or xzcc). His source
can be found at https://bitbucket.org/isergachev/rockbox . The few necesary modifications for the DX90 port
was done by headwhacker form head-fi.org. Unfortunately i could not try out the final state of the DX90 port.
The port is hosted on android (without java) as standalone app. The official Firmware is required to run this port.
Ilia did modify the source files for the "android" target in the rockbox source to make the DX port work. The work I did
was to separate the code for DX50 (&DX90) from the android target.
On this Target Ilia used source from tinyalsa from AOSP. I did not touch that part of the code because I do not understand it.
What else I changed from Ilias sources besides the separation from the target "android":
* removed a dirty hack to keep backlight off
* changed value battery meter to voltage battery meter
* made all plugins compile (named target as "standalone") and added keymaps
* i added the graphics for the manual but did not do anything else for the manual yet
* minor optimizations

known bugs:
* timers are slowed donw when playback is active (tinyalsa related?)
* some minor bugs

Things to do:
* The main prolem will be how to install the app correctly. A guy called DOC2008 added a CWM (by androtab.info) to the
  official firmware and Ilia made a CWM installation script and a dualboot selector (rbutils/ibassoboot, build with
  ndk-build). We will have to find a way to install rockbox in a proper way without breaking any copyrights.
  Maybe ADB is an option but it is not enable with OF by default. Patching the OF is probably the way to go.
* All the wiki and manual

to build:
needed: android ndk installed, android sdk installed with additional build-tools 19.1.0 installed

./tools/configure
select iBasso DX50 or iBasso DX90
make -j apk

the content of rockbox.zip/.rockbox needs to be copied to /system/rockbox/app_rockbox/rockbox/ (rockbox app not needed)
the content of libs/armeabi to /system/rockbox/lib/ (rockbox app needed)

The boot selector is needed as /system/bin/MangoPlayer and the iBasso app as /system/bin/MangoPlayer_original. There
is also the "vold" file. The one from OF does not work with DX50 rockbox (DX90 works!?), the one from Ilia is necessary.

Until we have found a proper way to install it, it can only be installed following the instructions of Ilia on his
bitbucket page, using the CWM-OF and his installation script package.

Change-Id: Ic4faaf84824c162aabcc08e492cee6e0068719d0
Reviewed-on: http://gerrit.rockbox.org/941
Tested: Chiwen Chang <rock1104.tw@yahoo.com.tw>
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2014-09-18 18:19:01 +02:00
Michael Sevakis
7d1a47cf13 Rewrite filesystem code (WIP)
This patch redoes the filesystem code from the FAT driver up to the
clipboard code in onplay.c.

Not every aspect of this is finished therefore it is still "WIP". I
don't wish to do too much at once (haha!). What is left to do is get
dircache back in the sim and find an implementation for the dircache
indicies in the tagcache and playlist code or do something else that
has the same benefit. Leaving these out for now does not make anything
unusable. All the basics are done.

Phone app code should probably get vetted (and app path handling
just plain rewritten as environment expansions); the SDL app and
Android run well.

Main things addressed:
1) Thread safety: There is none right now in the trunk code. Most of
what currently works is luck when multiple threads are involved or
multiple descriptors to the same file are open.

2) POSIX compliance: Many of the functions behave nothing like their
counterparts on a host system. This leads to inconsistent code or very
different behavior from native to hosted. One huge offender was
rename(). Going point by point would fill a book.

3) Actual running RAM usage: Many targets will use less RAM and less
stack space (some more RAM because I upped the number of cache buffers
for large memory). There's very little memory lying fallow in rarely-used
areas (see 'Key core changes' below). Also, all targets may open the same
number of directory streams whereas before those with less than 8MB RAM
were limited to 8, not 12 implying those targets will save slightly
less.

4) Performance: The test_disk plugin shows markedly improved performance,
particularly in the area of (uncached) directory scanning, due partly to
more optimal directory reading and to a better sector cache algorithm.
Uncached times tend to be better while there is a bit of a slowdown in
dircache due to it being a bit heavier of an implementation. It's not
noticeable by a human as far as I can say.

Key core changes:
1) Files and directories share core code and data structures.

2) The filesystem code knows which descriptors refer to same file.
This ensures that changes from one stream are appropriately reflected
in every open descriptor for that file (fileobj_mgr.c).

3) File and directory cache buffers are borrowed from the main sector
cache. This means that when they are not in use by a file, they are not
wasted, but used for the cache. Most of the time, only a few of them
are needed. It also means that adding more file and directory handles
is less expensive. All one must do in ensure a large enough cache to
borrow from.

4) Relative path components are supported and the namespace is unified.
It does not support full relative paths to an implied current directory;
what is does support is use of "." and "..". Adding the former would
not be very difficult. The namespace is unified in the sense that
volumes may be specified several times along with relative parts, e.g.:
"/<0>/foo/../../<1>/bar" :<=> "/<1>/bar".

5) Stack usage is down due to sharing of data, static allocation and
less duplication of strings on the stack. This requires more
serialization than I would like but since the number of threads is
limited to a low number, the tradoff in favor of the stack seems
reasonable.

6) Separates and heirarchicalizes (sic) the SIM and APP filesystem
code. SIM path and volume handling is just like the target. Some
aspects of the APP file code get more straightforward (e.g. no path
hashing is needed).

Dircache:
Deserves its own section. Dircache is new but pays homage to the old.
The old one was not compatible and so it, since it got redone, does
all the stuff it always should have done such as:

1) It may be update and used at any time during the build process.
No longer has one to wait for it to finish building to do basic file
management (create, remove, rename, etc.).

2) It does not need to be either fully scanned or completely disabled;
it can be incomplete (i.e. overfilled, missing paths), still be
of benefit and be correct.

3) Handles mounting and dismounting of individual volumes which means
a full rebuild is not needed just because you pop a new SD card in the
slot. Now, because it reuses its freed entry data, may rebuild only
that volume.

4) Much more fundamental to the file code. When it is built, it is
the keeper of the master file list whether enabled or not ("disabled"
is just a state of the cache). Its must always to ready to be started
and bind all streams opened prior to being enabled.

5) Maintains any short filenames in OEM format which means that it does
not need to be rebuilt when changing the default codepage.

Miscellaneous Compatibility:
1) Update any other code that would otherwise not work such as the
hotswap mounting code in various card drivers.

2) File management: Clipboard needed updating because of the behavioral
changes. Still needs a little more work on some finer points.

3) Remove now-obsolete functionality such as the mutex's "no preempt"
flag (which was only for the prior FAT driver).

4) struct dirinfo uses time_t rather than raw FAT directory entry
time fields. I plan to follow up on genericizing everything there
(i.e. no FAT attributes).

5) unicode.c needed some redoing so that the file code does not try
try to load codepages during a scan, which is actually a problem with
the current code. The default codepage, if any is required, is now
kept in RAM separarately (bufalloced) from codepages specified to
iso_decode() (which must not be bufalloced because the conversion
may be done by playback threads).

Brings with it some additional reusable core code:
1) Revised file functions: Reusable code that does things such as
safe path concatenation and parsing without buffer limitations or
data duplication. Variants that copy or alter the input path may be
based off these.

To do:
1) Put dircache functionality back in the sim. Treating it internally
as a different kind of file system seems the best approach at this
time.

2) Restore use of dircache indexes in the playlist and database or
something effectively the same. Since the cache doesn't have to be
complete in order to be used, not getting a hit on the cache doesn't
unambiguously say if the path exists or not.

Change-Id: Ia30f3082a136253e3a0eae0784e3091d138915c8
Reviewed-on: http://gerrit.rockbox.org/566
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested: Michael Sevakis <jethead71@rockbox.org>
2014-08-30 03:48:23 +02:00
Michael Sevakis
21e2b595c2 Prevent spurious recompiles on account of changed version.
After a local commit, any file that included version.h would have to
be recompiled on account of the changed version string. This changes
version.h in the build directory to rbversion.h and includes the
preprocessor macro from rbversion.h in firmware/common/version.c so
that only that one file needs to be recompiled after a local commit
rather than a whole slew of them.

Change-Id: I900d97e3a24a0610698283416d97b4fa3a3a2cf6
Reviewed-on: http://gerrit.rockbox.org/937
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested: Michael Sevakis <jethead71@rockbox.org>
2014-08-28 15:48:56 +02:00
Michael Sevakis
29f5385263 Fix up some more red
find_first_set_bit() becomes a small inline on ARMv5+ and checkwps now gets
made with -std=gnu99 (it eats all the GCCOPTS) like the rest of things.

Change-Id: Ie6039b17fec057a3dcb0f453d8fd5efac984df89
2014-08-05 21:32:13 -04:00
Frank Gevaerts
78f4f7b621 Make crosstool-ng build with gnu make 4.0
Change-Id: Id3a5a310e6fa53e690c92f420994875cb1bfff43
2014-07-30 14:29:27 +02:00
Amaury Pouly
e08331eef4 zen/zenxfi/zenxfistyle/zenmozaic: implement plugin keymaps and enable plugins
Plugins on the ZEN/ZEN X-Fi require to increase the plugin buffer size.

Change-Id: If4651c87b402060faa24530985c6e871379c8ea1
2014-07-17 10:40:17 +02:00
Nils Stec
c9816f57bf Introduce plugin keymaps for the Sony NWZ Series
Change-Id: I46b8766bd44118bce4931b7ee71815ae5f51cb2e
Reviewed-on: http://gerrit.rockbox.org/879
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-06-30 21:20:15 +02:00
Amaury Pouly
d5591a2b28 zen/zenxfi: switch lcd driver to 24-bit mode
Change-Id: I2c42f0e422130bcdaf1aaf92c7b56776752f4f64
2014-06-24 18:07:55 +02:00
Thomas Martitz
cd4fb9ee79 fix sdlapp and ypr0 builds
Change-Id: I3953350c04607691b427fc2a3b00e8ae08bcea45
2014-06-23 23:47:25 +02:00
Thomas Martitz
dbb76896ec lcd-24bit: fix up previous commit a1842c0
* e200v2 shouldn't use 24bit (was just for testing)
* samsung ypr0/ypr1 should enable it but the correct number must be passed to bmp2rb

Change-Id: Ia91b0ff80a54265d4c3111d9dcb8e7b9dd12b5d4
2014-06-21 00:20:24 +02:00
Thomas Martitz
a1842c04f9 lcd-24bit: Introduce a 24-bit mid-level LCD driver
With LCD driver all calculation will be performed on RGB888 and the hardware/OS
can display from our 24bit framebuffer.

It is not yet as performance optimized as the existing drivers but should be
good enough.The vast number of small changes is due to the fact that
fb_data can be a struct type now, while most of the code expected a scalar type.

lcd-as-memframe ASM code does not work with 24bit currently so the with 24bit
it enforces the generic C code.

All plugins are ported over. Except for rockpaint. It uses so much memory that
it wouldnt fit into the 512k plugin buffer anymore (patches welcome).

Change-Id: Ibb1964545028ce0d8ff9833ccc3ab66be3ee0754
2014-06-21 00:15:53 +02:00
David Jilke
d489444119 Complete Plugin Keymaps for Creative Zen X-Fi3
This patch completes the plugin keymaps for the Zen X-Fi3 and enables those plugins for compilation.
One key was changed in "button-target.h" for compatibility with Rockboy.
This also caused the changes to "keymap-zenxfi3.c", to keep the stock functionality (no further changes in here).

Change-Id: Ic222faf89e9a9a2332a49d6e532cedb6eb16d3d7
Reviewed-on: http://gerrit.rockbox.org/762
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-04-06 20:51:12 +02:00
Szymon Dziok
173d9c6750 enable compiling of Sansa View
Change-Id: I3dda438cabf2a8f5f3ff5fed1ae16d0793341685
2014-03-27 21:47:35 +00:00
Dominik Riebeling
258e4ad850 OS X: detect clang and build for x86 target only.
Newer versions of Xcode / OS X don't support PPC code anymore and replace gcc
with clang. When clang is detected assume we want to build for the default
architecture only and change the minimum OS X version to 10.5.

Change-Id: I5843fa9bb3d957ec6f0a537e857608ad99c31517
2014-03-20 22:26:24 +01:00
Thomas Martitz
6499ce3e44 android: Get the port up and running again
The build system needed fixes because the tools paths changed and one tool that
we used (apkbuilder) was removed entirely. Recent NDKs don't ship gcc 4.4.3
anymore, therefore switch to 4.6. The code itself needed a fix for a jni
reference bug that was uncovered by KitKat.

The port now builds with latest sdk (r22) and ndk (r9d).

Change-Id: Id74fa54ba93bbb0ee30373fbe79e92c5ff03201d
2014-03-09 18:11:35 +01:00
Thomas Martitz
c245de029d Fix various reds. Some includes needed fixup.
Change-Id: I4327740bae17054131feb917abdd58846c451988
2014-03-03 19:10:48 +01:00
Thomas Martitz
46137ebd4d simulator: Fully simulate external storage.
The external storage will be created during make install, as simext folder in
the build directory. Upon pressing the e key the sim will mount (virtually
) this into the root directory. It can be accessed in the same way as an
sd/mmc card on real targets. This requires quite some path trickery in io.c.

Change-Id: I2fa9070a3146101ec5655b5b4115ca349d1d4bf4
2014-02-23 20:23:52 +01:00
Thomas Martitz
0f928f8785 RaaA: Move directory related stuff from filesystem-unix.c into rbpaths.c.
Part of this change is to align sdlapp builds to other application targets
in that the sim_* wrappers are not used anymore (except for sim_read/write).
Path mangling is now done in rbpaths.c as well.

Change-Id: I9726da73b50a83d9e1a1840288de16ec01ea029d
2014-02-23 20:23:52 +01:00
Frank Gevaerts
e32ace831a Disable rombox on the Player.
No more Archos rombox left...

Change-Id: I7de15b1ce1fabdb19ba7b0b69e0b7799664d8413
2014-02-05 19:50:47 +01:00
Lorenzo Miori
e876f4df6d Samsung YP-R1 target port
This is the basic port to the new target Samsung
YP-R1, which runs on a similar platform as YP-R0.
Port is usable, although there are still
some optimizations that have to be done.

Change-Id: If83a8e386369e413581753780c159026d9e41f04
2014-02-05 09:56:21 +01:00
Nick Peskett
e1da541749 Option to use the lighter hinting algorithm (FT_LOAD_TARGET_LIGHT).
I've found this algorithm produces clearer results when rendering
some fonts at small point sizes.

Change-Id: If87d82731ad324405195b25baad78fe54e92c142
Reviewed-on: http://gerrit.rockbox.org/412
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
Tested: Purling Nayuki <cyq.yzfl@gmail.com>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2014-01-26 16:11:05 +01:00
Thomas Martitz
77ee2851de Fix warnings. convbdf needed to be updated for the changed font struct because it generates sysfont.c.
Change-Id: Id5aea6b6c73438242a80ae6849ee5e29ab8659dc
2014-01-26 15:02:11 +01:00
Amaury Pouly
69d0dae55b Initial commit for the ZEN X-Fi Style
Change-Id: Ib25a357a7bafd2ef25f273cadff70fafbd8d4661
2014-01-21 18:52:28 +01:00
Thomas Martitz
9d26619465 Workarund GCC bug #52991 regarding packet attribute.
According to http://http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52991, since
mingw-gcc 4.7.1 -mms-bitfields is on by default, and this option breaks the
packet attribute since around 4.2.0.

We haven't set this option so I'm assuming we don't need it. Therefore a
workaround in configure can make things work again, because we rely on
the packet attribute in quite a few places.

Change-Id: I8367c16594cecfdde97c548e04607deaa92e21de
2014-01-17 11:14:47 +01:00
Marcin Bukat
a02f863eef coldfire: Use single app.lds script for all coldfires.
The only true difference in this platform is the amount of iram
between MCF5249 and MCF5250. Instead of duplicating the file
simply use one with proper ifdefs.

Change-Id: Ifd56ebd2666813633502e3b5d83669424659c039
Reviewed-on: http://gerrit.rockbox.org/713
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2014-01-15 21:15:14 +01:00
Szymon Dziok
feff021173 Make the m:robe 100 stable again.
Change-Id: If170b0b5f7035b02d59418c201d006805546e724
2014-01-13 21:46:57 +01:00
Andrew Ryabinin
9dbdec14f0 creativezenv: change target_id & MODEL_NUMBER.
85 is already used by HIFI E.T. MA8C.

Change-Id: I7f30d6b1acbebd6152d11fa46ec87d95e6a809e7
Reviewed-on: http://gerrit.rockbox.org/703
Reviewed-by: Purling Nayuki <cyq.yzfl@gmail.com>
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-01-02 13:35:05 +01:00
Andrew Ryabinin
5b5f0755d6 Introduce IHIFI760/960 targets.
Change-Id: Ie36e48742c0ed9aa3fd6f49aa034a11d2492327c
2013-12-16 00:45:18 +04:00
Lorenzo Miori
1deab73980 Initial commit for the YP-Z5 port
The port uses the imx233 soc, it's a STMP3650 based Samsung player

Change-Id: I50b6d7e77fd292fab5ed26de87853cd5aaf9eaa4
Reviewed-on: http://gerrit.rockbox.org/490
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-12-02 20:48:21 +01:00
Amaury Pouly
977a6c3ce7 Initial commit for the Creative ZEN V
Change-Id: I3408cfdf742ea5995d5c87bf76653f436e1ec2b0
2013-11-18 21:44:06 +00:00
Amaury Pouly
a8b816ae9c creativezenmozaic: factor out code with the zen/zenxfi
Most of the code is similar, only the lcd driver is significantly different.

Change-Id: I9eab1faf08d2356f2d820d6930ef3b0653349aa1
2013-11-18 21:44:05 +00:00
Amaury Pouly
457d64fcb8 sims.pl: add a few unusable targets
Change-Id: I97ab208446c3df5327aa287edb5940aa59908260
2013-11-13 21:37:52 +00:00
Amaury Pouly
776d51c1da configure: change E370 to E370/E380
Change-Id: I55e00f53bd8c7704b5c3fe5db0b716f980504887
2013-11-13 21:37:52 +00:00
Amaury Pouly
6bff0f779f Add Creative Zen, X-Fi and Mozaic to builds.pm
Change-Id: I67664ec7315038ff602dd492b06ce4867421b60b
2013-11-12 16:24:20 +00:00
Ralf Ertzinger
b170c73f92 Updated IAP commands.
Originally written and uploaded by Lalufu (Ralf Ertzinger) in Feb 2012.
They have been condensed into a single patch and some further additions
by Andy Potter.

Currently includes Authentication V2 support from iPod to Accessory,
RF/BlueTooth transmitter support, selecting a playlist and selecting a
track from the current playlist. Does not support uploading Album Art
or podcasts. Has been tested on the following iPods,
4th Gen Grayscale, 4th Gen Color/Photo, Mini 2nd Gen, Nano 1st Gen and
Video 5.5Gen.

Change-Id: Ie8fc098361844132f0228ecbe3c48da948726f5e
Co-Authored by: Andy Potter <liveboxandy@gmail.com>
Reviewed-on: http://gerrit.rockbox.org/533
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
2013-11-10 18:41:24 +01:00
Andrew Ryabinin
a7fa7b902e builds.pm: Add HiFi E.T. MA9C/MA8/MA8C. 2013-11-05 13:34:52 +04:00
Andrew Ryabinin
3a97e12fc5 Introduce HiFi E.T. MA8/MA8C ports.
HiFi E.T. MA8 is almost the same as MA9 except
another DAC(pcm1792 in ma8, df1704 in ma9).

MA8 has ILI9342 lcd, MA8C has ILI9342C lcd.

Change-Id: If2ac04f5a3382590b2a392c46286559f54b2ed6a
2013-11-05 09:59:45 +04:00
Andrew Ryabinin
d602717735 Introduce HiFi E.T. MA9C port.
The only difference between this target and HiFi E.T. MA9
is display driver (ILI9342 in MA9 and ILI9342c in MA9C)

Change-Id: Icc3d2490f850902a653175360f12283f3708bbb7
2013-11-05 09:59:45 +04:00
Amaury Pouly
5cfb148ae2 tools/configure: add the Creative targets to selector
Change-Id: I74c7c3cfea95350b88155c2d6d1111c84172b39d
2013-10-22 00:42:36 +02:00
Amaury Pouly
3d3f419b1a tools/scramble: document zen/xzfi/zmoz targets
Change-Id: I9b48d22968b7632ef88d9dd598ff65fd448c3dcc
2013-10-22 00:34:45 +02:00
Amaury Pouly
a0728672bf Initial commit for the Creative ZEN and ZEN X-Fi
Change-Id: Ibd7b1b0b957ef11c200cb63eff7da53f11774748
2013-10-22 00:34:45 +02:00
Amaury Pouly
d3bc64833c Initial commit for the Creative ZEN Mozaic
Change-Id: Ib65aad9f5de37e514047955cad7ca40dc0af4f74
2013-10-22 00:34:44 +02:00
Amaury Pouly
4da8a441d1 tools/scramble: add support for a couple more Creative devices
This is mostly for consistency, this tool will be unused by the newer targets.
Also update the usage() display to mention -no-ciff

Change-Id: I4500f5fdce771ad3c53701a0bbaace916e88759d
2013-10-22 00:34:35 +02:00
Amaury Pouly
0ff8ce764e tools/mkzenboot: compile in C99 mode
Change-Id: I580ffb3af71846213c0ffc18ead4e51a72ba1475
2013-10-22 00:17:06 +02:00
Frank Gevaerts
110e094db5 Switch back to kernel.org.
kernel.org is back, and nic.funet.fi is being difficult, so it's time
to switch back.

Change-Id: If981dedd0cb7bb64de7563de6657f63ebb931a6f
2013-10-20 21:14:57 +02:00
Michael Rodger
6845f6c396 Include 60s timeout for wget commands in rockboxdev.sh
Added a 60s timeout to the script to avoid having to wait for ages when a download stalls.

Change-Id: I97f0aafe4eac0fb3cfc83805c99d19f1ef02b9f9
Reviewed-on: http://gerrit.rockbox.org/636
Reviewed-by: Kevin Zheng <kevinz5000@gmail.com>
Tested-by: Michael Rodger <rockbox@atinyhedgehog.za.net>
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-10-19 13:06:04 +02:00
Kevin Zheng
513914c347 Do not compile with "-ldl" on FreeBSD.
The dynmaic library support provided in dlfcn.h does not require
additional linker flags on FreeBSD. It is provided with the standard C
library and will fail to link if "-ldl" is specified.

Change-Id: I9f21d8369d45a9be94129a1b37b4607adf673c57
Reviewed-on: http://gerrit.rockbox.org/637
Tested-by: Kevin Zheng <kevinz5000@gmail.com>
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2013-10-18 03:40:01 +02:00
Amaury Pouly
2e0a3fc5ce Add a few targerts to builds.pm
Change-Id: I6c2e139cf55c7bd07e6327abbc9dd93e5bdb6e21
Reviewed-on: http://gerrit.rockbox.org/631
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2013-10-02 17:30:23 +02:00
Lorenzo Miori
5ab4e90ac4 fwpatcher/rbutil - added support for H300 v1.31K
Change-Id: I4e0801f136f9b9e490209c0808eabfc334f46643
Reviewed-on: http://gerrit.rockbox.org/630
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
Tested-by: Marcin Bukat <marcin.bukat@gmail.com>
2013-10-01 14:01:15 +02:00
Amaury Pouly
310e7b4943 Add some unstable targest to "sim release"
Change-Id: Ie8e3848063dc49004fa68719e031a4950f059033
2013-09-29 22:02:06 +02:00
Lorenzo Miori
9a8ed6ba35 Simulator for Samsung YP-R0
Enable simulator for the target ypr0 to
be built and used.

Change-Id: I1b080f07ab90f5c4856881d08ad70e1053bbb0c0
Reviewed-on: http://gerrit.rockbox.org/618
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
2013-09-29 14:15:48 +02:00
Amaury Pouly
9392d036c4 Initial commit for the sony NWZ-E360 and NWZ-E370
Change-Id: I52d21e136a98eaf481615d641795cf7ecf325465
2013-09-25 14:31:39 +02:00
Thomas Martitz
0e8fa703bb bmp2rb: Data was written with an incorrect offset.
Change-Id: I460872f05f80e28be312de5c93d54c7c6e36fbd7
2013-09-08 12:52:48 +02:00
Thomas Martitz
cb27d4066a bmp2rb: Fix incorrect left-over comment
Change-Id: I29c6403cec1aa228f6730c8b78c830a23d021d95
2013-09-07 11:17:41 +02:00
Thomas Martitz
cd741b7c7e bmp2rb: Support generating 24bit BMP raw data.
This will be required by the R0 port. Generating C source with 24bit data is
not supported yet because Rockbox doesn't support this depth yet (and has no
data type for it).

Change-Id: I6474a6d32bb7942661bac833bb3348073335e25c
2013-09-07 11:00:16 +02:00
Amaury Pouly
48ccea96f2 tools: fix scramble usage()
For some weird reason the fuze+ is not in the list ?!

Change-Id: Ibe493475e4187021310ca153930489787c359745
2013-08-06 21:24:38 +02:00
Michael Sevakis
1329cc29de Fix .ncbss from possibly overlapping .ncdata in plugins/codecs.
(Take #2)

If .bss wasn't large enough, and .ncdata was empty, .ncbss would be
at an address overlapping the alignment-padded end of .ncdata and
and linking would fail with an overlap error.

Adds plugin load end address that accounts for IRAM going past
the final .bss sections, making IRAM overlay compatible. load_code
could also use this instead of the file size.

The .lds becomes a bit more straightforward and explicit when
assigning addresses.

Change-Id: Id0c33f257710e97ece2c831e0feaaa32c1a14e05
2013-07-11 04:32:23 -04:00
Nils Wallménius
084c75e5f9 Fix building of sh, arm and m68k toolchains with new texinfo
Recent versions of texinfo breaks various binutils and GCC
builds. For GCC setting MAKEINFO=missing at configure time works
but not for binutils where patches are used to fix parsing errors.
This also makes rockboxdev.sh handle applying multiple patches.

Change-Id: Ia8e6dc7662ab725490e4b4428676d235f0bd38bb
Reviewed-on: http://gerrit.rockbox.org/471
Reviewed-by: Nils Wallménius <nils@rockbox.org>
2013-06-15 21:01:26 +02:00
Rafaël Carré
b4ca244af2 Always build test plugins in simulators
Change-Id: I13094bfbed9fe05a48b4e81759978d112e19f48b
2013-06-13 18:42:29 +02:00
Dominik Riebeling
43d8d6fece Don't pass ar output to /dev/null.
Since ar is not running in verbose mode there is normally no output to get rid
of, and in case of errors it's useful to see them. Also, Windows doesn't know
about /dev/null.
Make dependency generation for librbspeex more silent as well.

Change-Id: Ie0d4a406e665ebd67331d6cd1fa2fc02f8bf21b9
2013-06-09 16:54:59 +02:00
Andrew Ryabinin
fc0cf8d91b builds.pm: Add HiFi E.T MA9.
Change-Id: Ic8d31244c4ddc3924d889d0cb0d444844a1bb345
2013-05-18 18:57:16 +04:00
Dominik Riebeling
4877f618d6 Rework rbspeex dependency generation to use single dependency files.
Similar as done in d2b8f91 change dependency generation to use one file per
source file. This removes the need to have external tools installed on Windows.
Previously Cygwin or msys tools needed to be in the system PATH which was
problematic at times.

This means that now building on Windows (using MinGW) doesn't require
additional tools anymore.

Change-Id: I4c0675e99c3cc3a729b91beefd58320db498ae0a
2013-05-11 20:34:12 +02:00
Dominik Riebeling
9a9efefdb2 ucl: Replace use of uname by checking the compiler output.
Similar as done for libtools.make ask the compiler for the binary it creates
instead of using uname to figure the target to avoid special handling when
cross compiling.

Change-Id: Icb4654616e4339bf9e6e3be5177b35e0bb313bcd
2013-05-11 20:34:12 +02:00
Dominik Riebeling
4f3fa9accb Change mkdir -p to work on Windows.
Windows mkdir doesn't know about the -p option and requires paths to use \ as
path separator. Try to detect when building on Windows and use the Windows
internal function instead of relying on a compatible mkdir in the path.

Change-Id: I47d47d45edeb38c672321f77d6e91268bf744dba
2013-05-11 20:34:12 +02:00
Dominik Riebeling
5c3e190e8a Remove leftover debugging warning.
Change-Id: Icb7d2de4284c1db5766f0039e5546b8956ef5afa
2013-05-06 23:27:28 +02:00
Andrew Ryabinin
fa4e1baa83 Introduce HiFi E.T MA9 port.
Change-Id: I79aadc958fd5222f26f91ed127f8c6fb2c465dc2
2013-05-06 14:09:24 +04:00
Dominik Riebeling
736c3780f1 Change the order of global linker options and -T.
95e23de made -Wl,--gc-sections appear after -T by combining it with the global
linker options. Moving the global linker options in front of -T seems to fix
the crash observed on mini2g after that change -- as it seems the linker
behaves differently if --gc-sections is passed after -T.

Fixes FS#12857.

Change-Id: Id64dc6b91726760d75a1a0cd85bb7c06208d2f45
2013-05-04 22:25:24 +02:00
Dominik Riebeling
d964199cc7 Replace use of uname by checking the compiler output.
Similar as done in ea0bfe7 ask the compiler for the binary it creates instead
of using uname to figure the target.

Simplify source file preprocessing to avoid using grep to improve compatibility
with Windows.

Change-Id: I39ecfe690c9bb70b07b0af5a7804d7e5ab512d71
2013-05-04 21:41:50 +02:00
Bryan Childs
1489fa3a15 Adapt logic in configure script to cope with both x86 and x86_64 architecture Android NDKs
Change-Id: I520443a17f1d9ced43222e14182ca4726717bc32
Reviewed-on: http://gerrit.rockbox.org/458
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
Tested-by: Frank Gevaerts <frank@gevaerts.be>
2013-04-26 21:42:15 +02:00
Michael Sevakis
95e23defb0 Make fixepoint.c as a shared library (libfixedpoint.a).
Change-Id: Icc10d6e85f890c432f191233a4d64e09f00be43d
Reviewed-on: http://gerrit.rockbox.org/456
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
2013-04-26 00:11:04 +02:00
Dominik Riebeling
7271ff603d Add ANDROID_SDK_PATH and ANDROID_NDK_PATH to generated Makefile.
Previously it was sufficient to set those variables when running configure.
Since ANDROID_NDK_PATH is now also used in the Android Makefile set both
variables in the generated Makefile as well -- not everyone has (or wants) to
set them globally in the environment.

Change-Id: Ib64ffeea379c58c9d361b3fbfefb67084dce666c
2013-04-04 22:42:22 +02:00
Thomas Martitz
0d5883d07a autoconf.pl: Add support for build folders with screen resolution (e.g. build-android-320x480).
Change-Id: If2ab767f44db604177a0028e86100633631ca8b8
2013-03-16 22:30:46 +01:00
Dominik Riebeling
962368571e Don't include unwarminder for checkwps, database and warble.
If the host is ARM simply checking the architecture the compiler produces
binaries for will include unwarminder even for the PC tools, breaking them.

Fixes building checkwps and database on ARM hosts. Doesn't fix warble, there
are additional problems with that.

Change-Id: I135b1103a60b9e3720117cde1075b7d73424f384
2013-03-13 21:53:11 +01:00
Alex Parker
dfd54d5295 Update for 3.13
Change-Id: Iba0860682834a9389196276662f8ce67c18312d6
2013-03-07 18:39:53 +00:00
Lorenzo Miori
60592165ca Samsung YP-R0 hosted target code refactoring
As per title this patch aims at splitting common target
code and specific target code in a better way to
support future ports within the same environment
(e.g. Samsung YP-R1 where the Linux and the SoC
are the same, with differences in hardware devices
handling)

Change-Id: I67b4918c46403b184d3d8f42ab5aae7d01037fd0
Reviewed-on: http://gerrit.rockbox.org/409
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
Tested-by: Thomas Martitz <kugel@rockbox.org>
2013-03-06 00:21:22 +01:00
Rafaël Carré
c1305ce088 Clip Zip: promote to stable
Change-Id: I2d2788a6b5eed65e0032794a18767d5db5d93750
Reviewed-on: http://gerrit.rockbox.org/396
Reviewed-by: Bertrik Sikken <bertrik@sikken.nl>
2013-02-18 08:25:14 +01:00
Jonathan Gordon
5aa4bf6faa fix checkwps
Change-Id: Ie3bdfe18db6f8279f3575b253519fe4820649898
2013-02-12 21:07:23 +11:00
Björn Stenberg
1501df045f Deprecate the EXTRA_LIBS variable.
Instead specify explicit library dependencies for codecs and plugins.
2013-01-24 16:06:45 +01:00
Thomas Martitz
6242d9f7fc android: Undo accidental switch to asm threads.
sigaltstack() is not available (more accurately, not exposed by the
NDK) pre-gingerbread/2.3. However the android-arm target runs on
down to eclair/2.1, where the asm threads still work fine.

Change-Id: I2bb14bc6bb5653c401552189699a676109ac6587
2012-11-07 23:32:58 +01:00
Thomas Martitz
3365a148ce configure: Remove leftover debugging output
Change-Id: I1a1f32faa72987b113f109b876639a1b153f0a88
2012-11-07 23:08:20 +01:00
Thomas Martitz
48572c6265 android: Add x86 target.
Change-Id: If205f8c69a7ac803eecab394e6d1758aeda86336
2012-11-06 12:21:14 +01:00
Thomas Martitz
8e3c77d53e configure: merge androidcc and androidmipscc.
Change-Id: Ice8ba3f2cb51091486b3f446447cc8d256bc4c00
2012-11-06 12:21:14 +01:00
Thomas Martitz
885079b8af configure: autodetect mips arch version
Change-Id: Icaaca3d23ca89da977a065396b1961f9fe40da41
2012-11-06 12:21:14 +01:00
Marcin Bukat
5dec7af1ec Revert "SH gcc 4.6.3 with link-time optimization, for Archos targets"
This was commited by accident, sorry.
2012-10-24 14:05:39 +02:00
Boris Gjenero
c975de1534 SH gcc 4.6.3 with link-time optimization, for Archos targets
This is work from FS#12431 synced to current HEAD and slightly
tweaked (gcc 4.6.2 -> 4.6.3, binutils 2.21.1 -> 2.22)

Change-Id: I76af91e80ac2a9c16a776c7f0a33cc51603bbf9b
2012-10-24 14:02:41 +02:00
Alex Parker
9a7d11de1f Bump current version to 3.12
Change-Id: I10e925f40dc134627c77de5b17518ebdffee9a0e
2012-10-15 21:22:48 +01:00
Jonas Häggqvist
3d35f14351 FS#12764 - bdf2bmp fails to compile
Change-Id: I8e5ea31f0b529c0160ce6bdaa21a7d3dfe6c391d
2012-10-14 12:12:25 +02:00
Thomas Martitz
c555938ea0 checkwps: Do not error out on rwps for non-remote targets.
This breaks themes on the theme site (that ship an rwps for remote targets) for
non-remote targets. As rockbox just ignores the rwps checkwps now does the same.

Change-Id: Id8c7833f0bd88d239dce87711456b94c93480a51
2012-09-24 09:47:03 +02:00
Dominik Riebeling
094eca6f66 Announce 3.10 as release version for nano2g.
Change-Id: Id35a137242a05cea488fc49630cbc11fb477e22b
Reviewed-on: http://gerrit.rockbox.org/315
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2012-09-22 00:06:56 +02:00
Dominik Riebeling
a1b780e670 Add support for Microsoft Speech Platform.
MSSP is accessible via vbs by simply changing the object to be used (both
SAPI5 and MSSP use the ISpVoice COM interface). Add command line parameter to
sapi_voice.vbs to switch the COM object used, and add the necessary
implementation of the SAPI class to Rockbox Utility.

Important: you will need to install the Speech Runtime separately and install
the version matching the bitsize of Rockbox Utility. I.e. you will need to
install the x86 version even on a x64 machine (unless you build a 64bit binary
of Rockbox Utility).

Change-Id: If760cd69c556c17a2ae539965d0941d16fdc10e1
2012-09-09 12:07:53 +02:00
Dominik Riebeling
9e2eb6243f Change sapi_voice.vbs voice list separation character.
The currently used comma for separating voices for the /listvoices command is
used by Speech Platform based voices. Change the character to a semicolon
which isn't used by voices.

Change-Id: I1a7e6e4229f864f56635143e864dadf38cdd7e73
2012-09-08 20:46:20 +02:00
Amaury Pouly
dbe9436ff2 zenxfi2: correctly disable plugins in configure script
Change-Id: If766c39b1b70ded2089964c850affbe953ac17c4
2012-08-30 01:10:36 +02:00
Thomas Martitz
1e7f606647 checkwps: harden filename extension checking.
Change-Id: I91aaacaaff621cfbeef9572df60b339a00475aa9
2012-07-31 10:56:35 +02:00
Thomas Martitz
efe73e143a Fix database tool.
It was also broken functionally, probably since a while.So restore the
functionality. Run it on the dap, the tcd files will be placed into .rockbox folder.

Change-Id: Id7a6ce4389dfaf99799258902be80d630af0601c
2012-07-31 10:33:27 +02:00
Thomas Martitz
b358bcfc25 checkwps: Simplify expression.
Change-Id: I4d5cf82aa753074f81f25ae3d89a97ee607376e5
2012-07-31 10:05:58 +02:00
Frank Gevaerts
2b3cff88af Add the ipod 6g (classic) to builds.pm
This should have been done ages ago

Change-Id: I53b258981b139c0bb73777c83938645333ca8780
2012-07-01 21:07:54 +02:00
Bertrik Sikken
eb652b054e Fix link order of mkzenboot and usb_benchmark to make them compile with gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Change-Id: I433a36074cacc4b0a97f88af5fe26d0084c1fc25
2012-06-19 20:12:51 +02:00
Frank Gevaerts
bf6abf7b38 Define GCCNUM properly. Case matters!
Change-Id: I5c7e9879f95f454e2811edfeaaa7cedc395646c1
2012-06-11 23:25:53 +02:00
Frank Gevaerts
20261dd2f6 Fix YP-R0 build.
YP-R0 never used sigaltstack threading, although it was (inadvertently)
defined. Due to the new handling of ifdefs in 268b725 this definition
started to be used, so remove it.

Change-Id: Ib5247741fc6dcfb66022d50c269812dfc3c4e214
2012-06-11 23:21:45 +02:00
Huan Zhang
fbe33e0728 Fix libmad compilation on MIPS with newer gcc. FS#12013
Since gcc 4.4 the MIPS port no longer recognizes the "h" asm constraint.
It was necessary to remove this constraint in order to avoid generating
unpredictable code sequences. We can achieve the same effect using
128-bit types.

See also:GCC 4.4 release notes at  http://gcc.gnu.org/gcc-4.4/

Change-Id: I713cdf57cde1a989ad960aa441ab1ccf51f1cdc6
2012-06-11 23:17:19 +02:00
Frank Gevaerts
10b2143fbf The threading model should be set from configure, not config.h.
Change-Id: If87bbd4a02825df20e5fe29c4ada85bf5ba25e99
2012-06-11 23:05:41 +02:00
Frank Gevaerts
d1560e5869 Add the Android/MIPS target
Change-Id: Iec1d2f08c8a43e486ab1696566a718b18598ff95
2012-06-11 22:29:45 +02:00
Thomas Martitz
66b6fdbb73 wpsbuild: Rewrite to fix various issues and support .fms
wpsbuild.pl is enhanced to produce fallback themes that were previously
hardcoded in buildzip.pl. It also recognizes resolution strings as
regular expressions now so you can specify resolution dependant settings
as <setting>.<regex>: <value> (needed to support single themes on multiple
resolutions). The WPSBUILD syntax completely changed as
well and it includes the fallback themes as well. Ultimately wpsbuild is
also able to install .fms files.

Change-Id: Idf5994f17b9750983d7bc3ef583540a8cdae1dde
2012-06-10 21:20:36 +02:00
Dominik Riebeling
d6ef5a0d80 Create binary voice string archive on target.
Extend genlang to create files holding the voice strings in a binary format
similar to lng. Create such files for all languages during a normal build, put
them in a zip file and add them to rockbox.zip so they are installed with a
main build.

Creating a voice file requires access to the voice strings, which are currently
not distributed with Rockbox. Therefore it is necessary to either have access
to the source code of the installed build or to use a build the genlang service
on rockbox.org can retrieve the strings for, making it impossible for normal
users to generate a voice file for custom builds, test builds and older builds
that aren't supported by the rockbox.org script. It also requires a network
connection when creating voice files with Rockbox Utility even if creating a
voice file by itself isn't network related.

Furthermore, putting the voice strings on the target is also a prerequisite for
eventually supporting a TTS on the player.

Strip voice strings path.

Change-Id: Ic2f86130909b3b257986a348e5cfcf618c4500c3
2012-06-09 22:44:56 +02:00
Dominik Riebeling
9f7c6a1745 genlang: add VOICE_ prefix to unused voice-only strings.
voicefont uses the id prefix VOICE_ to recognize voice-only strings. Unused ids
get a NOT_USED prefixed entry to keep order correct. However, since this
applies to voice-only entries as well voicefont doesn't recognize those as
voice entries and puts them at the end of the lang strings table. This messes
up the order in the created voice file, so add VOICE_ as prefix so voicefont
can identify them.

Change-Id: Ic3f2ec038ce1ed93c84286979e6583b478fa697e
2012-06-05 23:30:04 +02:00
Dominik Riebeling
b2380b535e voicefont: make format version a parameter.
Make hardcoded format version a parameter to allow adjusting depending on the
installed Rockbox version. Rockbox Utility will read the version from the
installed version. Since the command line voicefont tool is only intended for
use in the current tree it uses a fixed version.

Change-Id: I1ec935d47c71961e93b3c6bc6c5d816cd9fc83ff
2012-06-05 23:24:54 +02:00
Dominik Riebeling
7c78963bbb Add voicefile version to rockbox-info.txt.
When the voicefile binary format changes there is no easy way to figure which
format is compatible with a given Rockbox installation. Add the version number
to rockbox-info.txt so tools like Rockbox Utility can easily retrieve it and
therefore support different versions.

Change-Id: Ia5b8f00f89065f0dd0adf061612d844dcaff39c6
Reviewed-on: http://gerrit.rockbox.org/269
Tested-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
Reviewed-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
2012-06-05 23:23:44 +02:00
Dominik Riebeling
4613ffae8a Remove unnecessary variable and simplify voice-only counting.
Voice-only strings are identified when reading the strings, so there is no
reason to first store that information and then count them later.

Change-Id: Ie6bd2c4bbf5736630e58d06a20739ef527e3cd69
2012-06-03 22:10:44 +02:00
Dominik Riebeling
d83ef9935c voicefont: rename SWAP macros.
Those macros actually swap to big endian. Since the macro names didn't tell
what way to swap (and on big endian they don't swap anything at all) they are
somewhat confusing. Change names for clarity.

Change-Id: Ie4b0026458a69d7533abb66109a6f83bc5ee2c0e
2012-06-03 22:10:38 +02:00
Thomas Martitz
eb027788cf tools/autoconf.pl: 2 enhancements
* -y param to not ask for confirmation
* detect <buildtype>-<target> as well

Change-Id: Ie63f5882560cd7c7ee1c00f153e756b8695d567f
2012-05-28 11:34:15 +02:00
Bertrik Sikken
2fb4fe90f6 zenxfi3: disable building of plugins ("no" means yes, use an empty string instead)
Change-Id: I85e01ae07daa8656be33ddc47592102d318a17e0
2012-05-27 00:39:24 +02:00
Frank Gevaerts
f3fd2d41cc Make overlay plugins work again.
Overlay plugins got broken because ovl_offset.pl assumes the audio buffer
ends where the plugin buffer starts. Buflib however keeps its handle table
there, so there are a few hundred bytes fewer available, so loading the
overlay fails. We work around this by linking the overlay at a slightly
lower address (1024 bytes lower). If the handle table ever grows more than
that, overlays will start failing again and we either need a different
solution or increase the margin a bit.

Change-Id: Id98cb52da2c8c4a4bc773362a46f646774112f85
2012-05-19 18:53:17 +02:00
Amaury Pouly
12c64a4b79 Initial commit for the Creative ZEN X-Fi2 and X-Fi3 ports
These are really similar devices so one commit for both is ok.

Change-Id: I8bd1d3fef1eb6d00aaadfb7af56c771f62d0c9c3
2012-05-19 16:10:52 +02:00
Frank Gevaerts
bc4631055f Move the mr100 to unstable
mr100 audio is broken in 3.11. It's working again in master since
da6cebb6b0, but backporting that is
not realistic.

Change-Id: I11118a0d228da866259e4e01ed00ac010a3838a3
2012-05-19 13:06:31 +02:00
Dominik Riebeling
6eebdb3bc9 Add .nomedia on Android.
Prevent Android from adding theme files to its media database by putting a
.nomedia file in the rockbox folder.

Change-Id: I76ee3381a6599b9d1ecfe34d15a4fdd35da80336
2012-05-19 11:01:45 +02:00
Peter D'Hoye
63a48fa9b0 more tools checks to be done before starting toolchain builds 2012-05-19 01:45:23 +02:00
Dominik Riebeling
2d9c0bab54 Add support for cp1252 (Western European) codepage.
In Europe Windows defaults to its own codepage cp1252 (also known as "WinLatin"
or "Windows-1252"). cp1252 adds some characters to ISO-8859-1.

Some mp3 tagging software on Windows uses cp1252 instead of ISO-8859-1. This
violates the ID3 specification, which requires tags to be ISO-8859-1 or
Unicode. However, similar violations are made for other codepages and supported
by Rockbox using the "Default Codepage" setting. Add support for cp1252 to
enable people using such broken tools to override the correct decoding to get
their tags displayed properly.

Change-Id: I9f2ec478afe2503e99ee8e6609416c92b0f453e0
Reviewed-on: http://gerrit.rockbox.org/209
Reviewed-by: Jens Arnold <amiconn@rockbox.org>
Tested-by: Jens Arnold <amiconn@rockbox.org>
2012-05-19 01:42:53 +02:00
Peter D'Hoye
0587e85e23 add aditional required tools to the check 2012-05-19 01:01:22 +02:00
Jens Arnold
266dc52fab Make the player_unifont tool build again
This tool is rarely needed (only when working on the player charset)
and got lost in the big make system overhaul.
2012-05-18 23:31:24 +02:00
Rafaël Carré
bed634d445 thumb-cc.py: fix for python 3.2 2012-05-07 00:19:03 -04:00
Nils Wallménius
00cf2ce711 Add include path to checkwps.make to fix build.
Change-Id: I3edddee9422255bf6d944f76c74686a256a8a852
2012-05-03 14:58:44 +02:00
Sean Bartell
cadb3627fc Add rbcodecplatform.h and rbcodecconfig.h.
librbcodec users must provide these two files when the library is built.
rbcodecconfig.h provides configuration #defines and basic types, and
will be included by public librbcodec headers, so it must not conflict
with the user's code. rbcodecplatform.h provides various OS functions,
and will only be included by source files and private headers. This
system is intended to provide maximum flexibility for use on embedded
systems, where no operating system headers are included. Unix systems
can just copy rbcodecconfig-example.h and rbcodecplatform-unix.h with
minimal changes.

Change-Id: I350a2274d173da391fd1ca00c4202e9760d91def
Reviewed-on: http://gerrit.rockbox.org/143
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
2012-05-03 14:49:35 +02:00
Michael Sevakis
a8b597e620 Database build also needs a /lib/rbcodec/dsp include path.
Change-Id: Id54ac979ce232028a0bdc133e70f6bb9ab1471da
2012-04-29 05:29:35 -04:00
Michael Sevakis
60f4757d41 CheckWPS needs an include patch to /lib/rbcodec/dsp.
Change-Id: I7092be2be4b23137e011b2344d92b40fdcf1517e
2012-04-29 05:19:06 -04:00
Frank Gevaerts
b794cbbdca Replace a \n-using sed expression with a more compatible tr
BSD sed doesn't handle \n the way GNU sed does, and in this case the
substitution is trivially done using tr anyway, so use tr.

Change-Id: Iedb459d871ae6758d76352225e91dd4dc4717a53
2012-04-28 00:55:07 +02:00
Sean Bartell
f40bfc9267 Add codecs to librbcodec.
Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97
Reviewed-on: http://gerrit.rockbox.org/137
Reviewed-by: Nils Wallménius <nils@rockbox.org>
Tested-by: Nils Wallménius <nils@rockbox.org>
2012-04-25 22:13:20 +02:00
Björn Stenberg
2315a23c04 Missed a comma. 2012-04-20 15:23:49 +02:00
Andrew Ryabinin
0e19067624 Add rockchip targets to builds.pm.
Change-Id: I9c0e51b865aac0f47b66a8291af9846dcdc1fa2a
Reviewed-on: http://gerrit.rockbox.org/221
Reviewed-by: Björn Stenberg <bjorn@haxx.se>
2012-04-20 15:19:09 +02:00
Andrew Ryabinin
6d73d6efc6 rk27generic: Disable plugins.
Change-Id: I86b289501ef654393c2987129f7d7f57411fcc3d
2012-04-20 17:09:12 +04:00
Rafaël Carré
05ebf79540 configure: remove support for ARM non EABI compiler
Change-Id: I4a25b368337e25bc0f9b3e2639beaf1225150a06
2012-04-14 19:17:21 -04:00
Dominik Riebeling
2aae745458 Add new tarball generation script.
The old script depended on svn. An earlier version of this script has already
been used in the 3.11. branch.

Change-Id: Id03abb8f7bd005ede343243194c4453f0b2e8943
2012-04-12 21:15:49 +02:00
Frank Gevaerts
d8cb5c7007 Release v3.11.2
Change-Id: Ica45096cf25ae66e3730183e7929d8dbcfbed265
Reviewed-on: http://gerrit.rockbox.org/212
Reviewed-by: Björn Stenberg <bjorn@haxx.se>
2012-04-12 10:36:56 +02:00
Frank Gevaerts
80f9577d81 builds.pm in master has to wait for the actual release.
This reverts the builds.pm part of d5859c6 (which was accidentally
pushed too soon) to avoid having the website link to nonexistent files.

The modifications need to be re-done as soon as 3.11.1 is actually on
the server.

Change-Id: Ifee2ed497ffcaefe32b75fa25d829cf0c7b6d17d
2012-04-08 01:22:02 +02:00
Frank Gevaerts
d5859c6d21 Bump version numbers for 3.11.1
Change-Id: I98c904b1d5e5c80c21d8a08b5413cd1e7f70bff2
2012-04-07 21:34:04 +02:00
Thomas Martitz
4b56ee048a Refactor and unify objcopy calls in the build system. Also now properly handles DEBUG builds on hosted targets to keep debug symbols if necessary.
Change-Id: I884031b79c6d49479e4d95752f35ced68872dd5d
2012-04-04 21:48:19 +02:00
Dominik Riebeling
905f920dc9 Shorten voicefont progress output a bit.
Change-Id: I07a85af75acd9b73aabff80feb5226abce83b313
2012-04-03 23:28:34 +02:00
Frank Gevaerts
9ca9b657e4 Revert 1207c7b and fix the actual warnings.
The warnings 1207c7b was supposed to get rid of are sim-only. This
means the binsize argument used for the _FORTIFY_SOURCE fix did not
apply at all. This one actually checks the return values.

Change-Id: Ic4cd8c25de4305310baa868c077a66981cdfcb4b
2012-04-03 20:59:11 +02:00
Frank Gevaerts
1207c7b641 Disable _FORTIFY_SOURCE for the simulator
Most of our code was written to be efficient. While adding return value
checks everywhere would be a good idea in theory, it would increase binsize
a lot, and #ifdeffing those checks for sim-only is not doable. Disabling
_FORTIFY_SOURCE makes the warning disappear for innocent commits that
can't be blamed for them.

Change-Id: I8171869a140580cbf89f39776856eb3f65641366
2012-04-03 20:15:32 +02:00
Alex Parker
e46382a6c7 Bump builds.pm so that Rockbox Utility notices 3.11
Change-Id: I116f08cae0c731eab60225cf404fbcb1d9f6ece9
2012-04-01 11:14:52 +01:00
Frank Gevaerts
560ee29453 Drop the nano2g back to unstable for now
Change-Id: Id6d346d0bdc3c09e5c112ab57ee3c71c18a643a8
2012-03-31 14:27:48 +02:00
Thomas Martitz
b18d76a1c4 configure fixes.
1) use " instead of ' to expand variable
2) fix x86 arch autodetection (android toolchain doesnt use _X86_)

Change-Id: Ibf73b6ccfdb1baee3bb2f77d8f298119ecbfe16c
2012-03-30 22:52:09 +02:00
Thomas Martitz
3414c952b9 configure: prevent $LDOPTS from stacking up on make reconf.
Change-Id: I9af88c5201d60ac8beb9e4a24b9933802ae2a96c
2012-03-30 11:23:07 +02:00
Michael Giacomelli
0e4a29811b Mark the Sansa c200v2 series of players as stable
These were originally held back as unstable due to bugs in rockbox's
audio buffering that only occuried on very low memory targets.  The
c200v2 is the lowest memory target we have.  Various improvements
to our buffering system seem to have fully corrected these problems.

Change-Id: I4404fe9b85c037904aea4b720e5a1fcb266f3d18
2012-03-28 18:09:22 -04:00
Thomas Martitz
a8b3d506db Enable tlsf in warble build to fix it.
Change-Id: I5b43a995264b4e699fb62ded72139a7e0ee7f46d
2012-03-29 00:01:44 +02:00
Thomas Martitz
f5a3dbc6d9 Fix ARM version detection (need to pass mcpu/march to cpp).
Change-Id: Ic3283abca56a2bf0dd0f786b52f0f28a21442e13
2012-03-28 23:32:57 +02:00
Thomas Martitz
3a3f4d6476 Override manually selected arch/arch_version in simcc().
Change-Id: Iad118d85120f7f442ced19dabfd3e5d7760c1038
2012-03-28 23:24:02 +02:00
Thomas Martitz
7b1a369cf7 build system: completely autodetect target cpu architecture.
The existing ARCH Makefile variable is exported to the C code as well.
Additionally the version (arm-only for now) is detected as well. This
allows to for complete autodetection, i.e. that optimized ASM is picked up
if determined by preprocessor (CPU_ARM, etc).

Building a sim/raaa on a arm host will now automatically generate a arm
optmized build like we have for native targets.

Change-Id: I0b35393f8fb3ebd20beaa9e7371fa57bf3782107
2012-03-28 23:02:39 +02:00
Thomas Martitz
c56950ea3a tlsf: move to /lib (it's also used by plugins).
Change-Id: I5e37b28c1ce4608d60b036343f280af3311ad490
2012-03-28 23:02:39 +02:00
Frank Gevaerts
215ac639ff Fix makefile conditions
Change-Id: I7e36cec5e3dd86b3220a8a14561596aaa81fdefb
2012-03-27 01:22:51 +02:00
Thomas Martitz
83cb2e5dae Fix warble and clean up/refactor Makefile.
Change-Id: I8754ad8724e22147b98a156fecea599bdda72292
2012-03-27 00:16:09 +02:00
Thomas Martitz
d5f4391187 Partly undo 54e00c1: put include back to root.make and use SECONDEXPANSION.
Change-Id: If38507ed896f577ea30e2ddae3bac3f4b98cee59
2012-03-26 23:57:20 +02:00
Thomas Martitz
045c69c51d Fix bootloaders.
Change-Id: I7e1666d604c554509375a4ae858ff3cd7be96b3a
2012-03-26 23:55:02 +02:00
Thomas Martitz
54e00c18a3 Fix sim/checkwps build failure.
Change-Id: Iefd533fe26495a29f8e79113b38748b504d94213
2012-03-26 23:16:48 +02:00
Thomas Martitz
f269aa0060 build system: unify/simplify library handling a bit.
libs in $ROOT/lib now add to $(CORE_LIBS) and $(EXTRA_LIBS) and are
automatically linked by the core and codecs/plugins respectively.

Change-Id: Iff482c792a8c8142718f6a16a450c6e2f1497c9a
2012-03-26 22:27:40 +02:00
Nils Wallménius
8a7eb4b18c Add missing include path.
Change-Id: Icc19a89286f34fa88d151c0212273013d7b14f40
2012-03-18 12:58:33 +01:00
Sean Bartell
b5716df4cb Build librbcodec with DSP and metadata.
All associated files are moved to /lib/rbcodec.

Change-Id: I572ddd2b8a996aae1e98c081d06b1ed356dce222
2012-03-18 12:00:39 +01:00
Jonathan Gordon
5edae54e0d skin_engine: Reenable skin debugging in the sim (use --debugwps)
Change-Id: I2881edda45cd3ea69f5284d93bc93c47bb63b3f2
2012-03-15 23:26:07 +11:00
Marcin Bukat
3448f5b6ad Mark MPIO HD300 as stable in tools/builds.pm
Change-Id: Ib2c9e02703de5801d08e05c1eb1066cb7c3328a5
2012-03-10 14:26:31 +01:00
Dominik Riebeling
975332d608 Disable built-in make rules for binutils 2.16.1.
If make provides a built-in rule for .m files (seen on Fedora 16, reported on
the net for OS X) it breaks binutils 2.16.1. Disable built-in rules to avoid
this.

Change-Id: I2e76c52661e47edf81706ed5c8c30f5e6cab8546
2012-03-04 10:40:15 +01:00
Marcin Bukat
587f52f50e rk27xx: switch to RKW format for binary
Change-Id: I859473abbaf05c8268d832b25d15f27f1ea44648
2012-03-04 00:35:32 +01:00
Marcin Bukat
f35e300304 scramble: add RKW firmware file format encoder
Change-Id: I8057d6186724c3e8a319a262f45c12da7afb722e
2012-03-04 00:33:41 +01:00
Frank Gevaerts
466a7c6a40 Integrate the warble tool in the regular build system.
Only sdl app builds work properly for now.

Change-Id: I7807d42f69b8577b401e48cdc63de71e54f49217
2012-03-03 20:19:08 +01:00
Frank Gevaerts
c6d20104eb Fix __PCTOOL__ dependencies on SIMULATOR
* filesize() is not POSIX, so it doesn't need stubbing or redirecting
* make the various directory functions use the sim_ versions for PCTOOL
* PCTOOL needs generic byteswap functions
* fix the database makefile to not use -DSIMULATOR anymore

Change-Id: Ic6abc4f662830b85626c751a472fa4a03e844871
2012-03-03 18:54:47 +01:00
Amaury Pouly
dc572fbde3 configure: fix $(LD) which was incorrectly set as $(AR)
Change-Id: I76db28bf0d583840bc00e96b73370316ad7d8b73
2012-03-01 16:51:55 +01:00
Frank Gevaerts
f0ecce9ee5 Fix ucl-related makefiles
Change-Id: I5f2f896d34c242c9b365bd8ea823fa89647a366d
2012-02-29 12:30:28 +01:00
Frank Gevaerts
58b226edc5 Add "allbuilds" to builds.pm, similar to "stablebuilds" and "usablebuilds"
Change-Id: Ia81a090e0c5ad53b09c38861b17e14674b1087d4
2012-02-25 15:28:36 +01:00
Marcin Bukat
b4eab59951 Arm stack unwinder
Simplified stack unwinder for ARM. This is port of
http://www.mcternan.me.uk/ArmStackUnwinding/
backtrace() is called from UIE() on native targets
and from panicf() on both native and ARM RaaA.

Change-Id: I8e4b3c02490dd60b30aa372fe842d193b8929ce0
2012-02-22 08:33:26 +01:00
Frank Gevaerts
a16b65e47d Force YPR0 to 240x320
The YPR0 has a fixed screen size. Letting the generic RaaA screen
size selection code work on causes checkwps/buildall.sh to build
broken checkwps binaries. There's no good reason to allow
overriding the screen size here

Change-Id: Ic666d28d10273000a8c1867580c8d1a13dd98dc9
2012-02-22 01:08:17 +01:00
Ralf Ertzinger
d2f97da668 Make logf() output to serial optional
Only output logf() to the serial port if LOGF_SERIAL is defined
(in addition to HAVE_SERIAL). Add an option to advanced configure
to set this (defaults to off).

Change-Id: I13d0f5df391e5371f7797f46a3faaf7a6974b9e4
Reviewed-on: http://gerrit.rockbox.org/92
Reviewed-by: Björn Stenberg <bjorn@haxx.se>
2012-02-16 14:44:43 +01:00
Thomas Martitz
30a7e59d25 checkwps/ypr0: Forgot new file.
Change-Id: I14d2f1c174c118ba44fbbd92051157e0f21db68f
2012-02-11 13:11:48 +01:00
Thomas Martitz
295c1c1e8b checkwps: Fix buildall.sh and some RaaA/ypr0 versions.
Change-Id: I5889743e94ed568c8f7dcc50de0b03b8421969f7
2012-02-10 20:27:59 +01:00
Amaury Pouly
c18a4e6316 fuze+: update builds.pm to reflect the fact that we have icons
Change-Id: I7542b05b851d5a3b9353c48550a6de290ca33037
2012-02-01 15:02:21 +01:00
Frank Gevaerts
dbcf173fdf YP-R0 is supposed to be unstable these days, so add it to tools/builds.pm
Change-Id: Ia3cf9370c38d1593fe156806d12eec3da438beac
2012-01-29 13:54:46 +01:00
Amaury Pouly
d6848584f7 fuze+: mark as unstable
Change-Id: I4a21e220e16b567eb3e7afe5e7d1a3293dd13bb2
2012-01-27 20:19:07 +01:00
Jonathan Gordon
c42f19f897 Disable the backdrop in the failsafe theme so the colours acually work
Change-Id: Ib65fa0be50dfa050f1db5c615685bdbd992cea1d
2012-01-25 19:22:23 +11:00
Torne Wuff
2ab2857b58 Remove svn id.
Another "test" commit :)

Change-Id: I2196ef07724f23dacd47d9ee1a71c3200b4135fc
Reviewed-on: http://gerrit.rockbox.org/64
Reviewed-by: Björn Stenberg <bjorn@haxx.se>
2012-01-23 16:04:47 +01:00
Thomas Martitz
74c8746595 Don't filter out -O for sims.
It's not useful as it means we test code at a different -O level than
we run it at.
Fixes build errors caused by gcc 4.3. Fix some warnings
the change would introduce as well.

Change-Id: Id9ff31dc08694b0bfc5272f5e690c41f7918ed22
2012-01-22 20:33:37 +01:00
Thomas Martitz
91a3978fdc ypr0: Enable asm optimizations.
Change-Id: Ib9f98563a9687827a384e5c7587638f5874cf485
2012-01-22 18:46:45 +01:00
Thomas Martitz
8e8e978de6 Add framework to let make automatically pick optimized asm implementations over generic C ones to firmware.
Example: for a file asm/foo.c, make will look for asm/arm/foo.[cS] and
compile it if found. If not found it'll fall back to asm/foo.c.

Also introduce new ARCH make variable. This is automatically detected by
configure. It is distinct from CPU since CPU defines the dir used for
the target tree (i.e. firmware/target/X, so it can be "hosted").
ARCH really has the target isa and can be x86 for sims/raaa too.

Change-Id: I18e5d2b7b7bbc2ad2be551a74a0fcae5ffbcbf8b
2012-01-22 18:46:45 +01:00
Thomas Martitz
6b7db7e465 Fix database build.
Change-Id: I3e057a680057bdda859af5deefbda0e65211b284
2012-01-21 19:03:39 +01:00
Thomas Martitz
cf333a61c7 Move supprt-arm.S to separate library.
Core, codecs and plugins link it separately so this gets rid of SOURCES trickery.
Don't build it for hosted targets.

Change-Id: If15ef90e93cd218a4352ae8e89eea95d3122452f
2012-01-21 18:39:19 +01:00
Björn Stenberg
858a0cfb92 Remove svn id (test commit). 2012-01-20 11:10:18 +01:00
Björn Stenberg
35f0c964da Remove svn id. 2012-01-19 17:26:11 +01:00
Dominik Riebeling
420ae56cec rbspeex: make local functions static. 2012-01-12 20:49:19 +01:00
Dominik Riebeling
5e21bbf575 Rename snprintf when building with MSVC to link with CRT.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31641 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 20:09:59 +00:00
Jens Arnold
e9b257f340 Add missing languages from configure, and sort them in exactly the same order for easier maintenance.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31639 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 17:59:52 +00:00
Jens Arnold
8b4805203b Remove outdated (and buggy) configuration option for the 8MB mod. This is configured by selecting memory size directly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31638 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 17:38:40 +00:00
Jens Arnold
334e61293e Fix several flaws in argument handling and reconfiguring, mainly related to voice building: (1) Properly retain arguments containing spaces by re-quoting them. (2) Properly retain --tts when the default is selected by just pressing return. (3) Only append --tts and --language if they weren't already specified on the commandline, preventing duplication on 'make reconf'. (4) Never append --ttsopts and --encopts for the same reason. These are commandline only anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31637 a1c6a512-1295-4272-9138-f99709370657
2012-01-08 13:59:15 +00:00
Dominik Riebeling
1ef25cd7e0 librbspeex.a: simplify Makefile for OS X.
- As done with the libucl Makefile replace the universal library handling and
  use ar to create a library from fat objects instead.
- Replace OUT with BUILD_DIR to be in line with the other Makefiles. As a
  result librbspeex will now be build in a subfolder better named than "build"
  when building with Rockbox Utility.
- Make the Makefile depend on the depencency file. This should fix problems
  with a broken dependency file not being regenerated properly, causing the
  build to fail.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31587 a1c6a512-1295-4272-9138-f99709370657
2012-01-05 22:26:04 +00:00
Dominik Riebeling
1a26524d01 Fix building mkamsboot on OS X.
mkamsboot requires libucl to be linked. Since the introduction of libtools.make
the OS X specific universal library isn't triggered anymore so the libucl built
uses the wrong architecture. Rockbox Utility builds libucl by itself and still
triggers the universal library rule.

Since ar can create fat archives but not operate on them adjust the ar call to
not try to update the archive -- the archive is created anyway, so asking for
an update is not really necessary. Remove any old archive first to make sure
we're not trying to update one, since that would now fail. As a result the OS X
specific hackery to build both ppc and i386 in a single call isn't necessary
anymore.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31585 a1c6a512-1295-4272-9138-f99709370657
2012-01-05 21:23:35 +00:00
Thomas Jarosch
949e6398c8 FS #11859: Enable optimizations for SDL application builds.
Only disable them for the simulator (like before).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31547 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 22:33:47 +00:00
Thomas Martitz
84f651f9b6 android: Adjust gcc/linker cmdline. Fixes build with ndk r7.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31542 a1c6a512-1295-4272-9138-f99709370657
2012-01-03 21:15:17 +00:00