diff options
author | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-06 19:32:47 +0000 |
---|---|---|
committer | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-06 19:32:47 +0000 |
commit | d49273933d3348c8bc80954003740446fcdce475 (patch) | |
tree | 5fc8af9f0a2e7b09233e66cfc956912aa803d7e5 | |
parent | 5adc1a756b2054a7f6e2b427974ed723b8b8ece8 (diff) | |
download | chromium_src-d49273933d3348c8bc80954003740446fcdce475.zip chromium_src-d49273933d3348c8bc80954003740446fcdce475.tar.gz chromium_src-d49273933d3348c8bc80954003740446fcdce475.tar.bz2 |
Revert 198503 "Revert 198495 "Build libpeerconnection as a loada..."
(was a false positive revert)
> Revert 198495 "Build libpeerconnection as a loadable module for ..."
>
> > Build libpeerconnection as a loadable module for win, mac and linux by default. Also remove the allocator shim variable since it's no longer needed.
> >
> > This requires updating .isolate files for some try bots.
> > In practice, I've only seen failures in interactive_ui_tests because of this change, but I'm being a bit proactive here and making sure that libpeerconnection.so exists with test hosts that have tests that depend on it.
> >
> > BUG=238207
> > R=csharp@chromium.org, ronghuawu@chromium.org
> >
> > Review URL: https://codereview.chromium.org/14907003
>
> TBR=tommi@chromium.org
>
> Review URL: https://codereview.chromium.org/15005004
TBR=tommi@chromium.org
Review URL: https://codereview.chromium.org/14919005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198507 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser_tests.isolate | 15 | ||||
-rw-r--r-- | chrome/chrome.isolate | 4 | ||||
-rw-r--r-- | chrome/interactive_ui_tests.isolate | 3 | ||||
-rw-r--r-- | chrome/sync_integration_tests.isolate | 2 | ||||
-rw-r--r-- | chrome/unit_tests.isolate | 3 | ||||
-rw-r--r-- | content/content_browsertests.isolate | 5 | ||||
-rw-r--r-- | content/content_unittests.isolate | 3 | ||||
-rw-r--r-- | third_party/libjingle/libjingle.gyp | 15 | ||||
-rw-r--r-- | third_party/libjingle/overrides/init_webrtc.cc | 19 |
9 files changed, 55 insertions, 14 deletions
diff --git a/chrome/browser_tests.isolate b/chrome/browser_tests.isolate index a7eb600..1fff561 100644 --- a/chrome/browser_tests.isolate +++ b/chrome/browser_tests.isolate @@ -14,15 +14,16 @@ ], 'isolate_dependency_tracked': [ '../testing/xvfb.py', - '<(PRODUCT_DIR)/DumpRenderTree<(EXECUTABLE_SUFFIX)', '<(PRODUCT_DIR)/chrome.pak', '<(PRODUCT_DIR)/chrome<(EXECUTABLE_SUFFIX)', + '<(PRODUCT_DIR)/DumpRenderTree<(EXECUTABLE_SUFFIX)', + '<(PRODUCT_DIR)/lib/libpeerconnection.so', '<(PRODUCT_DIR)/libclearkeycdm.so', '<(PRODUCT_DIR)/libclearkeycdmadapter.so', '<(PRODUCT_DIR)/libffmpegsumo.so', '<(PRODUCT_DIR)/libosmesa.so', - '<(PRODUCT_DIR)/libppGoogleNaClPluginChrome.so', '<(PRODUCT_DIR)/libppapi_tests.so', + '<(PRODUCT_DIR)/libppGoogleNaClPluginChrome.so', '<(PRODUCT_DIR)/nacl_helper<(EXECUTABLE_SUFFIX)', '<(PRODUCT_DIR)/nacl_helper_bootstrap<(EXECUTABLE_SUFFIX)', '<(PRODUCT_DIR)/xdisplaycheck<(EXECUTABLE_SUFFIX)', @@ -100,10 +101,11 @@ 'variables': { 'isolate_dependency_tracked': [ '<(PRODUCT_DIR)/ffmpegsumo.so', - '<(PRODUCT_DIR)/plugins/TestNetscapePlugIn.plugin/Contents/Info.plist', - '<(PRODUCT_DIR)/plugins/TestNetscapePlugIn.plugin/Contents/MacOS/TestNetscapePlugIn', + '<(PRODUCT_DIR)/libpeerconnection.so', '<(PRODUCT_DIR)/plugins/npapi_test_plugin.plugin/Contents/Info.plist', '<(PRODUCT_DIR)/plugins/npapi_test_plugin.plugin/Contents/MacOS/npapi_test_plugin', + '<(PRODUCT_DIR)/plugins/TestNetscapePlugIn.plugin/Contents/Info.plist', + '<(PRODUCT_DIR)/plugins/TestNetscapePlugIn.plugin/Contents/MacOS/TestNetscapePlugIn', '<(PRODUCT_DIR)/ppapi_nacl_tests_pnacl_newlib_x32.nexe', '<(PRODUCT_DIR)/ppapi_tests.plugin/Contents/MacOS/ppapi_tests', ], @@ -129,18 +131,19 @@ '../native_client/build/build_nexe.py', '../third_party/cygwin/bin/bash.exe', '../third_party/cygwin/setup_mount.bat', - '<(PRODUCT_DIR)/D3DCompiler_43.dll', '<(PRODUCT_DIR)/clearkeycdm.dll', '<(PRODUCT_DIR)/clearkeycdmadapter.dll', + '<(PRODUCT_DIR)/D3DCompiler_43.dll', '<(PRODUCT_DIR)/d3dcompiler_46.dll', '<(PRODUCT_DIR)/ffmpegsumo.dll', '<(PRODUCT_DIR)/icudt.dll', '<(PRODUCT_DIR)/libEGL.dll', '<(PRODUCT_DIR)/libGLESv2.dll', + '<(PRODUCT_DIR)/libpeerconnection.dll', '<(PRODUCT_DIR)/nacl64<(EXECUTABLE_SUFFIX)', '<(PRODUCT_DIR)/osmesa.dll', - '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll', '<(PRODUCT_DIR)/ppapi_tests.dll', + '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll', '<(PRODUCT_DIR)/security_tests.dll', 'tools/build/repack_locales.py', ], diff --git a/chrome/chrome.isolate b/chrome/chrome.isolate index 86233c4..d115c8e 100644 --- a/chrome/chrome.isolate +++ b/chrome/chrome.isolate @@ -7,6 +7,7 @@ 'variables': { 'isolate_dependency_tracked': [ '<(PRODUCT_DIR)/chrome.pak', + '<(PRODUCT_DIR)/lib/libpeerconnection.so', '<(PRODUCT_DIR)/libclearkeycdm.so', '<(PRODUCT_DIR)/libclearkeycdmadapter.so', '<(PRODUCT_DIR)/libffmpegsumo.so', @@ -51,15 +52,16 @@ ['OS=="win"', { 'variables': { 'isolate_dependency_tracked': [ - '<(PRODUCT_DIR)/D3DCompiler_43.dll', '<(PRODUCT_DIR)/chrome.dll', '<(PRODUCT_DIR)/clearkeycdm.dll', '<(PRODUCT_DIR)/clearkeycdmadapter.dll', + '<(PRODUCT_DIR)/D3DCompiler_43.dll', '<(PRODUCT_DIR)/d3dcompiler_46.dll', '<(PRODUCT_DIR)/ffmpegsumo.dll', '<(PRODUCT_DIR)/icudt.dll', '<(PRODUCT_DIR)/libEGL.dll', '<(PRODUCT_DIR)/libGLESv2.dll', + '<(PRODUCT_DIR)/libpeerconnection.dll', '<(PRODUCT_DIR)/nacl64<(EXECUTABLE_SUFFIX)', '<(PRODUCT_DIR)/osmesa.dll', '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll', diff --git a/chrome/interactive_ui_tests.isolate b/chrome/interactive_ui_tests.isolate index ca57765..cf3b315 100644 --- a/chrome/interactive_ui_tests.isolate +++ b/chrome/interactive_ui_tests.isolate @@ -15,6 +15,7 @@ 'isolate_dependency_tracked': [ '../testing/xvfb.py', '<(PRODUCT_DIR)/chrome.pak', + '<(PRODUCT_DIR)/lib/libpeerconnection.so', '<(PRODUCT_DIR)/libffmpegsumo.so', '<(PRODUCT_DIR)/locales/fr.pak', '<(PRODUCT_DIR)/pyproto/google/__init__.py', @@ -62,6 +63,7 @@ 'variables': { 'isolate_dependency_tracked': [ '<(PRODUCT_DIR)/ffmpegsumo.so', + '<(PRODUCT_DIR)/libpeerconnection.so', ], 'isolate_dependency_untracked': [ '<(PRODUCT_DIR)/Chromium Framework.framework/', @@ -89,6 +91,7 @@ '<(PRODUCT_DIR)/icudt.dll', '<(PRODUCT_DIR)/libEGL.dll', '<(PRODUCT_DIR)/libGLESv2.dll', + '<(PRODUCT_DIR)/libpeerconnection.dll', '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll', ], 'isolate_dependency_untracked': [ diff --git a/chrome/sync_integration_tests.isolate b/chrome/sync_integration_tests.isolate index 76cf74e..84a6186 100644 --- a/chrome/sync_integration_tests.isolate +++ b/chrome/sync_integration_tests.isolate @@ -16,6 +16,7 @@ '../testing/xvfb.py', '<(PRODUCT_DIR)/chrome.pak', '<(PRODUCT_DIR)/chrome_100_percent.pak', + '<(PRODUCT_DIR)/lib/libpeerconnection.so', '<(PRODUCT_DIR)/libffmpegsumo.so', '<(PRODUCT_DIR)/libppGoogleNaClPluginChrome.so', '<(PRODUCT_DIR)/locales/en-US.pak', @@ -57,6 +58,7 @@ '<(PRODUCT_DIR)/sync_integration_tests<(EXECUTABLE_SUFFIX)', ], 'isolate_dependency_tracked': [ + '<(PRODUCT_DIR)/libpeerconnection.so', '<(PRODUCT_DIR)/ffmpegsumo.so', ], 'isolate_dependency_untracked': [ diff --git a/chrome/unit_tests.isolate b/chrome/unit_tests.isolate index 7bf9a51..6679932 100644 --- a/chrome/unit_tests.isolate +++ b/chrome/unit_tests.isolate @@ -14,6 +14,7 @@ 'isolate_dependency_tracked': [ '../testing/xvfb.py', '<(PRODUCT_DIR)/chrome.pak', + '<(PRODUCT_DIR)/lib/libpeerconnection.so', '<(PRODUCT_DIR)/libffmpegsumo.so', '<(PRODUCT_DIR)/locales/fr.pak', '<(PRODUCT_DIR)/xdisplaycheck<(EXECUTABLE_SUFFIX)', @@ -64,6 +65,7 @@ 'variables': { 'isolate_dependency_tracked': [ '<(PRODUCT_DIR)/ffmpegsumo.so', + '<(PRODUCT_DIR)/libpeerconnection.so', ], 'isolate_dependency_untracked': [ '<(PRODUCT_DIR)/Chromium Framework.framework/', @@ -89,6 +91,7 @@ 'isolate_dependency_tracked': [ '<(PRODUCT_DIR)/ffmpegsumo.dll', '<(PRODUCT_DIR)/icudt.dll', + '<(PRODUCT_DIR)/libpeerconnection.dll', ], 'isolate_dependency_untracked': [ '../ppapi/lib/gl/include/KHR/', diff --git a/content/content_browsertests.isolate b/content/content_browsertests.isolate index 2ed7523..ec5134b 100644 --- a/content/content_browsertests.isolate +++ b/content/content_browsertests.isolate @@ -29,6 +29,7 @@ 'isolate_dependency_tracked': [ '<(PRODUCT_DIR)/content_shell.pak', '<(PRODUCT_DIR)/fonts.conf', + '<(PRODUCT_DIR)/lib/libpeerconnection.so', '<(PRODUCT_DIR)/libclearkeycdm.so', '<(PRODUCT_DIR)/libclearkeycdmadapter.so', '<(PRODUCT_DIR)/libffmpegsumo.so', @@ -50,9 +51,10 @@ 'variables': { 'isolate_dependency_untracked': [ '<(PRODUCT_DIR)/clearkeycdmadapter.plugin', - '<(PRODUCT_DIR)/content_resources.pak', '<(PRODUCT_DIR)/Content Shell.app/', + '<(PRODUCT_DIR)/content_resources.pak', '<(PRODUCT_DIR)/ffmpegsumo.so', + '<(PRODUCT_DIR)/libpeerconnection.so', '<(PRODUCT_DIR)/plugins/npapi_test_plugin.plugin', '<(PRODUCT_DIR)/plugins/TestNestscapePlugin.plugin', ], @@ -62,6 +64,7 @@ 'variables': { 'isolate_dependency_tracked': [ '<(PRODUCT_DIR)/ffmpegsumo.dll', + '<(PRODUCT_DIR)/libpeerconnection.dll', ], 'isolate_dependency_untracked': [ # The two directories below are only needed for diff --git a/content/content_unittests.isolate b/content/content_unittests.isolate index efcd163..71a3870 100644 --- a/content/content_unittests.isolate +++ b/content/content_unittests.isolate @@ -12,6 +12,7 @@ '<(PRODUCT_DIR)/content_unittests<(EXECUTABLE_SUFFIX)', ], 'isolate_dependency_untracked': [ + '<(PRODUCT_DIR)/lib/libpeerconnection.so', '<(PRODUCT_DIR)/libffmpegsumo.so', '<(PRODUCT_DIR)/test_data/', ], @@ -37,6 +38,7 @@ 'isolate_dependency_untracked': [ '<(PRODUCT_DIR)/content_resources.pak', '<(PRODUCT_DIR)/ffmpegsumo.so', + '<(PRODUCT_DIR)/libpeerconnection.so', ], }, }], @@ -54,6 +56,7 @@ 'isolate_dependency_untracked': [ '<(PRODUCT_DIR)/ffmpegsumo.dll', '<(PRODUCT_DIR)/icudt.dll', + '<(PRODUCT_DIR)/libpeerconnection.dll', ], }, }], diff --git a/third_party/libjingle/libjingle.gyp b/third_party/libjingle/libjingle.gyp index aa39c5a..61b2c58 100644 --- a/third_party/libjingle/libjingle.gyp +++ b/third_party/libjingle/libjingle.gyp @@ -11,8 +11,13 @@ 'libjingle_additional_deps%': [], 'libjingle_peerconnection_additional_deps%': [], 'libjingle_source%': "source", - 'libpeer_target_type%': 'static_library', - 'libpeer_allocator_shim%': 0, + 'conditions': [ + ['OS=="win" or OS=="mac" or OS=="linux"', { + 'libpeer_target_type%': 'loadable_module', + }, { + 'libpeer_target_type%': 'static_library', + }], + ], }, 'target_defaults': { 'defines': [ @@ -760,8 +765,7 @@ '<(libjingle_source)/talk/session/tunnel/tunnelsessionclient.h', ], 'conditions': [ - ['libpeer_allocator_shim==1 and ' - 'libpeer_target_type!="static_library" and OS!="mac"', { + ['libpeer_target_type!="static_library" and OS!="mac"', { 'sources': [ 'overrides/allocator_shim/allocator_stub.cc', 'overrides/allocator_shim/allocator_stub.h', @@ -866,8 +870,7 @@ 'libjingle_webrtc', ], 'conditions': [ - ['libpeer_allocator_shim==1 and ' - 'libpeer_target_type!="static_library"', { + ['libpeer_target_type!="static_library"', { 'sources': [ 'overrides/initialize_module.cc', ], diff --git a/third_party/libjingle/overrides/init_webrtc.cc b/third_party/libjingle/overrides/init_webrtc.cc index c73b270..1376546 100644 --- a/third_party/libjingle/overrides/init_webrtc.cc +++ b/third_party/libjingle/overrides/init_webrtc.cc @@ -51,6 +51,21 @@ static base::FilePath GetLibPeerConnectionPath() { return path; } +#if !defined(OS_WIN) +// On platforms other than Windows (i.e. mac and linux based ones), +// the location of the .so in the installed layout will be different relative +// to the loading module than it is in the build directory. +// GetLibPeerConnectionPath returns the path as it will be in the installed +// layout, but to support isolated tests, we need to also support loading the +// so in the build layout, which we do here. +// On Windows, these layouts are the same. +static base::FilePath GetLibPeerConnectionPathForTests() { + base::FilePath path; + CHECK(PathService::Get(base::DIR_MODULE, &path)); + return path.Append(FILE_PATH_LITERAL("libpeerconnection.so")); +} +#endif + bool InitializeWebRtcModule() { if (g_create_webrtc_media_engine) return true; // InitializeWebRtcModule has already been called. @@ -61,6 +76,10 @@ bool InitializeWebRtcModule() { std::string error; static base::NativeLibrary lib = base::LoadNativeLibrary(path, &error); +#if !defined(OS_WIN) + if (!lib) + lib = base::LoadNativeLibrary(GetLibPeerConnectionPathForTests(), &error); +#endif CHECK(lib); InitializeModuleFunction initialize_module = |