blob: 575a00cfd391b0aab29394848bbc8ad156f283e8 [file] [log] [blame]
# 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 != "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',
],
}],
],
},
],
}],
],
}