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) 2002-2007 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: Project definition file for project EIKON Server UI.
*
*/
// Modified to build stem_eiksrvui.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/uifw/eikstd where needed
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
TARGET stem_eiksrvui.dll
TARGETTYPE dll
UID 0x1000008D 0x100053D0
NOEXPORTLIBRARY
CAPABILITY CAP_GENERAL_DLL
VENDORID VID_DEFAULT
SOURCEPATH /sf/mw/classicui/uifw/eikstd/srvuisrc
USERINCLUDE /sf/mw/classicui/uifw/eikstd/srvuisrc
USERINCLUDE /sf/mw/classicui/uifw/eikstd/inc
USERINCLUDE /sf/mw/classicui/uifw/AvKon/inc
USERINCLUDE /sf/mw/classicui/uifw/AvKon/animdllinc
USERINCLUDE /sf/mw/classicui/uifw/inc
USERINCLUDE /sf/mw/classicui/uifw/eikstd/coctlinc
USERINCLUDE /sf/mw/classicui/uifw/eikstd/srvuiinc
USERINCLUDE /sf/mw/classicui/uifw/eikstd/dlginc
USERINCLUDE /sf/mw/classicui/uifw/eikstd/cdlginc
// This is a SYSTEMINCLUDE macro containing the middleware
// and applications layer specific include directories
APP_LAYER_SYSTEMINCLUDE
SOURCE EIKNFYUI.CPP
SOURCE EIKSRVUI.CPP
SOURCE AknNotifierControllerPlugin.cpp
SOURCE eikkeysoundmap.cpp
SOURCE EikLafShutStarter.cpp
SOURCE EikLafShutScheduler.cpp
SOURCE AknEikAudioToneObserver.cpp
SOURCEPATH .
SOURCE eikkeysoundserver.cpp
LIBRARY euser.lib
LIBRARY efsrv.lib
LIBRARY estor.lib
LIBRARY bafl.lib
LIBRARY ws32.lib
LIBRARY cone.lib
LIBRARY apparc.lib
LIBRARY apgrfx.lib
LIBRARY eikcore.lib
LIBRARY eikcoctl.lib
LIBRARY eikdlg.lib
LIBRARY eiksrv.lib
LIBRARY avkon.lib
LIBRARY Eikalert.lib
LIBRARY apfile.lib
LIBRARY CdlEngine.lib
LIBRARY CommonEngine.lib
LIBRARY aknnotify.lib
LIBRARY aknskins.lib
LIBRARY fbscli.lib
LIBRARY featmgr.lib
LIBRARY aknicon.lib
LIBRARY egul.lib
LIBRARY AknLayout2Scalable.lib
LIBRARY oodmonitor.lib
LIBRARY uiklaf.lib
LIBRARY viewcli.lib
LIBRARY apserv.lib
LIBRARY alarmclient.lib
LIBRARY c32.lib
LIBRARY centralrepository.lib
LIBRARY cenrepnotifhandler.lib
LIBRARY akncapserverclient.lib
LIBRARY aknnotifierwrapper.lib
LIBRARY aknnotifyplugin.lib // for dialog controller stub
LIBRARY aknlayout2.lib
LIBRARY gdi.lib
#ifdef WINSCW
DEFFILE /sf/mw/classicui/uifw/Eikstd/bwins/EIKSVUI.DEF
#else
DEFFILE /sf/mw/classicui/uifw/Eikstd/eabi/EIKSVUI.DEF
#endif
START WINS
BASEADDRESS 0x74350000
END
START MARM
END
// End of file