poset: add select_smallest and select_greatest

Signed-off-by: Jean Privat <jean@pryen.org>
model: add mmodule_data

Signed-off-by: Jean Privat <jean@pryen.org>
src: use `get_annotations` instead of `collect_annotations_by_name`

The former does what is implied, the second is a deep search

Update the comment on the latter.

Signed-off-by: Jean Privat <jean@pryen.org>
annotation: move collect_annotations_on_modules from android_annotations to annotation

Signed-off-by: Jean Privat <jean@pryen.org>
lib: intro `program_is_in_path`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
inkscape_tools: detect if inkscape is installed

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib: intro the sendmail module

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/standard: rework and factorise queues and heaps.

Rewrite most of the queue and head data-structures.

1. move them is their own module (instead of the end of the collection files)
2. make Queue the abstract queuing interface (I need this for my IA library)
3. faster Heap implementation

Signed-off-by: Jean Privat <jean@pryen.org>
annotation: add lookup_annotation_on_modules and related methods

Signed-off-by: Jean Privat <jean@pryen.org>
android: remove priority_annotation_on_modules and use lookup_annotation_on_modules instead

Signed-off-by: Jean Privat <jean@pryen.org>
src: new phase check_annotation

Signed-off-by: Jean Privat <jean@pryen.org>
lib: add user-declared annotations on some modules

Signed-off-by: Jean Privat <jean@pryen.org>
tests: updates for user-declated annotations

Signed-off-by: Jean Privat <jean@pryen.org>
check_annotation: warn if a module declares again annotation

Signed-off-by: Jean Privat <jean@pryen.org>
tests: base_user_annotation4 for multiple annotation declaration

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: introduce and use MModuleData

This introduces a helper module `mmodule_data` to store and retrieve arbitrary data trough module hierarchies.
Then `annotation` helper is extended to simplify the retrieval of annotations trough hierarchies of moduledecl
This allows the simplification of `android_annotations` by the use of the new services.

user-declared annotations in then implemented annotations (closes #623)

Pull-Request: #633
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Merge: lib/standard: rework and factorise queues and heaps.

Rewrite most of the queue and head data-structures.

1. move them is their own module (instead of the end of the collection files)
2. make Queue the abstract queuing interface (I need this for my IA library)
3. faster Heap implementation

Pull-Request: #639
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Merge: sendmail & detect programs in path (also used in Inkscape)

Pull-Request: #636
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>