|
inlib
1.2.0
|
Functions | |
| std::string | remove_versions (const std::string &aString) |
| bool | osc_home_dir (std::string &a_dir) |
| bool | find_resource (const std::string &aFile, const std::string &aWhat, std::string &a_value) |
| bool | find_cxx (const std::string &, const std::string &aFile, std::string &a_value) |
| bool | find_incs (const std::string &, const std::string &aFile, std::string &a_value) |
| bool | find_flags (const std::string &, const std::string &aFile, std::string &a_value) |
| bool | find_libs (const std::string &, const std::string &aFile, std::string &a_value) |
| bool | find_incdir (const std::string &, const std::string &aFile, std::string &a_value) |
| bool inlib::config::find_cxx | ( | const std::string & | , |
| const std::string & | aFile, | ||
| std::string & | a_value | ||
| ) | [inline] |
Definition at line 97 of file config.
{
std::string home_dir;
if(!osc_home_dir(home_dir)) {a_value.clear();return false;}
std::string file = home_dir+sep()+"bin"+sep()+aFile;
return find_resource(file,"obuild_cxx_command",a_value);
}
| bool inlib::config::find_flags | ( | const std::string & | , |
| const std::string & | aFile, | ||
| std::string & | a_value | ||
| ) | [inline] |
Definition at line 114 of file config.
{
std::string home_dir;
if(!osc_home_dir(home_dir)) {a_value.clear();return false;}
std::string file = home_dir+sep()+"bin"+sep()+aFile;
std::string opts;
if(!find_resource(file,"obuild_cxx_options",opts)) {
a_value.clear();
return false;
}
std::string macs;
if(!find_resource(file,"obuild_cxx_macros",macs)) {
a_value.clear();
return false;
}
std::string incs;
if(!find_resource(file,"obuild_cxx_includes",incs)) {
a_value.clear();
return false;
}
incs = remove_versions(incs);
replace(incs,"@@top@@",home_dir+sep()+"Resources");
//if(home_dir.find(" ")==std::string::npos) {
// replace(incs,"\"","");
//}
a_value= opts+" "+macs+" "+incs;
return true;
}
| bool inlib::config::find_incdir | ( | const std::string & | , |
| const std::string & | aFile, | ||
| std::string & | a_value | ||
| ) | [inline] |
Definition at line 175 of file config.
{
std::string home_dir;
if(!osc_home_dir(home_dir)) {a_value.clear();return false;}
std::string file = home_dir+sep()+"bin"+sep()+aFile;
std::string package;
if(!find_resource(file,"obuild_package",package)) {
a_value.clear();
return false;
}
std::string version;
if(!find_resource(file,"obuild_version",version)) {
a_value.clear();
return false;
}
a_value = home_dir+sep()+"Resources"+sep()+package+sep()+"include";
return true;
}
| bool inlib::config::find_incs | ( | const std::string & | , |
| const std::string & | aFile, | ||
| std::string & | a_value | ||
| ) | [inline] |
Definition at line 104 of file config.
{
std::string home_dir;
if(!osc_home_dir(home_dir)) {a_value.clear();return false;}
std::string file = home_dir+sep()+"bin"+sep()+aFile;
if(!find_resource(file,"obuild_cxx_includes",a_value)) return false;
a_value = remove_versions(a_value);
replace(a_value,"@@top@@",home_dir+sep()+"Resources");
return true;
}
| bool inlib::config::find_libs | ( | const std::string & | , |
| const std::string & | aFile, | ||
| std::string & | a_value | ||
| ) | [inline] |
Definition at line 148 of file config.
{
std::string home_dir;
if(!osc_home_dir(home_dir)) {a_value.clear();return false;}
std::string file = home_dir+sep()+"bin"+sep()+aFile;
std::string spaths;
#ifdef WIN32
spaths = "/LIBPATH:\""+home_dir+"\\lib\"";
#else
spaths = "-L\""+home_dir+"/lib\"";
#endif
std::string slibs;
if(!find_resource(file,"obuild_linked_libraries",slibs)) {
a_value.clear();
return false;
}
//if(home_dir.find(" ")==std::string::npos) {
// replace(spaths,"\"","");
//}
a_value = spaths+" "+slibs;
return true;
}
| bool inlib::config::find_resource | ( | const std::string & | aFile, |
| const std::string & | aWhat, | ||
| std::string & | a_value | ||
| ) | [inline] |
Definition at line 46 of file config.
{
std::vector<std::string> txt;
if(!inlib::file::read(aFile,txt)) {
::fprintf(stderr,"Can't read the file :\n");
::fprintf(stderr,"%s\n",aFile.c_str());
::fprintf(stderr,
"containing the platform dependant incs and libs infos.\n");
a_value.clear();
return false;
}
if(!txt.size()) {
::fprintf(stderr,"The file :\n");
::fprintf(stderr,"%s\n",aFile.c_str());
::fprintf(stderr,"is empty. We expect to find in it\n");
::fprintf(stderr,"the platform dependant incs and libs infos.\n");
a_value.clear();
return false;
}
{unsigned int number = txt.size();
for(unsigned int index=0;index<number;index++){
const std::string& line = txt[index];
std::string::size_type pos = line.find('=');
if(pos==std::string::npos) {
::fprintf(stderr,"Syntax error in file :\n");
::fprintf(stderr,"%s\n",aFile.c_str());
::fprintf(stderr,"for line :\n");
::fprintf(stderr,"%s\n",line.c_str());
::fprintf(stderr,"We expect line with : <key>=<value>\n");
a_value.clear();
return false;
}
if(aWhat==line.substr(0,pos)) {
a_value = line.substr(pos+1,line.size()-(pos+1));
return true;
}
}}
::fprintf(stderr,"The file :\n");
::fprintf(stderr,"%s\n",aFile.c_str());
::fprintf(stderr,"does not contain the %s infos.\n",aWhat.c_str());
a_value.clear();
return false;
}
| bool inlib::config::osc_home_dir | ( | std::string & | a_dir | ) | [inline] |
Definition at line 35 of file config.
{
if(!getenv("OSC_HOME_DIR",a_dir)) {
::fprintf(stderr," Environment variable OSC_HOME_DIR not defined.\n");
::fprintf(stderr," You have to setup the kit by sourcing \n");
::fprintf(stderr," the setup script found in the distribution.\n");
a_dir.clear();
return false;
}
return true;
}
| std::string inlib::config::remove_versions | ( | const std::string & | aString | ) | [inline] |
Definition at line 17 of file config.
{
std::vector<std::string> words = inlib::words(aString," ");
unsigned int wordn = words.size();
std::string snew;
for(unsigned int index=0;index<wordn;index++) {
const std::string& word = words[index];
if(word.find("@@top@@")!=std::string::npos) {
std::string s = remove_version(word);
if(snew.size()) snew += " ";
snew += s;
} else {
if(snew.size()) snew += " ";
snew += word;
}
}
return snew;
}
1.7.5.1