diff options
Diffstat (limited to 'gyp/fontconfig.gyp')
-rw-r--r-- | gyp/fontconfig.gyp | 107 |
1 files changed, 103 insertions, 4 deletions
diff --git a/gyp/fontconfig.gyp b/gyp/fontconfig.gyp index 35f699faae..0a4a09899a 100644 --- a/gyp/fontconfig.gyp +++ b/gyp/fontconfig.gyp @@ -13,13 +13,31 @@ 'targets': [ { 'target_name': 'fontconfig', + 'type': 'none', + 'dependencies': [ + 'libfontconfig', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '../third_party/externals/fontconfig', + ], + }, + 'conditions': [ + ['skia_os == "mac"', { + 'dependencies': [ + 'fontconfig_setup', + ], + }], + ], + }, + { + 'target_name': 'libfontconfig', 'type': 'static_library', 'dependencies': [ 'freetype.gyp:freetype_poppler', ], 'include_dirs' : [ '../third_party/externals/fontconfig', - '../third_party/fontconfig/config', '../third_party/fontconfig/config/src', ], @@ -66,12 +84,12 @@ 'conditions': [ ['skia_os == "mac"', { 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)/fontconfig_config', '../third_party/fontconfig/config/mac', '../third_party/fontconfig/config/mac/src', ], - 'defines': [ - 'FC_CACHEDIR', - 'FONTCONFIG_PATH', + 'dependencies': [ + 'fontconfig_config_template', ], 'libraries': [ '$(SDKROOT)/usr/lib/libexpat.dylib', @@ -97,4 +115,85 @@ ], }, ], + 'conditions': [ + ['skia_os == "mac"', { + 'variables': { + 'cachedir': '<(PRODUCT_DIR)/fontconfig/cache', + 'configdir': '<(PRODUCT_DIR)/fontconfig/etc', + }, + 'targets': [ + { + 'target_name': 'fontconfig_config_template', + 'type': 'none', + 'actions': [{ + 'action_name': 'fontconfig_config_template', + 'message': 'Generating fontconfig header', + 'inputs': [ + '../third_party/fontconfig/process-template.py', + '../third_party/fontconfig/config/mac/config.h.template', + ], + 'outputs': [ + '<(SHARED_INTERMEDIATE_DIR)/fontconfig_config/config.h', + ], + 'action': [ + 'python', '../third_party/fontconfig/process-template.py', + '-i', '../third_party/fontconfig/config/mac/config.h.template', + '-o', '<@(_outputs)', + '-p', '@FC_CACHEDIR@', '<(cachedir)', + '-p', '@FONTCONFIG_PATH@', '<(configdir)', + ], + }], + }, { + 'target_name': 'fontconfig_setup', + 'type': 'none', + 'dependencies': [ + 'fc-cache', + ], + 'actions': [{ + 'action_name': 'fontconfig_config_file', + 'message': 'Generating font.conf', + 'inputs': [ + '../third_party/fontconfig/process-template.py', + '../third_party/externals/fontconfig/fonts.conf.in', + ], + 'outputs': [ '<(configdir)/fonts.conf', ], + 'action': [ + 'python', '../third_party/fontconfig/process-template.py', + '-i', '../third_party/externals/fontconfig/fonts.conf.in', + '-o', '<(configdir)/fonts.conf', + '-p', '@FC_CACHEDIR@', '<(cachedir)', + '-k', '@FC_DEFAULT_FONTS@', '/System/Library/Fonts', + '-k', '@FC_FONTPATH@', '<dir>/Library/Fonts</dir>', + '-p', '@CONFIGDIR@', '<(configdir)/conf.d', + '-k', '@PACKAGE@', 'fontconfig', + '-k', '@VERSION@', '2.10.93', + ], + }, { + 'action_name': 'populate_fontconfig_cache', + 'message': + 'Generating fontconfig cache (this will take a few minutes).', + 'inputs': [ + '<(PRODUCT_DIR)/fc-cache', + '<(configdir)/fonts.conf', + ], + 'outputs': [ '<(cachedir)/CACHEDIR.TAG', ], + 'action': [ '<(PRODUCT_DIR)/fc-cache', '-s', '-f', '-v', ], + }], + }, + { + 'target_name': 'fc-cache', + 'type': 'executable', + 'dependencies': [ + 'libfontconfig', + ], + 'libraries':[ + '$(SDKROOT)/usr/lib/libexpat.dylib', + ], + 'sources': [ + '../third_party/externals/fontconfig/fc-cache/fc-cache.c', + ], + }, + ], + }], + ], } |