X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilder.cpp;h=3a9f3d40eea213f64bb2ecb04c7ab1e21d8514f7;hb=190b83af0103e3ed7ae244a617ac15fb90fa5776;hp=5fb918c512a8e3ce7fc95b023a2dcc2a43a55108;hpb=b3ce9052ba98a4585aec75117265d170b7ccfdb8;p=builder.git diff --git a/source/builder.cpp b/source/builder.cpp index 5fb918c..3a9f3d4 100644 --- a/source/builder.cpp +++ b/source/builder.cpp @@ -384,16 +384,21 @@ Target *Builder::get_header(const string &include, const FS::Path &from, const l StringList argv; argv.push_back(current_arch->get_tool("CXX")); argv.push_back("--version"); - cxx_ver=Regex("[0-9]\\.[0-9.]+").match(run_command(argv))[0].str; - while(!cxx_ver.empty() && !FS::is_dir(FS::Path("/usr/include/c++")/cxx_ver)) + if(RegMatch m=Regex("[0-9]\\.[0-9.]+").match(run_command(argv))) { - string::size_type dot=cxx_ver.rfind('.'); - if(dot==string::npos) - break; - cxx_ver.erase(dot); + cxx_ver=m[0].str; + while(!cxx_ver.empty() && !FS::is_dir(FS::Path("/usr/include/c++")/cxx_ver)) + { + string::size_type dot=cxx_ver.rfind('.'); + if(dot==string::npos) + break; + cxx_ver.erase(dot); + } + if(verbose>=5) + IO::print("C++ version is %s\n", cxx_ver); } - if(verbose>=5) - IO::print("C++ version is %s\n", cxx_ver); + else + cxx_ver="-"; } string fn=include.substr(1); @@ -405,7 +410,8 @@ Target *Builder::get_header(const string &include, const FS::Path &from, const l syspath.push_back("/usr/include"); else syspath.push_back("/usr/"+current_arch->get_prefix()+"/include"); - syspath.push_back((FS::Path("/usr/include/c++/")/cxx_ver).str()); + if(cxx_ver!="-") + syspath.push_back((FS::Path("/usr/include/c++/")/cxx_ver).str()); Target *tgt=0; if(include[0]=='\"')