in framework/src/main/java/org/apache/felix/framework/util/manifestparser/NativeLibraryClause.java [528:682]
public static String normalizeOSName(String value)
{
value = value.toLowerCase();
if (OS_ALIASES.containsKey(value))
{
// we found an alias match return the first value which is the normalized name
return OS_ALIASES.get(value).get(0);
}
//If we don't find a match do it the old way for compatibility
if (value.startsWith("win"))
{
String os = OS_WIN_32;
if (value.indexOf("32") >= 0 || value.indexOf("*") >= 0)
{
os = OS_WIN_32;
}
else if (value.indexOf("95") >= 0)
{
os = OS_WINDOWS_95;
}
else if (value.indexOf("98") >= 0)
{
os = OS_WINDOWS_98;
}
else if (value.indexOf("nt") >= 0)
{
os = OS_WINDOWS_NT;
}
else if (value.indexOf("2000") >= 0)
{
os = OS_WINDOWS_2000;
}
else if (value.indexOf("2003") >= 0)
{
os = OS_WINDOWS_2003;
}
else if (value.indexOf("2008") >= 0)
{
os = OS_WINDOWS_SERVER_2008;
}
else if (value.indexOf("2012") >= 0)
{
os = OS_WINDOWS_SERVER_2012;
}
else if (value.indexOf("2016") >= 0)
{
os = OS_WINDOWS_SERVER_2016;
}
else if (value.indexOf("2019") >= 0)
{
os = OS_WINDOWS_SERVER_2019;
}
else if (value.indexOf("xp") >= 0)
{
os = OS_WINDOWS_XP;
}
else if (value.indexOf("ce") >= 0)
{
os = OS_WINDOWS_CE;
}
else if (value.indexOf("vista") >= 0)
{
os = OS_WINDOWS_VISTA;
}
else if ((value.indexOf(" 7") >= 0) || value.startsWith(OS_WINDOWS_7)
|| value.equals("win7"))
{
os = OS_WINDOWS_7;
}
else if ((value.indexOf(" 8") >= 0) || value.startsWith(OS_WINDOWS_8)
|| value.equals("win8"))
{
os = OS_WINDOWS_8;
}
else if ((value.indexOf(" 9") >= 0) || value.startsWith(OS_WINDOWS_9)
|| value.equals("win9"))
{
os = OS_WINDOWS_9;
}
else if ((value.indexOf(" 10") >= 0) || value.startsWith(OS_WINDOWS_10)
|| value.equals("win10"))
{
os = OS_WINDOWS_10;
}
return os;
}
else if (value.startsWith(OS_LINUX))
{
return OS_LINUX;
}
else if (value.startsWith(OS_AIX))
{
return OS_AIX;
}
else if (value.startsWith(OS_DIGITALUNIX))
{
return OS_DIGITALUNIX;
}
else if (value.startsWith(OS_HPUX))
{
return OS_HPUX;
}
else if (value.startsWith(OS_IRIX))
{
return OS_IRIX;
}
else if (value.startsWith(OS_MACOSX) || value.startsWith("mac os x"))
{
return OS_MACOSX;
}
else if (value.startsWith(OS_MACOS) || value.startsWith("mac os"))
{
return OS_MACOS;
}
else if (value.startsWith(OS_NETWARE))
{
return OS_NETWARE;
}
else if (value.startsWith(OS_OPENBSD))
{
return OS_OPENBSD;
}
else if (value.startsWith(OS_NETBSD))
{
return OS_NETBSD;
}
else if (value.startsWith(OS_OS2) || value.startsWith("os/2"))
{
return OS_OS2;
}
else if (value.startsWith(OS_QNX) || value.startsWith("procnto"))
{
return OS_QNX;
}
else if (value.startsWith(OS_SOLARIS))
{
return OS_SOLARIS;
}
else if (value.startsWith(OS_SUNOS))
{
return OS_SUNOS;
}
else if (value.startsWith(OS_VXWORKS))
{
return OS_VXWORKS;
}
else if (value.startsWith(OS_EPOC))
{
return OS_EPOC;
}
return value;
}