').attr('href', current[m].link).html(current[m].filename));
if (current[m].unsupported) {
module.append($('').attr('class','unsupported').html('Note: This is an unsupported module.'));
}
} else {
module.html(m + ': ' + 'No download available/necessary');
}
modlist.append(module);
}
$('#downloads').show();
return true;
};
var buildDownloads = function() {
/* populate the download links object from the variables that have been supplied */
for (var m_key in modules) {
if (!modules.hasOwnProperty(m_key)) {
continue;
}
var m = modules[m_key];
for (var v_key in m.versions) {
if (!m.versions.hasOwnProperty(v_key)) {
continue;
}
var v = m.versions[v_key];
downloads[v_key] = downloads[v_key] || {};
/* the platform list can be specified at the version or module
level, or if not specified at either level, it will use the
default list
*/
var p_list = v.platforms || m.platforms || all_platforms;
for (var p_index = 0; p_index < p_list.length; p_index++) {
var p_key = p_list[p_index];
/* skip any platforms that aren't in the master list */
if (!supported_platforms.hasOwnProperty(p_key)) {
continue;
}
var p = supported_platforms[p_key];
downloads[v_key][p_key] = downloads[v_key][p_key] || {};
/* the bit list can be specified at the version or module
level, or if not specified at either level, by the
platform.
*/
var b_list = v.bits || m.bits || p.bits;
for (var b_index = 0; b_index < b_list.length; b_index++) {
var b = b_list[b_index];
/* skip any bit widths that aren't in the master list */
if (all_bits.indexOf(b) == -1) {
continue;
}
/* skip any bit widths that aren't in the platform list */
if (p.bits.indexOf(b) == -1) {
continue;
}
downloads[v_key][p_key][b] = downloads[v_key][p_key][b] || {};
if (typeof m.flavors !== 'undefined') {
var f_list = m.flavors[p.cpu_prefix + '-' + b];
} else {
var f_list = all_flavors[p.cpu_prefix + '-' + b];
}
for (var f_index = 0; f_index < f_list.length; f_index++) {
var f = f_list[f_index];
/* module version can be set at the version or module level */
var mod_version = v.version || m.version;
if (typeof v.file_version === 'undefined') {
file_version = '';
} else {
file_version = v.file_version + '_';
}
if (m_key === 'hpec') {
bit = '';
} else {
bit = '_' + b;
}
downloads[v_key][p_key][b][f] = downloads[v_key][p_key][b][f] || {};
downloads[v_key][p_key][b][f][m_key] = {};
if (m.unflavored) {
downloads[v_key][p_key][b][f][m_key].filename = m_key + '-' + file_version + mod_version + '-' + p.cpu_prefix + bit + '.tar.gz';
} else {
downloads[v_key][p_key][b][f][m_key].filename = m_key + '-' + file_version + mod_version + '-' + f + bit + '.tar.gz';
}
/* unsupported can be set at the version, module or platform level */
downloads[v_key][p_key][b][f][m_key].unsupported = v.unsupported || m.unsupported || p.unsupported;
if (downloads[v_key][p_key][b][f][m_key].unsupported) {
var dir_prefix = 'unsupported/' + v.directory + '/' + p.directory;
} else {
var dir_prefix = v.directory;
}
if (typeof dir_prefix === 'undefined') {
dir_prefix = '';
} else {
dir_prefix = dir_prefix + '/';
}
downloads[v_key][p_key][b][f][m_key].link = m.download_base + '/' + dir_prefix + p.cpu_prefix + '-' + b + '/' + downloads[v_key][p_key][b][f][m_key].filename;
}
}
}
}
}
}
var downloads = {};
var ast_ver_val = '';
var bit_val = '';
var flavor_val = '';
var platform_val = '';
var all_bits = [ '32', '64' ];
var all_flavors =
{
'x86-32': [ 'athlon', 'athlon_xp', 'barcelona', 'c3', 'c3_2', 'core2', 'generic', 'i686', 'k6_3', 'nocona', 'opteron', 'opteron_sse3', 'pentium3m', 'pentium4m', 'pentium_m', 'prescott' ],
'x86-64': [ 'barcelona', 'core2', 'generic', 'nocona', 'opteron', 'opteron_sse3' ],
};
var supported_platforms =
{
'linux-x86':
{
display: 'GNU/Linux (x86 CPUs)',
directory: 'Linux',
cpu_prefix: 'x86',
bits: ['32', '64'],
},
};
var all_platforms = [];
/** This function is needed for IE **/
if(!Array.indexOf){
Array.prototype.indexOf = function(obj){
for(var i=0; i