summaryrefslogtreecommitdiff
path: root/tools/napi/generate_symbols_lists.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/napi/generate_symbols_lists.js')
-rwxr-xr-xtools/napi/generate_symbols_lists.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/napi/generate_symbols_lists.js b/tools/napi/generate_symbols_lists.js
new file mode 100755
index 000000000..3e41c3f06
--- /dev/null
+++ b/tools/napi/generate_symbols_lists.js
@@ -0,0 +1,20 @@
+#!/usr/bin/env -S deno run --unstable --allow-read --allow-write
+// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
+
+import exports from "../../cli/napi_sym/symbol_exports.json" assert {
+ type: "json",
+};
+
+for await (const os of ["linux", "macos", "windows"]) {
+ let def = os === "windows" ? "LIBRARY\nEXPORTS\n" : "";
+ const prefix = os === "windows" ? " " : os === "macos" ? "_" : "";
+ for (const symbol of exports.symbols) {
+ def += `${prefix}${symbol}\n`;
+ }
+
+ const defUrl = new URL(
+ `../../cli/generated_symbol_exports_list_${os}.def`,
+ import.meta.url,
+ );
+ await Deno.writeTextFile(defUrl.pathname, def, { create: true });
+}