genom3 2.99.42 released

Added by Anthony Mallet 5 months ago


  • Let skeleton generate stubs for external tasks with local codels
  • Fix event namespace for codels imported from interface activities
  • Fix passing arguments of type arrays of native or arrays of strings(implicit const cast from type ** to const type * const * forbidden)
  • Fix mapping of pointers to fixed size arrays
  • Fix the use of interfaces with task codels
  • Constify the exception detail in function raising exceptions



genom3 2.99.41 released

Added by Anthony Mallet 10 months ago


  • Skeleton template generates codels stubs only for codels directly defined in the input files (skipping codels defined in external interfaces). New options are added to alter this behaviour:
    • -x generates stubs for all codels (restore previous behaviour)
    • --extern=comp,... generates stubs for codels defined in those named components/interfaces only.
  • Add an optional component/interface name argument to the skeleton template. By invoking `skeleton file.gen ... name ...`, the skeleton template will only generate stubs for the given component or interface name. When no name is given, generate stubs for all components/interfaces defined in the input files.
  • Mappings template now also generates the signature of codels defined in interfaces.
  • Allow interactive template with no input file (the template command [dotgen parse] still allows to parse files later).
  • Add -C option to change to some directory before reading input files (thus resolving input file relative to the specified directory).
  • Allow simple codels in attributes. This can be useful as a hook performing a related action when an attribute is set.
  • Fixed error detection and reporting when an input file does not exist.
  • Detect and report invalid use of events, ports or remote types in services parameters.
  • Fixed internal issues with task, codels and properties inheritance from an interface.
  • Fixed call() interface for remote objects (ignore local internal parameters).
  • Fixed digest for services and remotes having local parameters or exceptions.
  • Fixed name mangling for ports proxy types (use fullname to avoid conflicts between ports with different data types).
  • When providing a port via an interface, use the type from the interface so that codels from the interface and codel from a component providing it sees the same type. For backward compatibility, an alias is still created in the component, but new skeleton will use the interface type.
  • Improve template function [$object loc] returning the original component context where it is defined. This is not necessarily the current component in case of interface inheritance.
  • Add a template helper function to parse templates' command line, with optional component or interface names:
    • [template arg files]: the list of files arguments on the command line
    • [template arg names]: the list of arguments that are not files
    • [template arg components]: the components objects corresponding to names
    • [template arg next]: previous `template arg` function (that is unchanged)
  • Add optional component argument to common templates for .pc files (default to first component of inputs files for backward compatibility).
  • Fix template function [$type return-value] for bounded string or arrays passed by value.
  • Do not pretend to support yacc. Bison is required.
  • Match template.* files against a list of known template engines to avoid obscure error message if backup files are present.
  • Support --without-templates in component configuration.



genom3 2.99.39 released

Added by Anthony Mallet over 3 years ago


  • Fix potentially missing declaration for builtin integer types in codels signatures (#270)
  • Fix missing parameter in generated client callback signatures
  • Fix multiply defined symbols with -fno-common (gcc-10 default) in pcpp
  • Fix peak usage computation of profiling events
  • Log events corresponding to the sleep time required to get a new profiling event (in verbose profiling mode)
  • Various minor enhancement in the profundis GUI (vertical scrolling with mouse wheel, double click on leaf items, mouse button action documentation, key bindings to open/close all items).
  • Export profiling stats in seconds instead of ns (#276)



genom3 2.99.38 released

Added by Anthony Mallet almost 4 years ago


  • Fix inverted logic in profiling functions when the events queue is full.
  • Fix profiling API for C++.
  • Update profiling API to make it component-independant.
  • Allow to resize the profiling events queue at code generation time.
  • Reduce memory footprint of the 'profundis' tool, to load bigger files without paging.



genom3 2.99.34 released

Added by Anthony Mallet over 4 years ago


  • Add missing comma separator in the list of skeleton .pc files.
  • Allow renaming of attribute parameters - as for codels with :: syntax.
  • Handle non-ASCII paths and file names in genom installation prefix and in components source directories (#224).
  • Handle non-ASCII characters in the main heading comment of .gen files.



genom3 2.99.33 released

Added by Anthony Mallet about 5 years ago


  • Avoid to 'Require' the codels-require packages in the codels .pc files, as this causes over-linking of the codels library. Use 'Libs.private' instead.
  • Fix genom_sequence_resize() macro when the "length" parameter is an expression.
  • Avoid loosing precision in the json serialization of floating point numbers. Use %.17g for doubles and %.9g for floats.




Also available in: Atom