layouts/aknlayout2/group/AknLayout2_build_tricks.txt
changeset 0 05e9090e2422
child 14 9ad3127c7f4d
equal deleted inserted replaced
-1:000000000000 0:05e9090e2422
       
     1 20/10/2003 MurrayR
       
     2 This text file describes unusual features of the AknLayout2 build system.
       
     3 
       
     4 AknLayout2 builds the layout components for the CDL based layout system.
       
     5 There is a feature flag, __CDL_LAYOUT, which affects whether the Series 60 build uses
       
     6 this flag or not. It is intended that Series 60 will use CDL based layout permanently
       
     7 in the future. Until then, CDL based layout will only be used in Series 60 if the
       
     8 __CDL_LAYOUT feature flag is enabled.
       
     9 
       
    10 Without __CDL_LAYOUT:
       
    11 If AknLayout2 is build without the __CDL_LAYOUT feature flag, it will create the CDL
       
    12 interfaces and instances for the Avkon Layout System. The CDL interfaces will be
       
    13 available for layout clients to use.
       
    14 
       
    15 With __CDL_LAYOUT:
       
    16 When the __CDL_LAYOUT feature flag is enabled, AknLayout2 attempts to replace AknLayout
       
    17 in a source compatibvle way, so that transition to the new layout system is as smooth as
       
    18 possible. The AknLayout2 build system does the following things to replace AknLayout.
       
    19 1) AknLayout.lag is replaced with a version that uses the CDL interface.
       
    20 2) AknLayoutData.h and AknLayoutDataDef.h are replaced with the equivalent AknLayout2 
       
    21    headers.
       
    22 3) AknLayout.lib is replaced with CdlEngine.lib.
       
    23 These build tricks all require that AknLayout2 is built after AknLayout.
       
    24 
       
    25 When __CDL_LAYOUT is no longer required:
       
    26 Eventually, Series 60 will be entirely ported across to the CDL based layout system.
       
    27 This will be complete when the following things happen:
       
    28 1) AknLayout is no longer in the build.
       
    29 2) No clients link to AknLayout.lib.
       
    30 3) No clients use AknLayout.lag, and those that did now use the CDL interface.
       
    31 At this point, none of the build tricks described above will be required.
       
    32 
       
    33 05/11/2003 MurrayR
       
    34 Building the layout instance DLL.
       
    35 Avkon will assume that there is a CDL layout instance DLL called LayoutInst.DLL available.
       
    36 The build files and all contents of this DLL are generated according to the device
       
    37 requirements. For S60 builds, all possible layouts are in this DLL.
       
    38 Since the MMP file does not exist at the "bldmake bldfiles" stage, a "redirection" MMP
       
    39 file called LayoutInstRedir.mmp is used. This #includes the generated MMP file.
       
    40 Bld.inf only requires that the LayoutInstRedir.mmp file is present at "bldmake bldfiles".
       
    41 To make the build work, an extension makefile is used. This appears before
       
    42 LayoutInstRedir.mmp in bld.inf, so it is actioned first.
       
    43 The extension makefile, in it's MAKMAKE target, builds all the build files and source
       
    44 for LayoutInst.dll.