Home | History | Annotate | Download | only in pdf
      1 {
      2   'variables': {
      3     'chromium_code': 1,
      4     'pdf_engine%': 0,  # 0 PDFium
      5   },
      6   'target_defaults': {
      7     'cflags': [
      8       '-fPIC',
      9     ],
     10   },
     11   'targets': [
     12     {
     13       'target_name': 'pdf',
     14       'type': 'loadable_module',
     15       'msvs_guid': '647863C0-C7A3-469A-B1ED-AD7283C34BED',
     16       'dependencies': [
     17         '../base/base.gyp:base',
     18         '../net/net.gyp:net',
     19         '../ppapi/ppapi.gyp:ppapi_cpp',
     20         '../third_party/pdfium/pdfium.gyp:pdfium',
     21       ],
     22       'xcode_settings': {
     23         'INFOPLIST_FILE': 'Info.plist',
     24       },
     25       'mac_framework_dirs': [
     26         '$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework/Frameworks',
     27       ],
     28       'ldflags': [ '-L<(PRODUCT_DIR)',],
     29       'sources': [
     30         'button.h',
     31         'button.cc',
     32         'chunk_stream.h',
     33         'chunk_stream.cc',
     34         'control.h',
     35         'control.cc',
     36         'document_loader.h',
     37         'document_loader.cc',
     38         'draw_utils.cc',
     39         'draw_utils.h',
     40         'fading_control.cc',
     41         'fading_control.h',
     42         'fading_controls.cc',
     43         'fading_controls.h',
     44         'instance.cc',
     45         'instance.h',
     46         'number_image_generator.cc',
     47         'number_image_generator.h',
     48         'out_of_process_instance.cc',
     49         'out_of_process_instance.h',
     50         'page_indicator.cc',
     51         'page_indicator.h',
     52         'paint_aggregator.cc',
     53         'paint_aggregator.h',
     54         'paint_manager.cc',
     55         'paint_manager.h',
     56         'pdf.cc',
     57         'pdf.h',
     58         'pdf.rc',
     59         'progress_control.cc',
     60         'progress_control.h',
     61         'pdf_engine.h',
     62         'preview_mode_client.cc',
     63         'preview_mode_client.h',
     64         'resource.h',
     65         'resource_consts.h',
     66         'thumbnail_control.cc',
     67         'thumbnail_control.h',
     68         '../chrome/browser/chrome_page_zoom_constants.cc',
     69         '../content/common/page_zoom.cc',
     70       ],
     71       'conditions': [
     72         ['pdf_engine==0', {
     73           'sources': [
     74             'pdfium/pdfium_assert_matching_enums.cc',
     75             'pdfium/pdfium_engine.cc',
     76             'pdfium/pdfium_engine.h',
     77             'pdfium/pdfium_mem_buffer_file_read.cc',
     78             'pdfium/pdfium_mem_buffer_file_read.h',
     79             'pdfium/pdfium_mem_buffer_file_write.cc',
     80             'pdfium/pdfium_mem_buffer_file_write.h',
     81             'pdfium/pdfium_page.cc',
     82             'pdfium/pdfium_page.h',
     83             'pdfium/pdfium_range.cc',
     84             'pdfium/pdfium_range.h',
     85           ],
     86         }],
     87         ['OS!="win"', {
     88           'sources!': [
     89             'pdf.rc',
     90           ],
     91         }],
     92         ['OS=="mac"', {
     93           'mac_bundle': 1,
     94           'product_name': 'PDF',
     95           'product_extension': 'plugin',
     96           # Strip the shipping binary of symbols so "Foxit" doesn't appear in
     97           # the binary.  Symbols are stored in a separate .dSYM.
     98           'variables': {
     99             'mac_real_dsym': 1,
    100           },
    101           'sources+': [
    102             'Info.plist'
    103           ],
    104         }],
    105         ['OS=="win"', {
    106           'defines': [
    107             'COMPILE_CONTENT_STATICALLY',
    108           ],
    109           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    110           'msvs_disabled_warnings': [ 4267, ],
    111         }],
    112         ['OS=="linux"', {
    113           'configurations': {
    114             'Release_Base': {
    115               #'cflags': [ '-fno-weak',],  # get rid of symbols that strip doesn't remove.
    116               # Don't do this for now since official builder will take care of it.  That
    117               # way symbols can still be uploaded to the crash server.
    118               #'ldflags': [ '-s',],  # strip local symbols from binary.
    119             },
    120           },
    121         }],
    122       ],
    123     },
    124   ],
    125   'conditions': [
    126     # CrOS has a separate step to do this.
    127     ['OS=="linux" and chromeos==0',
    128       { 'targets': [
    129         {
    130           'target_name': 'pdf_linux_symbols',
    131           'type': 'none',
    132           'conditions': [
    133             ['linux_dump_symbols==1', {
    134               'actions': [
    135                 {
    136                   'action_name': 'dump_symbols',
    137                   'inputs': [
    138                     '<(DEPTH)/build/linux/dump_app_syms',
    139                     '<(PRODUCT_DIR)/dump_syms',
    140                     '<(PRODUCT_DIR)/libpdf.so',
    141                   ],
    142                   'outputs': [
    143                     '<(PRODUCT_DIR)/libpdf.so.breakpad.<(target_arch)',
    144                   ],
    145                   'action': ['<(DEPTH)/build/linux/dump_app_syms',
    146                              '<(PRODUCT_DIR)/dump_syms',
    147                              '<(linux_strip_binary)',
    148                              '<(PRODUCT_DIR)/libpdf.so',
    149                              '<@(_outputs)'],
    150                   'message': 'Dumping breakpad symbols to <(_outputs)',
    151                   'process_outputs_as_sources': 1,
    152                 },
    153               ],
    154               'dependencies': [
    155                 'pdf',
    156                 '../breakpad/breakpad.gyp:dump_syms',
    157               ],
    158             }],
    159           ],
    160         },
    161       ],
    162     },],  # OS=="linux" and chromeos==0
    163     ['OS=="win" and fastbuild==0 and target_arch=="ia32" and syzyasan==1', {
    164       'variables': {
    165         'dest_dir': '<(PRODUCT_DIR)/syzygy',
    166       },
    167       'targets': [
    168         {
    169           'target_name': 'pdf_syzyasan',
    170           'type': 'none',
    171           'sources' : [],
    172           'dependencies': [
    173             'pdf',
    174           ],
    175           # Instrument PDFium with SyzyAsan.
    176           'actions': [
    177             {
    178               'action_name': 'Instrument PDFium with SyzyAsan',
    179               'inputs': [
    180                 '<(PRODUCT_DIR)/pdf.dll',
    181               ],
    182               'outputs': [
    183                 '<(dest_dir)/pdf.dll',
    184                 '<(dest_dir)/pdf.dll.pdb',
    185               ],
    186               'action': [
    187                 'python',
    188                 '<(DEPTH)/chrome/tools/build/win/syzygy_instrument.py',
    189                 '--mode', 'asan',
    190                 '--input_executable', '<(PRODUCT_DIR)/pdf.dll',
    191                 '--input_symbol', '<(PRODUCT_DIR)/pdf.dll.pdb',
    192                 '--destination_dir', '<(dest_dir)',
    193               ],
    194             },
    195           ],
    196         },
    197       ],
    198     }],  # OS=="win" and fastbuild==0 and target_arch=="ia32" and syzyasan==1
    199   ],
    200 }
    201