1.2 Dependency Tracking of MVFS and Non-MVFS Files

During build-script execution in a dynamic view, a host's MVFS (multiversion file system) audits low-level system calls performed on ClearCase data: create, open, read, and so on. Calls involving the following objects are monitored:

Some of these objects are stored in the VOB, and others are view-private files. The view combines them into a virtual work area, where they appear to be located in VOB directories. They are called MVFS files because they are accessed through the MVFS.

Automatic Detection of MVFS Dependencies

Because auditing of MVFS files is completely automated, you don't have to keep track of exactly which files are being used in builds. ClearCase does the tracking instead. For example, it determines which C-language source files referenced with #include directives are used in a build. Tracking eliminates the need both to declare such files in the makefile and for dependency-detection tools.

If you store your build tools (compilers, linkers, and so on) as ClearCase elements and run them from the VOB, they are recorded in the configuration record as implicit detected dependencies.

Tracking Non-MVFS Files

A build can also involve files that are not accessed through VOB directories. Such non-MVFS files are not audited automatically, but are tracked if you declare them as dependencies in a makefile. This tracking enables auditing of build tools that are not stored as ClearCase elements (for example, a C-language compiler), flag files in the user's home directory, and so on. Tracking information on a non-MVFS file includes its absolute path, time stamp, size, and checksum.