blob: 6e35e6c831318d0b74fa779f2dd68ca3d89aa2a0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
/*
* ======== package.xs ========
*
*/
/*
* ======== Package.getLibs ========
* This function is called when a program's configuration files are
* being generated and it returns the name of a library appropriate
* for the program's configuration.
*/
function getLibs(prog)
{
var suffix = prog.build.target.suffix;
var name = "";
var socType = this.Settings.socType;
var profilingTag = "";
socType = socType.toLowerCase();
/* Replace the last charecter in SoC am#### to am###x */
if (socType.substring(0, 2) == "am")
{
socType = socType.substring(0, socType.length - 1);
socType = socType.concat("x");
}
if (this.Settings.enableProfiling == true)
{
profilingTag = ".profiling"
}
name = this.$name + profilingTag + ".a" + suffix;
/* Read LIBDIR variable */
var lib = java.lang.System.getenv("LIBDIR");
/* If NULL, default to "lib" folder */
if (lib == null)
{
lib = "./lib";
} else {
print ("\tSystem environment LIBDIR variable defined : " + lib);
}
var socTypes = [
'am571x',
'am572x',
'am574x',
'am335x',
'am437x',
'k2g'
];
/* Get the SOC */
for each (var soc in socTypes)
{
if (socType.equals(soc))
{
lib = lib + "/" + soc;
name = this.$name + profilingTag + ".a" + suffix;
break;
}
}
/* Get target folder, if applicable */
if ( java.lang.String(suffix).contains('66') )
lib = lib + "/c66";
else if (java.lang.String(suffix).contains('a15') )
lib = lib + "/a15";
else if (java.lang.String(suffix).contains('m4') )
lib = lib + "/m4";
else if (java.lang.String(suffix).contains('a9') )
lib = lib + "/a9";
else if (java.lang.String(suffix).contains('a8') )
lib = lib + "/a8";
else
throw new Error("\tUnknown target for: " + this.packageBase + lib);
var libProfiles = ["debug", "release"];
/* get the configured library profile */
for each(var profile in libProfiles)
{
if (this.Settings.libProfile.equals(profile))
{
lib = lib + "/" + profile;
break;
}
}
/* Get library name with path */
lib = lib + "/" + name;
if (java.io.File(this.packageBase + lib).exists()) {
print ("\tLinking with library " + this.$name + ":" + lib);
return lib;
}
/* Could not find any library, throw exception */
throw new Error("\tLibrary not found: " + this.packageBase + lib);
}
/*
* ======== package.close ========
*/
function close()
{
if (xdc.om.$name != 'cfg') {
return;
}
}
|