# 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',
              ],
            }],
          ],
        },
      ],
    }],
  ],
}
