startup/ssmstartuppolicy.mmp
author William Roberts <williamr@symbian.org>
Mon, 25 Oct 2010 17:26:54 +0100
changeset 80 3ab0df073c86
parent 79 26cde9838d22
permissions -rw-r--r--
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) 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:
* Project definition file for the ssmstartuppolicy project.
*
*/

#include <platform_paths.hrh>
#include <data_caging_paths.hrh>

TARGET          stem_ssm.state.policy.0000.dll
TARGETTYPE      dll
UID             0x2000D75D 0x20021346
NOEXPORTLIBRARY

CAPABILITY      PowerMgmt ReadDeviceData WriteDeviceData ProtServ DiskAdmin SwEvent
VENDORID        VID_DEFAULT

#ifdef WINSCW
DEFFILE         /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/ssmstartuppolicy/bwins/ssmstartuppolicy.def
#else
DEFFILE         /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/ssmstartuppolicy/eabi/ssmstartuppolicy.def
#endif

SOURCEPATH      ./
SOURCE          ssmstartuppolicy.cpp

USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/ssmstartuppolicy/inc
USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/cenrep
USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/inc
USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/ssmpolicybase/inc
USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmpolicyplugins/ssmstatepolicybase/inc
USERINCLUDE     /sf/os/devicesrv/sysstatemgmt/ssmmapperutility/inc

OS_LAYER_SYSTEMINCLUDE

LIBRARY         centralrepository.lib
LIBRARY         efsrv.lib
LIBRARY         euser.lib
LIBRARY         ssmcmd.lib
LIBRARY         ssmcmn.lib
LIBRARY         ssmpolicybase.lib
LIBRARY         ssmstatepolicybase.lib
LIBRARY         ssmmapperutility.lib

// >>> uncomment to enable function-level tracing
// MACRO        __SSM_FUNC_TRACE__
// <<< uncomment to enable function-level tracing

// >>> uncomment to direct trace output to file
// MACRO        __SSM_TRACE_INTO_FILE__
// LIBRARY      flogger.lib
// <<< uncomment to direct trace output to file

SMPSAFE