1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00
denoland-deno/cli
Luke Channings 45ac6e602d
fix(build) assume a custom compiler will support --export-dynamic-symbol-list linker flag. (#16387)
This PR fixes a regression that caused deno binaries produced by the CI
release workflows to be larger than expected.

**The problem:** The build script will determine whether the linker
supports the `--export-dynamic-symbol-list` flag by looking at the glibc
version installed on the system. Ubuntu 20.04 ships with glibc 2.31,
which does not support this flag. Upon investigation, I discovered that
the CI pipeline does not use the gcc compiler provided by the
`build-essential` package, and instead uses *clang-14*, which does
support the new flag.

**The solution:** Whenever a custom C Compiler is configured, the build
script now assumes the compiler supports the
`--export-dynamic-symbol-list` flag. This is not always going to be the
case (you could use clang-8, for example), but it puts the onus on the
user making the override to ensure the compiler has support.

This will return deno builds for Linux to their previous size of ~100MB,
and also allow builds under older glibc/gcc versions to succeed. If a
user is compiling deno with a custom compiler that does not support this
new flag, however, their build will fail. I expect this is a rare
scenario, however, and suggest we cross that bridge if and when we come
to it.
2022-10-22 23:41:11 +02:00
..
args refactor: testable update checker code (#16386) 2022-10-22 14:31:25 -04:00
bench bench: don't send data to grafana (#16324) 2022-10-17 17:49:03 +02:00
cache perf: node cjs & esm analysis cache (#16097) 2022-10-01 12:15:56 +02:00
dts feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
lsp feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
napi refactor(build): better handle old glibc (#16238) 2022-10-15 20:51:04 +05:30
napi_sym fix: move generated napi symbols to cli/ (#16330) 2022-10-18 13:20:11 +02:00
node feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
npm feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
ops feat(npm): functionality to support child_process.fork (#15891) 2022-09-28 13:04:16 -04:00
schemas chore(cli): update config file schema to include test config (#15246) 2022-07-19 15:10:41 -04:00
tests feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
tools refactor: testable update checker code (#16386) 2022-10-22 14:31:25 -04:00
tsc fix(lsp): regression - error when removing file (#16388) 2022-10-22 15:36:07 -04:00
auth_tokens.rs chore: update copyright to 2022 (#13306) 2022-01-07 22:09:52 -05:00
build.rs fix(build) assume a custom compiler will support --export-dynamic-symbol-list linker flag. (#16387) 2022-10-22 23:41:11 +02:00
Cargo.toml feat(upgrade): check if user has write access to deno exe (#16378) 2022-10-21 15:50:03 -04:00
cdp.rs docs: turn bare URLs into clickable links (#15347) 2022-07-30 12:20:29 +02:00
checksum.rs chore: update copyright to 2022 (#13306) 2022-01-07 22:09:52 -05:00
deno.ico fix(cli): add icon and metadata to deno.exe on Windows (#6693) 2020-07-15 21:54:38 +02:00
deno_dir.rs perf: node cjs & esm analysis cache (#16097) 2022-10-01 12:15:56 +02:00
deno_std.rs chore: forward v1.26.2 to main (#16331) 2022-10-17 23:11:16 +02:00
diagnostics.rs feat: Stabilize Deno.hostname() API (#15932) 2022-09-28 15:36:06 +02:00
diff.rs refactor: update comment in diff.rs (#15142) 2022-07-10 22:49:18 -04:00
display.rs test(cli): add test cases (#16091) 2022-09-30 14:02:44 -04:00
emit.rs refactor: extract out check code from emit (#15729) 2022-09-02 10:54:40 -04:00
errors.rs chore: remove all pub(crate)s from the cli crate (#14083) 2022-03-23 09:54:22 -04:00
file_fetcher.rs feat(npm): add support for --reload=npm: and --reload=npm:<package> (#15972) 2022-09-22 10:39:58 -04:00
file_watcher.rs upgrade deps (#15914) 2022-09-16 19:11:30 -04:00
fs_util.rs feat(npm): add flag for creating and resolving npm packages to a local node_modules folder (#15971) 2022-09-22 11:17:02 -04:00
generated_symbol_exports_list_linux.def fix: move generated napi symbols to cli/ (#16330) 2022-10-18 13:20:11 +02:00
generated_symbol_exports_list_macos.def fix: move generated napi symbols to cli/ (#16330) 2022-10-18 13:20:11 +02:00
generated_symbol_exports_list_windows.def fix: move generated napi symbols to cli/ (#16330) 2022-10-18 13:20:11 +02:00
graph_util.rs fix(npm): panic on invalid package name (#16123) 2022-10-03 17:45:01 +02:00
http_cache.rs chore(tests): use custom temp dir creation for the tests (#14153) 2022-04-01 11:15:37 -04:00
http_util.rs refactor: move out test files from root testdata directory into sub directories (#15949) 2022-09-19 10:32:21 -04:00
lockfile.rs refactor(lockfile): migrate from v1 to v2 in-memory (#16385) 2022-10-21 21:24:32 +02:00
logger.rs chore: remove all pub(crate)s from the cli crate (#14083) 2022-03-23 09:54:22 -04:00
main.rs feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
module_loader.rs perf: node cjs & esm analysis cache (#16097) 2022-10-01 12:15:56 +02:00
proc_state.rs feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
progress_bar.rs chore: use Rust 1.64.0 (#16035) 2022-09-26 21:52:16 +02:00
README.md Remove deno_typescript (#6813) 2020-07-20 19:49:57 -04:00
resolver.rs fix: resolve jsxImportSource relative to module (#15561) 2022-08-24 19:36:05 +02:00
standalone.rs feat: introduce navigator.language (#12322) 2022-10-18 15:33:35 +02:00
text_encoding.rs feat: emit files on demand and fix racy emit (#15220) 2022-07-19 11:58:18 -04:00
tsc.rs feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
unix_util.rs build: require safety comments on unsafe code (#13870) 2022-06-26 00:13:24 +02:00
version.rs feat(cli): check for updates in background (#15974) 2022-10-20 16:15:21 +02:00
windows_util.rs chore: fix Windows specific clippy errors (#15212) 2022-07-15 12:30:25 -04:00
worker.rs feat: introduce navigator.language (#12322) 2022-10-18 15:33:35 +02:00

Deno CLI Crate

crates docs

This provides the actual deno executable and the user-facing APIs.

The deno crate uses the deno_core to provide the executable.