Provide a way to disable libpci dependency.
Add a new gyp variable: use_libpci (default value is 1).
Add a new define when use_libpci==1: USE_LIBPCI.
Don't call specific PCI code in gpu_info_collector_linux.cc if USE_LIBPCI isn't defined.
BUG=427401
[email protected]
Review URL: https://codereview.chromium.org/692893004
Cr-Commit-Position: refs/heads/master@{#302613}
diff --git a/gpu/config/BUILD.gn b/gpu/config/BUILD.gn
index 4dab028..799dc12 100644
--- a/gpu/config/BUILD.gn
+++ b/gpu/config/BUILD.gn
@@ -4,6 +4,11 @@
import("//build/config/ui.gni")
+declare_args() {
+ # Use the PCI lib to collect GPU information on Linux.
+ use_libpci = true
+}
+
source_set("config") {
sources = [
"dx_diag_node.cc",
@@ -62,7 +67,10 @@
]
}
}
- if (is_linux && (use_x11 || use_ozone)) {
+ if (use_libpci) {
+ defines += [ "USE_LIBPCI=1" ]
+ }
+ if (is_linux && use_libpci && (use_x11 || use_ozone)) {
deps += [
"//build/config/linux:libpci",
]
diff --git a/gpu/config/gpu_info_collector_linux.cc b/gpu/config/gpu_info_collector_linux.cc
index 9a21a2d..061fe35 100644
--- a/gpu/config/gpu_info_collector_linux.cc
+++ b/gpu/config/gpu_info_collector_linux.cc
@@ -17,13 +17,16 @@
#include "base/strings/string_tokenizer.h"
#include "base/strings/string_util.h"
#include "gpu/config/gpu_info_collector.h"
-#include "library_loaders/libpci.h"
#include "ui/gl/gl_bindings.h"
#include "ui/gl/gl_context.h"
#include "ui/gl/gl_implementation.h"
#include "ui/gl/gl_surface.h"
#include "ui/gl/gl_switches.h"
+#if defined(USE_LIBPCI)
+#include "library_loaders/libpci.h"
+#endif
+
namespace gpu {
namespace {
@@ -72,6 +75,10 @@
CollectInfoResult CollectPCIVideoCardInfo(GPUInfo* gpu_info) {
DCHECK(gpu_info);
+#if !defined(USE_LIBPCI)
+ return kCollectInfoNonFatalFailure;
+#else
+
if (IsPciSupported() == false) {
VLOG(1) << "PCI bus scanning is not supported";
return kCollectInfoNonFatalFailure;
@@ -144,6 +151,7 @@
if (!primary_gpu_identified)
return kCollectInfoNonFatalFailure;
return kCollectInfoSuccess;
+#endif
}
} // namespace anonymous
diff --git a/gpu/gpu_config.gypi b/gpu/gpu_config.gypi
index b90143f..4505503 100644
--- a/gpu/gpu_config.gypi
+++ b/gpu/gpu_config.gypi
@@ -65,7 +65,7 @@
'../third_party/amd/amd_videocard_info_win.cc',
],
}],
- ['OS=="linux" and (use_x11==1 or use_ozone==1)', {
+ ['OS=="linux" and use_libpci==1 and (use_x11==1 or use_ozone==1)', {
'dependencies': [
'../build/linux/system.gyp:libpci',
],