Ide: Limit number of Android c++ runtimes to the current NDK state.

git-svn-id: svn://ultimatepp.org/upp/trunk@15229 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
klugier 2020-10-10 21:01:28 +00:00
parent 4fcf517a29
commit 154ff652aa
2 changed files with 6 additions and 35 deletions

View file

@ -99,16 +99,11 @@ Vector<String> AndroidNDK::FindCppRuntimes() const
{
Vector<String> runtimes;
// Values from ndk documentation
runtimes.Add("system");
runtimes.Add("gabi++_static");
runtimes.Add("gabi++_shared");
runtimes.Add("stlport_static");
runtimes.Add("stlport_shared");
runtimes.Add("gnustl_static");
runtimes.Add("gnustl_shared");
// Values from NDK documentation
runtimes.Add("c++_static");
runtimes.Add("c++_shared");
runtimes.Add("system");
runtimes.Add("none");
return runtimes;
}
@ -127,33 +122,8 @@ String AndroidNDK::GetIncludeDir() const
String AndroidNDK::GetCppIncludeDir(const String& cppRuntime) const
{
String nest = GetSourcesDir() + DIR_SEPS + "cxx-stl" + DIR_SEPS;
if(cppRuntime == "system")
if(cppRuntime == "system") {
return nest + "system" + DIR_SEPS + "include";
else
if(cppRuntime.StartsWith("gabi++"))
return nest + "gabi++" + DIR_SEPS + "include";
else
if(cppRuntime.StartsWith("stlport"))
return nest + "stlport" + DIR_SEPS + "stlport";
else
if(cppRuntime.StartsWith("gnustl")) {
// TODO: implement selection of library version
String versionsDir = nest + "gnu-libstdc++";
FindFile ff(nest + "gnu-libstdc++" + DIR_SEPS + "*.*");
String inc;
double ver = 0;
while(ff) {
if(ff.IsFolder()) {
double h = atof(ff.GetName());
if(h > ver) {
ver = h;
inc = ff.GetPath();
}
}
ff.Next();
}
return inc + DIR_SEPS + "include";
}
else
if(cppRuntime.StartsWith("c++")) {

View file

@ -864,8 +864,9 @@ String Ide::GetIncludePath()
MergeWith(include, ";", ndk.GetIncludeDir());
String cppIncludeDir = ndk.GetCppIncludeDir(bm.Get("NDK_CPP_RUNTIME", ""));
if(!cppIncludeDir.IsEmpty())
if(!cppIncludeDir.IsEmpty()) {
MergeWith(include, ";", cppIncludeDir);
}
}
}