Skip to content

Commit 8d5742f

Browse files
committed
Merge branch 'rickard/3pp-alt/OTP-20013' into sverker/28/3pp-alt/OTP-20106
2 parents a1316d3 + 21de413 commit 8d5742f

50 files changed

Lines changed: 4428 additions & 75 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/scripts/otp-compliance.es

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1295,10 +1295,22 @@ create_vendor_relations(NewVendorPackages, #{~"packages" := Packages, ~"relation
12951295
case Pkgs of
12961296
[#{~"SPDXID" := RootId}] ->
12971297
case ID of
1298+
~"SPDXRef-otp-erts-openssl" ->
1299+
create_spdx_relation('OPTIONAL_COMPONENT_OF', ID, RootId);
1300+
~"SPDXRef-otp-erlinterface-openssl" ->
1301+
create_spdx_relation('OPTIONAL_COMPONENT_OF', ID, RootId);
1302+
~"SPDXRef-otp-erts-ryu" ->
1303+
create_spdx_relation('OPTIONAL_COMPONENT_OF', ID, RootId);
1304+
~"SPDXRef-otp-ryu-tochars" ->
1305+
create_spdx_relation('OPTIONAL_COMPONENT_OF', ID, RootId);
12981306
~"SPDXRef-otp-erts-zlib" ->
12991307
create_spdx_relation('OPTIONAL_COMPONENT_OF', ID, RootId);
1308+
~"SPDXRef-otp-erts-zstd" ->
1309+
create_spdx_relation('OPTIONAL_COMPONENT_OF', ID, RootId);
13001310
~"SPDXRef-otp-erts-asmjit" ->
13011311
create_spdx_relation('OPTIONAL_COMPONENT_OF', ID, RootId);
1312+
~"SPDXRef-otp-erts-tcl" ->
1313+
create_spdx_relation('OPTIONAL_COMPONENT_OF', ID, RootId);
13021314
~"SPDXRef-otp-erts-autoconf" ->
13031315
%% hard-code that erts-autoconf is a build tool of
13041316
create_spdx_relation('BUILD_TOOL_OF', ID, RootId);

HOWTO/INSTALL.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,6 @@ Some of the available `configure` options are:
372372
* `--with-javac=JAVAC` - Specify Java compiler to use
373373
* `--{with,without}-javac` - Java compiler (without implies that the
374374
`jinterface` application won't be built)
375-
* `--{enable,disable}-builtin-zlib` - Use the built-in source for zlib.
376375
* `--{enable,disable}-dynamic-ssl-lib` - Enable or disable dynamic OpenSSL
377376
libraries when linking the crypto NIF. By default dynamic linking is
378377
done unless it does not work or is if it is a Windows system.
@@ -455,6 +454,22 @@ Some of the available `configure` options are:
455454
flags when compiling Erlang/OTP. This can be useful in some scenarios
456455
when the flags either causes Erlang/OTP not to build, or unacceptable
457456
performance degradations.
457+
* `--enable-use-embedded-3pp-alternatives` - Use all available alternatives
458+
instead of embedded 3pps. Implies all `--disable-builtin-*` options. Can
459+
be overridden by individual `--enable-builtin-*` options.
460+
* `--disable-use-embedded-3pp-alternatives` - Do not use any alternatives
461+
to embedded 3pps. Implies all `--enable-builtin-*` options. Can be overridden
462+
by individual `--disable-builtin-*` options.
463+
* `--enable-builtin-ryu` - Use our own built-in ryu for float to short string.
464+
* `--disable-builtin-ryu` - Use C++17 as an alternative for built-in ryu.
465+
* `--enable-builtin-zstd` - Force use of our own built-in zstd.
466+
* `--disable-builtin-zstd` - Find a static libzstd on the system to use.
467+
* `--enable-builtin-zlib` - Force use of our own built-in zlib.
468+
* `--disable-builtin-zlib` - Find a zlib on the system to use.
469+
* `--enable-builtin-errno-id` - Force use of our own built-in errno-id.
470+
* `--disable-builtin-errno-id` - Try to find an alternative on the system to use for errno-id
471+
* `--enable-builtin-openssl` - Use built-in OpenSSL for MD5.
472+
* `--disable-builtin-openssl` - Use alternative for built-in OpenSSL.
458473

459474
If you or your system has special requirements please read the `Makefile` for
460475
additional configuration information.

HOWTO/SBOM.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,10 @@ Fields summary:
234234
To update the package, perform any modifications in a `vendor.info` package
235235
and re-run the source SBOM generation steps ([Erlang/OTP source SBOM]).
236236

237+
If the vendor package is optional, the `create_vendor_relations()` function in the `.github/scripts/otp-compliance.es` script needs to be updated to add the `OPTIONAL_COMPONENT_OF` relation for the package.
238+
239+
For vendor packages in `erts`, `erlang:system_info(embedded_3pps)` (`erts/emulator/beam/erl_bif_info.c`) also needs to be updated. The 3pp should be part of either the value for the `included` key (the build includes the 3pp) or the `excluded` key (the build does not include the 3pp). If the package is optional, the build should automatically place it as part of the value of the correct key.
240+
237241
### Add a New Vendor Dependency
238242

239243
Follow the same steps as in [Update SPDX Vendor Packages].

erts/config.h.in

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,21 @@
7878
64-bit alignment will be forced. */
7979
#undef ERTS_STRUCTURE_ALIGNED_ALLOC
8080

81+
/* Define if builtin errno id should be used */
82+
#undef ERTS_USE_BUILTIN_ERRNO_ID
83+
84+
/* Define if builtin OpenSSL should be used for MD5 */
85+
#undef ERTS_USE_BUILTIN_OPENSSL
86+
87+
/* Define if builtin ryu should be used */
88+
#undef ERTS_USE_BUILTIN_RYU
89+
90+
/* Define if builtin zlib should be used */
91+
#undef ERTS_USE_BUILTIN_ZLIB
92+
93+
/* Define if builtin zstd should be used */
94+
#undef ERTS_USE_BUILTIN_ZSTD
95+
8196
/* Define if poll() should be used instead of select() */
8297
#undef ERTS_USE_POLL
8398

@@ -1028,6 +1043,9 @@
10281043
/* Define to 1 if you have the 'strerror' function. */
10291044
#undef HAVE_STRERROR
10301045

1046+
/* Define to 1 if you have the 'strerrorname_np' function. */
1047+
#undef HAVE_STRERRORNAME_NP
1048+
10311049
/* Define to 1 if you have the 'strerror_r' function. */
10321050
#undef HAVE_STRERROR_R
10331051

0 commit comments

Comments
 (0)