Nokia Networks Home

Nokia nmake Product Builder

Quick Links

Related Products

Release Notes -- Nokia nmake 11

July 2009
[Table of Contents] [Previous Section] [Next Section]

4. Changes Impacting nmake 10 Makefiles

The changes in nmake 11 are largely backward compatible with nmake 10. Every effort has been made to insure code changes do not unexpectedly change the documented behavior of nmake features.

The following may impact builds and require changes.

4.1 Versioned shared libraries

The default version for a shared library made with the :LIBRARY: operator has been changed from "1.0" to "1" to be more consistent with system libraries. This generates a shared library name such as instead of (or .sl on HP-UX).
Who is affected
Projects using :LIBRARY: to build versioned shared libraries and expecting version 1.0.
What to do
If a 1.0 version string is still required it can be manually specified on the LHS of :LIBRARY: after the library name.
abc 1.0 :LIBRARY: a.c b.c c.c

4.2 Shared library .no file

In previous release a versioned shared library created by the :LIBRARY: operator was installed with a .no file name with symbolic links to it for the plain and versioned .so/.sl files. For example:
-rwxr-xr-x 1 richb richb 4568 Jun 18 17:50
lrwxrwxrwx 1 richb richb   13 Jun 18 17:50 ->
lrwxrwxrwx 1 richb richb   13 Jun 18 17:50 ->
The .no file is no longer used. The versioned .so/.sl file is installed with one symbolic link for the unversioned file name. For example:
lrwxrwxrwx 1 richb richb   11 Jun 18 17:56 ->
-rwxr-xr-x 1 richb richb 4564 Jun 18 17:56
Who is affected
Projects that have scripts or makefiles looking specifically for the .no file may have a problem.
What to do
Update the tools to disregard the .no file since it is no longer needed.

4.3 Date format field %z

In previous releases the %z date format field used by the :F=%(format)T edit operator was documented as the time zone type. However the field did not work and always expanded null. The %z field has been changed to the time zone offset and the time zone type is now %q and has been fixed.
Who is affected
Projects using the %z date format field with the :F=%(format)T edit operator may get unexpected output.
What to do
To preserve the previous behavior remove the %z field since it expanded null. If the time zone type is really needed then change %z to %q. If you would like the time zone offset then leave %z.

4.4 Structured build logs / xmakelog

The experimental structured build log support introduced in nmake 10 has had some changes. The xmakelog command is still used to generate XML output, however it now defaults to output appropriate for the new buildlog2html command in which case the makelog_format variable need not be set. Some changes have also been made to the XML output. In order to conserve disk space the <targ> tag and its attributes have been shortened to two characters since they will appear many times in a build. The following table shows these changes.
old name new name description
targ tg target XML tag
name nm target name attribute
host hn host machine name attribute
stime st action start time attribute
(new) et action end time attribute
(new) ec action exit code attribute
dir (deleted) directory name attribute
Who is affected
Projects generating structured build logs.
What to do
If you are setting the makelog_format variable to define the target elements change the value to use "tg" instead of "targ". For example, makelog_format=xml:tg/@. You can also unset makelog_format to use the default which now includes all the supported elements in the table above (same as "xml:tg/@"). If you have custom tools processing the XML then change them to use the new tag and attribute names as needed.

[Table of Contents] [Previous Section] [Next Section]

Last Update: Friday,12-Aug-2016 12:24:40 EDT