Local configuration file (usually project.ini)

The Assembler does not change the default.env file in any way. The Assembler only reads the contents. All the configuration properties are stored in the configuration file. The same configuration file can and is intended to be used by different applications.

The processor name is encoded into the section name, so that the Assembler for different processors can use the same file without any overlapping. Different versions of the same Assembler are using the same entries. This usually only leads to a potential problem when options only available in one version are stored in the configuration file. In such situations, two files must be maintained for the different Assembler versions. If no incompatible options are enabled when the file is last saved, the same file can be used for both Assembler versions.

The current directory is always the directory that holds the configuration file. If a configuration file in a different directory is loaded, then the current directory also changes. When the current directory changes, the whole default.env file is also reloaded. When a configuration file is loaded or stored, the options located in the ASMOPTIONS: Default assembler options environment variable are reloaded and added to the project's options.

This behavior has to be noticed when in different directories different default.env files exist which contain incompatible options in their ASMOPTIONS environment variables. When a project is loaded using the first default.env file, its ASMOPTIONS options are added to the configuration file. If this configuration is then stored in a different directory, where a default.env file exists with these incompatible options, the Assembler adds the options and remarks the inconsistency. Then a message box appears to inform the user that those options from the default.env file were not added. In such a situation, the user can either remove the options from the configuration file with the advanced option dialog box or he can remove the option from the default.env file with the shell or a text editor depending upon which options should be used in the future.

At startup, the configuration stored in the project.ini file located in the current Paths Local Configuration File Entries documents the sections and entries you can put in a project.ini file.

Most environment variables contain path lists telling where to look for files. A path list is a list of directory names separated by semicolons following the syntax, as listed in the following listing:

Listing: Syntax used for setting path lists of environment variables

PathList=DirSpec{";"DirSpec}
DirSpec=["*"]DirectoryName

The following listing shows a typical example of setting an environment variable.

Listing: Setting the paths for the GENPATH environment variable

GENPATH=C:\INSTALL\LIB;D:\PROJECTS\TESTS;/usr/local/Freescale/lib;/
home/me/my_project

If a directory name is preceded by an asterisk (*), the programs recursively search that whole directory tree for a file, not just the given directory itself. The directories are searched in the order they appear in the path list. The following listing shows the use of an asterisk (*) for recursively searching the entire C drive for a configuration file with a \INSTALL\LIB path.

Listing: Recursive search for a continuation line

LIBPATH=*C:\INSTALL\LIB
Note: Some DOS/UNIX environment variables (like GENPATH, LIBPATH, etc.) are used. For further details refer to the section Environment variables details.

We strongly recommend working with the Shell and setting the environment by means of a default.env file in your project directory. (This project dir can be set in the Shell's 'Configure' dialog box). Doing it this way, you can have different projects in different directories, each with its own environment.

Note: When starting the Assembler from an external editor, do not set the DEFAULTDIRsystem environment variable. If you do so and this variable does not contain the project directory given in the editor's project configuration, files might not be put where you expect them to be put!

A synonym also exists for some environment variables. Those synonyms may be used for older releases of the Assembler, but they are deprecated and thus they will be removed in the future.