summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch41
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch194
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch66
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch28
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb (renamed from meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb)12
5 files changed, 14 insertions, 327 deletions
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch
deleted file mode 100644
index 13edf229b3..0000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-allow-passing-multiple-libs-to-pkg_config.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From fdaa0e3bef93c5c72a7258b5f1e30718e7d81f9b Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
3Date: Mon, 2 Mar 2020 12:17:09 +0000
4Subject: [PATCH 1/2] build: allow passing multiple libs to pkg_config
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Sometimes it's necessary to pass multiple library names to pkg-config,
10e.g. the brotli shared libraries can be pulled in with
11 pkg-config libbrotlienc libbrotlidec
12
13Update the code to handle both, strings (as used so far), and lists
14of strings.
15
16Signed-off-by: André Draszik <git@andred.net>
17---
18Upstream-Status: Submitted [https://github.com/nodejs/node/pull/32046]
19 configure.py | 6 +++++-
20 1 file changed, 5 insertions(+), 1 deletion(-)
21
22diff --git a/configure.py b/configure.py
23index beb08df088..e3f78f2fed 100755
24--- a/configure.py
25+++ b/configure.py
26@@ -680,7 +680,11 @@ def pkg_config(pkg):
27 retval = ()
28 for flag in ['--libs-only-l', '--cflags-only-I',
29 '--libs-only-L', '--modversion']:
30- args += [flag, pkg]
31+ args += [flag]
32+ if isinstance(pkg, list):
33+ args += pkg
34+ else:
35+ args += [pkg]
36 try:
37 proc = subprocess.Popen(shlex.split(pkg_config) + args,
38 stdout=subprocess.PIPE)
39--
402.25.0
41
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch
deleted file mode 100644
index 07dbdfe564..0000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-deps-V8-backport-3f8dc4b2e5ba.patch
+++ /dev/null
@@ -1,194 +0,0 @@
1From 836311710ca8d49fdf4d619e3a738a445c413605 Mon Sep 17 00:00:00 2001
2From: Ujjwal Sharma <ryzokuken@disroot.org>
3Date: Wed, 22 Apr 2020 12:20:17 +0530
4Subject: [PATCH] deps: V8: backport 3f8dc4b2e5ba
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Original commit message:
10
11 [intl] Remove soon-to-be removed getAllFieldPositions
12
13 Needed to land ICU67.1 soon.
14
15 Bug: v8:10393
16 Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618
17 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489
18 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
19 Commit-Queue: Frank Tang <ftang@chromium.org>
20 Cr-Commit-Position: refs/heads/master@{#67027}
21
22Refs: https://github.com/v8/v8/commit/3f8dc4b2e5baf77b463334c769af85b79d8c1463
23
24PR-URL: https://github.com/nodejs/node/pull/32993
25Reviewed-By: Michaël Zasso <targos@protonmail.com>
26Reviewed-By: Matheus Marchini <mat@mmarchini.me>
27Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
28Reviewed-By: Richard Lau <riclau@uk.ibm.com>
29---
30 common.gypi | 2 +-
31 deps/v8/src/objects/js-number-format.cc | 72 +++++++++++++------------
32 2 files changed, 38 insertions(+), 36 deletions(-)
33
34diff --git a/common.gypi b/common.gypi
35index b86e5e0..a7b37e6 100644
36--- a/common.gypi
37+++ b/common.gypi
38@@ -38,7 +38,7 @@
39
40 # Reset this number to 0 on major V8 upgrades.
41 # Increment by one for each non-official patch applied to deps/v8.
42- 'v8_embedder_string': '-node.16',
43+ 'v8_embedder_string': '-node.17',
44
45 ##### V8 defaults for Node.js #####
46
47diff --git a/deps/v8/src/objects/js-number-format.cc b/deps/v8/src/objects/js-number-format.cc
48index d1e3ef4..757c665 100644
49--- a/deps/v8/src/objects/js-number-format.cc
50+++ b/deps/v8/src/objects/js-number-format.cc
51@@ -1252,42 +1252,31 @@ MaybeHandle<JSNumberFormat> JSNumberFormat::New(Isolate* isolate,
52 }
53
54 namespace {
55-Maybe<icu::UnicodeString> IcuFormatNumber(
56+Maybe<bool> IcuFormatNumber(
57 Isolate* isolate,
58 const icu::number::LocalizedNumberFormatter& number_format,
59- Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) {
60+ Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) {
61 // If it is BigInt, handle it differently.
62 UErrorCode status = U_ZERO_ERROR;
63- icu::number::FormattedNumber formatted;
64 if (numeric_obj->IsBigInt()) {
65 Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj);
66 Handle<String> big_int_string;
67 ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string,
68 BigInt::ToString(isolate, big_int),
69- Nothing<icu::UnicodeString>());
70- formatted = number_format.formatDecimal(
71+ Nothing<bool>());
72+ *formatted = number_format.formatDecimal(
73 {big_int_string->ToCString().get(), big_int_string->length()}, status);
74 } else {
75 double number = numeric_obj->Number();
76- formatted = number_format.formatDouble(number, status);
77+ *formatted = number_format.formatDouble(number, status);
78 }
79 if (U_FAILURE(status)) {
80 // This happen because of icu data trimming trim out "unit".
81 // See https://bugs.chromium.org/p/v8/issues/detail?id=8641
82- THROW_NEW_ERROR_RETURN_VALUE(isolate,
83- NewTypeError(MessageTemplate::kIcuError),
84- Nothing<icu::UnicodeString>());
85- }
86- if (fp_iter) {
87- formatted.getAllFieldPositions(*fp_iter, status);
88+ THROW_NEW_ERROR_RETURN_VALUE(
89+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>());
90 }
91- icu::UnicodeString result = formatted.toString(status);
92- if (U_FAILURE(status)) {
93- THROW_NEW_ERROR_RETURN_VALUE(isolate,
94- NewTypeError(MessageTemplate::kIcuError),
95- Nothing<icu::UnicodeString>());
96- }
97- return Just(result);
98+ return Just(true);
99 }
100
101 } // namespace
102@@ -1298,10 +1287,16 @@ MaybeHandle<String> JSNumberFormat::FormatNumeric(
103 Handle<Object> numeric_obj) {
104 DCHECK(numeric_obj->IsNumeric());
105
106- Maybe<icu::UnicodeString> maybe_format =
107- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr);
108+ icu::number::FormattedNumber formatted;
109+ Maybe<bool> maybe_format =
110+ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted);
111 MAYBE_RETURN(maybe_format, Handle<String>());
112- return Intl::ToString(isolate, maybe_format.FromJust());
113+ UErrorCode status = U_ZERO_ERROR;
114+ icu::UnicodeString result = formatted.toString(status);
115+ if (U_FAILURE(status)) {
116+ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String);
117+ }
118+ return Intl::ToString(isolate, result);
119 }
120
121 namespace {
122@@ -1414,12 +1409,18 @@ std::vector<NumberFormatSpan> FlattenRegionsToParts(
123 }
124
125 namespace {
126-Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
127- icu::FieldPositionIterator* fp_iter,
128+Maybe<int> ConstructParts(Isolate* isolate,
129+ icu::number::FormattedNumber* formatted,
130 Handle<JSArray> result, int start_index,
131 Handle<Object> numeric_obj, bool style_is_unit) {
132+ UErrorCode status = U_ZERO_ERROR;
133+ icu::UnicodeString formatted_text = formatted->toString(status);
134+ if (U_FAILURE(status)) {
135+ THROW_NEW_ERROR_RETURN_VALUE(
136+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>());
137+ }
138 DCHECK(numeric_obj->IsNumeric());
139- int32_t length = formatted.length();
140+ int32_t length = formatted_text.length();
141 int index = start_index;
142 if (length == 0) return Just(index);
143
144@@ -1428,13 +1429,14 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
145 // other region covers some part of the formatted string. It's possible
146 // there's another field with exactly the same begin and end as this backdrop,
147 // in which case the backdrop's field_id of -1 will give it lower priority.
148- regions.push_back(NumberFormatSpan(-1, 0, formatted.length()));
149+ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length()));
150
151 {
152- icu::FieldPosition fp;
153- while (fp_iter->next(fp)) {
154- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(),
155- fp.getEndIndex()));
156+ icu::ConstrainedFieldPosition cfp;
157+ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER);
158+ while (formatted->nextPosition(cfp, status)) {
159+ regions.push_back(
160+ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit()));
161 }
162 }
163
164@@ -1456,7 +1458,7 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
165 Handle<String> substring;
166 ASSIGN_RETURN_ON_EXCEPTION_VALUE(
167 isolate, substring,
168- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos),
169+ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos),
170 Nothing<int>());
171 Intl::AddElement(isolate, result, index, field_type_string, substring);
172 ++index;
173@@ -1476,14 +1478,14 @@ MaybeHandle<JSArray> JSNumberFormat::FormatToParts(
174 number_format->icu_number_formatter().raw();
175 CHECK_NOT_NULL(fmt);
176
177- icu::FieldPositionIterator fp_iter;
178- Maybe<icu::UnicodeString> maybe_format =
179- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter);
180+ icu::number::FormattedNumber formatted;
181+ Maybe<bool> maybe_format =
182+ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted);
183 MAYBE_RETURN(maybe_format, Handle<JSArray>());
184
185 Handle<JSArray> result = factory->NewJSArray(0);
186 Maybe<int> maybe_format_to_parts = ConstructParts(
187- isolate, maybe_format.FromJust(), &fp_iter, result, 0, numeric_obj,
188+ isolate, &formatted, result, 0, numeric_obj,
189 number_format->style() == JSNumberFormat::Style::UNIT);
190 MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>());
191
192--
1932.26.2
194
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch
deleted file mode 100644
index fc038f3aae..0000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0002-build-allow-use-of-system-installed-brotli.patch
+++ /dev/null
@@ -1,66 +0,0 @@
1From f0f927feee8cb1fb173835d5c3f6beb6bf7d5e54 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
3Date: Mon, 2 Mar 2020 12:17:35 +0000
4Subject: [PATCH 2/2] build: allow use of system-installed brotli
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9brotli is available as a shared library since 2016, so it makes sense
10to allow its use as a system-installed version.
11
12Some of the infrastructure was in place already (node.gyp and
13node.gypi), but some bits in the configure script here were missing.
14
15Add them, keeping the default as before, to use the bundled version.
16
17Refs: https://github.com/google/brotli/pull/421
18Signed-off-by: André Draszik <git@andred.net>
19---
20Upstream-Status: Submitted [https://github.com/nodejs/node/pull/32046]
21 configure.py | 22 ++++++++++++++++++++++
22 1 file changed, 22 insertions(+)
23
24diff --git a/configure.py b/configure.py
25index e3f78f2fed..0190e31b41 100755
26--- a/configure.py
27+++ b/configure.py
28@@ -301,6 +301,27 @@ shared_optgroup.add_option('--shared-zlib-libpath',
29 dest='shared_zlib_libpath',
30 help='a directory to search for the shared zlib DLL')
31
32+shared_optgroup.add_option('--shared-brotli',
33+ action='store_true',
34+ dest='shared_brotli',
35+ help='link to a shared brotli DLL instead of static linking')
36+
37+shared_optgroup.add_option('--shared-brotli-includes',
38+ action='store',
39+ dest='shared_brotli_includes',
40+ help='directory containing brotli header files')
41+
42+shared_optgroup.add_option('--shared-brotli-libname',
43+ action='store',
44+ dest='shared_brotli_libname',
45+ default='brotlidec,brotlienc',
46+ help='alternative lib name to link to [default: %default]')
47+
48+shared_optgroup.add_option('--shared-brotli-libpath',
49+ action='store',
50+ dest='shared_brotli_libpath',
51+ help='a directory to search for the shared brotli DLL')
52+
53 shared_optgroup.add_option('--shared-cares',
54 action='store_true',
55 dest='shared_cares',
56@@ -1692,6 +1713,7 @@ configure_napi(output)
57 configure_library('zlib', output)
58 configure_library('http_parser', output)
59 configure_library('libuv', output)
60+configure_library('brotli', output, pkgname=['libbrotlidec', 'libbrotlienc'])
61 configure_library('cares', output, pkgname='libcares')
62 configure_library('nghttp2', output, pkgname='libnghttp2')
63 configure_v8(output)
64--
652.25.0
66
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
index 599f742b2f..92386fa779 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
@@ -20,11 +20,9 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
20 tools/install.py | 31 ++++++++++++++----------------- 20 tools/install.py | 31 ++++++++++++++-----------------
21 2 files changed, 21 insertions(+), 17 deletions(-) 21 2 files changed, 21 insertions(+), 17 deletions(-)
22 22
23diff --git a/configure.py b/configure.py
24index 20cce214db..e2d78a2a51 100755
25--- a/configure.py 23--- a/configure.py
26+++ b/configure.py 24+++ b/configure.py
27@@ -559,6 +559,12 @@ parser.add_option('--shared', 25@@ -602,6 +602,12 @@ parser.add_option('--shared',
28 help='compile shared library for embedding node in another project. ' + 26 help='compile shared library for embedding node in another project. ' +
29 '(This mode is not officially supported for regular applications)') 27 '(This mode is not officially supported for regular applications)')
30 28
@@ -37,16 +35,14 @@ index 20cce214db..e2d78a2a51 100755
37 parser.add_option('--without-v8-platform', 35 parser.add_option('--without-v8-platform',
38 action='store_true', 36 action='store_true',
39 dest='without_v8_platform', 37 dest='without_v8_platform',
40@@ -1103,6 +1109,7 @@ def configure_node(o): 38@@ -1168,6 +1174,7 @@ def configure_node(o):
41 if o['variables']['want_separate_host_toolset'] == 0: 39 o['variables']['node_no_browser_globals'] = b(options.no_browser_globals)
42 o['variables']['node_code_cache'] = 'yes' # For testing 40
43 o['variables']['node_shared'] = b(options.shared) 41 o['variables']['node_shared'] = b(options.shared)
44+ o['variables']['libdir'] = options.libdir 42+ o['variables']['libdir'] = options.libdir
45 node_module_version = getmoduleversion.get_version() 43 node_module_version = getmoduleversion.get_version()
46 44
47 if sys.platform == 'darwin': 45 if options.dest_os == 'android':
48diff --git a/tools/install.py b/tools/install.py
49index 655802980a..fe4723bf15 100755
50--- a/tools/install.py 46--- a/tools/install.py
51+++ b/tools/install.py 47+++ b/tools/install.py
52@@ -121,26 +121,23 @@ def subdir_files(path, dest, action): 48@@ -121,26 +121,23 @@ def subdir_files(path, dest, action):
@@ -72,24 +68,20 @@ index 655802980a..fe4723bf15 100755
72- # in its source - see the _InstallableTargetInstallPath function. 68- # in its source - see the _InstallableTargetInstallPath function.
73- if sys.platform != 'darwin': 69- if sys.platform != 'darwin':
74- output_prefix += 'lib.target/' 70- output_prefix += 'lib.target/'
75-
76- if 'false' == variables.get('node_shared'):
77- action([output_prefix + output_file], 'bin/' + output_file)
78- else:
79- action([output_prefix + output_file], 'lib/' + output_file)
80+ output_bin = 'node' 71+ output_bin = 'node'
81+ output_lib = 'libnode.' + variables.get('shlib_suffix') 72+ output_lib = 'libnode.' + variables.get('shlib_suffix')
82+ # GYP will output to lib.target except on OS X, this is hardcoded 73+ # GYP will output to lib.target except on OS X, this is hardcoded
83+ # in its source - see the _InstallableTargetInstallPath function. 74+ # in its source - see the _InstallableTargetInstallPath function.
84+ if sys.platform != 'darwin': 75+ if sys.platform != 'darwin':
85+ output_libprefix += 'lib.target/' 76+ output_libprefix += 'lib.target/'
86+ 77
78- if 'false' == variables.get('node_shared'):
79- action([output_prefix + output_file], 'bin/' + output_file)
80- else:
81- action([output_prefix + output_file], 'lib/' + output_file)
87+ action([output_prefix + output_bin], 'bin/' + output_bin) 82+ action([output_prefix + output_bin], 'bin/' + output_bin)
88+ if 'true' == variables.get('node_shared'): 83+ if 'true' == variables.get('node_shared'):
89+ action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib) 84+ action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib)
90 85
91 if 'true' == variables.get('node_use_dtrace'): 86 if 'true' == variables.get('node_use_dtrace'):
92 action(['out/Release/node.d'], 'lib/dtrace/node.d') 87 action(['out/Release/node.d'], 'lib/dtrace/node.d')
93--
942.20.1
95
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb b/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb
index 9f9f320aa7..8a9f32bce2 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs_12.14.1.bb
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb
@@ -1,7 +1,7 @@
1DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" 1DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
2HOMEPAGE = "http://nodejs.org" 2HOMEPAGE = "http://nodejs.org"
3LICENSE = "MIT & BSD & Artistic-2.0" 3LICENSE = "MIT & BSD & Artistic-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=be4d5107c64dc3d7c57e3797e1a0674b" 4LIC_FILES_CHKSUM = "file://LICENSE;md5=30e27bd6830002d9415e4a5da7901f03"
5 5
6DEPENDS = "openssl" 6DEPENDS = "openssl"
7DEPENDS_append_class-target = " nodejs-native" 7DEPENDS_append_class-target = " nodejs-native"
@@ -20,17 +20,12 @@ SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
20 file://0003-Install-both-binaries-and-use-libdir.patch \ 20 file://0003-Install-both-binaries-and-use-libdir.patch \
21 file://0004-v8-don-t-override-ARM-CFLAGS.patch \ 21 file://0004-v8-don-t-override-ARM-CFLAGS.patch \
22 file://big-endian.patch \ 22 file://big-endian.patch \
23 file://0001-build-allow-passing-multiple-libs-to-pkg_config.patch \
24 file://0002-build-allow-use-of-system-installed-brotli.patch \
25 file://mips-warnings.patch \ 23 file://mips-warnings.patch \
26 file://0001-deps-V8-backport-3f8dc4b2e5ba.patch \
27 " 24 "
28SRC_URI_append_class-target = " \ 25SRC_URI_append_class-target = " \
29 file://0002-Using-native-binaries.patch \ 26 file://0002-Using-native-binaries.patch \
30 " 27 "
31 28SRC_URI[sha256sum] = "71158026579487422fd13cc2553b34cddb76519098aa6030faab52f88c6e0d0e"
32SRC_URI[md5sum] = "1c78a75f5c95321f533ecccca695e814"
33SRC_URI[sha256sum] = "877b4b842318b0e09bc754faf7343f2f097f0fc4f88ab9ae57cf9944e88e7adb"
34 29
35S = "${WORKDIR}/node-v${PV}" 30S = "${WORKDIR}/node-v${PV}"
36 31
@@ -55,7 +50,8 @@ ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '-
55GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " 50GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
56ARCHFLAGS ?= "" 51ARCHFLAGS ?= ""
57 52
58PACKAGECONFIG ??= "ares brotli icu libuv zlib" 53PACKAGECONFIG ??= "ares brotli icu zlib"
54
59PACKAGECONFIG[ares] = "--shared-cares,,c-ares" 55PACKAGECONFIG[ares] = "--shared-cares,,c-ares"
60PACKAGECONFIG[brotli] = "--shared-brotli,,brotli" 56PACKAGECONFIG[brotli] = "--shared-brotli,,brotli"
61PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu" 57PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"