diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-10-09 12:45:15 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-10-09 12:45:15 -0700 |
commit | f1c713663192368d26031a4caed1f9705f4510af (patch) | |
tree | d7078da243fe29c2ac9160ab21725bee3a349a7b /pdfium.gyp | |
parent | c9952e66c588aad6a5996796fb0c96b202e6de0a (diff) | |
download | pdfium-f1c713663192368d26031a4caed1f9705f4510af.tar.xz |
Allow compiling PDFium without V8.
Original patch from issue 1391843004 at patchset 1
(http://crrev.com/1391843004#ps1)
Introduce a pdf_enable_v8 GYP variable, which controls a
corresponding PDF_ENABLE_V8 #define, and bring in the real
JS library when set. Otherwise, link against a stub JS
runtime.
BUG=pdfium:211
R=dml@google.com, jochen@chromium.org, thestig@chromium.org
Review URL: https://codereview.chromium.org/1395733006 .
Diffstat (limited to 'pdfium.gyp')
-rw-r--r-- | pdfium.gyp | 158 |
1 files changed, 82 insertions, 76 deletions
diff --git a/pdfium.gyp b/pdfium.gyp index a728cea89e..6ea3f4ab07 100644 --- a/pdfium.gyp +++ b/pdfium.gyp @@ -1,6 +1,7 @@ { 'variables': { 'pdf_use_skia%': 0, + 'pdf_enable_v8%': 1, 'conditions': [ ['OS=="linux"', { 'bundle_freetype%': 0, @@ -23,6 +24,9 @@ ['pdf_use_skia==1', { 'defines': ['_SKIA_SUPPORT_'], }], + ['pdf_enable_v8==1', { + 'defines': ['PDF_ENABLE_V8'], + }], ['OS=="linux"', { 'conditions': [ ['target_arch=="x64"', { @@ -56,7 +60,6 @@ 'fxedit', 'fxge', 'javascript', - 'jsapi', 'pdfwindow', ], 'ldflags': [ '-L<(PRODUCT_DIR)',], @@ -612,80 +615,73 @@ { 'target_name': 'javascript', 'type': 'static_library', - 'include_dirs': [ - '<(DEPTH)/v8', - '<(DEPTH)/v8/include', - ], - 'dependencies': [ - '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', - ], - 'export_dependent_settings': [ - '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', - ], 'ldflags': [ '-L<(PRODUCT_DIR)',], 'sources': [ 'fpdfsdk/include/javascript/IJavaScript.h', - 'fpdfsdk/src/javascript/app.cpp', - 'fpdfsdk/src/javascript/color.cpp', - 'fpdfsdk/src/javascript/console.cpp', - 'fpdfsdk/src/javascript/Consts.cpp', - 'fpdfsdk/src/javascript/Consts.h', - 'fpdfsdk/src/javascript/Document.cpp', - 'fpdfsdk/src/javascript/Document.h', - 'fpdfsdk/src/javascript/Field.cpp', - 'fpdfsdk/src/javascript/Field.h', - 'fpdfsdk/src/javascript/Icon.cpp', - 'fpdfsdk/src/javascript/Icon.h', - 'fpdfsdk/src/javascript/JS_Context.cpp', - 'fpdfsdk/src/javascript/JS_Context.h', - 'fpdfsdk/src/javascript/JS_Define.h', - 'fpdfsdk/src/javascript/JS_EventHandler.cpp', - 'fpdfsdk/src/javascript/JS_EventHandler.h', - 'fpdfsdk/src/javascript/JS_GlobalData.cpp', - 'fpdfsdk/src/javascript/JS_GlobalData.h', - 'fpdfsdk/src/javascript/JS_Object.cpp', - 'fpdfsdk/src/javascript/JS_Object.h', - 'fpdfsdk/src/javascript/JS_Runtime.cpp', - 'fpdfsdk/src/javascript/JS_Runtime.h', - 'fpdfsdk/src/javascript/JS_Value.cpp', - 'fpdfsdk/src/javascript/JS_Value.h', - 'fpdfsdk/src/javascript/PublicMethods.cpp', - 'fpdfsdk/src/javascript/PublicMethods.h', - 'fpdfsdk/src/javascript/app.cpp', - 'fpdfsdk/src/javascript/app.h', - 'fpdfsdk/src/javascript/color.cpp', - 'fpdfsdk/src/javascript/color.h', - 'fpdfsdk/src/javascript/console.cpp', - 'fpdfsdk/src/javascript/console.h', - 'fpdfsdk/src/javascript/event.cpp', - 'fpdfsdk/src/javascript/event.h', - 'fpdfsdk/src/javascript/global.cpp', - 'fpdfsdk/src/javascript/global.h', - 'fpdfsdk/src/javascript/report.cpp', - 'fpdfsdk/src/javascript/report.h', - 'fpdfsdk/src/javascript/resource.cpp', - 'fpdfsdk/src/javascript/resource.h', - 'fpdfsdk/src/javascript/util.cpp', - 'fpdfsdk/src/javascript/util.h', - ], - }, - { - 'target_name': 'jsapi', - 'type': 'static_library', - 'dependencies': [ - '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', - ], - 'export_dependent_settings': [ - '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', - ], - 'include_dirs': [ - '<(DEPTH)/v8', - '<(DEPTH)/v8/include', + 'fpdfsdk/src/javascript/JS_Runtime_Stub.cpp', ], - 'ldflags': [ '-L<(PRODUCT_DIR)',], - 'sources': [ - 'fpdfsdk/include/jsapi/fxjs_v8.h', - 'fpdfsdk/src/jsapi/fxjs_v8.cpp', + 'conditions': [ + ['pdf_enable_v8==1', { + 'include_dirs': [ + '<(DEPTH)/v8', + '<(DEPTH)/v8/include', + ], + 'dependencies': [ + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + ], + 'export_dependent_settings': [ + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + ], + 'sources!': [ + 'fpdfsdk/src/javascript/JS_Runtime_Stub.cpp', + ], + 'sources': [ + 'fpdfsdk/src/javascript/Consts.cpp', + 'fpdfsdk/src/javascript/Consts.h', + 'fpdfsdk/src/javascript/Document.cpp', + 'fpdfsdk/src/javascript/Document.h', + 'fpdfsdk/src/javascript/Field.cpp', + 'fpdfsdk/src/javascript/Field.h', + 'fpdfsdk/src/javascript/Icon.cpp', + 'fpdfsdk/src/javascript/Icon.h', + 'fpdfsdk/src/javascript/JS_Context.cpp', + 'fpdfsdk/src/javascript/JS_Context.h', + 'fpdfsdk/src/javascript/JS_Define.h', + 'fpdfsdk/src/javascript/JS_EventHandler.cpp', + 'fpdfsdk/src/javascript/JS_EventHandler.h', + 'fpdfsdk/src/javascript/JS_GlobalData.cpp', + 'fpdfsdk/src/javascript/JS_GlobalData.h', + 'fpdfsdk/src/javascript/JS_Object.cpp', + 'fpdfsdk/src/javascript/JS_Object.h', + 'fpdfsdk/src/javascript/JS_Runtime.cpp', + 'fpdfsdk/src/javascript/JS_Runtime.h', + 'fpdfsdk/src/javascript/JS_Value.cpp', + 'fpdfsdk/src/javascript/JS_Value.h', + 'fpdfsdk/src/javascript/PublicMethods.cpp', + 'fpdfsdk/src/javascript/PublicMethods.h', + 'fpdfsdk/src/javascript/app.cpp', + 'fpdfsdk/src/javascript/app.cpp', + 'fpdfsdk/src/javascript/app.h', + 'fpdfsdk/src/javascript/color.cpp', + 'fpdfsdk/src/javascript/color.cpp', + 'fpdfsdk/src/javascript/color.h', + 'fpdfsdk/src/javascript/console.cpp', + 'fpdfsdk/src/javascript/console.cpp', + 'fpdfsdk/src/javascript/console.h', + 'fpdfsdk/src/javascript/event.cpp', + 'fpdfsdk/src/javascript/event.h', + 'fpdfsdk/src/javascript/global.cpp', + 'fpdfsdk/src/javascript/global.h', + 'fpdfsdk/src/javascript/report.cpp', + 'fpdfsdk/src/javascript/report.h', + 'fpdfsdk/src/javascript/resource.cpp', + 'fpdfsdk/src/javascript/resource.h', + 'fpdfsdk/src/javascript/util.cpp', + 'fpdfsdk/src/javascript/util.h', + 'fpdfsdk/include/jsapi/fxjs_v8.h', + 'fpdfsdk/src/jsapi/fxjs_v8.cpp', + ], + }], ], }, { @@ -747,14 +743,10 @@ 'dependencies': [ '<(DEPTH)/testing/gmock.gyp:gmock', '<(DEPTH)/testing/gtest.gyp:gtest', - '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', - '<(DEPTH)/v8/tools/gyp/v8.gyp:v8_libplatform', 'pdfium', ], 'include_dirs': [ '<(DEPTH)', - '<(DEPTH)/v8', - '<(DEPTH)/v8/include', ], 'sources': [ 'core/src/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp', @@ -766,7 +758,6 @@ 'fpdfsdk/src/fpdfview_c_api_test.c', 'fpdfsdk/src/fpdfview_c_api_test.h', 'fpdfsdk/src/fpdfview_embeddertest.cpp', - 'fpdfsdk/src/jsapi/fxjs_v8_embeddertest.cpp', 'testing/embedder_test.cpp', 'testing/embedder_test.h', 'testing/embedder_test_mock_delegate.h', @@ -774,6 +765,21 @@ 'testing/fx_string_testhelpers.cpp', 'testing/fx_string_testhelpers.h', ], + 'conditions': [ + ['pdf_enable_v8==1', { + 'include_dirs': [ + '<(DEPTH)/v8', + '<(DEPTH)/v8/include', + ], + 'dependencies': [ + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', + '<(DEPTH)/v8/tools/gyp/v8.gyp:v8_libplatform', + ], + 'sources': [ + 'fpdfsdk/src/jsapi/fxjs_v8_embeddertest.cpp', + ], + }], + ], }, ], } |