main function
void
main()
Implementation
void main() {
final os = Platform.operatingSystem;
final output = switch (os) {
'windows' => 'dartmetal.dll',
'macos' => 'libdartmetal.dylib',
_ => 'libdartmetal.so',
};
final compileArgs = switch (os) {
'windows' => ['gcc', '-shared', '-o', output, 'dartmetal.c'],
'macos' => ['clang', '-shared', '-o', output, 'dartmetal.c'],
_ => ['gcc', '-fPIC', '-shared', '-o', output, 'dartmetal.c'],
};
print('🔨 Building native library for $os...');
final result = Process.runSync(compileArgs.first, compileArgs.skip(1).toList(),
workingDirectory: Directory.current.path);
if (result.exitCode == 0) {
print('✅ Built $output successfully!');
} else {
print('❌ Build failed:\n${result.stderr}');
}
}