diff options
Diffstat (limited to 'net:foret/compsys/sdk/_sdk-targets')
-rw-r--r-- | net:foret/compsys/sdk/_sdk-targets | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/net:foret/compsys/sdk/_sdk-targets b/net:foret/compsys/sdk/_sdk-targets new file mode 100644 index 0000000..3428566 --- /dev/null +++ b/net:foret/compsys/sdk/_sdk-targets @@ -0,0 +1,77 @@ +#compdef sdk-factory.sh sdk-patch.sh sdk-test.sh sdk-qa.sh set-target-build-env.sh sdk-check.sh + +_sdk-targets() { + + _platforms () { + local _targets_file + + # New-style + _targets_file=tools/builder/target.sh + if [ -e $_targets_file ] + then + source $_targets_file + echo ${=AVAILABLE_TARGETS} + fi + + # Old-style + _targets_file=tools/sdk-targets.txt + if [ -f $_targets_file ] + then + awk '/^ [-_a-zA-Z0-9]+$/ { print $1 }' $_targets_file + return + fi + } + + _current_target () { + local _targets_file=tools/builder/target.sh + [ ! -z "$TARGET" ] || return + + echo $TARGET":Standard SDK" + + if [ -e $_targets_file ] + then + source $_targets_file + for i in ${=AVAILABLE_FLAVOUR} + echo ${TARGET}-$i:$i + for i in ${=AVAILABLE_OPTIONS} + echo ${TARGET}-$i:$i + fi + } + + _other_targets () { + for target in $( _platforms ) ; + do + [ "$target" = "$TARGET" ] && continue; + echo $target + done + } + + case "$service" in + sdk-factory.sh) + _arguments \ + {-a,--enable-all-protocols}'[Enable all protocols]'\ + {-c+,--config=}'[Selects config FILE to use]:file:_files'\ + {-d,--debug-make}'[Add debugging verbosity to make]'\ + {-g,--enable-debug-info}'[Enable debug info in binaries]'\ + {-h,--enable-host}'[Enable host binaries building]'\ + {-i,--disable-security}'[Disable licence checking]'\ + {-n,--nomake}'[No make done]'\ + {-s,--enable-specific-protocols}'[Enable specific protocols]'\ + {-v,--verbose}'[Enable verbose compilation]'\ + ':current target:(( $(_current_target) ))' \ + - framework \ + {-f,--framework-only}'[Generates only the framework libraries]'\ + - protobundle \ + {-p,--protocols-only}'[Generates only the protocols bundle libraries]' + _alternative ':other targets:(( $( _other_targets ) ))' + ;; + set-target-build-env.sh) + _arguments ':platforms:(( $(_platforms) ))' + ;; + sdk-*) + _arguments ':current target:(( $( _current_target) ))' + _alternative ':other targets:(( $( _other_targets ) ))' + ;; + esac + +} |