diff options
Diffstat (limited to 'src/tools/jalv2/jalv2_compile.cpp')
-rw-r--r-- | src/tools/jalv2/jalv2_compile.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/tools/jalv2/jalv2_compile.cpp b/src/tools/jalv2/jalv2_compile.cpp new file mode 100644 index 0000000..0b1e7f5 --- /dev/null +++ b/src/tools/jalv2/jalv2_compile.cpp @@ -0,0 +1,43 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#include "jalv2_compile.h" + +#include "jalv2.h" +#include "common/common/misc.h" +#include "tools/list/compile_config.h" + +QStringList JALV2::CompileFile::genericArguments(const Compile::Config &config) const +{ + QStringList args; + QStringList includes = config.includeDirs(Tool::Category::Compiler, QString::null, QString::null, ";"); + QString s = (includes.isEmpty() ? QString::null : includes[0]); + PURL::Directory dir = Compile::Config::directory(group(), Compile::DirectoryType::Header).path(); + if ( !dir.isEmpty() ) { + if ( !s.isEmpty() ) s += ";"; + s += dir.path(); + } + if ( !s.isEmpty() ) { + args += "-s"; + args += s; + } + args += "%I"; + return args; +} + +void JALV2::CompileFile::logStderrLine(const QString &line) +{ + if ( parseErrorLine(line, Compile::ParseErrorData("([^:]*):([0-9]+):\\s*(warning)(.+)", 1, 2, 4, 3)) ) return; + if ( parseErrorLine(line, Compile::ParseErrorData("([^:]*):([0-9]+):\\s*(.+)", 1, 2, 3, Log::LineType::Error)) ) return; + doLog(Log::LineType::Normal, line, QString::null, 0); // unrecognized +} + +QString JALV2::CompileFile::outputFiles() const +{ + return "PURL::AsmGPAsm PURL::Hex"; +} |