summaryrefslogtreecommitdiffstats
path: root/chromium/pdf/pdf.gyp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/pdf/pdf.gyp')
-rw-r--r--chromium/pdf/pdf.gyp205
1 files changed, 205 insertions, 0 deletions
diff --git a/chromium/pdf/pdf.gyp b/chromium/pdf/pdf.gyp
new file mode 100644
index 00000000000..74880baa85a
--- /dev/null
+++ b/chromium/pdf/pdf.gyp
@@ -0,0 +1,205 @@
+{
+ 'variables': {
+ 'chromium_code': 1,
+ 'pdf_engine%': 0, # 0 PDFium
+ },
+ 'target_defaults': {
+ 'cflags': [
+ '-fPIC',
+ ],
+ },
+ 'targets': [
+ {
+ 'target_name': 'pdf',
+ 'type': 'loadable_module',
+ 'msvs_guid': '647863C0-C7A3-469A-B1ED-AD7283C34BED',
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../net/net.gyp:net',
+ '../ppapi/ppapi.gyp:ppapi_cpp',
+ '../third_party/pdfium/pdfium.gyp:pdfium',
+ ],
+ 'xcode_settings': {
+ 'INFOPLIST_FILE': 'Info.plist',
+ },
+ 'mac_framework_dirs': [
+ '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework/Frameworks',
+ ],
+ 'ldflags': [ '-L<(PRODUCT_DIR)',],
+ 'sources': [
+ 'button.h',
+ 'button.cc',
+ 'chunk_stream.h',
+ 'chunk_stream.cc',
+ 'control.h',
+ 'control.cc',
+ 'document_loader.h',
+ 'document_loader.cc',
+ 'draw_utils.cc',
+ 'draw_utils.h',
+ 'fading_control.cc',
+ 'fading_control.h',
+ 'fading_controls.cc',
+ 'fading_controls.h',
+ 'instance.cc',
+ 'instance.h',
+ 'number_image_generator.cc',
+ 'number_image_generator.h',
+ 'out_of_process_instance.cc',
+ 'out_of_process_instance.h',
+ 'page_indicator.cc',
+ 'page_indicator.h',
+ 'paint_aggregator.cc',
+ 'paint_aggregator.h',
+ 'paint_manager.cc',
+ 'paint_manager.h',
+ 'pdf.cc',
+ 'pdf.h',
+ 'pdf.rc',
+ 'progress_control.cc',
+ 'progress_control.h',
+ 'pdf_engine.h',
+ 'preview_mode_client.cc',
+ 'preview_mode_client.h',
+ 'resource.h',
+ 'resource_consts.h',
+ 'thumbnail_control.cc',
+ 'thumbnail_control.h',
+ '../chrome/browser/chrome_page_zoom_constants.cc',
+ '../content/common/page_zoom.cc',
+ ],
+ 'conditions': [
+ ['pdf_engine==0', {
+ 'sources': [
+ 'pdfium/pdfium_assert_matching_enums.cc',
+ 'pdfium/pdfium_engine.cc',
+ 'pdfium/pdfium_engine.h',
+ 'pdfium/pdfium_mem_buffer_file_read.cc',
+ 'pdfium/pdfium_mem_buffer_file_read.h',
+ 'pdfium/pdfium_mem_buffer_file_write.cc',
+ 'pdfium/pdfium_mem_buffer_file_write.h',
+ 'pdfium/pdfium_page.cc',
+ 'pdfium/pdfium_page.h',
+ 'pdfium/pdfium_range.cc',
+ 'pdfium/pdfium_range.h',
+ ],
+ }],
+ ['OS!="win"', {
+ 'sources!': [
+ 'pdf.rc',
+ ],
+ }],
+ ['OS=="mac"', {
+ 'mac_bundle': 1,
+ 'product_name': 'PDF',
+ 'product_extension': 'plugin',
+ # Strip the shipping binary of symbols so "Foxit" doesn't appear in
+ # the binary. Symbols are stored in a separate .dSYM.
+ 'variables': {
+ 'mac_real_dsym': 1,
+ },
+ 'sources+': [
+ 'Info.plist'
+ ],
+ }],
+ ['OS=="win"', {
+ 'defines': [
+ 'COMPILE_CONTENT_STATICALLY',
+ ],
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ 'msvs_disabled_warnings': [ 4267, ],
+ }],
+ ['OS=="linux"', {
+ 'configurations': {
+ 'Release_Base': {
+ #'cflags': [ '-fno-weak',], # get rid of symbols that strip doesn't remove.
+ # Don't do this for now since official builder will take care of it. That
+ # way symbols can still be uploaded to the crash server.
+ #'ldflags': [ '-s',], # strip local symbols from binary.
+ },
+ },
+ # Use a custom version script to prevent leaking the vendor name in
+ # visible symbols.
+ 'ldflags': [
+ '-Wl,--version-script=<!(cd <(DEPTH) && pwd -P)/pdf/libpdf.map'
+ ],
+ }],
+ ],
+ },
+ ],
+ 'conditions': [
+ # CrOS has a separate step to do this.
+ ['OS=="linux" and chromeos==0',
+ { 'targets': [
+ {
+ 'target_name': 'pdf_linux_symbols',
+ 'type': 'none',
+ 'conditions': [
+ ['linux_dump_symbols==1', {
+ 'actions': [
+ {
+ 'action_name': 'dump_symbols',
+ 'inputs': [
+ '<(DEPTH)/build/linux/dump_app_syms',
+ '<(PRODUCT_DIR)/dump_syms',
+ '<(PRODUCT_DIR)/libpdf.so',
+ ],
+ 'outputs': [
+ '<(PRODUCT_DIR)/libpdf.so.breakpad.<(target_arch)',
+ ],
+ 'action': ['<(DEPTH)/build/linux/dump_app_syms',
+ '<(PRODUCT_DIR)/dump_syms',
+ '<(linux_strip_binary)',
+ '<(PRODUCT_DIR)/libpdf.so',
+ '<@(_outputs)'],
+ 'message': 'Dumping breakpad symbols to <(_outputs)',
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ 'dependencies': [
+ 'pdf',
+ '../breakpad/breakpad.gyp:dump_syms',
+ ],
+ }],
+ ],
+ },
+ ],
+ },], # OS=="linux" and chromeos==0
+ ['OS=="win" and fastbuild==0 and target_arch=="ia32" and syzyasan==1', {
+ 'variables': {
+ 'dest_dir': '<(PRODUCT_DIR)/syzygy',
+ },
+ 'targets': [
+ {
+ 'target_name': 'pdf_syzyasan',
+ 'type': 'none',
+ 'sources' : [],
+ 'dependencies': [
+ 'pdf',
+ ],
+ # Instrument PDFium with SyzyAsan.
+ 'actions': [
+ {
+ 'action_name': 'Instrument PDFium with SyzyAsan',
+ 'inputs': [
+ '<(PRODUCT_DIR)/pdf.dll',
+ ],
+ 'outputs': [
+ '<(dest_dir)/pdf.dll',
+ '<(dest_dir)/pdf.dll.pdb',
+ ],
+ 'action': [
+ 'python',
+ '<(DEPTH)/chrome/tools/build/win/syzygy_instrument.py',
+ '--mode', 'asan',
+ '--input_executable', '<(PRODUCT_DIR)/pdf.dll',
+ '--input_symbol', '<(PRODUCT_DIR)/pdf.dll.pdb',
+ '--destination_dir', '<(dest_dir)',
+ ],
+ },
+ ],
+ },
+ ],
+ }], # OS=="win" and fastbuild==0 and target_arch=="ia32" and syzyasan==1
+ ],
+}