blob: a81c285a7e356277391c34de762fd9605f288914 [file] [log] [blame]
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:hooks/hooks.dart';
import 'package:logging/logging.dart';
import 'package:native_toolchain_c/native_toolchain_c.dart';
void main(List<String> args) async {
await build(args, (BuildInput input, BuildOutputBuilder output) async {
final Object? magicValue = input.userDefines['magic_value'];
if (magicValue is! int) {
throw ArgumentError('User-define `magic_value` must be an integer, found: $magicValue.');
}
final String packageName = input.packageName;
final cbuilder = CBuilder.library(
name: packageName,
assetName: '$packageName.dart',
sources: <String>['src/$packageName.c'],
defines: <String, String>{'MAGIC_VALUE': magicValue.toString()},
);
await cbuilder.run(
input: input,
output: output,
logger: Logger('')
..level = Level.ALL
..onRecord.listen((LogRecord record) => print(record.message)),
);
});
}