Index: build/linux/BUILD.gn |
diff --git a/build/linux/BUILD.gn b/build/linux/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..12994bca17075793000ef5c7ae1cc24da029a2bb |
--- /dev/null |
+++ b/build/linux/BUILD.gn |
@@ -0,0 +1,105 @@ |
+# Copyright (c) 2015 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import("//build/config/features.gni") |
+import("//build/config/linux/pkg_config.gni") |
+import("//tools/generate_library_loader/generate_library_loader.gni") |
+ |
+gypi_values = exec_script("//build/gypi_to_gn.py", |
+ [ rebase_path("system.gyp") ], |
+ "scope", |
+ [ "system.gyp" ]) |
+ |
+# If brlapi isn't needed, don't require it to be installed. |
+if (use_brlapi) { |
+ config("brlapi_config") { |
+ defines = [ "USE_BRLAPI" ] |
+ } |
+ |
+ # TODO(GYP) linux_link_brlapi support. Is this needed? |
+ generate_library_loader("libbrlapi") { |
+ name = "LibBrlapiLoader" |
+ output_h = "libbrlapi.h" |
+ output_cc = "libbrlapi_loader.cc" |
+ header = "<brlapi.h>" |
+ config = ":brlapi_config" |
+ |
+ functions = gypi_values.libbrlapi_functions |
+ } |
+} |
+if (is_desktop_linux) { |
+ pkg_config("gio_config") { |
+ packages = [ "gio-2.0" ] |
+ |
+ # glib >=2.40 deprecate g_settings_list_schemas in favor of |
+ # g_settings_schema_source_list_schemas. This function is not available on |
+ # earlier versions that we still need to support (specifically, 2.32), so |
+ # disable the warning with the GLIB_DISABLE_DEPRECATION_WARNINGS define. |
+ # TODO(mgiuca): Remove this suppression when we drop support for Ubuntu |
+ # 13.10 (saucy) and earlier. Update the code to use |
+ # g_settings_schema_source_list_schemas instead. |
+ defines = [ |
+ "USE_GIO", |
+ "GLIB_DISABLE_DEPRECATION_WARNINGS", |
+ ] |
+ |
+ # TODO(brettw) Theoretically I think ignore_libs should be set so that we |
+ # don't link directly to GIO and use the loader generated below. But the |
+ # gio target in GYP doesn't make any sense to me and appears to link |
+ # directly to GIO in addition to making a loader. This this uncommented, |
+ # the link in component build fails, so I think this is closer to the |
+ # GYP build. |
+ #ignore_libs = true # Loader generated below. |
+ } |
+ |
+ # This generates a target named "gio". |
+ generate_library_loader("gio") { |
+ name = "LibGioLoader" |
+ output_h = "libgio.h" |
+ output_cc = "libgio_loader.cc" |
+ header = "<gio/gio.h>" |
+ config = "//build/linux:gio_config" |
+ |
+ functions = gypi_values.libgio_functions |
+ } |
+} |
+ |
+# This generates a target named "libpci". |
+generate_library_loader("libpci") { |
+ name = "LibPciLoader" |
+ output_h = "libpci.h" |
+ output_cc = "libpci_loader.cc" |
+ header = "<pci/pci.h>" |
+ |
+ functions = gypi_values.libpci_functions |
+} |
+ |
+# Looking for libspeechd? Use //third_party/speech-dispatcher |
+ |
+# This generates a target named "udev0_loader". |
+generate_library_loader("udev0_loader") { |
+ name = "LibUdev0Loader" |
+ output_h = "libudev0.h" |
+ output_cc = "libudev0_loader.cc" |
+ header = "\"third_party/libudev/libudev0.h\"" |
+ |
+ functions = gypi_values.libudev_functions |
+} |
+ |
+# This generates a target named "udev1_loader". |
+generate_library_loader("udev1_loader") { |
+ name = "LibUdev1Loader" |
+ output_h = "libudev1.h" |
+ output_cc = "libudev1_loader.cc" |
+ header = "\"third_party/libudev/libudev1.h\"" |
+ |
+ functions = gypi_values.libudev_functions |
+} |
+ |
+group("udev") { |
+ deps = [ |
+ ":udev0_loader", |
+ ":udev1_loader", |
+ ] |
+} |