device-dependent library updates for Yocto
[keystone-rtos/fault_mgmt.git] / src / Module.xs
1 /******************************************************************************
2  * FILE PURPOSE: Fault Management Source module specification file.
3  ******************************************************************************
4  * FILE NAME: module.xs
5  *
6  * DESCRIPTION: 
7  *  This file contains the module specification for the Fault Management source directory.
8  *
9  * Copyright (C) 2012-2015, Texas Instruments, Inc.
10  *****************************************************************************/
12 /* Load the library utility. */
13 var libUtility = xdc.loadCapsule ("../build/buildlib.xs");
15 var fault_mgmtLibFiles = [
16                     "src/fault_mgmt.c",
17                     "src/fm_clean.c",
18                     "src/fm_exclusion.c",
19                     ];
21 /**************************************************************************
22  * FUNCTION NAME : modBuild
23  **************************************************************************
24  * DESCRIPTION   :
25  *  The function is used to build all the components of the Fault
26  *  Management library
27  **************************************************************************/
28 function modBuild() 
29 {
30     /* Build the device independent libraries for all the targets specified. */
31     for (var targets=0; targets < socs["all"].targets.length; targets++)
32     {
33         var targetFiles = rmlldFile.slice(); /* make copy */
34         var libOptions = {
35             copts: socs["all"].copts,
36             incs:  lldIncludePath, 
37         };
38         libUtility.buildLibrary ("", "false", libOptions, Pkg.name, socs["all"].targets[targets], targetFiles);
39     }
41     /* Build library targets for device dependent SoCs */
42     for (var soc=0; soc < soc_names.length; soc++) 
43     {
44         var dev = socs[soc_names[soc]];
45         
46         /* do not proceed if this SoC is not configured to be built */
47         if (dev.build == "false")
48            continue;
50         if (dev.socDevLib == "true")
51         { 
52             var targetFiles_soc = rmlldFile.slice(); /* make copy */
53             /* Build the libraries for all the targets specified. */
54             for (var targets=0; targets < dev.targets.length; targets++)
55             {
56                 var libOptions = {
57                     copts: dev.copts,
58                     incs:  lldIncludePath, 
59                 };
60                 libUtility.buildLibrary (soc_names[soc], "true", libOptions, Pkg.name, dev.targets[targets], targetFiles_soc);
61             }
62          }
63     }
65     /* Add all the .c files to the release package. */
66     var testFiles = libUtility.listAllFiles (".c", "src", true);
67     for (var k = 0 ; k < testFiles.length; k++)
68         Pkg.otherFiles[Pkg.otherFiles.length++] = testFiles[k];
70     /* Add all the .h files to the release package. */
71     var testFiles = libUtility.listAllFiles (".h", "src", true);
72     for (var k = 0 ; k < testFiles.length; k++)
73         Pkg.otherFiles[Pkg.otherFiles.length++] = testFiles[k];        
74 }