blob: 59cc2135dc9dd89032d073597f4332e326545d61 [file] [log] [blame]
import 'dart:collection';
import 'dart:io';
final skip = HashSet.from(
[],
);
final extras = HashSet.from(
[
'read_quant_tables',
'read_scan_script',
'set_quality_ratings',
'set_quant_slots',
'set_sample_factors',
'read_color_map',
'enable_signal_catcher',
'start_progress_monitor',
'end_progress_monitor',
'read_stdin',
'write_stdout',
'jdiv_round_up',
'jround_up',
'jzero_far',
'jcopy_sample_rows',
'jcopy_block_row',
'jtransform_parse_crop_spec',
'jtransform_request_workspace',
'jtransform_adjust_parameters',
'jtransform_execute_transform',
'jtransform_perfect_transform',
'jcopy_markers_setup',
'jcopy_markers_execute',
],
);
void main() {
final uniqueNames = HashSet<String>();
var header = StringBuffer();
header.writeln('// clang-format off');
header.writeln('// jpeg_*');
var contents = File('libjpeg_names.txt').readAsStringSync();
RegExp exp = RegExp(r'\s_(jpeg_([a-zA-Z0-9_]*))', multiLine: true);
Iterable<RegExpMatch> matches = exp.allMatches(contents);
for (final m in matches) {
var symbolName = m[1];
if (symbolName == null ||
skip.contains(symbolName) ||
uniqueNames.contains(symbolName)) {
continue;
}
uniqueNames.add(symbolName);
header.writeln('#define $symbolName rive_$symbolName');
}
header.writeln('// jinit_*');
{
RegExp exp = RegExp(r'\s_(jinit_([a-zA-Z0-9_]*))', multiLine: true);
Iterable<RegExpMatch> matches = exp.allMatches(contents);
for (final m in matches) {
var symbolName = m[1];
if (symbolName == null ||
skip.contains(symbolName) ||
uniqueNames.contains(symbolName)) {
continue;
}
uniqueNames.add(symbolName);
header.writeln('#define $symbolName rive_$symbolName');
}
}
header.writeln('// _j extras');
for (final symbolName in extras) {
header.writeln('#define $symbolName rive_$symbolName');
}
File('../rive_libjpeg_renames.h').writeAsStringSync(header.toString());
}