isolate podofo to prepare for native parser, autogenerate PDF API during build

Review URL: https://codereview.chromium.org/18042005

git-svn-id: http://skia.googlecode.com/svn/trunk/gyp@9879 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/pdfviewer.gyp b/pdfviewer.gyp
index 3f78a48..55e6b1b 100644
--- a/pdfviewer.gyp
+++ b/pdfviewer.gyp
@@ -23,8 +23,45 @@
         '../experimental/PdfViewer/SkPdfFont.cpp',
         '../experimental/PdfViewer/SkPdfParser.cpp',
         '../experimental/PdfViewer/SkPdfUtils.cpp',
-        '../experimental/PdfViewer/pdfparser/podofo/autogen/SkPdfPodofoMapper_autogen.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',
@@ -33,10 +70,9 @@
         '../tools',
         '../experimental/PdfViewer',
         '../experimental/PdfViewer/pdfparser',
+        '../experimental/PdfViewer/pdfparser/autogen',
         '../experimental/PdfViewer/pdfparser/podofo',
         '../experimental/PdfViewer/pdfparser/podofo/autogen',
-        #'../experimental/PdfViewer/pdfparser/native',
-        #'../experimental/PdfViewer/pdfparser/native/autogen',
       ],
       'dependencies': [
         'core.gyp:core',
@@ -66,12 +102,12 @@
         '../experimental/PdfViewer/pdf_viewer_main.cpp',
       ],
       'include_dirs': [
-        '../third_party/externals/podofo/src/base',
-        '../third_party/externals/podofo/src',
-        '../third_party/externals/podofo',
         '../tools',
         '../experimental/PdfViewer',
-        '../experimental/PdfViewer/autogen',
+        '../experimental/PdfViewer/pdfparser',
+        '../experimental/PdfViewer/pdfparser/autogen',
+        '../experimental/PdfViewer/pdfparser/podofo',
+        '../experimental/PdfViewer/pdfparser/podofo/autogen',
       ],
       'dependencies': [
         'core.gyp:core',