perfopts/sfopenvg.mmp
author William Roberts <williamr@symbian.org>
Mon, 25 Oct 2010 17:26:54 +0100
changeset 80 3ab0df073c86
parent 73 59f45c8582d3
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 Symbian Foundation Ltd
* 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:
* Symbian Foundation Ltd - initial contribution.
* 
* Contributors:
*
* Description:
* sfopenvg mmp file
*/
// Modified to build from /sf/incubator/stemkit to enable VFP optimisation
// builds against /sf/os/graphics/openvg/openvgrefimplementation/sfopenvg

#include <vg\openvguids.hrh> // For uids

target          stem_sflibopenvgrefimpl.dll		// Destination filename

targettype      dll				// Binary build type
uid             KUidSharedDllUidValue 0x10281CA6		// File uids
CAPABILITY      ALL -tcb
vendorid        0x70000001
noexportlibrary

armfpu vfpv2

MACRO       __OPENVGHEADERS_USE_VG_1_1

MACRO 			USE_NEW_ELEAVE //swictch on to use new(ELeave) rather new in alloc's
					 		   //useful to trap OOM failures
MACRO  		BUILD_WITH_PRIVATE_EGL //enable this to compile this dll exporting the private form of the EGL functions.
								   //These are the ones starting do_XX (e.g. do_eglInitialize).
								   //This should be enabled when you wish to have a separate EGL library (e.g. libegl.dll)
								   //which will export the ELG APIs.
								   //If this macro is supressed then this dll will export the true EGL APIs
								   //see riMiniEgl.cpp
MACRO 		BUILD_WITH_PRIVATE_VGU //same meaning as macro BUILD_WITH_PRIVATE_EGL except applies to the VGU API.
								   //see riVGU.cpp

MACRO 		BUILD_WITH_PRIVATE_OPENVG //same meaning as macro BUILD_WITH_PRIVATE_EGL except applies to the OpenVG API.
								   //see riAPI.cpp
								   
userinclude     /sf/os/graphics/openvg/openvgrefimplementation/sfopenvg/sfopenvg			// Local include files
userinclude     /sf/os/graphics/openvg/openvgrefimplementation/sfopenvg/sfopenvg/include	// Local include files

OS_LAYER_SYSTEMINCLUDE
OS_LAYER_LIBC_SYSTEMINCLUDE
OS_LAYER_STDCPP_SYSTEMINCLUDE

SYSTEMINCLUDE  OS_LAYER_PUBLIC_EXPORT_PATH(vg) // OpenGL ES include files
SYSTEMINCLUDE  OS_LAYER_PUBLIC_EXPORT_PATH(egl) // EGL include files



sourcepath      /sf/os/graphics/openvg/openvgrefimplementation/sfopenvg/sfopenvg		// Relative path to source files

source riApi.cpp
source riContext.cpp
source riFont.cpp
source riImage.cpp
source riMath.cpp
source riMiniEGL.cpp
source riPath.cpp
source riPixelPipe.cpp
source riRasterizer.cpp
source riVGU.cpp
source riUtils.cpp
// source sfEGLInterface.cpp is skipped because this contains adaptation to
// use Nokia Platsim interfaces to provide EGL services

//for EGL
SOURCEPATH /sf/os/graphics/openvg/openvgrefimplementation/sfopenvg/sfopenvg/symbian
SOURCE riEGLOS.cpp

DEFFILE		/sf/os/graphics/openvg/openvgrefimplementation/sfopenvg/~/sflibopenvgrefimpl.def

library			libopenvg_sw.lib
library         euser.lib     		// Mandatory
library         fbscli.lib    		// For CFbsBitmap, etc
library         bitgdi.lib    		// For CFbsBitmapDevice, CFbsBitGc, etc
library         ws32.lib      		// For RWindow, Direct Screen Access, etc
library         libstdcpp.lib      		// standard lib
library         libc.lib      		// standard lib
library         libm.lib      		// standard lib