0.2.10 • Published 2 years ago
rebory v0.2.10
Rebory
Making Node addons dynamic and more eficiente config to build.
To do cross-compiler check if the compiler for the architecture exists, if not we will try to use
zig
CCandCCXenv dont includes ANY arguments, only command, for includes more argurments in compiler, set in config file!
Static Config
command find in workdir one of this files:
binding.yamlbinding.yml
or set with -c / --config argument.
config file is YAML with configs to addon:
name: addon
sources:
- g.c
- main.cpp
includes:
- node_modules/node-addon-api
- ./name: addon
sources:
- g.c
- main.cpp
---
name: addon2
sources:
- g.c
- main.cpp
includes:
- node_modules/node-addon-api
- ./
target:
linux:
flags:
- -fPIC
macos:
flags:
- -fPIC
x86_64-linux-gnu:
release: true
aarch64-linux-gnu:
release: true
x86_64-macos:
release: true
aarch64-macos:
release: true
x86_64-windows:
release: true
aarch64-windows:
release: trueDynamic build
Example:
import builderClass from "rebory";
const builder = new Builder({name: "addon"});
builder.sources.push("./test.cpp");
if (process.platform === "win32") {
builder.sources.push("./test-win32.cpp");
builder.librarys.push(
"bcrypt.lib",
"crypt32.lib",
"iphlpapi.lib",
"kernel32.lib",
"ntdll.lib",
"ws2_32.lib",
"setupapi.lib"
);
} else if (process.platform === "linux" || process.platform === "android") {
builder.sources.push("./test-linux.cpp");
builder.defines.push("LINUX_ENABLED=1");
if (process.arch === "x64") builder.defines.push("LINUX_KERNEL_X64");
else if (process.arch === "arm64") builder.defines.push("LINUX_KERNEL_AARCH64");
} else {
builder.sources.push("./test-dummy.cpp");
}
await builder.run();0.2.10
2 years ago
0.2.9
2 years ago
0.2.7
2 years ago
0.2.6
2 years ago
0.2.5
2 years ago
0.2.1
2 years ago
0.2.0
2 years ago
0.2.3
2 years ago
0.2.2
2 years ago
0.2.4
2 years ago
0.1.12
2 years ago
0.1.10
2 years ago
0.1.11
2 years ago
0.1.11-2
2 years ago
0.1.8
2 years ago
0.1.7
2 years ago
0.1.9
2 years ago
0.1.4
2 years ago
0.1.3
2 years ago
0.1.6
2 years ago
0.1.5
2 years ago
0.1.2
2 years ago
0.1.1
2 years ago
0.1.0
2 years ago