CATREQ-2702: Descoping c6x big-endian targets
[keystone-rtos/fault_mgmt.git] / package.xs
1 /*
2  *  ======== package.xs ========
3  *
4  */
7 /*
8  *  ======== Package.getLibs ========
9  *  This function is called when a program's configuration files are
10  *  being generated and it returns the name of a library appropriate
11  *  for the program's configuration.
12  */
14 function getLibs(prog)
15 {
16     var suffix = prog.build.target.suffix;
17     var name = this.$name + ".a" + suffix;
18     var socType = this.Settings.deviceType;
20     socType = socType.toLowerCase();
22     /* Read LIBDIR variable */
23     var lib = java.lang.System.getenv("LIBDIR");
25     /* If NULL, default to "lib" folder */
26     if (lib == null)
27     {
28         lib = "./lib";
29     } else {
30         print ("\tSystem environment LIBDIR variable defined : " + lib);
31     }
33     /* SoC types supported */
34     var socTypes = [
35                         'tci6614',    
36                         'k2k',
37                         'k2h',
38                         'k2l',
39                         'k2e',
40                       ];
41     
42     /* Get the SOC */
43     for each (var soc in socTypes)
44     {
45         if (socType.equals(soc))
46         {
47             lib = lib + "/" + soc;
48             name = this.$name + "." + soc + ".a" + suffix;       
49             break;
50         }
51     }
53     /* Get target folder, if applicable */
54     if ( java.lang.String(suffix).contains('66') )
55         lib = lib + "/c66";
56     else if (java.lang.String(suffix).contains('a15') )
57         lib = lib + "/armv7";
58     else if (java.lang.String(suffix).contains('m4') )
59         lib = lib + "/m4";
60     else if (java.lang.String(suffix).contains('a9') )
61         lib = lib + "/armv7";
62     else if (java.lang.String(suffix).contains('a8') )
63         lib = lib + "/armv7";        
64     else
65         throw new Error("\tUnknown target for: " + this.packageBase + lib);
67     /* Get library name with path */
68     lib = lib + "/" + name;
69     if (java.io.File(this.packageBase + lib).exists()) {
70        print ("\tLinking with library " + this.$name + ":" + lib);
71        return lib;
72     }
74     /* Could not find any library, throw exception */
75     throw new Error("\tLibrary not found: " + this.packageBase + lib);
76 }
78 /*
79  *  ======== package.close ========
80  */
81 function close()
82 {    
83     if (xdc.om.$name != 'cfg') {
84         return;
85     }
86 }