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>
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>
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
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>
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
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
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
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
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
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
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
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
1) use " instead of ' to expand variable
2) fix x86 arch autodetection (android toolchain doesnt use _X86_)
Change-Id: Ibf73b6ccfdb1baee3bb2f77d8f298119ecbfe16c
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
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
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>
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
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
This port is a hybrid native/RaaA port. It runs on a embedded linux system,
but is the only application. It therefore can implement lots of stuff that
native targets also implement, while leveraging the underlying linux kernel.
The port is quite advanced. User interface, audio playback, plugins work
mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page).
Included in utils/ypr0tools are scripts and programs required to generate
a patched firmware. The patched firmware has the rootfs modified to load
Rockbox. It includes a early/safe USB mode.
This port needs a new toolchain, one that includes glibc headers and libraries.
rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may
also work.
Most of the initial effort is done by Lorenzo Miori and others (on ABI),
including reverse engineering and patching of the original firmware,
initial drivers, and more. Big thanks to you.
Flyspray: FS#12348
Author: Lorenzo Miori, myself
Merry christmas to ypr0 owners! :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
use too big graphics when needed (some plugins will be ugly)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31113 a1c6a512-1295-4272-9138-f99709370657
Included are drivers for buttons, backlight, lcd, audio and storage.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31000 a1c6a512-1295-4272-9138-f99709370657
- Extend configure to allow setting the cross compiler prefix using the
environment variable CROSS. This allows using a compiler that is prefixed
differently than the prefix configure does assume.
- When searching for sdl-config also check for a prefixed version. Some
toolchains prefix sdl-config (like mingw-cross-env).
This enables cross compiling the sim with at least the MinGW packages provided
by Fedora (different prefix) and mingw-cross-env (different prefix and prefixes
sdl-config. There's a non-prefixed version as well, but that folder also
includes the non-prefixed compiler, so using the prefixed version is
preferable.)
starting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30484 a1c6a512-1295-4272-9138-f99709370657
Also support the e200 with this code. Apparently it's also possible to get the e200 in a state where .fmt files don't help.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30413 a1c6a512-1295-4272-9138-f99709370657
Change the logic in configure to record the entire command line from the
beginning and filter out options that are set again by configure.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30134 a1c6a512-1295-4272-9138-f99709370657
Building the manual requires to use the manual make target, and it can be
invoked from a normal build configuration. Having a separate configure option
isn't necessary anymore.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29994 a1c6a512-1295-4272-9138-f99709370657
If the screen size specified is wider than higher specify the orientation as
landscape in AndroidManifest.xml. This usually applies to tablets where Rockbox
in portrait mode feels unnatural.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29951 a1c6a512-1295-4272-9138-f99709370657
More information: www.openpandora.org
Possible things to implement:
- Special button mappings
- Battery monitoring
- ALSA audio backend
- Automate creation of "pnd" (=binary) file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29451 a1c6a512-1295-4272-9138-f99709370657
Plugins still default to grid mode so using them will be awkward.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29408 a1c6a512-1295-4272-9138-f99709370657
Use own plugins/SOURCES and plugins/SUBDIRS file to avoid
ifdef hell for disabled plugins without a keymap.
This finally brings the credits screen to RaaA.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29392 a1c6a512-1295-4272-9138-f99709370657
This replaces SDL threads with real cooperative threads, which are less cpu intensive and allow priority scheduling.
The backend for context switching is dependant on the host (sigaltstack/longjmp on Unix, Fibers on Windows).
configure has options to force or disallow SDL threads.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29327 a1c6a512-1295-4272-9138-f99709370657
Adds Nokia N900, N810 and N800 support.
Features:
- Introduce maemo specific platform defines
- Play audio in silent mode
- Stop playback on incoming calls
- Battery level readout
- Bluetooth headset support
- Save CPU by disabling screen updates if the display
is off or the app doesn't have input focus
- N900: GStreamer audio backend
Kudos to kugel for the code review.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29248 a1c6a512-1295-4272-9138-f99709370657
On Mac the folder holding the prebuilt compiler is darwin-x86, not linux-x86.
The extension of PATH to hold the compiler path below ANDROID_NDK_PATH needs to
be present when findtool searches for the compiler, so applying it to the
prefixtool call is not sufficient. OS X has a different behaviour to Linux
which keeps the set value even if it's applied to the prefixtool call only.
Might be caused by OS X coming with an older version of bash.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29125 a1c6a512-1295-4272-9138-f99709370657
Retune codec compiler optimizations with new compiler. Overall speedup with aac and flac getting big speedups.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29042 a1c6a512-1295-4272-9138-f99709370657
Major known issues:
- No bootloader yet
- No support for the first-generation 160GB CE-ATA hard disk drive yet
- Audio playback is slow, only FLAC seems to reach realtime
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28953 a1c6a512-1295-4272-9138-f99709370657
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
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
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
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
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