------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. http://bugs.kde.org/show_bug.cgi?id=132601 Summary: SunStudio C++ compiler not detected in Compiler Output view. Product: kdevelop Version: 3.3.4 Platform: Ubuntu Packages OS/Version: Linux Status: UNCONFIRMED Severity: wishlist Priority: NOR Component: general AssignedTo: kdevelop-bugs kdevelop org ReportedBy: pfee talk21 com Version: 3.3.4 (using KDE KDE 3.5.4) Installed from: Ubuntu Packages OS: Linux When building a project, compiler output is parsed in the OutputView. In particular the lines corresponding to compiling, linking etc. are detected. This works by means of regular expressions, the code is visible in: parts/outputviews/makeactionfilter.cpp MakeActionFilter::actionFormats() Various well known compiler expressions are understood (e.g. cc, gcc, c++). However Sun's SunStudio C++ compiler goes by the name CC, hence it is not detected. Adding CC to the expressions allows output from the SunStudio compiler to be parsed correctly. I've patched this method on my own system as follows. A more generic fix would be to allow the user to enter the name of their compiler, however this simple change works for me. ================== // returns an array of ActionFormat MakeActionFilter::ActionFormat* MakeActionFilter::actionFormats() { static ActionFormat formats[] = { ActionFormat( i18n("compiling"), 1, 2, "(gcc|CC|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*`[^`]*`(?:[^/\\s;]*/)*([^/\\s;]+)"), ActionFormat( i18n("compiling"), 1, 2, "(gcc|CC|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*-o (?:\\S* )(?:[^/;]*/)*([^/\\s;]+)"), ActionFormat( i18n("compiling"), 1, 2, "(gcc|CC|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*(?:[^/]*/)*([^/\\s;]*)"), ActionFormat( i18n("compiling"), "unknown", "^compiling (.*)", 1 ), //moc and uic ActionFormat( i18n("generating"), 1, 2, "/(moc|uic)\\b.*\\s-o\\s([^\\s;]+)"), ActionFormat( i18n("linking"), "libtool", "/bin/sh\\s.*libtool.*--mode=link\\s.*\\s-o\\s([^\\s;]+)", 1 ), //can distcc link too ? ActionFormat( i18n("linking"), 1, 2, "(gcc|CC|cc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-o ([^\\s;]+)"), ActionFormat( i18n("creating"), "", "/(?:bin/sh\\s.*mkinstalldirs).*\\s([^\\s;]+)", 1 ), ActionFormat( i18n("installing"), "", "/(?:usr/bin/install|bin/sh\\s.*mkinstalldirs|bin/sh\\s.*libtool.*--mode=install).*\\s([^\\s;]+)", 1 ), ActionFormat( i18n("generating"), "dcopidl", "dcopidl .* > ([^\\s;]+)", 1 ), ActionFormat( i18n("compiling"), "dcopidl2cpp", "dcopidl2cpp (?:\\S* )*([^\\s;]+)", 1 ), ActionFormat( QString::null, QString::null, 0, 0 ) }; return formats; } ====================== Can we have "CC" be added as shown above. Or even better allow user input of their compiler name, that would be useful for users with strange compiler names. For example someone cross compiling for an embedded system. Thanks, Paul