             xdc-J01 (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.rov	    added try-catch to report capsules with syntax errors or
	    exceptions, improved error messages when variables are not found
	    in an app.

	    optimized memory reads, we used to read byte by byte for large
	    arrays. They are now read in on large memory operation.

MRS

XDCTOOLS-397	fix broken empty.rov.xs used by dwarf-based ROV
XDCTOOLS-413	build.target structure created for non-TIRTOS ROV may have
		incorrect 'align'
XDCTOOLS-414	IAR Semaphore ROV view raises an error
XDCTOOLS-313	tighten up the computation of OUTMAX to be relative to sizeof
		unsigned long + if they don't already exist add test of max
		magnitude unsigned long and negative long

