Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 324021 - XDCtools should support sharing of configuration among application builds
Summary: XDCtools should support sharing of configuration among application builds
Status: CLOSED FIXED
Alias: None
Product: RTSC
Classification: Technology
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P1 normal (vote)
Target Milestone: ---   Edit
Assignee: Dave Russo CLA
QA Contact:
URL:
Whiteboard: target:3.23.01
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-30 15:32 EDT by Amit Mookerjee CLA
Modified: 2013-01-24 15:12 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Amit Mookerjee CLA 2010-08-30 15:32:00 EDT
Applications built via the regular "package.bld" flow have no way to share RTSC configurations. XDCtools should provide a mechanism for sharing "configs" and also build 'configuro' on top of this mechanism.

Support for shared configuration will reduce the build times of SYS/BIOS regression tests.
Comment 1 Dave Russo CLA 2011-11-25 20:06:52 EST
Pkg.addConfiguration() allows one to create a configuration that can be shared (among exes in the same package).
Comment 2 Sasha Slijepcevic CLA 2012-02-06 18:41:35 EST
- verified using 3.23.01.39

The following code from package.bld demonstrate the test I used to verify that one configuration can be used for multiple executables:
    var assembly = Pkg.addConfiguration('hello', targ, targ.platform, {
        cfgScript: "hello.cfg", profile: "release", prelink: true
    });
    var prog = Pkg.addExecutable('hello', targ, targ.platform, {
        rtsName: null, profile: "release", sharedCfg: assembly.getBaseName()
    });
    prog.addObjects(["hello.c"]);

    var prog2 = Pkg.addExecutable('hello2', targ, targ.platform, {
        rtsName: null, profile: "release", sharedCfg: assembly.getBaseName()
    });
    prog2.addObjects(["hello2.c"]);

The output verifies that we build the configuration only once and reuse it when building executables:
making package.mak (because of package.bld) ...
generating interfaces for package assembly.test1 (because package/package.xdc.inc is older than package.xdc) ...
configuring hello.pe64P from package/cfg/hello_pe64P.cfg ...
cle64P package/cfg/hello_pe64P.c ...
lnke64P hello.pe64P ...
cle64P hello.c ...
lnke64P hello.xe64P ...
cle64P hello2.c ...
lnke64P hello2.xe64P ...
all files complete.
Comment 3 Dave Russo CLA 2013-01-24 15:12:08 EST
xdctools 3.23.05 GA is available from here: http://www.sanb.design.ti.com/tisb_releases/XDCtools/3_23_05_61/