# ltrace

## depends on ! BACKEND
##
## select LIBELF_TARGET
##
## help ltrace is a program that simply runs the specified command until it exits.
## help It intercepts and records the dynamic library calls which are called by
## help the executed process and the signals which are received by that process.
## help It can also intercept and print the system calls executed by the program.

choice
    bool
    prompt "ltrace version"
# Don't remove next line
# CT_INSERT_VERSION_BELOW

config LTRACE_V_0_5_3
    bool
    prompt "0.5.3"
    select LTRACE_0_5_3_or_later

config LTRACE_V_0_5_2
    bool
    prompt "0.5.2"

endchoice

config LTRACE_VERSION
    string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
    default "0.5.3" if LTRACE_V_0_5_3
    default "0.5.2" if LTRACE_V_0_5_2

config LTRACE_0_5_3_or_later
    bool
