# Copyright (c) 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.

{
  'target_defaults': {
    'variables': {
      'base_target': 0,
      'chromium_root': '<(DEPTH)/third_party/chromium/src',
      'conditions': [
        # The default stack_trace_posix.cc is not compatible with NaCL newlib
        # toolchain, so we provide a stubbed version when building for NaCL.
        [ 'build_nacl==1', {
          'stack_trace_posix_cc': 'nacl_stubs/stack_trace_posix.cc',
        }, {
          'stack_trace_posix_cc': '<(chromium_root)/base/debug/stack_trace_posix.cc',
        }],
      ],
    },
    'target_conditions': [
      # This part is shared between the targets defined below. Only files and
      # settings relevant for building the Win64 target should be added here.
      # All the rest should be added to the 'base' target below.
      ['base_target==1', {
        'sources': [
        '<(chromium_root)/build/build_config.h',
        '<(chromium_root)/base/third_party/dmg_fp/dmg_fp.h',
        '<(chromium_root)/base/third_party/dmg_fp/g_fmt.cc',
        '<(chromium_root)/base/third_party/dmg_fp/dtoa_wrapper.cc',
        '<(chromium_root)/base/third_party/icu/icu_utf.cc',
        '<(chromium_root)/base/third_party/icu/icu_utf.h',
        '<(chromium_root)/base/third_party/nspr/prtime.cc',
        '<(chromium_root)/base/third_party/nspr/prtime.h',
        '<(chromium_root)/base/at_exit.cc',
        '<(chromium_root)/base/at_exit.h',
        '<(chromium_root)/base/atomicops.h',
        '<(chromium_root)/base/atomicops_internals_x86_gcc.cc',
        '<(chromium_root)/base/atomicops_internals_x86_msvc.h',
        '<(chromium_root)/base/callback.h',
        '<(chromium_root)/base/callback_internal.h',
        '<(chromium_root)/base/callback_internal.cc',
        '<(chromium_root)/base/command_line.cc',
        '<(chromium_root)/base/command_line.h',
        '<(chromium_root)/base/cpu_patched.cc',
        '<(chromium_root)/base/cpu.h',
        '<(chromium_root)/base/debug/alias.cc',
        '<(chromium_root)/base/debug/alias.h',
        '<(chromium_root)/base/debug/debugger.cc',
        '<(chromium_root)/base/debug/debugger.h',
        '<(chromium_root)/base/debug/debugger_posix.cc',
        '<(chromium_root)/base/debug/debugger_win.cc',
        '<(chromium_root)/base/debug/profiler.cc',
        '<(chromium_root)/base/debug/profiler.h',
        '<(chromium_root)/base/debug/stack_trace.cc',
        '<(chromium_root)/base/debug/stack_trace.h',
        '<(stack_trace_posix_cc)',
        '<(chromium_root)/base/debug/stack_trace_win.cc',
        '<(chromium_root)/base/files/file_path.cc',
        '<(chromium_root)/base/files/file_path.h',
        '<(chromium_root)/base/files/file_path_constants.cc',
        '<(chromium_root)/base/json/json_parser.cc',
        '<(chromium_root)/base/json/json_parser.h',
        '<(chromium_root)/base/json/json_reader.cc',
        '<(chromium_root)/base/json/json_reader.h',
        '<(chromium_root)/base/json/json_writer.cc',
        '<(chromium_root)/base/json/json_writer.h',
        '<(chromium_root)/base/json/string_escape.cc',
        '<(chromium_root)/base/json/string_escape.h',
        '<(chromium_root)/base/lazy_instance.cc',
        '<(chromium_root)/base/lazy_instance.h',
        '<(chromium_root)/base/logging.cc',
        '<(chromium_root)/base/logging.h',
        '<(chromium_root)/base/logging_win.cc',
        '<(chromium_root)/base/logging_win.h',
        '<(chromium_root)/base/location.cc',
        '<(chromium_root)/base/memory/ref_counted.cc',
        '<(chromium_root)/base/memory/ref_counted.h',
        '<(chromium_root)/base/memory/singleton.cc',
        '<(chromium_root)/base/memory/singleton.h',
        '<(chromium_root)/base/mac/foundation_util.h',
        'mac/foundation_util.mm',
        '<(chromium_root)/base/pickle.cc',
        '<(chromium_root)/base/pickle.h',
        '<(chromium_root)/base/process.h',
        'process_util.cc',
        '<(chromium_root)/base/safe_strerror_posix.cc',
        '<(chromium_root)/base/safe_strerror_posix.h',
        '<(chromium_root)/base/strings/string_number_conversions.cc',
        '<(chromium_root)/base/strings/string_number_conversions.h',
        '<(chromium_root)/base/strings/string_piece.cc',
        '<(chromium_root)/base/strings/string_piece.h',
        '<(chromium_root)/base/strings/string_split.cc',
        '<(chromium_root)/base/strings/string_split.h',
        '<(chromium_root)/base/strings/string_util.cc',
        '<(chromium_root)/base/strings/string_util.h',
        '<(chromium_root)/base/strings/string_util_constants.cc',
        '<(chromium_root)/base/strings/string_util_win.h',
        '<(chromium_root)/base/strings/stringprintf.cc',
        '<(chromium_root)/base/strings/stringprintf.h',
        '<(chromium_root)/base/strings/sys_string_conversions.h',
        '<(chromium_root)/base/strings/sys_string_conversions_mac.mm',
        '<(chromium_root)/base/strings/sys_string_conversions_posix.cc',
        '<(chromium_root)/base/strings/sys_string_conversions_win.cc',
        '<(chromium_root)/base/strings/utf_string_conversion_utils.cc',
        '<(chromium_root)/base/strings/utf_string_conversion_utils.h',
        '<(chromium_root)/base/strings/utf_string_conversions.cc',
        '<(chromium_root)/base/strings/utf_string_conversions.h',
        '<(chromium_root)/base/synchronization/cancellation_flag.cc',
        '<(chromium_root)/base/synchronization/cancellation_flag.h',
        '<(chromium_root)/base/synchronization/condition_variable.h',
        '<(chromium_root)/base/synchronization/condition_variable_posix.cc',
        '<(chromium_root)/base/synchronization/condition_variable_win.cc',
        '<(chromium_root)/base/synchronization/lock.cc',
        '<(chromium_root)/base/synchronization/lock.h',
        '<(chromium_root)/base/synchronization/lock_impl.h',
        '<(chromium_root)/base/synchronization/lock_impl_posix.cc',
        '<(chromium_root)/base/synchronization/lock_impl_win.cc',
        '<(chromium_root)/base/synchronization/spin_wait.h',
        '<(chromium_root)/base/synchronization/waitable_event.h',
        '<(chromium_root)/base/synchronization/waitable_event_posix.cc',
        '<(chromium_root)/base/synchronization/waitable_event_watcher.h',
        '<(chromium_root)/base/synchronization/waitable_event_watcher_posix.cc',
        '<(chromium_root)/base/synchronization/waitable_event_watcher_win.cc',
        '<(chromium_root)/base/synchronization/waitable_event_win.cc',
        '<(chromium_root)/base/threading/platform_thread.h',
        '<(chromium_root)/base/threading/platform_thread_linux.cc',
        '<(chromium_root)/base/threading/platform_thread_mac.mm',
        '<(chromium_root)/base/threading/platform_thread_posix.cc',
        '<(chromium_root)/base/threading/platform_thread_win.cc',
        '<(chromium_root)/base/threading/thread_collision_warner.cc',
        '<(chromium_root)/base/threading/thread_collision_warner.h',
        '<(chromium_root)/base/threading/thread_id_name_manager.cc',
        '<(chromium_root)/base/threading/thread_id_name_manager.h',
        '<(chromium_root)/base/threading/thread_local.h',
        '<(chromium_root)/base/threading/thread_local_posix.cc',
        '<(chromium_root)/base/threading/thread_local_storage.cc',
        '<(chromium_root)/base/threading/thread_local_storage.h',
        '<(chromium_root)/base/threading/thread_local_storage_posix.cc',
        '<(chromium_root)/base/threading/thread_local_storage_win.cc',
        '<(chromium_root)/base/threading/thread_local_win.cc',
        '<(chromium_root)/base/threading/thread_restrictions.cc',
        '<(chromium_root)/base/threading/thread_restrictions.h',
        '<(chromium_root)/base/time/time.cc',
        '<(chromium_root)/base/time/time.h',
        '<(chromium_root)/base/time/time_mac.cc',
        '<(chromium_root)/base/time/time_posix.cc',
        '<(chromium_root)/base/time/time_win.cc',
        '<(chromium_root)/base/tracked_objects.cc',
        '<(chromium_root)/base/tracked_objects.h',
        '<(chromium_root)/base/values.cc',
        '<(chromium_root)/base/values.h',
        '<(chromium_root)/base/vlog.cc',
        '<(chromium_root)/base/vlog.h',
        '<(chromium_root)/base/win/registry.cc',
        '<(chromium_root)/base/win/registry.h',
        '<(chromium_root)/base/win/scoped_handle.cc',
        '<(chromium_root)/base/win/scoped_handle.h',
        '<(chromium_root)/base/win/win_util.cc',
        '<(chromium_root)/base/win/win_util.h',
        '<(chromium_root)/base/win/windows_version.cc',
        '<(chromium_root)/base/profiler/tracked_time.h',
        '<(chromium_root)/base/profiler/tracked_time.cc',
        '<(chromium_root)/base/profiler/alternate_timer.h',
        '<(chromium_root)/base/profiler/alternate_timer.cc',
        '<(chromium_root)/base/win/windows_version.h',
        ],
        'include_dirs': [
          '<(chromium_root)',
          '<(DEPTH)',
        ],
        # These warnings are needed for the files in third_party\dmg_fp.
        'msvs_disabled_warnings': [
          4244, 4554, 4018, 4102,
        ],
        'mac_framework_dirs': [
          '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework/Frameworks',
        ],
        'conditions': [
          [ 'OS != "linux" and OS != "freebsd" and OS != "openbsd" and OS != "solaris"', {
              'sources!': [
                '<(chromium_root)/base/atomicops_internals_x86_gcc.cc',
              ],
          },],
          ['OS != "win"', {
              'sources/': [ ['exclude', '^win/'] ],
            },
          ],
          [ 'OS == "win"', {
              'sources!': [
                '<(chromium_root)/base/strings/string16.cc',
              ],
          },],
        ],
      }],
    ],
  },
  'targets': [
    # Older assemblers don't recognize the xgetbv opcode, and require explicit
    # bytes instead.  These can be found by searching the web; example:
    #   http://lxr.free-electrons.com/source/arch/x86/include/asm/xcr.h#L31
    {
      'target_name': 'cpu_patched',
      'type': 'none',
      'sources': [
        '<(chromium_root)/base/cpu.cc',
        '<(chromium_root)/base/cpu_patched.cc',
      ],
      'actions': [
        {
          'action_name': 'Patch cpu.cc',
          'inputs': [
            '<(chromium_root)/base/cpu.cc',
          ],
          'outputs': [
            '<(chromium_root)/base/cpu_patched.cc',
          ],
          'action': [
            'bash', '-c',
            'sed \'s/"xgetbv"/".byte 0x0f, 0x01, 0xd0"/\' <@(_inputs) > <@(_outputs)'
          ],
          'message': 'Attempting to generate patched <@(_outputs) from <@(_inputs)',
        },
      ],
    },
    {
      'target_name': 'base',
      'type': '<(component)',
      'variables': {
        'base_target': 1,
      },
      'dependencies': [
        'base_static',
        'cpu_patched',
        '<(DEPTH)/third_party/modp_b64/modp_b64.gyp:modp_b64',
        '<(chromium_root)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
      ],
      # TODO(gregoryd): direct_dependent_settings should be shared with the
      #  64-bit target, but it doesn't work due to a bug in gyp
      'direct_dependent_settings': {
        'include_dirs': [
          '<(chromium_root)',
          '<(DEPTH)',
        ],
      },
      'conditions': [
        [ 'OS == "linux"', {
          'cflags': [
            '-Wno-write-strings',
            '-Wno-error',
          ],
          'conditions': [
            [ 'build_nacl==0', {
              # We do not need clock_gettime() when building for NaCL newlib.
              'link_settings': {
                'libraries': [
                  # We need rt for clock_gettime().
                  '-lrt',
                ],
              },
            }],
          ],
        }],
        [ 'OS == "mac"', {
            'link_settings': {
              'libraries': [
                '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
                '$(SDKROOT)/System/Library/Frameworks/Carbon.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',
              ],
            },
        },],
        [ 'build_nacl==1', {
          'defines': [
            # A super-hack. prtime.cc (and possibly other sources) call
            # timegm, which is a non-standard function that's
            # unavailable when compiling using NaCl newlib. mktime is
            # essentially a drop-in replacement for timegm, modulo time
            # zone issues, however NaCL will default to UTC which is the
            # expected behavior for timegm, so the two should behave
            # identically.
            'timegm=mktime',
          ],
        }],
      ],
      'sources': [
        '<(chromium_root)/base/base64.cc',
        '<(chromium_root)/base/base64.h',
        '<(chromium_root)/base/md5.cc',
        '<(chromium_root)/base/md5.h',
        '<(chromium_root)/base/strings/string16.cc',
        '<(chromium_root)/base/strings/string16.h',
      ],
    },
  ],
}
