breakdeps/SVGEngine.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) 2002 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:  This mmp file generates makefile for SVG Engine
*
*/
// Modified to build stem_SVGEngine.dll to break dependency on mediaclientaudio.dll
// Assumes that the sf/mw/svgt package is accessible and adjusts the paths
// to refer back to /sf/mw/svgt/svgtopt/SVG/(SVGEngine or SVGImpl) where needed

#include <platform_paths.hrh>

ALWAYS_BUILD_AS_ARM
OPTION_REPLACE ARMCC --cpu 5T -O3 -Otime
TARGET stem_SVGEngine.dll
TARGETTYPE dll


VENDORID      VID_DEFAULT

UID 0x1000008D 0x101F856E
NOEXPORTLIBRARY


	#if defined( EABI )
	deffile /sf/mw/svgt/svgtopt/SVG/SVGEngine/eabi/SVGENGINE-OpenVG.def
	#elif defined( WINSCW )
	deffile /sf/mw/svgt/svgtopt/SVG/SVGEngine/BWINSCW/SVGENGINE-OpenVG.def
	#elif defined( WINS )
	deffile ../bwins/SVGENGINE-OpenVG.def
	#else
	deffile ../bmarm/SVGENGINE-OpenVG.def
	#endif

CAPABILITY  CAP_GENERAL_DLL DRM

SOURCEPATH .

SOURCE SVGEngineImpl.cpp
SOURCE Svgdecoder.cpp
SOURCE SVGDocumentImpl.cpp

SOURCEPATH /sf/mw/svgt/svgtopt/SVG/SVGEngine/src
//SOURCE SVGEngineMain.cpp
SOURCE SVGEngineInterfaceImpl.cpp
SOURCE SVGTimer.cpp
SOURCE SVGEventHandler.cpp
SOURCE SVGEvent.cpp
SOURCE SVGContentHandler.cpp
SOURCE SvgBitmapFontProvider.cpp
//SOURCE SVGXmlParser.cpp
SOURCE SVGAttributeVerifier.cpp
SOURCE SVGErrorImpl.cpp
SOURCE SVGFourPointRect.cpp

SOURCEPATH /sf/mw/svgt/svgtopt/SVG/SVGImpl/src

SOURCE SVGElementImpl.cpp
SOURCE SVGDOMImplementationImpl.cpp

// Structure Elements
SOURCE Svgsvgelementimpl.cpp
SOURCE SVGGElementImpl.cpp
SOURCE SVGUseElementImpl.cpp
SOURCE SVGStyleElementImpl.cpp
SOURCE SVGForeignObjectElementImpl.cpp
SOURCE SVGTitleElementImpl.cpp
SOURCE SVGMetadataElementImpl.cpp
SOURCE SVGDefsElementImpl.cpp
SOURCE SVGDescElementImpl.cpp

// Hyper linking
SOURCE SVGAElementImpl.cpp
SOURCE SVGUriReferenceImpl.cpp

// Basic Shape Elements
SOURCE SVGLineElementImpl.cpp
SOURCE SVGRectElementImpl.cpp
SOURCE SVGCircleElementImpl.cpp
SOURCE SVGEllipseElementImpl.cpp
SOURCE SVGPolylineElementImpl.cpp
SOURCE SVGPathElementImpl.cpp
SOURCE SVGMpathElementImpl.cpp

// Text and Image Elements
SOURCE SVGTextElementImpl.cpp
SOURCE SVGTextAreaElementImpl.cpp
SOURCE SVGImageElementImpl.cpp

//Font Elements
SOURCE SVGFontElementImpl.cpp
SOURCE SVGFontFaceElementImpl.cpp
SOURCE SVGGlyphElementImpl.cpp
SOURCE SVGMissingGlyphElementImpl.cpp
SOURCE SvgHkernelementimpl.cpp

// Animation Elements
SOURCE SVGAnimationBase.cpp
SOURCE SVGSetElementImpl.cpp
SOURCE SVGAnimateElementImpl.cpp
SOURCE SVGAnimateTransformElementImpl.cpp
SOURCE SVGAnimateMotionElementImpl.cpp
SOURCE SVGDiscardElementImpl.cpp
SOURCE SVGAnimationElementImpl.cpp

// Gradient Elements
SOURCE SVGLinearGradientElementImpl.cpp
SOURCE SVGGradientElementImpl.cpp
SOURCE SVGRadialGradientElementImpl.cpp
SOURCE SVGStopElementImpl.cpp

SOURCE SVGSolidColorElementImpl.cpp
SOURCE SVGScriptElementImpl.cpp

// CSS Classes
SOURCE SVGClrCssValueImpl.cpp
SOURCE SVGPaintCssValueImpl.cpp
SOURCE SVGIntCssValueImpl.cpp
SOURCE SVGFloatCssValueImpl.cpp
SOURCE SVGStrCssValueImpl.cpp
SOURCE SVGVectorCssValueImpl.cpp
//SOURCE SVGCssStyleDeclarationImpl.cpp
SOURCE SVGEventAttributes.cpp

// Transform Classes
SOURCE SVGTransformListImpl.cpp
SOURCE SVGTransformableImpl.cpp

// Switch Related Classes
SOURCE SVGTestsImpl.cpp

// XML Language Space Class
SOURCE SVGLangSpaceImpl.cpp

// Viewbox Classes
SOURCE SVGFitToViewBoxImpl.cpp
SOURCE SVGPreserveAspectRatioImpl.cpp

// Utility Classes
SOURCE SVGPointLexer.cpp
SOURCE SVGSchemaData.cpp
SOURCE SVGPathDataParser.cpp
SOURCE SVGAnimTimeController.cpp
SOURCE SVGStringTokenizer.cpp
SOURCE SVGRelToAbsPath.cpp
SOURCE SVGAnimTimingParser.cpp
SOURCE SVGImageHashMap.cpp
SOURCE SVGFontHashMap.cpp
SOURCE SVGMemoryManager.cpp
SOURCE SVGColor.cpp
SOURCE SVGTokenizer.cpp

// Media Element Classes
SOURCE SVGMediaAnimationElementImpl.cpp
SOURCE SVGMediaElementBase.cpp
SOURCE SVGTimeContainer.cpp
SOURCE SVGLockedRealTimeEntity.cpp

SOURCEPATH /sf/mw/svgt/svgtopt/SVG/Xmldomimpl/src

SOURCE SVGXmlElementImpl.cpp


USERINCLUDE /sf/mw/svgt/svgtopt/SVG/SVGEngine/inc
USERINCLUDE /sf/mw/svgt/svgtopt/SVG/Xmldomimpl/inc
USERINCLUDE /sf/mw/svgt/svgtopt/SVG/SVGImpl/inc/SVGDOM
USERINCLUDE /sf/mw/svgt/svgtopt/SVG/SVGImpl/inc
USERINCLUDE /sf/mw/svgt/svgtopt/VGRenderer/inc

// This is a SYSTEMINCLUDE macro containing the middleware
// layer specific include directories
MW_LAYER_SYSTEMINCLUDE

SYSTEMINCLUDE /epoc32/include/libc

APP_LAYER_SYSTEMINCLUDE

LIBRARY cone.lib
LIBRARY euser.lib
LIBRARY bafl.lib
LIBRARY efsrv.lib
LIBRARY fbscli.lib
LIBRARY estor.lib 
LIBRARY gdi.lib

// Library for image converter utilities
//LIBRARY MediaClientImage.lib
LIBRARY ImageConversion.lib

// Library for XML Parser utilities
LIBRARY XMLINTERFACE.lib


// CXML parser
//LIBRARY CXMLParser.lib
// For CnvUtfConverter class
LIBRARY charconv.lib

//#include <oem/DRM.mmp>
//#if !defined(__DRM_FULL)

//LIBRARY       DrmParsers.lib DrmDcf.lib DrmRights.lib DrmServerInterfaces.lib
//LIBRARY       DRMCommon.lib

LIBRARY       estlib.lib
//#endif

// Base64 Encoding
LIBRARY         imut.lib

// GZip library
LIBRARY         EZLib.lib

// CAF library: for DRM
LIBRARY         caf.lib

// Added for localized bidirectional textArea wrapping support
LIBRARY         avkon.lib

//--------------------------------------------
// Graphics library Information--------
//LIBRARY Gfx2D.lib
//--------------------------------------------
SOURCEPATH /sf/mw/svgt/svgtopt/gfx2d/src
SOURCE GfxMath.c
SOURCE GfxFloatFixPt.cpp
SOURCE Gfxtrignometric.cpp
/* this file is needed for ADS, RVCT, or GCC builds (mem operation wrappers) */
SOURCE RastSymbianWrapper.cpp

// GFXGC source files
SOURCEPATH /sf/mw/svgt/svgtopt/gfx2d/src/GfxGc
SOURCE          GfxStroke.cpp
SOURCE          GfxColor.cpp
SOURCE          GfxRenderingHints.cpp
SOURCE          GfxGradientPaint.cpp
SOURCE          Gfx2dGcOpenVG.cpp
SOURCE          Gfx2dGc.cpp


// GFXGEOM source files
SOURCEPATH      /sf/mw/svgt/svgtopt/gfx2d/src/GfxGeom
SOURCE          GfxEllipse2D.cpp
SOURCE          GfxEllipseIteratorP.cpp
SOURCE          GfxFlatteningPathIterator.cpp
SOURCE          GfxGeneralPath.cpp
SOURCE          GfxGeneralPathIteratorP.cpp
SOURCE          GfxRectangle2D.cpp
SOURCE          GfxRectangleIteratorP.cpp
SOURCE          GfxRectangularShape.cpp
SOURCE          GfxRoundRectangle2D.cpp
SOURCE          GfxRoundRectangleIteratorP.cpp
SOURCE          GfxLine2D.cpp
SOURCE          GfxLineIteratorP.cpp
SOURCE          GfxAffineTransform.cpp
SOURCE          GfxPoint2D.cpp

// GFXIMAGE source files
SOURCEPATH      /sf/mw/svgt/svgtopt/gfx2d/src/GfxImage
SOURCE          GfxImageTransformer.cpp

// Internal Rendering Engine source files
SOURCEPATH      /sf/mw/svgt/svgtopt/gfx2d/src/GfxRenderer
SOURCE          GfxRendererInfoP.cpp


USERINCLUDE     /sf/mw/svgt/svgtopt/gfx2d/inc


LIBRARY VGRenderer.lib


LIBRARY         eikcore.lib
LIBRARY         bitgdi.lib
LIBRARY hal.lib
//--------------------------------------------
// End of Graphics library Information--------
//--------------------------------------------