]> git.tdb.fi Git - builder.git/blobdiff - source/builder.cpp
Fix include and library search order
[builder.git] / source / builder.cpp
index d9444ce8a2c878d1eed9e4f9a80456460d43ccbc..15c9e5455f84e0946fc01ef8c569181063d79394 100644 (file)
@@ -8,7 +8,7 @@ Distributed under the LGPL
 #include <fstream>
 #include <iostream>
 #include <set>
-#include <msp/core/error.h>
+#include <msp/core/except.h>
 #include <msp/core/getopt.h>
 #include <msp/datafile/parser.h>
 #include <msp/path/utils.h>
@@ -239,14 +239,14 @@ Target *Builder::get_header(const string &include, const string &arch, const str
        if(arch=="native")
                syspath.push_back("/usr/include");
        else
-               syspath.push_back("/usr/"+get_architecture(arch).get_prefix()+"/lib");
+               syspath.push_back("/usr/"+get_architecture(arch).get_prefix()+"/include");
        syspath.push_back((Path("/usr/include/c++/")/cxx_ver/fn).str());
 
        Target *tgt=0;
-       for(list<string>::const_iterator j=syspath.begin(); (!tgt && j!=syspath.end()); ++j)
-               tgt=get_header(Path(*j)/fn);
        for(list<string>::const_iterator j=path.begin(); (!tgt && j!=path.end()); ++j)
                tgt=get_header(cwd/ *j/fn);
+       for(list<string>::const_iterator j=syspath.begin(); (!tgt && j!=syspath.end()); ++j)
+               tgt=get_header(Path(*j)/fn);
 
        includes.insert(TargetMap::value_type(id, tgt));
 
@@ -289,10 +289,10 @@ Target *Builder::get_library(const string &lib, const string &arch, const list<s
                cout<<"Looking for library "<<lib<<" with path "<<join(path.begin(), path.end())<<'\n';
 
        Target *tgt=0;
-       for(StringList::iterator j=syspath.begin(); (!tgt && j!=syspath.end()); ++j)
-               tgt=get_library(lib, arch, *j, mode);
        for(StringList::const_iterator j=path.begin(); (!tgt && j!=path.end()); ++j)
                tgt=get_library(lib, arch, cwd/ *j, mode);
+       for(StringList::iterator j=syspath.begin(); (!tgt && j!=syspath.end()); ++j)
+               tgt=get_library(lib, arch, *j, mode);
 
        libraries.insert(TargetMap::value_type(id, tgt));