mirror of
https://github.com/electron/electron.git
synced 2026-01-07 22:54:25 -05:00
67 lines
2.1 KiB
Diff
67 lines
2.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shelley Vohr <shelley.vohr@gmail.com>
|
|
Date: Sun, 17 Nov 2024 22:33:19 +0100
|
|
Subject: build: allow unbundling of Node.js dependencies
|
|
|
|
Linux distributions have guidelines on using distro-provided dependencies,
|
|
rather than compiling them in statically.
|
|
|
|
This PR this enables downstream packagers to unbundle these dependencies.
|
|
We don't need to do this for zlib, as the existing gn workflow uses the same
|
|
//third_party/zlib, so unbundling zlib with Chromium tools in
|
|
//build/linux/unbundle works already. This adds support for some of the others.
|
|
|
|
Upstreamed at https://github.com/nodejs/node/pull/55903
|
|
|
|
diff --git a/unofficial.gni b/unofficial.gni
|
|
index a6cfd45b109c7b38fcf1529468ff64d3c1c8bd1b..332c9ee7262108ae9616e9bc8bd950a4940a858c 100644
|
|
--- a/unofficial.gni
|
|
+++ b/unofficial.gni
|
|
@@ -160,7 +160,6 @@ template("node_gn_build") {
|
|
":run_node_js2c",
|
|
"deps/cares",
|
|
"deps/histogram",
|
|
- "deps/llhttp",
|
|
"deps/nbytes",
|
|
"deps/nghttp2",
|
|
"deps/postject",
|
|
@@ -198,7 +197,17 @@ template("node_gn_build") {
|
|
configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
|
|
configs += [ "//build/config/gcc:symbol_visibility_default" ]
|
|
}
|
|
-
|
|
+ if (use_system_llhttp) {
|
|
+ libs += [ "llhttp" ]
|
|
+ } else {
|
|
+ deps += [ "deps/llhttp" ]
|
|
+ }
|
|
+ if (use_system_histogram) {
|
|
+ libs += [ "hdr_histogram" ]
|
|
+ include_dirs += [ "/usr/include/hdr" ]
|
|
+ } else {
|
|
+ deps += [ "deps/histogram" ]
|
|
+ }
|
|
if (v8_enable_i18n_support) {
|
|
deps += [ "//third_party/icu" ]
|
|
}
|
|
@@ -230,6 +239,19 @@ template("node_gn_build") {
|
|
sources += node_inspector.node_inspector_sources +
|
|
node_inspector.node_inspector_generated_sources
|
|
}
|
|
+ if (is_linux) {
|
|
+ import("//build/config/linux/pkg_config.gni")
|
|
+ if (use_system_cares) {
|
|
+ pkg_config("cares") {
|
|
+ packages = [ "libcares" ]
|
|
+ }
|
|
+ }
|
|
+ if (use_system_nghttp2) {
|
|
+ pkg_config("nghttp2") {
|
|
+ packages = [ "libnghttp2" ]
|
|
+ }
|
|
+ }
|
|
+ }
|
|
}
|
|
|
|
config("zstd_include_config") {
|