Hash :
e3352f94
Author :
Date :
2016-08-12T20:40:14
Change angle_util to be a shared library So that there will be one instance of static thread synchronization variables in AndroidWindow. Previously there was one instance in lib_angle_deqp_gles2_tests__library and one in libangle_deqp_libgles2, resulting in AndroidWindow::initialize waiting forever. Also make the change in GYP build to fix standalone build, and fix rpath issues on Mac. BUG=angleproject:1471 TEST=end2end and deqp tests on standalone Win10 and end2end on GN Mac 10.11 Change-Id: I731578459400bb47d269df129aabed9b67b555e6 Reviewed-on: https://chromium-review.googlesource.com/376202 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
# Copyright (c) 2014 The ANGLE Project 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':
{
'component%': 'static_library',
'use_libpci%': 1,
'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/10',
'angle_build_winrt%': '0',
# This works like the Ozone GBM platform in Chrome:
# - Generic Buffer Manager (gbm) to allocate buffers
# - EGL_EXT_image_dma_buf_import to render into those buffers via EGLImage
# - Direct Rendering Manager + Kernel Mode Setting to scan out from those buffers
# - EGL_PLATFORM_SURFACELESS because there are no native windows
'use_ozone%': 0,
'conditions':
[
['OS=="linux" and use_x11==1 and chromeos==0', {
'angle_use_glx%': 1,
},
{
'angle_use_glx%': 0,
}],
],
# root of the OSX SDK for Chromium builds, the system root for standalone builds
'SDKROOT%': "",
},
'defines':
[
'ANGLE_STANDALONE_BUILD',
],
'msvs_disabled_warnings':
[
4100, # Unreferenced formal parameter. Not interesting.
4127, # conditional expression is constant. Too noisy to be useful.
4718, # Recursive call has no side effects. Fires on xtree system header.
4251, # STL objects do not have DLL interface, needed by ShaderVars.h and angle_util
],
'conditions':
[
['use_ozone==1',
{
'defines': [ 'USE_OZONE' ],
}],
['component=="shared_library"',
{
'defines': [ 'COMPONENT_BUILD' ],
}],
],
'msvs_settings':
{
'VCCLCompilerTool':
{
'PreprocessorDefinitions':
[
'_CRT_SECURE_NO_DEPRECATE',
'_SCL_SECURE_NO_WARNINGS',
'_HAS_EXCEPTIONS=0',
'NOMINMAX',
],
},
'VCLinkerTool':
{
'conditions':
[
['angle_build_winrt==0',
{
'AdditionalDependencies':
[
'kernel32.lib',
'gdi32.lib',
'winspool.lib',
'comdlg32.lib',
'advapi32.lib',
'shell32.lib',
'ole32.lib',
'oleaut32.lib',
'user32.lib',
'uuid.lib',
'odbc32.lib',
'odbccp32.lib',
'delayimp.lib',
],
}],
# winrt compilation is dynamic depending on the project
# type. AdditionalDependencies is automatically configured
# with the required .libs
['angle_build_winrt==1',
{
'AdditionalDependencies':
[
'%(AdditionalDependencies)',
'uuid.lib',
],
}],
],
},
},
# Windows SDK library directories for the configurations
'configurations':
{
'conditions':
[
['angle_build_winrt==0',
{
'x86_Base':
{
'abstract': 1,
'msvs_settings':
{
'VCLinkerTool':
{
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/winv6.3/um/x86',
],
},
'VCLibrarianTool':
{
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/winv6.3/um/x86',
],
},
},
},
'x64_Base':
{
'abstract': 1,
'msvs_settings':
{
'VCLinkerTool':
{
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/winv6.3/um/x64',
],
},
'VCLibrarianTool':
{
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/winv6.3/um/x64',
],
},
},
},
}],
],
},
}