cef/cef.gyp

593 lines
21 KiB
Python

# Copyright (c) 2009 The Chromium Embedded Framework Authors. All rights
# reserved. Use of this source code is governed by a BSD-style license that
# can be found in the LICENSE file.
{
'variables': {
'chromium_code': 1,
},
'targets': [
{
'target_name': 'cefclient',
'type': 'executable',
'mac_bundle': 1,
'msvs_guid': '6617FED9-C5D4-4907-BF55-A90062A6683F',
'dependencies': [
'../third_party/npapi/npapi.gyp:npapi',
'libcef',
'libcef_dll_wrapper',
],
'defines': [
'USING_CEF_SHARED',
],
'include_dirs': [
'.',
'..',
],
'sources': [
'tests/cefclient/binding_test.cpp',
'tests/cefclient/binding_test.h',
'tests/cefclient/cefclient.cpp',
'tests/cefclient/cefclient.h',
'tests/cefclient/download_handler.cpp',
'tests/cefclient/download_handler.h',
'tests/cefclient/extension_test.cpp',
'tests/cefclient/extension_test.h',
'tests/cefclient/resource_util.h',
'tests/cefclient/scheme_test.cpp',
'tests/cefclient/scheme_test.h',
'tests/cefclient/string_util.cpp',
'tests/cefclient/string_util.h',
'tests/cefclient/util.h',
],
'mac_bundle_resources': [
'tests/cefclient/mac/cefclient.icns',
'tests/cefclient/mac/data/',
'tests/cefclient/mac/English.lproj/InfoPlist.strings',
'tests/cefclient/mac/English.lproj/MainMenu.xib',
'tests/cefclient/mac/Info.plist',
],
'mac_bundle_resources!': [
# TODO(mark): Come up with a fancier way to do this (mac_info_plist?)
# that automatically sets the correct INFOPLIST_FILE setting and adds
# the file to a source group.
'tests/cefclient/mac/Info.plist',
],
'xcode_settings': {
'INFOPLIST_FILE': 'tests/cefclient/mac/Info.plist',
},
'conditions': [
['OS=="win"', {
'msvs_settings': {
'VCLinkerTool': {
# Set /SUBSYSTEM:WINDOWS.
'SubSystem': '2',
'EntryPointSymbol' : 'wWinMainCRTStartup',
},
},
'link_settings': {
'libraries': [
'-lcomctl32.lib',
'-lshlwapi.lib',
'-lrpcrt4.lib',
'-lopengl32.lib',
'-lglu32.lib',
],
},
'sources': [
'tests/cefclient/cefclient.ico',
'tests/cefclient/cefclient.rc',
'tests/cefclient/cefclient_win.cpp',
'tests/cefclient/clientplugin.cpp',
'tests/cefclient/clientplugin.h',
'tests/cefclient/plugin_test.cpp',
'tests/cefclient/plugin_test.h',
'tests/cefclient/Resource.h',
'tests/cefclient/res/cefclient.ico',
'tests/cefclient/res/logo.jpg',
'tests/cefclient/res/logoball.jpg',
'tests/cefclient/res/small.ico',
'tests/cefclient/res/uiplugin.html',
'tests/cefclient/resource_util_win.cpp',
'tests/cefclient/uiplugin.cpp',
'tests/cefclient/uiplugin.h',
'tests/cefclient/uiplugin_test.cpp',
'tests/cefclient/uiplugin_test.h',
],
}],
[ 'OS=="mac"', {
'product_name': 'cefclient',
'variables': {
'repack_path': '../tools/data_pack/repack.py',
},
'actions': [
{
# TODO(mark): Make this work with more languages than the
# hardcoded en-US.
'action_name': 'repack_locale',
'variables': {
'pak_inputs': [
'<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak',
'<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak',
'<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.pak',
],
},
'inputs': [
'<(repack_path)',
'<@(pak_inputs)',
],
'outputs': [
'<(INTERMEDIATE_DIR)/repack/cefclient.pak',
],
'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'],
'process_outputs_as_mac_bundle_resources': 1,
},
],
'copies': [
{
# Add library dependencies and app launcher script to the bundle.
'destination': '<(PRODUCT_DIR)/cefclient.app/Contents/MacOS/',
'files': [
'<(PRODUCT_DIR)/libcef.dylib',
'<(PRODUCT_DIR)/libffmpegsumo.dylib',
'tests/cefclient/cefclient_mac_app.sh',
],
},
{
# Add the WebCore resources to the bundle.
'destination': '<(PRODUCT_DIR)/cefclient.app/Contents/',
'files': [
'../third_party/WebKit/WebCore/Resources/',
],
},
],
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
],
},
'sources': [
'tests/cefclient/cefclient_mac.mm',
],
}],
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
'sources': [
'tests/cefclient/cefclient_gtk.cpp',
],
}],
],
},
{
'target_name': 'cef_unittests',
'type': 'executable',
'msvs_guid': '8500027C-B11A-11DE-A16E-B80256D89593',
'dependencies': [
'../base/base.gyp:base',
'../base/base.gyp:base_i18n',
'../base/base.gyp:test_support_base',
'../testing/gtest.gyp:gtest',
'../third_party/icu/icu.gyp:icui18n',
'../third_party/icu/icu.gyp:icuuc',
'libcef',
'libcef_dll_wrapper',
],
'sources': [
'tests/unittests/request_unittest.cc',
'tests/unittests/run_all_unittests.cc',
'tests/unittests/stream_unittest.cc',
'tests/unittests/string_unittest.cc',
'tests/unittests/test_handler.h',
'tests/unittests/test_suite.h',
'tests/unittests/v8_unittest.cc',
'tests/unittests/xml_reader_unittest.cc',
'tests/unittests/zip_reader_unittest.cc',
],
'include_dirs': [
'.',
'..',
],
},
{
'target_name': 'patcher',
'type': 'none',
'msvs_guid': 'A6D0953E-899E-4C60-AB6B-CAE75A44B8E6',
'conditions': [
['OS=="win"', {
'actions': [{
'action_name': 'patch_source',
'msvs_cygwin_shell': 0,
'inputs': [
'tools/patch_source.bat',
],
'outputs': [
'tools/patch_source.bat.output',
],
'action': ['', '<@(_inputs)'],
}],
}, { # OS!="win"
'actions': [{
'action_name': 'patch_source',
'inputs': [
'tools/patch_source.sh',
],
'outputs': [
'tools/patch_source.sh.output',
],
'action': ['<@(_inputs)'],
}],
}],
],
},
{
'target_name': 'libcef',
'type': 'shared_library',
'msvs_guid': 'C13650D5-CF1A-4259-BE45-B1EBA6280E47',
'dependencies': [
'../app/app.gyp:app_base',
'../base/base.gyp:base',
'../base/base.gyp:base_i18n',
'../build/temp_gyp/googleurl.gyp:googleurl',
'../gfx/gfx.gyp:gfx',
'../media/media.gyp:media',
'../net/net.gyp:net',
'../net/net.gyp:net_resources',
'../printing/printing.gyp:printing',
'../sdch/sdch.gyp:sdch',
'../skia/skia.gyp:skia',
'../third_party/bzip2/bzip2.gyp:bzip2',
'../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
'../third_party/icu/icu.gyp:icui18n',
'../third_party/icu/icu.gyp:icuuc',
'../third_party/libjpeg/libjpeg.gyp:libjpeg',
'../third_party/libpng/libpng.gyp:libpng',
'../third_party/libxml/libxml.gyp:libxml',
'../third_party/libxslt/libxslt.gyp:libxslt',
'../third_party/modp_b64/modp_b64.gyp:modp_b64',
'../third_party/WebKit/WebCore/WebCore.gyp/WebCore.gyp:webcore',
'../third_party/WebKit/WebKit/chromium/WebKit.gyp:webkit',
'../third_party/zlib/zlib.gyp:zlib',
'../webkit/support/webkit_support.gyp:appcache',
'../webkit/support/webkit_support.gyp:blob',
'../webkit/support/webkit_support.gyp:database',
'../webkit/support/webkit_support.gyp:fileapi',
'../webkit/support/webkit_support.gyp:glue',
'../webkit/support/webkit_support.gyp:webkit_resources',
'../webkit/support/webkit_support.gyp:webkit_strings',
'libcef_static',
],
'defines': [
'BUILDING_CEF_SHARED',
],
'include_dirs': [
'.',
'..',
],
# Avoid "RC1102: internal error : too many arguments to RCPP" error by
# explicitly specifying a short list of resource include directories.
'resource_include_dirs' : [
'.',
'..',
],
'sources': [
'include/cef.h',
'include/cef_capi.h',
'include/cef_export.h',
'include/cef_nplugin.h',
'include/cef_nplugin_capi.h',
'include/cef_ptr.h',
'include/cef_string.h',
'include/cef_string_list.h',
'include/cef_string_map.h',
'include/cef_string_types.h',
'include/cef_string_wrappers.h',
'include/cef_types.h',
'libcef_dll/cef_logging.h',
'libcef_dll/cpptoc/browser_cpptoc.cc',
'libcef_dll/cpptoc/browser_cpptoc.h',
'libcef_dll/cpptoc/cpptoc.h',
'libcef_dll/cpptoc/frame_cpptoc.cc',
'libcef_dll/cpptoc/frame_cpptoc.h',
'libcef_dll/cpptoc/post_data_cpptoc.cc',
'libcef_dll/cpptoc/post_data_cpptoc.h',
'libcef_dll/cpptoc/post_data_element_cpptoc.cc',
'libcef_dll/cpptoc/post_data_element_cpptoc.h',
'libcef_dll/cpptoc/request_cpptoc.cc',
'libcef_dll/cpptoc/request_cpptoc.h',
'libcef_dll/cpptoc/stream_reader_cpptoc.cc',
'libcef_dll/cpptoc/stream_reader_cpptoc.h',
'libcef_dll/cpptoc/stream_writer_cpptoc.cc',
'libcef_dll/cpptoc/stream_writer_cpptoc.h',
'libcef_dll/cpptoc/v8value_cpptoc.cc',
'libcef_dll/cpptoc/v8value_cpptoc.h',
'libcef_dll/cpptoc/xml_reader_cpptoc.cc',
'libcef_dll/cpptoc/xml_reader_cpptoc.h',
'libcef_dll/cpptoc/zip_reader_cpptoc.cc',
'libcef_dll/cpptoc/zip_reader_cpptoc.h',
'libcef_dll/ctocpp/ctocpp.h',
'libcef_dll/ctocpp/download_handler_ctocpp.cc',
'libcef_dll/ctocpp/download_handler_ctocpp.h',
'libcef_dll/ctocpp/handler_ctocpp.cc',
'libcef_dll/ctocpp/handler_ctocpp.h',
'libcef_dll/ctocpp/read_handler_ctocpp.cc',
'libcef_dll/ctocpp/read_handler_ctocpp.h',
'libcef_dll/ctocpp/scheme_handler_ctocpp.cc',
'libcef_dll/ctocpp/scheme_handler_ctocpp.h',
'libcef_dll/ctocpp/scheme_handler_factory_ctocpp.cc',
'libcef_dll/ctocpp/scheme_handler_factory_ctocpp.h',
'libcef_dll/ctocpp/task_ctocpp.cc',
'libcef_dll/ctocpp/task_ctocpp.h',
'libcef_dll/ctocpp/v8handler_ctocpp.cc',
'libcef_dll/ctocpp/v8handler_ctocpp.h',
'libcef_dll/ctocpp/write_handler_ctocpp.cc',
'libcef_dll/ctocpp/write_handler_ctocpp.h',
'libcef_dll/libcef_dll.cc',
'libcef_dll/resource.h',
'libcef_dll/transfer_util.cpp',
'libcef_dll/transfer_util.h',
],
'conditions': [
['OS=="win"', {
'dependencies': [
'../breakpad/breakpad.gyp:breakpad_handler',
],
'sources': [
'$(OutDir)/obj/global_intermediate/webkit/webkit_resources.rc',
'$(OutDir)/obj/global_intermediate/webkit/webkit_strings_en-US.rc',
'include/cef_types_win.h',
'include/cef_win.h',
'libcef_dll/libcef_dll.rc',
],
'link_settings': {
'libraries': [
'-lcomctl32.lib',
],
},
}]
],
},
{
'target_name': 'libcef_dll_wrapper',
'type': 'static_library',
'msvs_guid': 'A9D6DC71-C0DC-4549-AEA0-3B15B44E86A9',
'dependencies': [
'../third_party/npapi/npapi.gyp:npapi',
'libcef',
],
'defines': [
'USING_CEF_SHARED',
],
'include_dirs': [
'.',
'..',
],
'sources': [
'include/cef_wrapper.h',
'libcef_dll/cef_logging.h',
'libcef_dll/cpptoc/cpptoc.h',
'libcef_dll/cpptoc/download_handler_cpptoc.cc',
'libcef_dll/cpptoc/download_handler_cpptoc.h',
'libcef_dll/cpptoc/handler_cpptoc.cc',
'libcef_dll/cpptoc/handler_cpptoc.h',
'libcef_dll/cpptoc/read_handler_cpptoc.cc',
'libcef_dll/cpptoc/read_handler_cpptoc.h',
'libcef_dll/cpptoc/scheme_handler_cpptoc.cc',
'libcef_dll/cpptoc/scheme_handler_cpptoc.h',
'libcef_dll/cpptoc/scheme_handler_factory_cpptoc.cc',
'libcef_dll/cpptoc/scheme_handler_factory_cpptoc.h',
'libcef_dll/cpptoc/v8handler_cpptoc.cc',
'libcef_dll/cpptoc/v8handler_cpptoc.h',
'libcef_dll/cpptoc/write_handler_cpptoc.cc',
'libcef_dll/cpptoc/write_handler_cpptoc.h',
'libcef_dll/ctocpp/browser_ctocpp.cc',
'libcef_dll/ctocpp/browser_ctocpp.h',
'libcef_dll/ctocpp/ctocpp.h',
'libcef_dll/ctocpp/frame_ctocpp.cc',
'libcef_dll/ctocpp/frame_ctocpp.h',
'libcef_dll/ctocpp/post_data_ctocpp.cc',
'libcef_dll/ctocpp/post_data_ctocpp.h',
'libcef_dll/ctocpp/post_data_element_ctocpp.cc',
'libcef_dll/ctocpp/post_data_element_ctocpp.h',
'libcef_dll/ctocpp/request_ctocpp.cc',
'libcef_dll/ctocpp/request_ctocpp.h',
'libcef_dll/ctocpp/stream_reader_ctocpp.cc',
'libcef_dll/ctocpp/stream_reader_ctocpp.h',
'libcef_dll/ctocpp/stream_writer_ctocpp.cc',
'libcef_dll/ctocpp/stream_writer_ctocpp.h',
'libcef_dll/cpptoc/task_cpptoc.cc',
'libcef_dll/cpptoc/task_cpptoc.h',
'libcef_dll/ctocpp/v8value_ctocpp.cc',
'libcef_dll/ctocpp/v8value_ctocpp.h',
'libcef_dll/ctocpp/xml_reader_ctocpp.cc',
'libcef_dll/ctocpp/xml_reader_ctocpp.h',
'libcef_dll/ctocpp/zip_reader_ctocpp.cc',
'libcef_dll/ctocpp/zip_reader_ctocpp.h',
'libcef_dll/transfer_util.cpp',
'libcef_dll/transfer_util.h',
'libcef_dll/wrapper/cef_byte_read_handler.cc',
'libcef_dll/wrapper/cef_xml_object.cc',
'libcef_dll/wrapper/cef_zip_archive.cc',
'libcef_dll/wrapper/libcef_dll_wrapper.cc',
],
},
{
'target_name': 'libcef_static',
'type': 'static_library',
'msvs_guid': 'FA39524D-3067-4141-888D-28A86C66F2B9',
'defines': [
'BUILDING_CEF_SHARED',
],
'include_dirs': [
'.',
'..',
'../third_party/WebKit/WebKit/chromium/public'
],
'dependencies': [
'../app/app.gyp:app_base',
'../base/base.gyp:base',
'../base/base.gyp:base_i18n',
'../build/temp_gyp/googleurl.gyp:googleurl',
'../gfx/gfx.gyp:gfx',
'../media/media.gyp:media',
'../net/net.gyp:net',
'../net/net.gyp:net_resources',
'../printing/printing.gyp:printing',
'../sdch/sdch.gyp:sdch',
'../skia/skia.gyp:skia',
'../third_party/bzip2/bzip2.gyp:bzip2',
'../third_party/ffmpeg/ffmpeg.gyp:ffmpeg',
'../third_party/icu/icu.gyp:icui18n',
'../third_party/icu/icu.gyp:icuuc',
'../third_party/libjpeg/libjpeg.gyp:libjpeg',
'../third_party/libpng/libpng.gyp:libpng',
'../third_party/libxml/libxml.gyp:libxml',
'../third_party/libxslt/libxslt.gyp:libxslt',
'../third_party/modp_b64/modp_b64.gyp:modp_b64',
'../third_party/WebKit/WebCore/WebCore.gyp/WebCore.gyp:webcore',
'../third_party/WebKit/WebKit/chromium/WebKit.gyp:webkit',
'../third_party/zlib/zlib.gyp:zlib',
'../webkit/support/webkit_support.gyp:appcache',
'../webkit/support/webkit_support.gyp:blob',
'../webkit/support/webkit_support.gyp:database',
'../webkit/support/webkit_support.gyp:fileapi',
'../webkit/support/webkit_support.gyp:glue',
'../webkit/support/webkit_support.gyp:webkit_resources',
'../webkit/support/webkit_support.gyp:webkit_strings',
],
'sources': [
'include/cef.h',
'include/cef_export.h',
'include/cef_nplugin.h',
'include/cef_ptr.h',
'include/cef_string.h',
'include/cef_string_list.h',
'include/cef_string_map.h',
'include/cef_string_types.h',
'include/cef_string_wrappers.h',
'include/cef_types.h',
'libcef/browser_appcache_system.cc',
'libcef/browser_appcache_system.h',
'libcef/browser_database_system.cc',
'libcef/browser_database_system.h',
'libcef/browser_file_system.cc',
'libcef/browser_file_system.h',
'libcef/browser_file_writer.cc',
'libcef/browser_file_writer.h',
'libcef/browser_impl.cc',
'libcef/browser_impl.h',
'libcef/browser_navigation_controller.cc',
'libcef/browser_navigation_controller.h',
'libcef/browser_request_context.cc',
'libcef/browser_request_context.h',
'libcef/browser_resource_loader_bridge.cc',
'libcef/browser_resource_loader_bridge.h',
'libcef/browser_settings.cc',
'libcef/browser_settings.h',
'libcef/browser_socket_stream_bridge.cc',
'libcef/browser_socket_stream_bridge.h',
'libcef/browser_web_worker.h',
'libcef/browser_webcookiejar_impl.cc',
'libcef/browser_webcookiejar_impl.h',
'libcef/browser_webblobregistry_impl.cc',
'libcef/browser_webblobregistry_impl.h',
'libcef/browser_webstoragearea_impl.cc',
'libcef/browser_webstoragearea_impl.h',
'libcef/browser_webstoragenamespace_impl.cc',
'libcef/browser_webstoragenamespace_impl.h',
'libcef/browser_webkit_glue.cc',
'libcef/browser_webkit_glue.h',
'libcef/browser_webkit_init.h',
'libcef/browser_webview_delegate.cc',
'libcef/browser_webview_delegate.h',
'libcef/cef_context.cc',
'libcef/cef_context.h',
'libcef/cef_process.cc',
'libcef/cef_process.h',
'libcef/cef_process_io_thread.cc',
'libcef/cef_process_io_thread.h',
'libcef/cef_process_sub_thread.cc',
'libcef/cef_process_sub_thread.h',
'libcef/cef_process_ui_thread.cc',
'libcef/cef_process_ui_thread.h',
'libcef/cef_string_list.cc',
'libcef/cef_string_map.cc',
'libcef/cef_string_types.cc',
'libcef/cef_thread.cc',
'libcef/cef_thread.h',
'libcef/dom_storage_area.cc',
'libcef/dom_storage_area.h',
'libcef/dom_storage_common.h',
'libcef/dom_storage_context.cc',
'libcef/dom_storage_context.h',
'libcef/dom_storage_namespace.cc',
'libcef/dom_storage_namespace.h',
'libcef/request_impl.cc',
'libcef/request_impl.h',
'libcef/scheme_impl.cc',
'libcef/simple_clipboard_impl.cc',
'libcef/stream_impl.cc',
'libcef/stream_impl.h',
'libcef/tracker.h',
'libcef/v8_impl.cc',
'libcef/v8_impl.h',
'libcef/webview_host.h',
'libcef/webwidget_host.h',
'libcef/xml_reader_impl.cc',
'libcef/xml_reader_impl.h',
'libcef/zip_reader_impl.cc',
'libcef/zip_reader_impl.h',
],
'conditions': [
['OS=="win"', {
'dependencies': [
'../breakpad/breakpad.gyp:breakpad_handler',
],
'sources': [
'include/cef_types_win.h',
'include/cef_win.h',
'libcef/browser_drag_delegate.cc',
'libcef/browser_drag_delegate.h',
'libcef/browser_drop_delegate.cc',
'libcef/browser_drop_delegate.h',
'libcef/browser_impl_win.cc',
'libcef/browser_webkit_glue_win.cc',
'libcef/browser_webview_delegate_win.cc',
'libcef/cef_process_ui_thread_win.cc',
'libcef/printing/print_settings.cc',
'libcef/printing/print_settings.h',
'libcef/printing/win_printing_context.cc',
'libcef/printing/win_printing_context.h',
'libcef/webview_host_win.cc',
'libcef/webwidget_host_win.cc',
],
}],
[ 'OS=="mac"', {
'sources': [
'include/cef_types_mac.h',
'include/cef_mac.h',
'libcef/browser_impl_mac.mm',
'libcef/browser_webkit_glue_mac.mm',
'libcef/browser_webview_delegate_mac.mm',
'libcef/browser_webview_mac.h',
'libcef/browser_webview_mac.mm',
'libcef/cef_process_ui_thread_mac.mm',
'libcef/webview_host_mac.mm',
'libcef/webwidget_host_mac.mm',
],
}],
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
'sources': [
'include/cef_types_linux.h',
'include/cef_linux.h',
'libcef/browser_impl_gtk.cc',
'libcef/browser_webkit_glue_gtk.cc',
'libcef/browser_webview_delegate_gtk.cc',
'libcef/cef_process_ui_thread_gtk.cc',
'libcef/webview_host_gtk.cc',
'libcef/webwidget_host_gtk.cc',
],
}],
],
},
]
}