| %%{ |
| /* |
| * ======== libvers.xdt ======== |
| * Generate version information for each library |
| * |
| * This template is used to generate a file (package/package.bld.c) |
| * which is included by package/package.c. This generated file is |
| * compiled and archived into every library produced by packages that |
| * set xdc.bld.PackageContents.libTemplate to reference this template. |
| * |
| * This template defines three global variables: |
| * <pkg_prefix>_versionString |
| * <pkg_prefix>_versionNumArray |
| * <pkg_prefix>_whatString |
| * |
| * where <pkg_prefix> is the package prefix used to keep all package |
| * names globally unique; e.g., the prefix for the package named foo.bar |
| * is "foo_bar_". In this example, the versionString variable is named |
| * foo_bar__versionString; note the double underscore. |
| */ |
| |
| var base = xdc.getPackageBase(Pkg.name); |
| base = base.substr(0, base.length - (Pkg.name.length + 1)); |
| |
| //var pattern = /-\w\d\d/; |
| //var result = pattern.exec(base); |
| //base = base.substr(0, result.index); |
| //base = base.substr(base.lastIndexOf('/') + 1, base.length); |
| //var tree = base + result[0]; |
| |
| var version = Pkg.version; |
| if (version == "") { |
| version = "0, 0, 0"; |
| } |
| |
| var Today = new Date(); |
| var date = (Today.getUTCMonth() + 1) |
| + "-" + Today.getUTCDate() |
| + "-" + Today.getFullYear(); |
| |
| var hour = new String(); |
| hour= String(Today.getHours()); |
| //print("hour len is"+hour.length); |
| if (hour.length<2) hour="0"+hour; |
| |
| var minute = new String(); |
| minute=String(Today.getMinutes()); |
| if (minute.length<2) minute="0"+minute; |
| |
| var second = new String(); |
| second=String(Today.getSeconds()); |
| if (second.length<2) second="0"+second; |
| var time = hour |
| + ":" + minute |
| + ":" + second; |
| |
| |
| %%} |
| #define _concat(p,n) p ## n |
| #define myPrefixedVar(p,n) _concat(p,n) |
| |
| /* create a string that can be used at runtime */ |
| char * myPrefixedVar(__xdc_PKGPREFIX, _versionString) = "`version`"; |
| |
| /* create numeric array that can be used at runtime */ |
| float myPrefixedVar(__xdc_PKGPREFIX, _versionNumArray)[] = {`version`}; |
| |
| /* create a string that will be reported by vers utility */ |
| char * myPrefixedVar(__xdc_PKGPREFIX, _whatString) = \ |
| "@(#) `Pkg.name`; `version`; `date` `time`; `base`" ; |
| |