# GYP file to build pdfviewer.
#
# To build on Linux:
#  ./gyp_skia pdfviewer.gyp && make pdfviewer
#
{
  'variables': {
    'skia_warnings_as_errors': 0,
  },
  'includes': [
    'apptype_console.gypi',
  ],
  'targets': [
    {
      'target_name': 'libpdfviewer',
      'type': 'static_library',
      'cflags': ['-fexceptions'],
      'cflags_cc': ['-fexceptions'],
      'cflags!': [ '-fno-exceptions' ],
      'cflags_cc!': [ '-fno-exceptions' ],
      'sources': [
        '../experimental/PdfViewer/SkPdfBasics.cpp',
        '../experimental/PdfViewer/SkPdfFont.cpp',
        '../experimental/PdfViewer/SkPdfParser.cpp',
        '../experimental/PdfViewer/SkPdfUtils.cpp',
        #'../experimental/PdfViewer/SkPdfNYI.cpp',
        #podofo
        '../experimental/PdfViewer/pdfparser/podofo/SkPdfPodofoTokenizer.cpp',
        '../experimental/PdfViewer/pdfparser/podofo/SkPodofoParsedPDF.cpp',
        '../experimental/PdfViewer/pdfparser/podofo/SkPodofoUtils.cpp',
        '../experimental/PdfViewer/pdfparser/podofo/autogen/SkPdfMapper_autogen.cpp',
        '../experimental/PdfViewer/pdfparser/podofo/autogen/SkPdfHeaders_autogen.cpp',
        #native TODO

        # libraries.cc is generated by the js2c action below.
        #'<(INTERMEDIATE_DIR)/libraries.cc',
      ],
      'actions': [
        {
          'action_name': 'spec2def',
          'inputs': [
            '../experimental/PdfViewer/spec2def.py',
            '../experimental/PdfViewer/PdfReference-okular-1.txt',
          ],
          'outputs': [
            '../experimental/PdfViewer/autogen/pdfspec_autogen.py',
          ],
          'action': ['python', '../experimental/PdfViewer/spec2def.py', '../experimental/PdfViewer/PdfReference-okular-1.txt', '../experimental/PdfViewer/autogen/pdfspec_autogen.py'],
        },
        {
          'action_name': 'generate_code',
          'inputs': [
            '../experimental/PdfViewer/generate_code.py',
            '../experimental/PdfViewer/autogen/pdfspec_autogen.py',
          ],
          'outputs': [
            '../experimental/PdfViewer/pdfparser/autogen/SkPdfEnums_autogen.h',
            '../experimental/PdfViewer/pdfparser/podofo/autogen/SkPdfMapper_autogen.cpp',
            '../experimental/PdfViewer/pdfparser/podofo/autogen/SkPdfHeaders_autogen.cpp',
            # TODO(edisonn): ok, there are many more files here, which we should list but since
            # any change in the above should trigger a change here, we should be fine normally
          ],
          'action': ['python', '../experimental/PdfViewer/generate_code.py', '../experimental/PdfViewer/pdfparser/'],
        },
      ],
      'include_dirs': [
        '../third_party/externals/podofo/src/base',
        '../third_party/externals/podofo/src',
        '../third_party/externals/podofo',
        '../tools',
        '../experimental/PdfViewer',
        '../experimental/PdfViewer/pdfparser',
        '../experimental/PdfViewer/pdfparser/autogen',
        '../experimental/PdfViewer/pdfparser/podofo',
        '../experimental/PdfViewer/pdfparser/podofo/autogen',
      ],
      'dependencies': [
        'core.gyp:core',
        'effects.gyp:effects',
        'images.gyp:images',
        'pdf.gyp:pdf',
        'ports.gyp:ports',
        'tools.gyp:picture_utils',
        '../third_party/externals/podofo/podofo.gyp:podofo',
      ],
      'link_settings': {
        'libraries': [
        ],
      },
      'defines': [
        'BUILDING_PODOFO',
      ],
    },
    {
      'target_name': 'pdfviewer',
      'type': 'executable',
      'cflags': ['-fexceptions'],
      'cflags_cc': ['-fexceptions'],
      'cflags!': [ '-fno-exceptions' ],
      'cflags_cc!': [ '-fno-exceptions' ],
      'sources': [
        '../experimental/PdfViewer/pdf_viewer_main.cpp',
      ],
      'include_dirs': [
        '../tools',
        '../experimental/PdfViewer',
        '../experimental/PdfViewer/pdfparser',
        '../experimental/PdfViewer/pdfparser/autogen',
        '../experimental/PdfViewer/pdfparser/podofo',
        '../experimental/PdfViewer/pdfparser/podofo/autogen',
      ],
      'dependencies': [
        'core.gyp:core',
        'images.gyp:images',
        'libpdfviewer',
      ],
    },
  ],
}

# Local Variables:
# tab-width:2
# indent-tabs-mode:nil
# End:
# vim: set expandtab tabstop=2 shiftwidth=2:
