             xdc-K02 (corevers:16.0.2.0; B:200,G:200,R:200)

                       eXpanDed C Tools (XDCtools)

    This tree contains the RTSC build and configuration engines for
    target content. The tree is used in XDCtools 3.62 product releases.

Librarian repo creation
-----------------------
    The xdc.git repo was created to "track" the repo maintained at 
    eclipse.org and was created as follows:
        git clone --bare ssh://git.eclipse.org/gitroot/rtsc/org.eclipse.rtsc.xdccore.git xdc.git
	cd xdc.git
        git config remote.origin.fetch "+refs/heads/*:refs/heads/*"

BUILD

    o setup ssh to enable "git" from xlibrary as "dr" (if necessary)
	cd ~xlibrary/.ssh
	cp -f config-dr config

    o fetch the latest changes from the Eclipse git server
	cd xdc.git
	git fetch

    o Build this tree from Linux using standard SM-MAKE
 
        # clone the tree and merge/review user content
        ggentree -u sascha@ti.com xdc.git/
        cd xdc-K??

	# unzip build.zip from the last released tree
	unzip ../xdc-K??/build.zip

        # make sure the user email and name are your eclipse credentials
        git merge origin/xdccore-K-dr

        # build the tree on Linux
        SM-MAKE .clean
        SM-MAKE .all-files >& Make.log

        # update README
        emacs README
        git commit -a -m xdc-K??

        # release the tree
        greltree -m "something brief and meaningful"

    o to build only packages in src/packages from scratch:

    	SM-MAKE .xdc-packages

    o to build bundles:

    	SM-MAKE .bundles


==============================================================

ADDITIONS

DELETIONS

CHANGES

MRS

XDCTOOLS-417	fix xdc.rov.support.ScalarStructs to be "virtually" meta-only
XDCTOOLS-428	ROV needs API that can read any memory location and interpret
		it as a standard C99 type
XDCTOOLS-431	ITarget.model properties are incorrect for ROV C modules for
		BIOS 7

