19static void parseArgs(
int argc,
char *argv[], QString &provider, QString &outFile,
QList<QString> &inputFiles)
26 provider = QLatin1StringView(argv[1]);
27 outFile = QLatin1StringView(argv[2]);
28 for (
int i = 3; i < argc; i++)
29 inputFiles.append(QLatin1StringView(argv[i]));
32int main(
int argc,
char *argv[])
35 QList<QString> inputFiles;
38 parseArgs(argc, argv, provider, outFile, inputFiles);
40 Parser parser(provider);
42 for (
const QString &inputFile : inputFiles) {
43 if (inputFile.startsWith(QLatin1Char(
'I'))) {
44 QStringList includeDirs = inputFile.right(inputFile.length() - 1).split(QLatin1Char(
';'));
45 parser.addIncludeDirs(includeDirs);
49 if (!in.open(QIODevice::ReadOnly | QIODevice::Text)) {
50 panic(
"Cannot open '%s' for reading: %s\n",
53 DEBUGPRINTF(printf(
"tracepointgen: parse %s\n", qPrintable(inputFile)));
54 QFileInfo info(inputFile);
55 parser.addIncludeDirs({info.absolutePath()});
56 parser.parse(in, inputFile);
59 panic(
"empty provider %s\n",
qPrintable(provider));
63 if (!out.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
64 panic(
"Cannot open '%s' for writing: %s\n",