Table of Contents

Build level information

Any osFree executibles contains build level information string. Usually build level placed into resources, but also can be in code or data sections.

Usual place of build level information is Description string of DEF-file:

Description '@#osFree:9.23#@Control utility for ANSI'

Minimal build level information

Commonly used following build level information syntax:

@#<Vendor>:<Revision>#@<Description>

where <Vendor>, <Revision> and <Description> are ascii strings with corresponding information. In EDM/2 http://www.edm2.com/index.php/Adding_BLDLEVEL_information_to_executables mentioned some restrictions for <Vendor>, <Revision> and <Description>, but actually length can be any and version format can be any. As example can be pointed some OS2KRNL revisions.

Example:

Description '@#osFree:9.23#@Control utility for ANSI'

Extended build level information Type I

MPTN and TCP/IP services of osFree uses extended build level information. In most cases such information not stored as Description, but as asciiz constant string in code. This is why standard OS/2 bldlevel tool does not work for such files. Syntax is following:

@#<Vendor>:<Revision>#@##built <BuildDate> – on 
<BuildHost>;0.1@@<Description>[:<SubDescription>[:<SubDescription>…]

where

Example:

Description '@#osFree:9.23#@##build 5 Oct 2003  15:00:00 – on RACERPC;0.1@@Command line tools:Control utility for ANSI'

Extended build level information Type II

Another most known, and most complex, type of build level information is following:

@#<Vendor>:<Revision>#@1## DD.MM.YY hh:mm:ss      <BuildHost>:<ASDFeatureID>:<LanguageCode>:<CountryCode>:<Build>:<Unknown>:<FixPackVer>@@<Description>

where

Note: If you leave build date and/or build time empty you still have to provide the same amount of spaces to replace build date/build time.

Example:

Description '@#osFree:9.23#@##1##RACERPC:0:866:7:436::WRR8706@@Control utility for ANSI'

Nowadays many projects use this BLDLEVEL format string.