This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Using variables in Pre/Post-build steps in CCS v6

Hello,

in CCS v5 it was possible to use variables containing semicolons within Pre-/Post-build steps.

Example Post-build step:

postbuildstep.cmd "${XDCPATH}"

I think in CCS v6 the semicolon is used to execute multiple steps instead. The content of the variable XDCPATH gets interpreted as different commands now.
Is there a way around this problem?

Thanks,
Ralf

  • Ralf,

    Ralf Goebel said:
    in CCS v5 it was possible to use variables containing semicolons within Pre-/Post-build steps.

    Could you elaborate a bit more on what you mean? Do you mean that XDCPATH in this example has semicolons in its path?

    I don't think there should be a difference in behavior between CCSv5 and CCSv6. In CCSv6, it is now easier to specify multiple post-build commands in multiple lines (which was not there in CCSv5) but other than that, they should be interpreted the same way. Can you provide more details on what your variable is set to and what error is reported by CCS?

  • After opening the XDCPATH variable under Project Properties -> CCS Build -> Variables, I get the following entry:

    C:\ti\pdk_C6678_1_1_2_6\packages;C:\ti\bios_6_35_04_50\packages;C:\ti\ndk_2_22_03_20\packages;C:\ti\edma3_lld_02_11_05_02\packages

    The following errors show up when compiling the project with CCS v6.0.1 or v6.1:

    postbuildstep.cmd "C:\ti\pdk_C6678_1_1_2_6\packages
    "C:\ti\pdk_C6678_1_1_2_6\packages
    C:\ti\bios_6_35_04_50\packages
    C:\ti\ndk_2_22_03_20\packages
    process_begin: CreateProcess(NULL, C:\ti\bios_6_35_04_50\packages, ...) failed.
    make (e=5): Zugriff verweigert
    C:\ti\edma3_lld_02_11_05_02\packages"

    gmake[1]: [post-build] Error 5 (ignored)
    process_begin: CreateProcess(NULL, C:\ti\ndk_2_22_03_20\packages, ...) failed.
    make (e=5): Zugriff verweigert

    gmake[1]: [post-build] Error 5 (ignored)
    Der Befehl "C:\ti\edma3_lld_02_11_05_02\packages"" ist entweder falsch geschrieben oder
    konnte nicht gefunden werden.
    gmake[1]: [post-build] Error 1 (ignored)

    The same project compiles in CCS v5.5 without any problems:

    postbuildstep.cmd "C:\ti\pdk_C6678_1_1_2_6\packages;C:\ti\bios_6_35_04_50\packages;C:\ti\ndk_2_22_03_20\packages;C:\ti\edma3_lld_02_11_05_02\packages"
    ' '

    **** Build Finished ****

    Thanks,
    Ralf

  • I see how the variable with several paths separated by semi-colon is handled differently in CCSv5.5 and CCSv6.

    In CCSv6, if you need to specify multiple paths or strings for a variable, try selecting one of the list options (String List, Directory List, Path List etc). I believe that should be handled properly. Let us know if that helps with your situation.

  • The XDCPATH variable gets automatically defined by the system with the correct directories. If I change the variable type to String List or Directory List, the content disapears and I have to hard-code the directories manually. This makes XDCPATH as a system variable useless.

    Thanks,
    Ralf
  • Sorry I misunderstood. I thought you were explicitly setting the XDCPATH. If you are using the dynamically generated variable, then yes, that suggestion will not work.

    Can you provide an example of how the XDCPATH is being used in the batch file?

  • AartiG said:
    Can you provide an example of how the XDCPATH is being used in the batch file?

    This is not necessary.

    As you said, it appears that CCSv6 is treating the semicolons separating the paths as an indicator of multiple commands. I will file a bug report for this and update the thread with the bug tracking number.

  • The tracking number for this issue is SDSCM00051627.