{
  'variables': {
    '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.',
            },
          ],
        },
      ],
    }],
  ],
}
