{
  'variables': {
    'skia_warnings_as_errors': 0,
    'conditions': [
      [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos"]', {
        # Use the systemwide Qt libs by default
        'variables': {
          'qt_sdk%': '/usr',
        },
        'qt_sdk': '<(qt_sdk)',
        'qt_moc%': 'moc',
        'qt_includes': [
          '<(qt_sdk)/include',
          '<(qt_sdk)/include/QtCore',
          '<(qt_sdk)/include/QtGui',
          '<(qt_sdk)/include/QtOpenGL',

          # Systemwide Qt libs are not contained under a single tree,
          # so we're adding package-qualified paths as a fallback.
          '<(qt_sdk)/include/qt4',
          '<(qt_sdk)/include/qt4/QtCore',
          '<(qt_sdk)/include/qt4/QtGui',
          '<(qt_sdk)/include/qt4/QtOpenGL',
        ],
        'qt_libs': [
          '-lQtCore',
          '-lQtGui',
          '-lQtOpenGL'
        ],
      }],
      [ 'skia_os == "mac"', {
        # Use the systemwide Qt libs by default
        'variables': {
          'qt_sdk%': '/Library/Frameworks',
        },
        'qt_sdk': '<(qt_sdk)',
        'qt_moc%': 'moc',
        'qt_includes': [
          '<(qt_sdk)/QtCore.framework/Headers/',
          '<(qt_sdk)/QtGui.framework/Headers/',
          '<(qt_sdk)/QtOpenGL.framework/Headers/',
        ],
        'qt_libs': [
          '<(qt_sdk)/QtCore.framework',
          '<(qt_sdk)/QtGui.framework',
          '<(qt_sdk)/QtOpenGL.framework',
        ],
      }],
      [ 'skia_os == "win"', {
        'variables': {
          # This is the default location for the version of Qt current on 10/11/12
          'qt_sdk%': 'C:/Qt/4.8.3/',
        },
        'qt_sdk': '<(qt_sdk)',
        'qt_moc%': '<(qt_sdk)/bin/moc',
        'qt_includes': [
          '<(qt_sdk)/include',
          '<(qt_sdk)/include/QtCore',
          '<(qt_sdk)/include/QtGui',
          '<(qt_sdk)/include/QtOpenGL',
        ],
        'qt_libs': [
          '<(qt_sdk)/lib/QtCore4.lib',
          '<(qt_sdk)/lib/QtGui4.lib',
          '<(qt_sdk)/lib/QtOpenGL4.lib',
        ],
      }],
    ],
    'moc_src_dir': '../debugger/QT',
    'moc_gen_dir': '<(SHARED_INTERMEDIATE_DIR)/debugger/QT',
  },
  'targets': [
    {
      'target_name': 'debugger',
      'type': 'executable',
      'mac_bundle': 1,
      'mac_framework_dirs': [
        '/Library/Frameworks',
      ],
      'include_dirs' : [
        '../src/core',
        '../src/utils/debugger',
        '../debugger',      # To pull SkDebugger.h
        '../src/gpu',       # To pull gl/GrGLUtil.h
        '../src/ports',     # To pull SkFontDescriptor.h
        '../bench',
        '../tools',
      ],
      'sources': [
        '../debugger/SkDebugger.cpp',
        '../src/utils/debugger/SkDebugCanvas.h',
        '../src/utils/debugger/SkDebugCanvas.cpp',
        '../src/utils/debugger/SkDrawCommand.h',
        '../src/utils/debugger/SkDrawCommand.cpp',
        '../src/utils/debugger/SkObjectParser.h',
        '../src/utils/debugger/SkObjectParser.cpp',
      ],
      'dependencies': [
        'skia_lib.gyp:skia_lib',
        'tools.gyp:picture_renderer',
        'tools.gyp:timer',
      ],
      'conditions': [
        [ 'skia_os == "nacl"', {
          'include_dirs': [
            '../src/utils',
          ],
          'sources': [
            '../platform_tools/nacl/src/nacl_debugger.cpp',
          ],
        }, { # skia_os != "nacl"
          'include_dirs': [
            '../debugger/QT',   # For all the QT UI Goodies
            '<@(qt_includes)',
          ],
          'sources': [
            '../debugger/debuggermain.cpp',
            '../debugger/QT/SkDebuggerGUI.cpp',
            '../debugger/QT/SkDebuggerGUI.h',
            '../debugger/QT/SkCanvasWidget.cpp',
            '../debugger/QT/SkCanvasWidget.h',
            '../debugger/QT/SkInspectorWidget.h',
            '../debugger/QT/SkInspectorWidget.cpp',
            '../debugger/QT/SkListWidget.h',
            '../debugger/QT/SkListWidget.cpp',
            '../debugger/QT/SkSettingsWidget.h',
            '../debugger/QT/SkSettingsWidget.cpp',
            '../debugger/QT/SkGLWidget.h',
            '../debugger/QT/SkGLWidget.cpp',
            '../debugger/QT/SkRasterWidget.h',
            '../debugger/QT/SkRasterWidget.cpp',
            '../debugger/QT/SkImageWidget.h',
            '../debugger/QT/SkImageWidget.cpp',

            # To update this file edit SkIcons.qrc and rerun rcc to generate cpp
            '../debugger/QT/qrc_SkIcons.cpp',

            # Generated MOC files
            '<(moc_gen_dir)/moc_SkCanvasWidget.cpp',
            '<(moc_gen_dir)/moc_SkDebuggerGUI.cpp',
            '<(moc_gen_dir)/moc_SkInspectorWidget.cpp',
            '<(moc_gen_dir)/moc_SkSettingsWidget.cpp',
            '<(moc_gen_dir)/moc_SkRasterWidget.cpp',
            '<(moc_gen_dir)/moc_SkImageWidget.cpp',
            '<(moc_gen_dir)/moc_SkGLWidget.cpp',
          ],
          'cflags': [
            # Clang gets confused by QWeakPointer, see http://llvm.org/bugs/show_bug.cgi?id=13127
            '-Wno-uninitialized',
          ],
          'dependencies': [
            'debugger_qt_mocs',
          ],
          'link_settings': {
            'libraries': [
              '<@(qt_libs)',
            ],
          },
        }],
      ],
    },
  ],
  'conditions': [
    [ 'skia_os != "nacl"', {
      'targets': [
        {
          'target_name': 'debugger_qt_mocs',
          'type': 'none',
          'sources': [
            '<(moc_src_dir)/SkCanvasWidget.h',
            '<(moc_src_dir)/SkDebuggerGUI.h',
            '<(moc_src_dir)/SkInspectorWidget.h',
            '<(moc_src_dir)/SkSettingsWidget.h',
            '<(moc_src_dir)/SkRasterWidget.h',
            '<(moc_src_dir)/SkImageWidget.h',
            '<(moc_src_dir)/SkGLWidget.h',
          ],
          'rules': [
            {
              'rule_name': 'generate_moc',
              'extension': 'h',
              'outputs': [ '<(moc_gen_dir)/moc_<(RULE_INPUT_ROOT).cpp' ],
              'action': [ '<(qt_moc)', '-DSK_SUPPORT_GPU=<(skia_gpu)',
                          '<(RULE_INPUT_PATH)',
                          '-o', '<(moc_gen_dir)/moc_<(RULE_INPUT_ROOT).cpp' ],
              'message': 'Generating <(RULE_INPUT_ROOT).cpp.',
            },
          ],
        },
      ],
    }],
  ],
}
