Skip to content

App Versions

dpefour edited this page Jan 30, 2014 · 9 revisions

Version Requirements

Each app is compatible with the Tcl package mechanism ans has a Tcl package version associated with it. This functionality is provided through the following files under each app directory:

utils.tcl
pkgIndex.tcl

The full Tcl package name of each app is ::tclapp::mycompany::myapp

This mechanism provides the ability to have an app that depends on another app. For example, if mycompany::myapp depends on Xilinx's designutils app, then myapp can make sure that the designutils app is available by adding the following line inside the scripts:

package require ::tclapp::xilinx::designutils

A minimum package version number can also be provided, such as:

package require ::tclapp::xilinx::designutils 1.0

Vivado also provides an embedded Tcl package (named Vivado) with a version. Currently, the package version is 2013.1 which is actually different from the Vivado tool version.

For example, if an app will only work with the Vivado package version 2013.1 or newer, you can place the following in the app:

package require Vivado 2013.1

If a script will not work with older versions of Tcl, one may place the following in the app:

package require Tcl 8.5

Other examples of package require statements:

package require struct::set 2.2.3
package require struct::list 1.7
package require stooop 4