Copyright (C) 2002-2020 Arnaud BERTRAND
web-site: http://apvsys.sourceforge.net
apv-xcheck
to check the cross-references in the ApVSys database By default, only the current tool-spec will be checked to see if command versions are defined by more than 1 tool-spec line. It can cause conflict or anoying situations.
This effect is named collision. You will see this "problem" when a command is registered for 2 different tools. Let's take an example:
We assume that the command cpp was registered for different tool/version, the output of "apv -a cpp" is:
cpp:
3 registered versions for the command cpp :
gcc/v3.0.2
Compiler8051/v1.7
gcc/v2.95.3 <= <= <=
Matched toolspec: /home/arn/tool-spec: gcc/default
Chosen version from: "gcc/v2.95.3"
The command if known for 2 different tools (gcc and Compiler8051).
If a user is using both tools... we have a collision
If his toolspec is:
gcc/default
Compiler8051/v1.7
the executed version of cpp will be the gcc/v2.95.3 version (see above) but if his toolspec is:
Compiler8051/v1.7
gcc/default
the executed version of cpp will be the Compiler8051/v1.7 version.
This "problem" is not due to ApVSys, it does not have solution by using standard Unix PATH system. The order of the toolspec lines (you can check with apv -X) gives the priority order exactly as the order of the paths in the PATH environment variable.
apv-xcheck [-h] [-v] [-t toolname] [-a]
Limit the check to a specific tool, print only possible collisions with commands of this tool.
analyzes the cross-references in all the tools instead of only the tools mentionned in the toolspec.
Set the verbose mode: the chosen version (function of the toolspec is also reported).
print a short help message
> apv-xcheck
> apv-xcheck -v -t gcc
> apv-xcheck -a -t gcc