Keyword reference

This page lists the keywords starting from G to O.

heapmax

heapmax = <hex-size>

rombuild only

Overrides the default maximum heap size for the executable.

heapmin

heapmin = <hex-size>

rombuild only

Overrides the default minimum heap size for the executable.

hide[[HWVD]]

hide[[HWVD]] = <existing-file>

rombuild and rofsbuild

Marks the existing file as hidden. The file is still available to resolve DLL static links.

_HIDE__ECOM_PLUGIN

_HIDE__ECOM_PLUGIN(<local build directory>, <rom binary directory>, <local epoc32\data\Z directory>, <rom resources directory>, <DLL filename>, <resource filename>)

BUILDROM only

Specifies an ECom plug-in, consisting of an implementation DLL and an ECom registration resource file, to be hidden in the ROM and in the SPI file.

Symbian platform code does not use this keyword directly. Instead, it uses the macro HIDE_ECOM_PLUGIN defined in \epoc32\rom\include\header.iby. This macro allows the plug-in to be specified more briefly in the following form:

HIDE_ECOM_PLUGIN(<DLL name>,<resource file name>)

For example:

HIDE_ECOM_PLUGIN(foo.dll,12345abc.rsc)

This feature allows BUILDROM to hide the ECom plug-ins. In particular, BUILDROM hides the DLL associated with the specified plug-in. The resource registration files that are passed using the macro are marked as hidden in the SPI file should you choose to generate one. BUILDROM implements this feature using the spidatahide keyword.

As part of the ROM building process, it is possible to add support for multiple languages. This affects how ECom resource files are specified by BUILDROM:

  • If an SPI file is being created, the HIDE_ECOM_PLUGIN lines are processed at an intermediate BUILDROM stage to produce:

    spidatahide=MULTI_LINGUIFY( EXT sourcename ) <spi-id> <target-spi-dir>

    During the BUILDROM localisation stage, these lines become:

    spidatahide = <source-file> <spi-id> <target-spi-dir>
  • If an SPI file is not being created, the HIDE_COM_PLUGIN lines are processed at an intermediate BUILDROM stage to produce:

    hide=MULTI_LINGUIFY(EXT sourcename)

    During the BUILDROM localisation stage, these lines become:

    hide=sourcename.EXT for the default extension
    hide=sourcename.Enn for all the language codes nn

kerneldataaddress

kerneldataaddress = <hex-address>

rombuild only

Kernel data/bss chunk base virtual address.

The recommended value is 0x64000000.

kernelheapmax

kernelheapmax = <hex-size>

rombuild only

Maximum size of the Kernel's heap.

The Kernel heap grows in virtual address space until this value is reached: It can then grow no further. The value is rounded up to a multiple of the virtual address space mapped by a single page directory entry - on ARM CPUs this is 1MB. Usually 1 page directory entry's worth of RAM is specified. The default value is 0x100000; this is used if none is supplied.

kernelheapmin

kernelheapmin = <hex-size>

rombuild only

Minimum size of the Kernel heap, allocated immediately when the Kernel boots. Specify either a minimal value or a working set size based on envisaged use.

The recommended value is 0x10000, and is the default value if none is explicitly supplied.

kernelromname

kernelromname = <rom-file-name>

rombuild only

ROM image on which an extension ROM is based. This keyword is only valid for extension ROMs

kerneltrace

kernelTrace = <32 bit hex-number | decimal number> [<32 bit hex-number | decimal number>]{0,7}

rombuild only

Initial value for the kernel trace mask. You can supply upto eight separate 32 bit masks in order to enable higher trace flags. The bit values are defined in nk_trace.h, and only apply to a debug Kernel.

To define kernel trace in an .oby file is optional. The default value is set as 0x80000000 if kernel trace is not defined. This default value allows the kernel to raise a panic when an error occurs during runtime. If an invalid value is set, Buildrom removes the invalid value. For example, if kernel trace has only 1 invalid bit mask value, Buildrom removes it and resets the default value.

LANGUAGE_CODE

LANGUAGE_CODE NN

BUILDROM only

Localisation support. Specifies the Symbian 2-digit codes for languages to be supported in this ROM. The keyword may be used as many times as necessary.

maxunpagedsize

maxunpagedsize <maximum_size_of_unpaged_data>

rombuild only

Sets the maximum value for the size of uncompressed unpaged data for which you can flash the image. If the size of the unpaged data is greater than maximum_size_of_unpaged_data, a warning message is displayed.

memmodel

memmodel = moving | direct | multiple <chunk size> <page size>

rombuild only

Specifies the memory model to be used at runtime together with the chunk size and the page size.

multikernel

multikernel

rombuild only

Specifies that the ROM image has multiple kernel executables. These kernels are specified with multiple primary keywords in the files-section.

Note that this keyword is mutually exclusive with singlekernel keyword.

MULTI_LINGUIFY

<xxx>=MULTI_LINGUIFY(EXT <sourcename> <destname>)

BUILDROM only

Localisation support. During the localisation pass, the MULTI_LINGUIFY lines are expanded into one line per language code.

For example, the line:

data=MULTI_LINGUIFY( EXT sourcename destname )

is expanded to the lines:

data=sourcename.Enn destname.EXT
data=sourcename.Enn destname.Enn

The first line is for the default language code; the remaining lines are for all other language codes.

This provides support for the BaflUtils::NearestLanguageFile() function, which performs a similar mapping from language codes to filenames.

nowrapper

nowrapper

rombuild only

Specifies that no ROM wrapper is required.