Skip to content

App Versions

dpefour edited this page Jun 26, 2015 · 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 Vivado package version is 1.2014.1 for Vivado tool version 2014.1 and will be updated at each release to follow the Vivado release number.

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

package require Vivado 1.2014.1

Note: The Vivado Tcl package provided by Vivado tool starts with a 1.. This is to comply with Tcl language regarding the major release number rule for packages.

Note: All the scripts within the same app should require the same Vivado package. Do not mix-and-match the Vivado package within the same app.

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