# 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', ], }, 'conditions': [ ['OS=="android"', { 'direct_dependent_settings': { 'include_dirs': [ '<(android_src)/external/expat/lib', ], }, }], ], }, ], }, { # 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', ], }], ], }, ], }], ], }