Re-land: Remove FX_Alloc() null checks now that it can't return NULL.
[pdfium.git] / pdfium.gyp
index fb6771f..7f1d908 100644 (file)
@@ -1,10 +1,17 @@
 {
   'variables': {
     'pdf_use_skia%': 0,
+    'conditions': [
+      ['OS=="linux"', {
+        'bundle_freetype%': 0,
+      }, {  # On Android there's no system FreeType. On Windows and Mac, only a
+            # few methods are used from it.
+        'bundle_freetype%': 1,
+      }],    
+    ],
   },
   'target_defaults': {
     'defines' : [
-      'FT2_BUILD_LIBRARY',
       '_FPDFSDK_LIB',
       '_NO_GDIPLUS_',  # workaround text rendering issues on Windows
       'OPJ_STATIC',
@@ -38,8 +45,7 @@
       'type': 'static_library',
       'dependencies': [
         'third_party/third_party.gyp:bigint',
-        'third_party/third_party.gyp:freetype',
-        'third_party/third_party.gyp:safemath',
+        'third_party/third_party.gyp:pdfium_base',
         'fdrm',
         'fpdfdoc',
         'fpdfapi',
       ],
       'ldflags': [ '-L<(PRODUCT_DIR)',],
       'sources': [
-        'fpdfsdk/include/fpdfdoc.h',
-        'fpdfsdk/include/fpdfedit.h',
-        'fpdfsdk/include/fpdfformfill.h',
-        'fpdfsdk/include/fpdftext.h',
-        'fpdfsdk/include/fpdfview.h',
-        'fpdfsdk/include/fpdf_dataavail.h',
-        'fpdfsdk/include/fpdf_flatten.h',
-        'fpdfsdk/include/fpdf_progressive.h',
-        'fpdfsdk/include/fpdf_searchex.h',
-        'fpdfsdk/include/fpdf_sysfontinfo.h',
-        'fpdfsdk/include/fpdf_ext.h',
-        'fpdfsdk/include/fpdf_sysfontinfo.h',
         'fpdfsdk/include/fsdk_actionhandler.h',
         'fpdfsdk/include/fsdk_annothandler.h',
         'fpdfsdk/include/fsdk_baseannot.h',
@@ -85,6 +79,7 @@
         'fpdfsdk/src/fpdf_progressive.cpp',
         'fpdfsdk/src/fpdf_searchex.cpp',
         'fpdfsdk/src/fpdf_sysfontinfo.cpp',
+        'fpdfsdk/src/fpdf_transformpage.cpp',
         'fpdfsdk/src/fsdk_actionhandler.cpp',
         'fpdfsdk/src/fsdk_annothandler.cpp',
         'fpdfsdk/src/fsdk_baseannot.cpp',
         'fpdfsdk/src/fsdk_rendercontext.cpp',
         'fpdfsdk/src/fpdfsdkdll.rc',
         'fpdfsdk/src/resource.h',
-        'fpdfsdk/include/fpdf_transformpage.h',
-        'fpdfsdk/src/fpdf_transformpage.cpp',
+        'public/fpdf_dataavail.h',
+        'public/fpdf_doc.h',
+        'public/fpdf_edit.h',
+        'public/fpdf_ext.h',
+        'public/fpdf_flatten.h',
+        'public/fpdf_formfill.h',
+        'public/fpdf_fwlevent.h',
+        'public/fpdf_ppo.h',
+        'public/fpdf_progressive.h',
+        'public/fpdf_save.h',
+        'public/fpdf_searchex.h',
+        'public/fpdf_sysfontinfo.h',
+        'public/fpdf_text.h',
+        'public/fpdf_transformpage.h',
+        'public/fpdfview.h',
       ],
       'conditions': [
         ['OS!="win"', {
             'fpdfsdk/src/fpdfsdkdll.rc',
           ],
         }],
+        ['bundle_freetype==1', {
+          'dependencies': [
+            'third_party/third_party.gyp:freetype',
+          ],
+        }, {
+          'link_settings': {
+            'libraries': [
+              '-lfreetype',
+            ],
+          },
+        }],
       ],
       'all_dependent_settings': {
         'msvs_settings': {
         'core/src/fpdfdoc/doc_ocg.cpp',
         'core/src/fpdfdoc/doc_tagged.cpp',
         'core/src/fpdfdoc/doc_utils.cpp',
+        'core/src/fpdfdoc/doc_utils.h',
         'core/src/fpdfdoc/doc_viewerPreferences.cpp',
         'core/src/fpdfdoc/doc_vt.cpp',
         'core/src/fpdfdoc/doc_vtmodule.cpp',
         'core/src/fpdfapi/fpdf_font/fpdf_font.cpp',
         'core/src/fpdfapi/fpdf_font/fpdf_font_charset.cpp',
         'core/src/fpdfapi/fpdf_font/fpdf_font_cid.cpp',
-        'core/src/fpdfapi/fpdf_font/fpdf_font_utility.cpp',
         'core/src/fpdfapi/fpdf_font/ttgsubtable.cpp',
         'core/src/fpdfapi/fpdf_font/ttgsubtable.h',
         'core/src/fpdfapi/fpdf_page/fpdf_page.cpp',
         'core/src/fxcodec/fx_libopenjpeg/src/fx_pi.c',
         'core/src/fxcodec/fx_libopenjpeg/src/fx_raw.c',
         'core/src/fxcodec/fx_libopenjpeg/src/fx_t1.c',
-        'core/src/fxcodec/fx_libopenjpeg/src/fx_t1_generate_luts.c',
         'core/src/fxcodec/fx_libopenjpeg/src/fx_t2.c',
         'core/src/fxcodec/fx_libopenjpeg/src/fx_tcd.c',
         'core/src/fxcodec/fx_libopenjpeg/src/fx_tgt.c',
         'core/include/fxcrt/fx_ucd.h',
         'core/include/fxcrt/fx_xml.h',
         'core/src/fxcrt/extension.h',
+        'core/src/fxcrt/fx_safe_types.h',
         'core/src/fxcrt/fxcrt_platforms.cpp',
         'core/src/fxcrt/fxcrt_platforms.h',
         'core/src/fxcrt/fxcrt_posix.cpp',
     {
       'target_name': 'javascript',
       'type': 'static_library',
-        'include_dirs': [
-          '<(DEPTH)/v8',
-          '<(DEPTH)/v8/include',
-        ],
+      'include_dirs': [
+        '<(DEPTH)/v8',
+        '<(DEPTH)/v8/include',
+      ],
       'dependencies': [
         '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
-        '<(DEPTH)/v8/tools/gyp/v8.gyp:v8_libplatform',
       ],
       'export_dependent_settings': [
         '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
         'fpdfsdk/include/javascript/Icon.h',
         'fpdfsdk/include/javascript/IJavaScript.h',
         'fpdfsdk/include/javascript/JavaScript.h',
-        'fpdfsdk/include/javascript/JS_Console.h',
         'fpdfsdk/include/javascript/JS_Context.h',
         'fpdfsdk/include/javascript/JS_Define.h',
         'fpdfsdk/include/javascript/JS_EventHandler.h',
         'fpdfsdk/include/javascript/JS_GlobalData.h',
-        'fpdfsdk/include/javascript/JS_Module.h',
         'fpdfsdk/include/javascript/JS_Object.h',
         'fpdfsdk/include/javascript/JS_Runtime.h',
         'fpdfsdk/include/javascript/JS_Value.h',
         'fpdfsdk/src/javascript/JS_Value.cpp',
         'fpdfsdk/src/javascript/PublicMethods.cpp',
         'fpdfsdk/src/javascript/report.cpp',
+        'fpdfsdk/src/javascript/resource.cpp',
         'fpdfsdk/src/javascript/util.cpp',
       ],
     },
         '<(DEPTH)'
       ],
       'sources': [
+        'core/src/fxcodec/codec/fx_codec_jpx_unittest.cpp',
+        'core/src/fxcrt/fx_basic_bstring_unittest.cpp',
+        'core/src/fxcrt/fx_basic_memmgr_unittest.cpp',
+        'core/src/fxcrt/fx_basic_wstring_unittest.cpp',
         'testing/fx_string_testhelpers.h',
         'testing/fx_string_testhelpers.cpp',
-        'core/src/fxcrt/fx_basic_bstring_unittest.cpp',
       ],
     },
     {
       'target_name': 'pdfium_embeddertests',
       'type': 'executable',
       'dependencies': [
-        '<(DEPTH)/testing/gtest.gyp:gtest_main',
+        '<(DEPTH)/testing/gmock.gyp:gmock',
         '<(DEPTH)/testing/gtest.gyp:gtest',
         'pdfium',
       ],
         '<(DEPTH)'
       ],
       'sources': [
-        'testing/basic_embeddertest.cpp',
+        'core/src/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp',
+        'core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp',
+        'fpdfsdk/src/fpdf_dataavail_embeddertest.cpp',
+        'fpdfsdk/src/fpdfdoc_embeddertest.cpp',
+        'fpdfsdk/src/fpdfformfill_embeddertest.cpp',
+        'fpdfsdk/src/fpdftext_embeddertest.cpp',
+        'fpdfsdk/src/fpdfview_c_api_test.c',
+        'fpdfsdk/src/fpdfview_c_api_test.h',
+        'fpdfsdk/src/fpdfview_embeddertest.cpp',
         'testing/embedder_test.cpp',
         'testing/embedder_test.h',
+        'testing/embedder_test_mock_delegate.h',
         'testing/fx_string_testhelpers.cpp',
         'testing/fx_string_testhelpers.h',
       ],