blob: 74880baa85a944477c7d25c050222e25d4ced36d [file] [log] [blame]
{
'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
],
}