             xdc-I10 (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.61 product releases.
    The major change in this stream is the usage of attributes instead of
    pragmas in runtime sources.

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-I??

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

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

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

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

        # 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

xdc.runtime
    updated arch doc to address review comments

MRS
