# Port-specific Skia library code.
{
  'targets': [
    {
      'target_name': 'ports',
      'product_name': 'skia_ports',
      'type': 'static_library',
      'standalone_static_library': 1,
      'dependencies': [
        'core.gyp:core',
        'sfnt.gyp:sfnt',
        'utils.gyp:utils',
      ],
      'include_dirs': [
        '../include/effects',
        '../include/images',
        '../include/ports',
        '../include/xml',
        '../src/core',
        '../src/lazy',
        '../src/utils',
      ],
      'sources': [
        '../src/ports/SkDebug_nacl.cpp',
        '../src/ports/SkDebug_stdio.cpp',
        '../src/ports/SkDebug_win.cpp',
        '../src/ports/SkFontHost_sandbox_none.cpp',
        '../src/ports/SkFontHost_win.cpp',
        '../src/ports/SkFontHost_win_dw.cpp',
        '../src/ports/SkGlobalInitialization_default.cpp',
        '../src/ports/SkPurgeableMemoryBlock_none.cpp',
        '../src/ports/SkThread_win.cpp',

        '../src/ports/SkFontHost_tables.cpp',
        '../src/ports/SkMemory_malloc.cpp',
        '../src/ports/SkOSFile_stdio.cpp',
        '../src/ports/SkTime_Unix.cpp',
        '../src/ports/SkTime_win.cpp',
        '../src/ports/SkXMLParser_empty.cpp',
      ],
      'conditions': [
        [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris"]', {
          'defines': [
            #The font host requires at least FreeType 2.3.0 at runtime.
            'SK_FONTHOST_FREETYPE_RUNTIME_VERSION=0x020300',\
            'SK_CAN_USE_DLOPEN=1',
          ],
          'link_settings': {
            'libraries': [
              '-lfreetype',
              '-lfontconfig',
              '-ldl',
            ],
          },
          'sources': [
            '../src/ports/SkFontHost_FreeType.cpp',
            '../src/ports/SkFontHost_FreeType_common.cpp',
            '../src/ports/SkFontHost_fontconfig.cpp',
            '../src/ports/SkFontConfigInterface_direct.cpp',
            '../src/ports/SkThread_pthread.cpp',
          ],
          'sources!': [
            '../src/ports/SkFontHost_tables.cpp',
          ],
        }],
        [ 'skia_os == "nacl"', {
          'dependencies': [
            # On other OS, we can dynamically link against freetype.  For nacl,
            # we have to include our own version since the naclports version is
            # too old (<0x020300) to provide the functionality we need.
            'freetype.gyp:freetype',
          ],
          'export_dependent_settings': [
            'freetype.gyp:freetype',
          ],
          'defines': [
            # We use Android's repo, which provides at least FreeType 2.4.0
            'SK_FONTHOST_FREETYPE_RUNTIME_VERSION=0x020400',\
          ],
          'sources': [
            '../src/ports/SkFontHost_FreeType.cpp',
            '../src/ports/SkFontHost_FreeType_common.cpp',
            '../src/ports/SkFontHost_linux.cpp',
            '../src/ports/SkThread_pthread.cpp',
          ],
          'sources!': [
            '../src/ports/SkDebug_stdio.cpp',
          ],
        }, {
          'sources!': [
            '../src/ports/SkDebug_nacl.cpp',
          ],
        }],
        [ 'skia_os == "mac"', {
          'include_dirs': [
            '../include/utils/mac',
            '../third_party/freetype/include/**',
          ],
          'sources': [
            '../src/ports/SkFontHost_mac.cpp',
#            '../src/ports/SkFontHost_FreeType.cpp',
#            '../src/ports/SkFontHost_FreeType_common.cpp',
#            '../src/ports/SkFontHost_freetype_mac.cpp',
            '../src/ports/SkPurgeableMemoryBlock_mac.cpp',
            '../src/ports/SkThread_pthread.cpp',
            '../src/utils/mac/SkStream_mac.cpp',
          ],
          'sources!': [
            '../src/ports/SkPurgeableMemoryBlock_none.cpp',
            '../src/ports/SkFontHost_tables.cpp',
          ],
        }],
        [ 'skia_os == "ios"', {
          'include_dirs': [
            '../include/utils/ios',
            '../include/utils/mac',
          ],
          'sources': [
            '../src/ports/SkFontHost_mac.cpp',
            '../src/ports/SkPurgeableMemoryBlock_mac.cpp',
            '../src/ports/SkThread_pthread.cpp',
            '../src/utils/mac/SkStream_mac.cpp',
          ],
          'sources!': [
            '../src/ports/SkPurgeableMemoryBlock_none.cpp',
            '../src/ports/SkFontHost_tables.cpp',
          ],
        }],
        [ 'skia_os == "win"', {
          'include_dirs': [
            'config/win',
            '../src/utils/win',
          ],
          'conditions': [
            [ 'skia_directwrite', {
                'sources!': [
                  '../src/ports/SkFontHost_win.cpp',
                ],
              }, { # else !skia_directwrite
                'sources!': [
                  '../src/ports/SkFontHost_win_dw.cpp',
                ],
              }],
          ],
          'sources!': [ # these are used everywhere but windows
            '../src/ports/SkDebug_stdio.cpp',
            '../src/ports/SkTime_Unix.cpp',
          ],
        }, { # else !win
          'sources!': [
            '../src/ports/SkDebug_win.cpp',
            '../src/ports/SkFontHost_win.cpp',
            '../src/ports/SkFontHost_win_dw.cpp',
            '../src/ports/SkThread_win.cpp',
            '../src/ports/SkTime_win.cpp',
          ],
        }],
        [ 'skia_os == "android"', {
          'defines': [
            #Android provides at least FreeType 2.4.0 at runtime.
            'SK_FONTHOST_FREETYPE_RUNTIME_VERSION=0x020400',
            #Skia should not use dlopen on Android.
            'SK_CAN_USE_DLOPEN=0',
          ],
          'sources!': [
            '../src/ports/SkDebug_stdio.cpp',
            '../src/ports/SkPurgeableMemoryBlock_none.cpp',
          ],
          'sources': [
            '../src/ports/SkDebug_android.cpp',
            '../src/ports/SkThread_pthread.cpp',
            '../src/ports/SkFontHost_android.cpp',
            '../src/ports/SkFontHost_FreeType.cpp',
            '../src/ports/SkFontHost_FreeType_common.cpp',
            '../src/ports/SkPurgeableMemoryBlock_android.cpp',
            '../src/ports/FontHostConfiguration_android.cpp',
          ],
          'dependencies': [
             'freetype.gyp:freetype',
             'android_deps.gyp:expat',
          ],
        }],
      ],
      'direct_dependent_settings': {
        'include_dirs': [
          '../include/ports',
        ],
      },
    },
  ],
}

# Local Variables:
# tab-width:2
# indent-tabs-mode:nil
# End:
# vim: set expandtab tabstop=2 shiftwidth=2:

@@ -5794,32 +5794,86 @@
    'sources': %5B%0A
+            '../include/ports/SkAshmemImageCache.h',%0A%0A
             '../
@@ -6232,32 +6232,83 @@
 n_android.cpp',%0A
+            '../src/ports/SkAshmemImageCache.cpp',%0A
           %5D,%0A   

Fix android build