Update to Doxygen 1.4.5.
[bertos.git] / README.devlib
1 /*
2  * This document is automatically processed by Doxygen (http://www.doxygen.org/).
3  * Don't remove special formatting tags.
4  */
5 /*!
6
7 \mainpage
8
9 \section overview Overview
10
11 DevLib is a collection of small reusable components designed by Develer
12 for internal use in many embedded and portable applications.
13
14 These source files are intended to be shared between very different
15 environments, from 8bit processors to Linux and Win32 hosted
16 applications, using a wide range of compilers.
17
18 DevLib is not strictly a library or a portability layer.  It's also
19 definitely not an OS, altough some of its components can be combined
20 together to form a multitasking kernel with some IPC functionality.
21
22
23 \section scope Scope (or lack thereof)
24
25 There is no consistent scope or design guide-line for the components
26 of DevLib, altough there is a common coding and documentation style.
27 Every piece of code that looks useful for more than one application
28 may end up here, regardless of compatibility and fitness with other
29 modules.
30
31 Most of DevLib is written in C, but some services intended for higher
32 level, OS-hosted applications are written in C++.  Some modules are
33 dependant on others to avoid code duplication, but most of the times
34 you can configure out features you don't need.
35
36
37 \section structure Directory Structure
38
39 The modules are sorted in subdirectories by their category:
40
41  - kern/ - Simple multitasking kernel implementation;
42  - drv/ - Hardware drivers;
43  - dt/ - Object oriented framework for simple GUIs.
44  - gfx/ - Simple bitmap graphics functions;
45  - mware/ - Algorithms, containers and other standalone code;
46  - io/ - Infrastructure of I/O-related modules for hosted applications;
47  - os/ - OS-abstraction layers for hosted environments;
48
49 The top-level directory contains a few support headers that are meant
50 to be usable by any C or C++, embedded or hosted application.  The
51 top-level directory also contains a few example templates for files
52 that are meant to be customized on a per-application basis.  These
53 files are hw.h, config.h, verstag.h and arch_config.h.
54
55 To achieve the highest possible reusability, most DevLib components
56 are designed for fine-grained modularity and minimal external
57 dependencies.  Most non-essential features can be configured out for
58 applications with small memory footprint requirements.
59
60
61 \section redist Redistribution
62
63 DevLib is a collection of independent works originally written by
64 several different contributors.  Unless otherwise noted, all material
65 is provided under the terms of the GPL (see LICENSE.GPL).
66
67 Alternatively, when parts of DevLib are included in projects developed
68 by Develer, said parts are subject to the same licensing terms covering
69 the specific project, with the exception of clauses granting exclusive
70 rights.
71
72 */