Commit graph

26 commits

Author SHA1 Message Date
Teruaki Kawashima
2edeb5612a add plugin_crt0.c to OTHER_SRC so that dependencies will be genereted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28298 a1c6a512-1295-4272-9138-f99709370657
2010-10-17 11:40:39 +00:00
Thomas Martitz
cae4ae2c71 Second try: Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also make exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex() introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases rb->default_event_handler_ex() was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27873 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 14:30:46 +00:00
Thomas Martitz
46454ac2a8 Move setjmp to lib and add setjmp for sh (imported from newlib) and compile it as separate library.
It's used by both, plugins and codecs, and sh/hwcodec doesn't compile codecs
so it doesn't fit into sources.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27869 a1c6a512-1295-4272-9138-f99709370657
2010-08-24 12:38:42 +00:00
Thomas Martitz
93cb949372 Revert "Introduce plugin_crt0.c that every plugin links."
Too much errors and no time to fix them now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27863 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 17:12:26 +00:00
Thomas Martitz
abdc5935be Introduce plugin_crt0.c that every plugin links.
It handles exit() properly, calling the handler also when the plugin returns
normally (also it makes exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.

To work better together with callbacks passed to rb->default_event_handler_ex introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases it was passed a callback which was manually called at all other return points. This can now be done via atexit().

In future plugin_crt0.c could also handle clearing bss, initializing iram and more.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27862 a1c6a512-1295-4272-9138-f99709370657
2010-08-23 16:56:49 +00:00
Thomas Martitz
57613ea5fa Rename/change SIMVER to APP_TYPE in the Makefiles.
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
2010-07-10 13:49:49 +00:00
Frank Gevaerts
b8286d45be Move -Wl,-z,defs to GLOBAL_LDOPTS (instead of GCCOPTS), to avoid noise in older gcc output when not linking
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27260 a1c6a512-1295-4272-9138-f99709370657
2010-07-03 20:58:22 +00:00
Rafaël Carré
a9e2a7148f *.link: depends on config file where plugin buffer size is set
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24322 a1c6a512-1295-4272-9138-f99709370657
2010-01-24 15:32:23 +00:00
Teruaki Kawashima
e3fc65cfff change dependencies in make files:
* apps.make: depends on ctype.o instead of errno.o to depend on config-*.h so that it works for simulator.
* lang.make: add dependency of lang.h to make it sure that the file is updated properly when needed.
* plugins.make: object files don't depend on libpluginbitmaps.a.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24256 a1c6a512-1295-4272-9138-f99709370657
2010-01-17 13:03:10 +00:00
Maurus Cuelenaere
21bca65d04 Add Lua support to plugins Makefile
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23386 a1c6a512-1295-4272-9138-f99709370657
2009-10-28 22:48:22 +00:00
Jens Arnold
0c69a83253 Remove no longer used stuff.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20206 a1c6a512-1295-4272-9138-f99709370657
2009-03-05 07:40:10 +00:00
Jens Arnold
f82c944912 Use a static pattern rule to restrict the dependency on [pluginname].o to single-file plugins. This allows the pattern rule for %.rock (with all dependencies defined elsewhere) to pick up multi-file plugins with no [pluginname].o file, and get rid of the duplication in (doom|midi|reversi).make.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20205 a1c6a512-1295-4272-9138-f99709370657
2009-03-04 23:41:58 +00:00
Jens Arnold
f42b93480e Bring back -fdata-sections that got lost in the make system overhaul (r19146).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20191 a1c6a512-1295-4272-9138-f99709370657
2009-03-03 08:28:50 +00:00
Jens Arnold
6436b39d4c Fix some slight inconsistencies.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20172 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 08:16:36 +00:00
Jens Arnold
c21e2e686f Calculate the optimal memory location for overlay plugins, and use plugin.lds for linking them. This gets rid of hand-adjusted archos.lds, making it easy to use overlay plugins on other lowmem targets. * Fix some duplicate and incorrect dependencies. * Change the way libs are filtered, so that a lib can be specified more than once. This allows to get rid of explicitly linking gcc-support.o, fixing empty plugins on some simulator platforms.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20163 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 00:16:44 +00:00
Jens Arnold
6421f94c0d Silence warning from 'ar' if the archive had to be created.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20151 a1c6a512-1295-4272-9138-f99709370657
2009-03-01 09:04:15 +00:00
Daniel Stenberg
2e6d604bb6 Stop hiding errors by redirecting stderr to /dev/null. If we really need to do re-introduce somewhere we should rather make it dependent on the V variable so that make V=1 would still show the error and only "normal" builds would hide it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20090 a1c6a512-1295-4272-9138-f99709370657
2009-02-23 08:45:16 +00:00
Daniel Stenberg
dca7d391f1 make sure plugin.lds is not processed when building sims since it isn't used for anything then!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19957 a1c6a512-1295-4272-9138-f99709370657
2009-02-09 18:31:56 +00:00
Michael Sevakis
b0befadad1 Include divide-by-zero handling within plugins and codecs for ARM processors.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19834 a1c6a512-1295-4272-9138-f99709370657
2009-01-24 03:47:09 +00:00
Björn Stenberg
52320b83c0 Added missing dependencies for codeclib and pluginlib. This required renaming some files that have twins in other places.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19756 a1c6a512-1295-4272-9138-f99709370657
2009-01-12 21:56:46 +00:00
Björn Stenberg
a091d20ba0 Added 'keywords' and 'eol-style' properties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19218 a1c6a512-1295-4272-9138-f99709370657
2008-11-25 19:54:23 +00:00
Björn Stenberg
303b455ceb Remove .a files before running ar, to avoid problems with renamed files remaining in the library.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19160 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 16:49:55 +00:00
Björn Stenberg
7167a7a874 Make sure plugin directory exists before creating link file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19157 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 16:07:01 +00:00
Björn Stenberg
8ce3556236 Bug fix again. Moved cp outside of $(shell) to force make to run it sequentially.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19149 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 12:44:49 +00:00
Björn Stenberg
838c74f79d Bug fix for simulator: Plugins and codecs were objcopied isntead of left as ELF.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19147 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 12:09:36 +00:00
Björn Stenberg
c6b3d38a15 New makefile solution: A single invocation of 'make' to build the entire tree. Fully controlled dependencies give faster and more correct recompiles.
Many #include lines adjusted to conform to the new standards.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 11:27:31 +00:00