breakdeps/backend.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) 2005-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:
// Name        : backend.mmp
// Part of     : backend specific include MMP file
// This is a project specific include file for building the 
// backend library.
//
// Modified to build stem_backend.dll to break dependency on bluetooth.dll
// Assumes that the sf/os/ossrv package is accessible, and adjusts the paths
// to refer back to /sf/os/ossrv/genericopenlibs/openenvcore/backend where needed

   

TARGET            stem_backend.dll
TARGETTYPE        dll
UID               0x1000008d  0x102828D5
NOEXPORTLIBRARY

LANG            SC
CAPABILITY      ALL -TCB
VENDORID        0x70000001
VERSION 				1.1
// Macro defs
#include "/sf/os/ossrv/genericopenlibs/openenvcore/libc/group/libcflags.mmpi"
#ifdef GCCXML
MACRO __wchar_t_defined
#endif //GCCXML

USERINCLUDE			/sf/os/ossrv/genericopenlibs/openenvcore/backend/inc
USERINCLUDE			/sf/os/ossrv/genericopenlibs/openenvcore/libc/inc 
USERINCLUDE			/sf/os/ossrv/genericopenlibs/openenvcore/ewsd/inc
USERINCLUDE			/sf/os/ossrv/genericopenlibs/openenvcore/backend/ipcserver/ipccli/inc
USERINCLUDE			/sf/os/ossrv/genericopenlibs/openenvcore/backend/ipcserver/ipcsrv/inc

// Illegal dependancy on tz.h in MW layer. Needs fixing
MW_LAYER_SYSTEMINCLUDE_SYMBIAN
OS_LAYER_SYSTEMINCLUDE_SYMBIAN
OS_LAYER_LIBC_SYSTEMINCLUDE


//backend without signals and librt support
#ifndef SYMBIAN_OE_POSIX_SIGNALS
#error We are not going to bother with this scenario
#ifdef WINSCW
DEFFILE			/sf/os/ossrv/genericopenlibs/openenvcore/backend/bwins/old_backend.def
#else
DEFFILE			/sf/os/ossrv/genericopenlibs/openenvcore/backend/eabi/old_backend.def
#endif
#endif

//backend without librt support
#if (defined SYMBIAN_OE_POSIX_SIGNALS && !defined SYMBIAN_OE_LIBRT)
#error We are not going to bother with this scenario either
#ifdef WINSCW
DEFFILE			/sf/os/ossrv/genericopenlibs/openenvcore/backend/bwins/backendwolibrt.def 
#else
DEFFILE			/sf/os/ossrv/genericopenlibs/openenvcore/backend/eabi/backendwolibrt.def
#endif
#endif

DEFFILE			/sf/os/ossrv/genericopenlibs/openenvcore/backend/~/backend.def

SOURCEPATH   	/sf/os/ossrv/genericopenlibs/openenvcore/backend/inc
DOCUMENT     	base.dosc
DOCUMENT     	consolestream.dosc
DOCUMENT     	fdesc.dosc
DOCUMENT     	fdtransfermsg.dosc
DOCUMENT     	fdtransfer_cli.dosc
DOCUMENT     	fdtransfer_srv.dosc
DOCUMENT     	filestream.dosc
DOCUMENT     	link.dosc
DOCUMENT     	lposix.dosc
DOCUMENT     	ltime.dosc
DOCUMENT     	netdb_r.dosc
DOCUMENT     	readrequesthandler.dosc
DOCUMENT     	serialstream.dosc
DOCUMENT     	shutdown.dosc
DOCUMENT     	spawn_r.dosc
DOCUMENT     	stdioclient.dosc
DOCUMENT     	stdioserver.dosc
DOCUMENT     	stdiosession.dosc
DOCUMENT     	streambase.dosc
DOCUMENT     	sysif.dosc
DOCUMENT     	sysreent.dosc
DOCUMENT     	systemspecialfilercg.dosc
DOCUMENT 		mmap.dosc
DOCUMENT 		mmapcontrollernode.dosc
DOCUMENT    	mmapmemorynode.dosc
DOCUMENT    	stdio_r.dosc
DOCUMENT    	stdlib_r.dosc
DOCUMENT		sysusrinclude.dosc


SOURCEPATH   	/sf/os/ossrv/genericopenlibs/openenvcore/backend/ipcserver/ipccli/inc
DOCUMENT    	ipcclient.dosc

#ifndef WINSCW
EPOCALLOWDLLDATA
#endif //WINSCW

//Main Backend codes
SOURCEPATH	/sf/os/ossrv/genericopenlibs/openenvcore/backend/src/corebackend

SOURCE		localif.cpp posixfs.cpp
SOURCE		ftable.cpp fdesc.cpp uconsole.cpp 

SOURCEPATH	.
SOURCE usocket.cpp

SOURCEPATH	/sf/os/ossrv/genericopenlibs/openenvcore/backend/src/corebackend

SOURCE		userial.cpp upipedesc.cpp uredirdesc.cpp udirectorydesc.cpp 
SOURCE		utilityfuns.cpp systemspecialfilercg.cpp conv.cpp
SOURCE		fdtransfer_srv.cpp fdtransfer_cli.cpp
SOURCE		ufilesocket.cpp
SOURCE      usocketbase.cpp

//Syscall code
SOURCEPATH /sf/os/ossrv/genericopenlibs/openenvcore/backend/src/syscall

SOURCE handlefms.cpp handlenms.cpp handlepms.cpp
#ifdef SYMBIAN_OE_POSIX_SIGNALS
SOURCE handlesms.cpp
#endif
SOURCE handleipc.cpp handlemmap.cpp
SOURCE mmapcontroller.cpp mmapmemorynode.cpp
SOURCE handlestringfuncs.cpp

//ipcserver-client code
SOURCEPATH /sf/os/ossrv/genericopenlibs/openenvcore/backend/ipcserver/ipccli/src
SOURCE ipcclient.cpp

//StdioServer-Client Code
SOURCEPATH 	/sf/os/ossrv/genericopenlibs/openenvcore/backend/src/StdioRedir/Client
SOURCE		StdioClient.cpp

#ifdef SYMBIAN_OE_POSIX_SIGNALS
//signal server client code
SOURCEPATH 	/sf/os/ossrv/genericopenlibs/openenvcore/backend/src/signalserver/client
SOURCE		signalclient.cpp
#endif

//Backend dependent Libraries

LIBRARY 	euser.lib
LIBRARY		commdb.lib
LIBRARY 	efsrv.lib
LIBRARY		esock.lib
LIBRARY		c32.lib
LIBRARY 	insock.lib 
LIBRARY		rpipe.lib
LIBRARY		charconv.lib
LIBRARY     estor.lib 
LIBRARY     tzclient.lib 

#ifdef WINSCW
//wsd solution
LIBRARY		ewsd.lib
#endif


PAGED
// End of File


SMPSAFE