Local Configuration File (usually project.ini)

All the configuration properties are stored in the configuration file. The same configuration file is used by different applications.

The shell uses the configuration file with the name project.ini in the current directory only. When the shell uses the same file as the compiler, the Editor Configuration is written and maintained by the shell and is used by the compiler. Apart from this, the compiler can use any filename for the project file. The configuration file has the same format as the windows *.ini files. The compiler stores its own entries with the same section name as those in the global mcutools.ini file. The compiler backend is encoded into the section name, so that a different compiler backend can use the same file without any overlapping. Different versions of the same compiler use the same entries. This plays a role when options, only available in one version, must be stored in the configuration file. In such situations, two files must be maintained for each different compiler version. If no incompatible options are enabled when the file is last saved, the same file may be used for both compiler versions.

The current directory is always the directory where the configuration file is located. If a configuration file in a different directory is loaded, the current directory also changes. When the current directory changes, the entire default.env file is reloaded. When a configuration file is loaded or stored, the options in the environment variable COMPOPTIONS are reloaded and added to the project options. This behavior is noticed when different default.env files exist in different directories, each containing incompatible options in the COMPOPTIONS variable.

When a project is loaded using the first default.env, its COMPOPTIONS are added to the configuration file. If this configuration is stored in a different directory where a default.env exists with incompatible options, the compiler adds options and remarks the inconsistency. You can remove the option from the configuration file with the option settings dialog box. You can also remove the option from the default.env with the shell or a text editor, depending which options are used in the future.

At startup, there are two ways to load a configuration:

If the -Prod option is used, the current directory is the directory the project file is in. If the -Prod option is used with a directory, the project.ini file in this directory is loaded.

Local Configuration File Entries documents the sections and entries you can include in a project.ini file.