Add support for "slim", which is "stem" + removal of some exports and checking of import details
For this to work, the static_dependencies.txt file needs to contain the augmented dependency information.
To help with this, it can now consume a mixture of both rom_content.csv lines and static_dependencies.txt lines: the
best way to update the information would be something like
(edit rom_content.csv to add "slim" to XXX.dll)
findstr /i "xxx.dll" rom_content.csv > slim.txt
findstr /i "xxx.dll" static_dependencies.txt >> slim.txt
perl ..\tools\static_dependencies.pl -u static_dependencies.txt slim.txt > new_dependencies.txt
This will notice the "slim" marking for xxx.dll, and record the detailed import and export lists for
xxx.dll and everything which links to it. The new information will look something like
sys\bin\xxx.dll /epoc32/release/armv5/urel/stem_xxx.dll exports=1-98.100-102:euser[100039e5].dll
sys\bin\yyy.dll /epoc32/release/armv5/urel/yyy.dll euser[100039e5].dll:xxx[102750c7].dll@2.4-5.77.104-106:scppnwdl.dll
sys\bin\zzz.dll /epoc32/release/armv5/urel/zzz.dll euser[100039e5].dll:xxx[102750c7].dll@23.25.74-77:scppnwdl.dll
Only executables for which there is a "slim" marking will have this level of detail.
The filtering script now does the detailed cross-checking of imports to exports for "slim" executables.
In this case, it will observe the stem_xxx.dll does not export ordinal 104, and so the filtering will include
deleting sys\bin\yyy.dll (xxx.dll Missing ordinal 104)
sys\bin\zzz.dll will be acceptable, because it only uses ordinals which are still present in stem_xxx.dll
// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "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:
// cone.dll Control environment
//
// Modified to build stem_cone.dll to break dependency on mediaclientaudio.dll
// Assumes that the sf/mw/classicui package is accessible and adjusts the paths
// to refer back to /sf/mw/classicui/lafagnosticuifoundation/cone where needed
/**
@file
*/
target stem_cone.dll
CAPABILITY All -Tcb
targettype DLL
UID 0x1000008D 0x10003A41
VENDORID 0x70000001
NOEXPORTLIBRARY
userinclude /sf/mw/classicui/lafagnosticuifoundation/cone/inc
USERINCLUDE /sf/mw/classicui/lafagnosticuifoundation/cone/src
// userinclude ../../../../../mw/classicui/lafagnosticuifoundation/cone/inc
MW_LAYER_SYSTEMINCLUDE_SYMBIAN
SOURCEPATH /sf/mw/classicui/lafagnosticuifoundation/cone/src
source COEAUI.CPP COECCNTX.CPP COECNTRL.CPP
source COEFEP.CPP COEHELP.CPP COEMAIN.CPP
source COEUTILS.CPP Coemop.cpp COEMAINSECUREFEP.CPP
source COEFONT.cpp COEFONTPROVIDER.cpp coetextdrawer.cpp
source coecontrolarray.cpp CoeDataStorage.cpp
source CoeColorUse.cpp
source COECNTSS.CPP
source COEVIEW.CPP
source coevwman.cpp
source COEPRIV.CPP
source COEINPUT.CPP
source CoeEnvExtra.cpp
SOURCEPATH .
source coesndpy.cpp
library euser.lib efsrv.lib bafl.lib
library gdi.lib ws32.lib egul.lib viewcli.lib
library ecom.lib centralrepository.lib estor.lib
library hal.lib
#if defined(USE_IH_RAISE_EVENT)
library instrumentationhandler.lib
#endif
deffile stem_cone.def
START WINS
baseaddress 0x40600000
END
SMPSAFE