Project

General

Profile

News

AM genom3 3.1 released

Added by Anthony Mallet about 1 month ago

Changes

  • Even though the major number is increased from 2 to 3, this release does not break compatibility. It just escapes from the curse of 2.99.* versions.
  • Pass to the regen command from skeleton template any additional object name given on the command line.
  • Remove reference to libtool archive in the -uninstalled codels .pc file generated by skeleton template.
  • Sort tasks in Makefile.am for codels sources generated by the skeleton template. This should prevent spurious merge glitches if the task order is changed, but in the meantime this will lead to merge glitches when updating component skeleton, be careful.
  • Let engine command [template parse] and [template require] search for input file in builtin template dir
  • Export argv0 in parsed template files to the full path of source file
  • Arguments set in [template parse] may be set to -, reusing previous args
  • Add engine procedure 'args', assigning template source arguments to variables and checking number of given arguments
  • Add mising mangling rules for 'events' and 'pause events' types in language mappings.
  • Add generator engine function [$component events]
  • Add missing component events in [$components types private]
  • Add a 'visibility' property for ports and services, with 'visibility: hidden' intended for ports or services to be hidden from clients (used by the pocolibs template to implement remote service call).
  • Add common template files for component and client implementation. This factors out some common code between genom templates, that is middleware independant and may be shared. They are provided as a convenience, template can still choose to implement their own variations. Existing templates will not be affected by this commit until they start using these files.
  • Deprecate common template json-types.h in favor of jsonops-c.h, that has less potential name collisions (symbols are prefixed with genom) and more functions to deal with exceptions scanning/printing from/to C.

Download

genom-3.1.tar.gz

AM genom3 2.99.46 released

Added by Anthony Mallet 8 months ago

Changes

  • Add an optional 'private' flag to 'codels-require' to prevent dependency transitivity in interfaces.
  • Import FSM events from interfaces in the local component namespace so that they represent the same event.
  • Fix a typo in C mappings documentation for sequences
  • Fix compatibility with tcl-9.

Download

genom-2.99.46.tar.gz

AM genom3 2.99.44 released

Added by Anthony Mallet about 1 year ago

Changes

  • Updated client interface to version 20250116
  • Add input port publishers in the C client interface
  • Add a 'data' member in C client output port information, holding a buffer of the appropriate type and size for reading ports.
  • Always use autoreconf after updating configure.ac of templates specified in --with-template configure option
  • Remove useless codel files (if not modified), e.g. when switching from skeleton -l c to -lc++ or vice versa
  • Use an intermediate variable for pkg-config dependencies in skeleton generated configure.ac, allowing for more flexibility when manually adding more dependencies

Download

genom-2.99.44.tar.gz

AM genom3 2.99.43 released

Added by Anthony Mallet over 1 year ago

Changes

  • Fix an issue when using paused and non-paused transitions for the same event in a codel.
  • Fix inheritance of component properties from a 'used' interface.
  • Don't merge 'doc' title line from 'provided' interfaces.
  • Update the component model documentation.

Download

genom-2.99.43.tar.gz

AM genom3 2.99.42 released

Added by Anthony Mallet about 2 years ago

Changes

  • 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

Download

genom-2.99.42.tar.gz

AM genom3 2.99.41 released

Added by Anthony Mallet over 2 years ago

Changes

  • 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.

Download

genom-2.99.41.tar.gz

AM genom3 2.99.39 released

Added by Anthony Mallet over 5 years ago

Changes

  • 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)

Download

genom-2.99.39.tar.gz

AM genom3 2.99.38 released

Added by Anthony Mallet almost 6 years ago

Changes

  • 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.

Download

genom-2.99.38.tar.gz

(1-10/22)

Also available in: Atom