| # Copyright (c) 2012 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. | 
 |  | 
 | { | 
 |   'variables': { | 
 |     'conditions': [ | 
 |       # On Linux, we implicitly already depend on expat via fontconfig; | 
 |       # let's not pull it in twice. | 
 |       ['os_posix == 1 and OS != "mac" and OS != "ios" and OS != "android"', { | 
 |         'use_system_expat%': 1, | 
 |       }, { | 
 |         'use_system_expat%': 0, | 
 |       }], | 
 |     ], | 
 |   }, | 
 |   'target_defaults': { | 
 |     'defines': [ | 
 |       '_LIB', | 
 |       'XML_STATIC',  # Compile for static linkage. | 
 |     ], | 
 |     'include_dirs': [ | 
 |       'files/lib', | 
 |     ], | 
 |   }, | 
 |   'conditions': [ | 
 |     ['use_system_expat == 1', { | 
 |       'targets': [ | 
 |         { | 
 |           'target_name': 'expat', | 
 |           'type': 'none', | 
 |           'link_settings': { | 
 |             'libraries': [ | 
 |               '-lexpat', | 
 |             ], | 
 |           }, | 
 |         }, | 
 |       ], | 
 |     }, {  # else: use_system_expat != 1 | 
 |       'targets': [ | 
 |         { | 
 |           'target_name': 'expat', | 
 |           'type': 'static_library', | 
 |           'sources': [ | 
 |             'files/lib/expat.h', | 
 |             'files/lib/xmlparse.c', | 
 |             'files/lib/xmlrole.c', | 
 |             'files/lib/xmltok.c', | 
 |           ], | 
 |  | 
 |           # Prefer adding a dependency to expat and relying on the following | 
 |           # direct_dependent_settings rule over manually adding the include | 
 |           # path.  This is because you'll want any translation units that | 
 |           # #include these files to pick up the #defines as well. | 
 |           'direct_dependent_settings': { | 
 |             'include_dirs': [ | 
 |               'files/lib' | 
 |             ], | 
 |             'defines': [ | 
 |               'XML_STATIC',  # Tell dependants to expect static linkage. | 
 |             ], | 
 |           }, | 
 |           'conditions': [ | 
 |             ['OS=="win"', { | 
 |               'defines': [ | 
 |                 'COMPILED_FROM_DSP', | 
 |               ], | 
 |             }], | 
 |             ['OS=="mac" or OS=="ios" or OS=="android" or os_bsd==1', { | 
 |               'defines': [ | 
 |                 'HAVE_EXPAT_CONFIG_H', | 
 |               ], | 
 |             }], | 
 |           ], | 
 |         }, | 
 |       ], | 
 |     }], | 
 |   ], | 
 | } |