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}');
  }
}