The x_bldenv.dat file defines what actions are to be performed during Visual LANSA generation and compilation steps.

The "*" denotes a comment line.

The contents should only ever be changed if:

Some details about this example that may be useful to you should you ever have to alter this file are:

Variable

Comments / Warnings

Envtype

Environment Type / Identifier. Must be unique name. Names cannot be assigned by users.

Envname

Textual description of the environment.

Envdriv

Drive on which environment is located (e.g. E:, D:). * indicates the default value. Drives are specified as one letter followed by a colon (:). The default value is the drive from which the current build program is executing.

Envpath

Path to the environment. This is the path up to (but not including) the X_LANSA base directory. Do not use trailing "\" in path names specified here. In Windows, the default (if * is specified) is \X_WIN95. On LINUX the default is a null string. Note: for LINUX code generation on Windows, envpath is explicitly set to \X_WIN95.

Envdbnm

Name of database. The default is the name of the database associated with the current generation / compilation process.

Envdbtp

Type of database. The default is SQLANYWHERE. In other cases the type must be a valid database type as named in the x_dbmenv.dat file which is shipped with Visual LANSA.

Envenab

The environment is enabled for generation and compiles. Must be YES or NO. Use this option to "turn off" all generation and compilation in an environment, thus substantially reducing the time taken to generate and compile objects.

Envprim

The environment is the primary environment. Must be YES or NO. Only a Windows environment may be nominated as a primary environment.

Env16bc

The environment should segment compiles for a 16 bit environment. You should set this value to NO in all cases.

The complete set of "ooo" prefixed variables are:

Variable

Comments / Warnings

Oooenab

Enables or disables generation and compilation for the object. Must be YES or NO.

Oooskln

Defines a "skeleton" file that is to be read in, substituted and re-written as the file named by the ooofiln value. n must be a number in the range 1 to 9.

Ooofiln

Defines the fully qualified name of the file to be created by reading in the skeleton file nominated in the oooskln value and writing it out again with all %variables% substituted. n must be a number in the range 1 to 9.

Ooocmdn

Defines an operating system command to be executed.

n must be a number in the range 1 to 9.

Variable

Comments / Warnings

%part%

Current partition identifier

%lang%

Current language identifier

%driv%

Environments drive (from envdriv)

%path%

Environments path (from envpath)

%dirb%

Base directory (i.e. x_lansa)

%dirs%

Source directory (i.e. source)

%diro%

Object directory (i.e. object)

%dire%

Execute directory (i.e. execute)

%dirp%

Current Partitions Base Directory (e.g. x_dem)

%filn%

Current Environment File (current ooofiln value)

%objt%

Current object type

%objn%

Current object name

%obje%

Current object name extension (library)

%objc%

Current object name in O/S naming standard format

%obju%

Same as %objc% but in uppercase.

%objd%

Current object description

%ibug%

Causes line to be omitted unless compiling with debug

%nbug%

Causes line to be omitted if compiling with debug

%ikee%

Causes line to be omitted unless keeping source code

%nkee%

Causes line to be omitted if keeping source code

%dbnm%

Current Environments database name

%dbtp%

Current Environments database type

%robj%

Defines the start of an object module repeat loop

%rend%

Defines the end of an object module repeat loop

%modc%

The current module name within a repetition

%modd%

The current module component identifier within a repetition

   Additionally, any %variable% can be prefixed by "prim" meaning that the primary environments value is to be used.

     proenab=YES 
proskl1=%driv%%path%%dirb%%dirs%\PRO00003.S profil1=%driv%%path%%dirb%%dirp%%dirs%\%objc%.def
procmd1=
proskl2=%driv%%path%%dirb%%dirs%\PRO00002.S profil2=%driv%%path%%dirb%%dirp%%dirs%\%objc%.mak
procmd2=NMAKE /A %driv%%path%%dirb%%dirp%%dirs%\%objc%.mak
     procmd3=ERASE %driv%%path%%dirb%%dirp%%dirs%\%objc%.mak