electron/brightray/brightray.gyp

307 lines
13 KiB
Text
Raw Normal View History

2013-03-13 19:12:05 +00:00
{
2015-04-09 02:14:25 +00:00
'variables': {
# The libraries brightray will be compiled to.
2015-12-08 09:02:41 +00:00
'linux_system_libraries': 'gtk+-2.0 libnotify dbus-1 x11 xi xcursor xdamage xrandr xcomposite xext xfixes xrender xtst gconf-2.0 gmodule-2.0 nss'
2015-04-09 02:14:25 +00:00
},
2013-03-13 19:12:05 +00:00
'includes': [
2015-04-09 02:11:28 +00:00
'filenames.gypi',
2013-03-13 19:12:05 +00:00
],
'targets': [
{
'target_name': 'brightray',
'type': 'static_library',
'include_dirs': [
'.',
'<(libchromiumcontent_src_dir)',
'<(libchromiumcontent_src_dir)/skia/config',
'<(libchromiumcontent_src_dir)/third_party/skia/include/core',
2015-04-21 06:30:06 +00:00
'<(libchromiumcontent_src_dir)/third_party/mojo/src',
'<(libchromiumcontent_src_dir)/third_party/WebKit',
'<(libchromiumcontent_dir)/gen',
2013-03-13 19:12:05 +00:00
],
'direct_dependent_settings': {
'include_dirs': [
'.',
'..',
'<(libchromiumcontent_src_dir)',
'<(libchromiumcontent_src_dir)/skia/config',
'<(libchromiumcontent_src_dir)/third_party/skia/include/core',
'<(libchromiumcontent_src_dir)/third_party/icu/source/common',
2015-04-21 06:30:06 +00:00
'<(libchromiumcontent_src_dir)/third_party/mojo/src',
'<(libchromiumcontent_src_dir)/third_party/WebKit',
'<(libchromiumcontent_dir)/gen',
2013-03-13 19:12:05 +00:00
],
},
2015-04-09 02:11:28 +00:00
'sources': [ '<@(brightray_sources)' ],
2013-03-13 19:12:05 +00:00
'conditions': [
# Link with libraries of libchromiumcontent.
['OS=="linux" and libchromiumcontent_component==0', {
# On Linux we have to use "--whole-archive" to force executable
# to include all symbols, otherwise we will have plenty of
# unresolved symbols errors.
'direct_dependent_settings': {
'ldflags': [
'-Wl,--whole-archive',
'<@(libchromiumcontent_libraries)',
'-Wl,--no-whole-archive',
],
}
2015-04-11 05:26:29 +00:00
}, { # (Release build on Linux)
'link_settings': {
'libraries': [ '<@(libchromiumcontent_libraries)' ]
},
2015-04-11 05:26:29 +00:00
}], # (Normal builds)
# Linux specific link settings.
['OS=="linux"', {
'link_settings': {
'ldflags': [
2016-03-09 14:13:33 +00:00
'<!@(<(pkg-config) --libs-only-L --libs-only-other <(linux_system_libraries))',
],
'libraries': [
'-lpthread',
2016-03-09 14:13:33 +00:00
'<!@(<(pkg-config) --libs-only-l <(linux_system_libraries))',
],
},
'cflags': [
2016-03-09 14:13:33 +00:00
'<!@(<(pkg-config) --cflags <(linux_system_libraries))',
# Needed by using libgtk2ui:
'-Wno-deprecated-register',
2015-04-12 08:15:23 +00:00
'-Wno-sentinel',
],
2015-04-22 05:50:27 +00:00
'cflags_cc': [
'-Wno-reserved-user-defined-literal',
],
'direct_dependent_settings': {
'cflags': [
2016-03-09 14:13:33 +00:00
'<!@(<(pkg-config) --cflags <(linux_system_libraries))',
'-Wno-deprecated-register',
2015-04-12 08:15:23 +00:00
'-Wno-sentinel',
],
},
'conditions': [
['libchromiumcontent_component', {
'link_settings': {
'libraries': [
# Following libraries are always linked statically.
'<(libchromiumcontent_dir)/libgtk2ui.a',
'<(libchromiumcontent_dir)/libdevtools_discovery.a',
'<(libchromiumcontent_dir)/libdevtools_http_handler.a',
'<(libchromiumcontent_dir)/libhttp_server.a',
'<(libchromiumcontent_dir)/libdesktop_capture.a',
'<(libchromiumcontent_dir)/libdesktop_capture_differ_sse2.a',
'<(libchromiumcontent_dir)/libsystem_wrappers.a',
'<(libchromiumcontent_dir)/librtc_base.a',
'<(libchromiumcontent_dir)/librtc_base_approved.a',
'<(libchromiumcontent_dir)/libwebrtc_common.a',
'<(libchromiumcontent_dir)/libyuv.a',
2015-11-16 08:03:30 +00:00
'<(libchromiumcontent_dir)/libcdm_renderer.a',
'<(libchromiumcontent_dir)/libsecurity_state.a',
],
},
}, {
'link_settings': {
'libraries': [
2016-02-17 14:20:40 +00:00
# Link with ffmpeg.
'<(libchromiumcontent_dir)/libffmpeg.so',
# Following libraries are required by libchromiumcontent:
'-lasound',
'-lcap',
'-lcups',
'-lrt',
'-ldl',
'-lresolv',
'-lfontconfig',
'-lfreetype',
'-lexpat',
],
},
}],
['target_arch=="arm"', {
'link_settings': {
'libraries!': [
'<(libchromiumcontent_dir)/libdesktop_capture_differ_sse2.a',
],
},
}],
],
2015-04-11 05:26:29 +00:00
}], # OS=="linux"
2013-03-13 19:12:05 +00:00
['OS=="mac"', {
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
2015-12-08 08:52:38 +00:00
# Required by webrtc:
'$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
2015-12-08 08:52:38 +00:00
'$(SDKROOT)/System/Library/Frameworks/IOKit.framework',
2013-03-13 19:12:05 +00:00
],
},
2015-04-11 05:26:29 +00:00
'conditions': [
['libchromiumcontent_component', {
'link_settings': {
'libraries': [
# Following libraries are always linked statically.
'<(libchromiumcontent_dir)/libdevtools_discovery.a',
'<(libchromiumcontent_dir)/libdevtools_http_handler.a',
'<(libchromiumcontent_dir)/libhttp_server.a',
'<(libchromiumcontent_dir)/libdesktop_capture.a',
'<(libchromiumcontent_dir)/libdesktop_capture_differ_sse2.a',
'<(libchromiumcontent_dir)/librtc_base.a',
'<(libchromiumcontent_dir)/librtc_base_approved.a',
'<(libchromiumcontent_dir)/libsystem_wrappers.a',
'<(libchromiumcontent_dir)/libwebrtc_common.a',
'<(libchromiumcontent_dir)/libyuv.a',
2015-11-16 08:03:30 +00:00
'<(libchromiumcontent_dir)/libcdm_renderer.a',
'<(libchromiumcontent_dir)/libsecurity_state.a',
],
},
}, {
2015-04-11 05:26:29 +00:00
'link_settings': {
'libraries': [
2016-02-17 14:20:40 +00:00
# Link with ffmpeg.
'<(libchromiumcontent_dir)/libffmpeg.dylib',
# Link with system frameworks.
2015-04-11 05:26:29 +00:00
# ui_base.gypi:
'$(SDKROOT)/System/Library/Frameworks/Accelerate.framework',
# net.gypi:
'$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
'$(SDKROOT)/System/Library/Frameworks/Security.framework',
'$(SDKROOT)/System/Library/Frameworks/SystemConfiguration.framework',
'-lresolv',
2015-04-11 05:26:29 +00:00
# media.gyp:
'$(SDKROOT)/System/Library/Frameworks/AudioToolbox.framework',
'$(SDKROOT)/System/Library/Frameworks/AudioUnit.framework',
'$(SDKROOT)/System/Library/Frameworks/CoreAudio.framework',
'$(SDKROOT)/System/Library/Frameworks/CoreMIDI.framework',
'$(SDKROOT)/System/Library/Frameworks/CoreVideo.framework',
# surface.gyp:
'$(SDKROOT)/System/Library/Frameworks/IOSurface.framework',
# content_common.gypi:
'$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
# base.gyp:
'$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework',
'$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
'$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
# content_browser.gypi:
'-lbsm',
2015-12-07 14:44:15 +00:00
# content_common.gypi:
'-lsandbox',
2015-04-21 11:05:39 +00:00
# bluetooth.gyp:
'$(SDKROOT)/System/Library/Frameworks/IOBluetooth.framework',
],
2015-04-11 05:26:29 +00:00
},
}],
]
}], # OS=="mac"
['OS=="win"', {
'conditions': [
['libchromiumcontent_component', {
2015-08-04 08:02:44 +00:00
# sandbox, base_static, devtools_discovery, devtools_http_handler,
# http_server are always linked statically.
2015-04-11 05:26:29 +00:00
'link_settings': {
'libraries': [
'<(libchromiumcontent_dir)/base_static.lib',
'<(libchromiumcontent_dir)/sandbox.lib',
2016-03-10 07:11:38 +00:00
'<(libchromiumcontent_dir)/sandbox_helper_win.lib',
'<(libchromiumcontent_dir)/devtools_discovery.lib',
'<(libchromiumcontent_dir)/devtools_http_handler.lib',
2015-08-04 08:02:44 +00:00
'<(libchromiumcontent_dir)/http_server.lib',
'<(libchromiumcontent_dir)/desktop_capture.lib',
'<(libchromiumcontent_dir)/desktop_capture_differ_sse2.lib',
'<(libchromiumcontent_dir)/rtc_base.lib',
'<(libchromiumcontent_dir)/rtc_base_approved.lib',
'<(libchromiumcontent_dir)/system_wrappers.lib',
'<(libchromiumcontent_dir)/webrtc_common.lib',
'<(libchromiumcontent_dir)/libyuv.lib',
2015-11-16 08:03:30 +00:00
'<(libchromiumcontent_dir)/cdm_renderer.lib',
'<(libchromiumcontent_dir)/security_state.lib',
# Friends of pdf.lib:
'<(libchromiumcontent_dir)/pdf.lib',
'<(libchromiumcontent_dir)/ppapi_cpp_objects.lib',
'<(libchromiumcontent_dir)/ppapi_internal_module.lib',
'<(libchromiumcontent_dir)/libjpeg.lib',
'<(libchromiumcontent_dir)/pdfium.lib',
'<(libchromiumcontent_dir)/fdrm.lib',
'<(libchromiumcontent_dir)/formfiller.lib',
'<(libchromiumcontent_dir)/fpdfapi.lib',
'<(libchromiumcontent_dir)/fpdfdoc.lib',
'<(libchromiumcontent_dir)/fpdftext.lib',
'<(libchromiumcontent_dir)/fpdftext.lib',
'<(libchromiumcontent_dir)/fxcodec.lib',
'<(libchromiumcontent_dir)/fxcrt.lib',
'<(libchromiumcontent_dir)/fxedit.lib',
'<(libchromiumcontent_dir)/fxge.lib',
'<(libchromiumcontent_dir)/javascript.lib',
'<(libchromiumcontent_dir)/pdfwindow.lib',
'<(libchromiumcontent_dir)/bigint.lib',
'<(libchromiumcontent_dir)/fx_agg.lib',
'<(libchromiumcontent_dir)/fx_freetype.lib',
'<(libchromiumcontent_dir)/fx_lcms2.lib',
'<(libchromiumcontent_dir)/fx_libopenjpeg.lib',
'<(libchromiumcontent_dir)/fx_zlib.lib',
2015-04-11 05:26:29 +00:00
],
},
}, {
# Link with system libraries.
'link_settings': {
'libraries': [
2016-02-17 14:20:40 +00:00
# Link with ffmpeg.
'<(libchromiumcontent_dir)/ffmpeg.dll',
2015-04-11 05:26:29 +00:00
# content_browser.gypi:
'-lsensorsapi.lib',
'-lportabledeviceguids.lib',
# content_common.gypi:
2015-04-11 05:26:29 +00:00
'-ld3d9.lib',
2015-05-23 03:25:37 +00:00
'-ld3d11.lib',
2015-04-11 05:26:29 +00:00
'-ldxva2.lib',
'-lstrmiids.lib',
'-lmf.lib',
'-lmfplat.lib',
'-lmfuuid.lib',
# media.gyp:
'-lmfreadwrite.lib',
2015-04-06 07:03:53 +00:00
],
2015-04-11 05:26:29 +00:00
'msvs_settings': {
'VCLinkerTool': {
'AdditionalDependencies': [
'advapi32.lib',
'dbghelp.lib',
2015-08-21 08:19:57 +00:00
'delayimp.lib',
2015-04-11 05:26:29 +00:00
'dwmapi.lib',
'gdi32.lib',
'netapi32.lib',
'oleacc.lib',
'user32.lib',
'usp10.lib',
'version.lib',
'winspool.lib',
2016-03-13 01:10:56 +00:00
# base.gyp:
'powrprof.lib',
2015-04-11 05:26:29 +00:00
],
'DelayLoadDLLs': [
# content_common.gypi:
'd3d9.dll',
'dxva2.dll',
# media.gyp:
2015-04-11 05:26:29 +00:00
'mf.dll',
'mfplat.dll',
'mfreadwrite.dll',
# bluetooth.gyp:
'BluetoothApis.dll',
'Bthprops.cpl',
'setupapi.dll',
2016-03-13 01:10:56 +00:00
# base.gyp:
'powrprof.dll',
2015-11-11 02:04:09 +00:00
# windows runtime
'API-MS-WIN-CORE-WINRT-L1-1-0.DLL',
'API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL',
2015-04-11 05:26:29 +00:00
],
},
},
2015-04-06 07:03:53 +00:00
},
2015-04-11 05:26:29 +00:00
}], # libchromiumcontent_component
],
}], # OS=="win"
2013-03-13 19:12:05 +00:00
],
},
],
}