Fix for bug 2283 (RVCT 4.0 support is missing from PDK 3.0.h)
Have multiple extension sections in the bld.inf, one for each version
of the compiler. The RVCT version building the tools will build the
runtime libraries for its version, but make sure we extract all the other
versions from zip archives. Also add the archive for RVCT4.
# Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
# Initial Contributors:
# Nokia Corporation - initial contribution.
#
# Contributors:
#
# Description:
# \f32test\loader\dlltree.txt
# Description file for trees of DLLs and EXEs used for loader testing.
# Tree with no data
#
#
Tree0 : Tree1 Tree2
Tree1 : Tree3 Tree4
Tree2 : Tree5 Tree6
Tree3
Tree4
Tree5
Tree6
# Tree with data
DTree0 D : DTree1 DTree2
DTree1 D : DTree3 DTree4
DTree2 D : DTree5 DTree6
DTree3 D
DTree4 D
DTree5 D
DTree6 D
# Tree with some data
PDTree0 : Tree2 DTree2
# Lattice with no data
Lat0 : Lat1 Lat2
Lat1 : Lat3
Lat2 : Lat3
Lat3
# Lattice with data
DLat0 D : DLat1 DLat2
DLat1 D : DLat3
DLat2 D : DLat3
DLat3 D
# Lattice with some data
PDLat0 : PDLat1 Lat2
PDLat1 D : Lat3
# Cycle with no data
Cyc0 : Cyc1
Cyc1 : Cyc2
Cyc2 : Cyc0
# Cycle with data
DCyc0 D : DCyc1
DCyc1 D : DCyc2
DCyc2 D : DCyc0
# Cycle with some data
PDCyc0 : PDCyc1
PDCyc1 D : PDCyc2
PDCyc2 : PDCyc0
# Cycle with spurs, no data
CycS0 : CycS1
CycS1 : CycS2 Lat0
CycS2 : CycS0
# Cycle with spurs, data
DCycS0 D : DCycS1
DCycS1 D : DCycS2 DLat0
DCycS2 D : DCycS0
# Cycle with spurs, some data
PDCycS0 : PDCycS1
PDCycS1 : PDCycS2 PDLat0
PDCycS2 D : PDCycS0
# EXEs
Exe0 X
Exe1 X F
Exe2 X R
Exe3 X R F
Exe4 X D
Exe5 X F D
Exe6 X R D
Exe7 X R F D
# EXE with link to DLL
Exe8 X : PDLat0
Exe9 X F : PDLat0
Exe10 X R : X10Dep0
Exe11 X R F : X11Dep0
Exe12 X : Rom6
X10Dep0 R,Exe10 D
X11Dep0 R,Exe11 D
# ROM XIP DLLs
Rom5 R D : Rom6 Rom3
Rom7 R D
Rom6 R D : Rom7 Rom8
Rom8 R D
Rom0 R
Rom1 R D
Rom2 R D : Rom1
Rom3 R D : Rom1 Rom2
Rom4 R : Rom1
RomCyc0 R D : RomCyc1
RomCyc1 R D : RomCyc2
RomCyc2 R D : RomCyc0
RomCycS0 R : RomCycS1
RomCycS1 R : RomCycS2 Rom3
RomCycS2 R D : RomCycS0
# RAM linking to ROM
RamRom0 : Rom1
RamRom1 : Lx5
RamRom2 : Lx3
RamRom3 : Lx4
# Link to EXE
Lx0 : Exe8
Lx1 : Exe10
Lx2 : Exe11
Lx3 R : Exe10
Lx4 R : Exe11
Lx5 R : Exe7
# ---- Code paging tests ----
# paged binaries must be copied to removable media because the block map API
# does not support paging from ROM.
# bytepair with paged, unpaged subsets
GTreeA I : GBTree1 GBNTree2 GBPTree3
GBTree1 I B
GBNTree2 I B N
GBPTree3 I B P
# uncompressed with paged, unpaged subsets
# GUPNITree4 must be copied to writable media because toolchain should not set both flags
GTreeB I : GUTree1 GUNTree2 GUPTree3
GUTree1 I U
GUNTree2 I U N
GUPTree3 I U P
# deflate compressed with non-empty paged, unpaged subsets
# must copy to writable media because toolchain only supports paging flags with bytepair or uncompressed
GTreeC I : GTree1 GNTree2 GPTree3
GTree1 I
GNTree2 I N
GPTree3 I P
# paged and unpaged together are corrupt if they have to be acted on
GBPNITree B P N I
GUPNITree U P N I
GPNITree P N I
# paged but loaded from nonpageable media
GBPVTree B P V
# mixed paged / unpaged lattice
GLat0 B P I T : DTree1
GLat1 B P I D T : Tree2
GLat2 N T : GLat1 GLat0
GLat3 N T : GLat1 GLat0 GLat2
GLat4 B P I D T : GLat1 GLat2 GLat3
# paged / unpaged executables
GBPExe X B P I T : GLat4
GBPDExe X B P I D T : GLat4
GBPFExe X B P I F T : GLat4
GBPDFExe X B P I D F T : GLat4
GBNExe X B N I T : GLat4
GBNFExe X B N I F T : GLat4
# ---- Data paging tests ----
# just add some data paged executables so loading gets OOM tested
DataPagedExe1 X PD T
DataPagedExe2 X PD D T
!TESTCASES
ExeLoad: Tree0 DTree0 PDTree0 \
Lat0 DLat0 PDLat0 \
Cyc0 DCyc0 PDCyc0 \
CycS0 DCycS0 PDCycS0 \
Rom4 RomCyc0 RomCycS0 \
RamRom1 GTreeA GTreeB \
GTreeC GLat4
DllOOM: Tree0 DTree0 PDTree0 \
Lat0 DLat0 PDLat0 \
Cyc0 DCyc0 PDCyc0 \
CycS0 DCycS0 PDCycS0 \
Rom4 RomCyc0 RomCycS0 \
RamRom1 GTreeA GTreeB \
GTreeC GLat4 GBPVTree
MultLoad: \
Exe0 RomCyc0 Tree0 Tree0 \
Exe2 RomCyc0 Tree0 Tree0 \
Exe3 RomCyc0 Tree0 Tree0 \
Exe3 DCycS0 Tree0 Tree0 \
Exe8 PDCycS0 Tree0 Tree0 \
Exe3 DCycS0 Tree0 Tree0 \
Exe8 DCycS0 Exe8 PDCycS0 \
Exe7 DCycS0 Exe3 DCycS0 \
Exe3 DLat0 Exe8 DCycS0 \
Tree0 Tree0 Exe3 DCycS0 \
Tree0 Tree0 Exe3 DLat0
MultLoadTargetOnly: \
GBPExe GLat2 GBPExe GLat4 \
GBPExe GLat4 GLat3 GLat2