# Copyright 2009 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.

{
  'includes': [
    '../build/common.gypi',
  ],

  'targets': [
    {
      'target_name': 'base',
      'type': 'static_library',
      'include_dirs!': [
        '<(DEPTH)',
      ],
      'include_dirs': [
        '..',
      ],
      'cflags': [
        '-isystem../..',
      ],
      'link_settings': {
        'conditions': [
          ['OS=="mac"', {
            'libraries': [
              '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework',
              '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
              '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
              '$(SDKROOT)/System/Library/Frameworks/IOKit.framework',
              '$(SDKROOT)/System/Library/Frameworks/Security.framework',
            ],
          }],
          ['OS=="win"', {
            'libraries': [
              '-ladvapi32.lib',
            ],
          }],
        ],
      },
      'sources': [
        'atomicops.h',
        'atomicops_internals_atomicword_compat.h',
        'atomicops_internals_portable.h',
        'auto_reset.h',
        'base_wrapper.h',
        'bit_cast.h',
        'compiler_specific.h',
        'debug/alias.cc',
        'debug/alias.h',
        'files/file_path.cc',
        'files/file_path.h',
        'files/file_util.h',
        'files/file_util_posix.cc',
        'files/scoped_file.cc',
        'files/scoped_file.h',
        'format_macros.h',
        'logging.cc',
        'logging.h',
        'mac/close_nocancel.cc',
        'mac/foundation_util.h',
        'mac/foundation_util.mm',
        'mac/mach_logging.h',
        'mac/mach_logging.cc',
        'mac/scoped_cftyperef.h',
        'mac/scoped_ioobject.h',
        'mac/scoped_launch_data.h',
        'mac/scoped_mach_port.cc',
        'mac/scoped_mach_port.h',
        'mac/scoped_mach_vm.cc',
        'mac/scoped_mach_vm.h',
        'mac/scoped_nsautorelease_pool.h',
        'mac/scoped_nsautorelease_pool.mm',
        'mac/scoped_nsobject.h',
        'mac/scoped_typeref.h',
        'macros.h',
        'memory/free_deleter.h',
        'memory/scoped_policy.h',
        'metrics/histogram_functions.h',
        'metrics/histogram_macros.h',
        'metrics/persistent_histogram_allocator.h',
        'numerics/checked_math.h',
        'numerics/checked_math_impl.h',
        'numerics/clamped_math.h',
        'numerics/clamped_math_impl.h',
        'numerics/safe_conversions.h',
        'numerics/safe_conversions_arm_impl.h',
        'numerics/safe_conversions_impl.h',
        'numerics/safe_math.h',
        'numerics/safe_math_arm_impl.h',
        'numerics/safe_math_clang_gcc_impl.h',
        'numerics/safe_math_shared_impl.h',
        'posix/eintr_wrapper.h',
        'posix/safe_strerror.cc',
        'posix/safe_strerror.h',
        'process/memory.cc',
        'process/memory.h',
        'process/process_metrics.h',
        'process/process_metrics_posix.cc',
        'process/process_metrics_win.cc',
        'rand_util.cc',
        'rand_util.h',
        'scoped_clear_errno.h',
        'scoped_generic.h',
        'stl_util.h',
        'strings/string16.cc',
        'strings/string16.h',
        'strings/string_number_conversions.cc',
        'strings/string_number_conversions.h',
        'strings/string_piece.h',
        'strings/string_util.cc',
        'strings/string_util.h',
        'strings/string_util_posix.h',
        'strings/string_util_win.cc',
        'strings/string_util_win.h',
        'strings/stringprintf.cc',
        'strings/stringprintf.h',
        'strings/sys_string_conversions.h',
        'strings/sys_string_conversions_mac.mm',
        'strings/utf_string_conversion_utils.cc',
        'strings/utf_string_conversion_utils.h',
        'strings/utf_string_conversions.cc',
        'strings/utf_string_conversions.h',
        'synchronization/condition_variable.h',
        'synchronization/condition_variable_posix.cc',
        'synchronization/lock.cc',
        'synchronization/lock.h',
        'synchronization/lock_impl.h',
        'synchronization/lock_impl_posix.cc',
        'synchronization/lock_impl_win.cc',
        'sys_byteorder.h',
        'template_util.h',
        'third_party/icu/icu_utf.cc',
        'third_party/icu/icu_utf.h',
        'threading/thread_local_storage.cc',
        'threading/thread_local_storage.h',
        'threading/thread_local_storage_posix.cc',
        'threading/thread_local_storage_win.cc',
        '../build/build_config.h',
      ],
      'direct_dependent_settings': {
        'include_dirs!': [
          '<(DEPTH)',
        ],
        'include_dirs': [
          '..',
        ],
        'cflags': [
          '-isystem../..',
        ],
      },
    },
  ],
}
