Systemize is used for converting existing local type repositories into system-type repositories.


This command is not yet implemented.


Systemize, like the system repository type, is experimental. It is increasingly possible that this feature will be either removed or completely re-worked in the future.


aura systemize [-repo-add/show] [-debug] [-assertions] [-optimize-1/2/3/size/debug] destination_path

The systemize command builds a system repository subsystem, and installs it at a directory specified by destination_path. This directory shall be a subdirectory of a repository that is designated as a system type repository.

The systemize command will ultimately create an Ada-specific shared library and a set of specifications (and in the case of GNAT, .ali files) for each subsystem in the project, which will be installed into the matching subdirectories at destination_path.

The systemize command implicitly invokes compile.


Users of a system repository cannot use configuration units for subsystems contained in that repository.


The shared library objects generated by systemize do not contain Ada elaboration code, or an Ada runtime. These libraries are intended to be used exclusively by Ada applications, and by a compiler that knows how to use these types of shared libraries.

When using a system library, the Ada compiler will generate the appropriate elaboration code to elaborate the the subsystems.



This causes a new repository configuration unit, pointing to the newly created system repository, to be added to the project.


This causes the contents needed to create a repository configuration unit to be output to STDOUT.

This is the default.

-debug, -assertions -optimize-(1/2/3/size/debug)

These options are passed to the compile invocation. See compile