blob: 6ef14daa114d7e49039f1550cf22eaeb63629abe [file] [log] [blame]
# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
Import('env')
env = env.Clone()
env.Prepend(
CPPPATH = [
'include',
'include/corecg',
'corecg',
'sgl',
'picture',
'$CHROME_SRC_DIR',
],
)
env.Append(
CPPDEFINES = [
'SK_BUILD_NO_IMAGE_ENCODE',
],
)
if env.Bit('windows'):
env.Append(
CCFLAGS = [
'/TP',
'/wd4244',
'/wd4267',
'/wd4345',
'/wd4390',
'/wd4554',
'/wd4800',
],
)
elif env.Bit('posix'):
env.Append(CCFLAGS = ['-Wno-unused'])
input_files = ChromeFileList([
# TODO(sgk):
# We're deliberately mis-indenting the MSVSFilter() calls here
# so we don't have to re-indent the file name entries when the
# MSVSFilter() calls go away in (favor of automated generation
# of the heirarchy).
MSVSFilter('Header files', [
'include/Sk1DPathEffect.h',
'include/Sk2DPathEffect.h',
'include/corecg/Sk64.h',
'include/SkAnimator.h',
'include/SkAnimatorView.h',
'include/SkApplication.h',
'include/SkAvoidXfermode.h',
'include/SkBGViewArtist.h',
'include/SkBitmap.h',
'include/SkBlurDrawLooper.h',
'include/SkBlurMaskFilter.h',
'include/SkBML_WXMLParser.h',
'include/SkBML_XMLParser.h',
'include/SkBorderView.h',
'include/SkBounder.h',
'include/corecg/SkBuffer.h',
'include/SkCamera.h',
'include/SkCanvas.h',
'include/corecg/SkChunkAlloc.h',
'include/SkColor.h',
'include/SkColorFilter.h',
'include/SkColorMatrix.h',
'include/SkColorPriv.h',
'include/SkColorShader.h',
'include/SkCornerPathEffect.h',
'include/SkCullPoints.h',
'include/SkDashPathEffect.h',
'include/SkDeque.h',
'include/SkDescriptor.h',
'include/SkDevice.h',
'include/SkDiscretePathEffect.h',
'include/SkDither.h',
'include/SkDOM.h',
'include/SkDraw.h',
'include/SkDrawExtraPathEffect.h',
'include/SkDrawFilter.h',
'include/SkDrawLooper.h',
'include/SkEmbossMaskFilter.h',
'include/corecg/SkEndian.h',
'include/SkEvent.h',
'include/SkEventSink.h',
'include/corecg/SkFDot6.h',
'include/corecg/SkFixed.h',
'include/SkFlattenable.h',
'include/SkFlipPixelRef.h',
'include/corecg/SkFloatBits.h',
'include/corecg/SkFloatingPoint.h',
'include/SkFontCodec.h',
'include/SkFontHost.h',
'include/SkGlobals.h',
'include/SkGradientShader.h',
'include/SkGraphics.h',
'include/SkImageDecoder.h',
'include/SkImageRef.h',
'include/SkImageView.h',
'include/corecg/SkInterpolator.h',
'include/SkJS.h',
'include/SkKernel33MaskFilter.h',
'include/SkKey.h',
'include/SkLayerDrawLooper.h',
'include/SkLayerRasterizer.h',
'include/SkMallocPixelRef.h',
'include/SkMask.h',
'include/SkMaskFilter.h',
'include/corecg/SkMath.h',
'include/corecg/SkMatrix.h',
'include/SkMetaData.h',
'include/SkMMapStream.h',
'include/SkMovie.h',
'include/SkNinePatch.h',
'include/SkOSFile.h',
'include/SkOSMenu.h',
'include/SkOSSound.h',
'include/SkOSWindow_Mac.h',
'include/SkOSWindow_Unix.h',
'include/SkOSWindow_Win.h',
'include/SkOSWindow_wxwidgets.h',
'include/SkPackBits.h',
'include/corecg/SkPageFlipper.h',
'include/SkPaint.h',
'include/SkPaintFlagsDrawFilter.h',
'include/SkParse.h',
'include/SkParsePaint.h',
'include/SkPath.h',
'include/SkPathEffect.h',
'include/SkPathMeasure.h',
'include/corecg/SkPerspIter.h',
'include/SkPicture.h',
'include/SkPixelRef.h',
'include/SkPixelXorXfermode.h',
'include/corecg/SkPoint.h',
'include/SkPorterDuff.h',
'include/corecg/SkPostConfig.h',
'include/corecg/SkPreConfig.h',
'include/SkProgressBarView.h',
'include/SkPtrRecorder.h',
'include/corecg/SkRandom.h',
'include/SkRasterizer.h',
'include/SkReader32.h',
'include/corecg/SkRect.h',
'include/SkRefCnt.h',
'include/corecg/SkRegion.h',
'include/corecg/SkScalar.h',
'include/corecg/SkScalarCompare.h',
'include/SkScalerContext.h',
'include/SkScrollBarView.h',
'include/SkShader.h',
'include/SkShaderExtras.h',
'include/SkStackViewLayout.h',
'include/SkStream.h',
'include/SkStream_Win.h',
'include/SkString.h',
'include/SkStroke.h',
'include/SkSVGAttribute.h',
'include/SkSVGBase.h',
'include/SkSVGPaintState.h',
'include/SkSVGParser.h',
'include/SkSVGTypes.h',
'include/SkSystemEventTypes.h',
'include/SkTDArray.h',
'include/SkTDict.h',
'include/SkTDStack.h',
'include/corecg/SkTemplates.h',
'include/SkTextBox.h',
'include/corecg/SkThread.h',
'include/corecg/SkThread_platform.h',
'include/SkTime.h',
'include/SkTransparentShader.h',
'include/corecg/SkTSearch.h',
'include/SkTypeface.h',
'include/corecg/SkTypes.h',
'include/SkUnitMapper.h',
'include/SkUnitMappers.h',
'include/SkUnPreMultiply.h',
'include/corecg/SkUserConfig.h',
'include/SkUtils.h',
'include/SkView.h',
'include/SkViewInflate.h',
'include/SkWidget.h',
'include/SkWidgetViews.h',
'include/SkWindow.h',
'include/SkWriter32.h',
'include/SkXfermode.h',
'include/SkXMLParser.h',
'include/SkXMLWriter.h',
]),
MSVSFilter('corecg', [
'corecg/Sk64.cpp',
'corecg/SkBuffer.cpp',
'corecg/SkChunkAlloc.cpp',
'corecg/SkCordic.cpp',
'corecg/SkCordic.h',
'corecg/SkDebug.cpp',
'corecg/SkDebug_stdio.cpp',
'corecg/SkFloat.cpp',
'corecg/SkFloat.h',
'corecg/SkFloatBits.cpp',
'corecg/SkInterpolator.cpp',
'corecg/SkMath.cpp',
'corecg/SkMatrix.cpp',
'corecg/SkMemory_stdlib.cpp',
'corecg/SkPageFlipper.cpp',
'corecg/SkPoint.cpp',
'corecg/SkRect.cpp',
'corecg/SkRegion.cpp',
'corecg/SkRegionPriv.h',
'corecg/SkSinTable.h',
'corecg/SkTSort.h',
]),
MSVSFilter('sgl', [
'sgl/SkAlphaRuns.cpp',
'sgl/SkAntiRun.h',
'sgl/SkAutoKern.h',
'sgl/SkBitmap.cpp',
'sgl/SkBitmapProcShader.cpp',
'sgl/SkBitmapProcShader.h',
'sgl/SkBitmapProcState.cpp',
'sgl/SkBitmapProcState.h',
'sgl/SkBitmapProcState_matrix.h',
'sgl/SkBitmapProcState_matrixProcs.cpp',
'sgl/SkBitmapSampler.cpp',
'sgl/SkBitmapSampler.h',
'sgl/SkBitmapSamplerTemplate.h',
'sgl/SkBitmapShader.cpp',
'sgl/SkBitmapShader.h',
'sgl/SkBitmapShader16BilerpTemplate.h',
'sgl/SkBitmapShaderTemplate.h',
'sgl/SkBlitBWMaskTemplate.h',
'sgl/SkBlitRow.h',
'sgl/SkBlitRow_D16.cpp',
'sgl/SkBlitRow_D4444.cpp',
'sgl/SkBlitter.cpp',
'sgl/SkBlitter.h',
'sgl/SkBlitter_4444.cpp',
'sgl/SkBlitter_A1.cpp',
'sgl/SkBlitter_A8.cpp',
'sgl/SkBlitter_ARGB32.cpp',
'sgl/SkBlitter_RGB16.cpp',
'sgl/SkBlitter_Sprite.cpp',
'sgl/SkCanvas.cpp',
'sgl/SkColor.cpp',
'sgl/SkColorFilter.cpp',
'sgl/SkColorTable.cpp',
'sgl/SkCoreBlitters.h',
'sgl/SkDeque.cpp',
'sgl/SkDevice.cpp',
'sgl/SkDither.cpp',
'sgl/SkDraw.cpp',
'sgl/SkDraw.h',
'sgl/SkEdge.cpp',
'sgl/SkEdge.h',
'sgl/SkFilterProc.cpp',
'sgl/SkFilterProc.h',
'sgl/SkFlattenable.cpp',
'sgl/SkFP.h',
'sgl/SkGeometry.cpp',
'sgl/SkGeometry.h',
'sgl/SkGlobals.cpp',
'sgl/SkGlyphCache.cpp',
'sgl/SkGlyphCache.h',
'sgl/SkGraphics.cpp',
'sgl/SkMask.cpp',
'sgl/SkMaskFilter.cpp',
'sgl/SkPackBits.cpp',
'sgl/SkPaint.cpp',
'sgl/SkPath.cpp',
'sgl/SkPathEffect.cpp',
'sgl/SkPathMeasure.cpp',
'sgl/SkPixelRef.cpp',
'sgl/SkProcSpriteBlitter.cpp',
'sgl/SkPtrRecorder.cpp',
'sgl/SkRasterizer.cpp',
'sgl/SkRefCnt.cpp',
'sgl/SkRegion_path.cpp',
'sgl/SkScalerContext.cpp',
'sgl/SkScan.cpp',
'sgl/SkScan.h',
'sgl/SkScan_Antihair.cpp',
'sgl/SkScan_AntiPath.cpp',
'sgl/SkScan_Hairline.cpp',
'sgl/SkScan_Path.cpp',
'sgl/SkScanPriv.h',
'sgl/SkShader.cpp',
'sgl/SkSpriteBlitter.h',
'sgl/SkSpriteBlitter_ARGB32.cpp',
'sgl/SkSpriteBlitter_RGB16.cpp',
'sgl/SkSpriteBlitterTemplate.h',
'sgl/SkString.cpp',
'sgl/SkStroke.cpp',
'sgl/SkStrokerPriv.cpp',
'sgl/SkStrokerPriv.h',
'sgl/SkTemplatesPriv.h',
'sgl/SkTSearch.cpp',
'sgl/SkTSort.h',
'sgl/SkTypeface_fake.cpp',
#'sgl/SkUnPreMultiply.cpp',
'sgl/SkUtils.cpp',
'sgl/SkWriter32.cpp',
'sgl/SkXfermode.cpp',
]),
MSVSFilter('ports', [
'ports/sk_predefined_gamma.h',
'ports/SkFontHost_none.cpp',
'ports/SkGlobals_global.cpp',
'ports/SkImageDecoder_Factory.cpp',
'ports/SkOSFile_stdio.cpp',
'ports/SkThread_win.cpp',
]),
MSVSFilter('images', [
'images/SkImageDecoder.cpp',
'images/SkImageRef.cpp',
'images/SkScaledBitmapSampler.h',
'images/SkStream.cpp',
]),
MSVSFilter('effects', [
'effects/Sk1DPathEffect.cpp',
'effects/Sk2DPathEffect.cpp',
'effects/SkAvoidXfermode.cpp',
'effects/SkBlurDrawLooper.cpp',
'effects/SkBlurMask.cpp',
'effects/SkBlurMaskFilter.cpp',
'effects/SkCamera.cpp',
'effects/SkColorFilters.cpp',
'effects/SkColorMatrix.cpp',
'effects/SkColorMatrixFilter.cpp',
'effects/SkCornerPathEffect.cpp',
'effects/SkCullPoints.cpp',
'effects/SkDashPathEffect.cpp',
'effects/SkDiscretePathEffect.cpp',
'effects/SkEmbossMask.cpp',
'effects/SkEmbossMaskFilter.cpp',
'effects/SkGradientShader.cpp',
'effects/SkKernel33MaskFilter.cpp',
'effects/SkLayerRasterizer.cpp',
'effects/SkPaintFlagsDrawFilter.cpp',
'effects/SkPixelXorXfermode.cpp',
'effects/SkRadialGradient_Table.h',
'effects/SkShaderExtras.cpp',
'effects/SkTransparentShader.cpp',
'effects/SkUnitMappers.cpp',
]),
MSVSFilter('animator', [
'animator/SkTime.cpp',
]),
MSVSFilter('picture', [
'picture/SkPathHeap.cpp',
'picture/SkPathHeap.h',
'picture/SkPicture.cpp',
'picture/SkPictureFlat.cpp',
'picture/SkPictureFlat.h',
'picture/SkPicturePlayback.cpp',
'picture/SkPicturePlayback.h',
'picture/SkPictureRecord.cpp',
'picture/SkPictureRecord.h',
]),
MSVSFilter('ext', [
'ext/bitmap_platform_device.h',
'ext/bitmap_platform_device_win.cc',
'ext/bitmap_platform_device_win.h',
'ext/convolver.cc',
'ext/convolver.h',
'ext/google_logging.cc',
'ext/image_operations.cc',
'ext/image_operations.h',
'ext/platform_canvas.h',
'ext/platform_canvas_win.cc',
'ext/platform_canvas_win.h',
'ext/platform_device.h',
'ext/platform_device_win.cc',
'ext/platform_device_win.h',
'ext/skia_utils.cc',
'ext/skia_utils.h',
'ext/skia_utils_win.cc',
'ext/skia_utils_win.h',
'ext/vector_canvas.cc',
'ext/vector_canvas.h',
'ext/vector_device.cc',
'ext/vector_device.h',
]),
'precompiled.cc',
])
if env.Bit('linux'):
input_files.append('ext/bitmap_platform_device_linux.cc')
input_files.append('ext/platform_canvas_linux.cc')
input_files.append('ext/platform_device_linux.cc')
input_files.append('ext/GdkSkia.cc')
# On Linux we use Skia to render fonts with FreeType and fontconfig
input_files.Remove('sgl/SkTypeface_fake.cpp')
input_files.Remove('ports/SkFontHost_none.cpp')
input_files.append('sgl/SkTypeface.cpp')
input_files.append('ports/SkFontHost_FreeType.cpp')
input_files.append('ports/SkFontHost_TrueType_Tables.cpp')
input_files.append('ports/SkFontHost_gamma_none.cpp')
input_files.append('ports/SkFontHost_fontconfig.cpp')
input_files.append('images/SkMMapStream.cpp')
env.Append(CCFLAGS = ['-Wno-unused-function'])
if not env['COMPONENT_STATIC']:
# SkUnPreMultiply is commented out in the sgl list above, but we need to link
# it into the shared library.
input_files.append('sgl/SkUnPreMultiply.cpp')
if env.Bit('posix'):
input_files.append('ports/SkThread_pthread.cpp')
input_files.append('ports/SkTime_Unix.cpp')
if env.Bit('mac'):
input_files.append('ext/bitmap_platform_device_mac.cc')
input_files.append('ext/platform_canvas_mac.cc')
input_files.append('ext/platform_device_mac.cc')
if not env.Bit('windows'):
input_files.Remove(
'ext/bitmap_platform_device_win.cc',
'ext/bitmap_platform_device_win.h',
'ext/platform_canvas_win.cc',
'ext/platform_canvas_win.h',
'ext/platform_device_win.cc',
'ext/platform_device_win.h',
'ext/skia_utils_win.cc',
'ext/skia_utils_win.h',
'ext/vector_canvas.cc',
'ext/vector_canvas.h',
'ext/vector_device.cc',
'ext/vector_device.h',
'ports/SkThread_win.cpp',
)
if env.Bit('windows'):
env_p = env.Clone(
PCHSTOP = 'SkTypes.h',
PDB = 'vc80.pdb',
)
# TODO(rspangler): This step forces -Zi, but doesn't actually use it. Need to
# fix so it doesn't override our -Z7. -Zi also causes vc80.pdb to be created
# in the skia directory.
# TODO(bradnelson): This step creates a skia.pch.ib_tag file to be created.
# It's a 0-length file so likely harmless. Is this a side effect of having
# IncrediBuild installed on the build machine?
pch, obj = env_p.PCH(['skia.pch', 'precompiled.obj'], 'precompiled.cc')
env_p['PCH'] = pch
input_files.Replace('precompiled.cc', obj)
env.ChromeLibrary('skia', input_files)
p = env.ChromeMSVSProject('skia.vcproj',
dest='$CHROME_SRC_DIR/skia/skia.vcproj',
guid='{CD9CA56E-4E94-444C-87D4-58CA1E6F300D}',
keyword='Win32Proj',
files=input_files,
relative_path_prefix=r'./',
tools = [
'VCPreBuildEventTool',
'VCCustomBuildTool',
'VCXMLDataGeneratorTool',
'VCWebServiceProxyGeneratorTool',
'VCMIDLTool',
'VCCLCompilerTool',
'VCManagedResourceCompilerTool',
'VCResourceCompilerTool',
'VCPreLinkEventTool',
'VCLibrarianTool',
'VCALinkTool',
'VCXDCMakeTool',
'VCBscMakeTool',
'VCFxCopTool',
'VCPostBuildEventTool',
])
p.AddConfig('Debug|Win32',
ConfigurationType = '4',
InheritedPropertySheets = [
'$(SolutionDir)../build/debug.vsprops',
'./skia.vsprops',
'./precompiled.vsprops',
])
p.AddConfig('Release|Win32',
ConfigurationType = '4',
InheritedPropertySheets = [
'$(SolutionDir)../build/release.vsprops',
'./skia.vsprops',
])
p.AddFileConfig(
'precompiled.cc',
'Debug|Win32',
tools=[
MSVSTool('VCCLCompilerTool', UsePrecompiledHeader='1'),
])
p.AddFileConfig(
'precompiled.cc',
'Release|Win32',
ExcludedFromBuild='true',
tools=[
MSVSTool('VCCLCompilerTool'),
])