gen-android-sdk-toolchain.sh: Add --print=<tool> option. This adds an option to the script to dump the name of a host-specific tool (e.g. 'x86_64-linux-gcc', with --tool=gcc). The <tool> value can also be 'binprefix' to print the binprefix only.
diff --git a/scripts/gen-android-sdk-toolchain.sh b/scripts/gen-android-sdk-toolchain.sh index d1e9509..1e0cedf 100755 --- a/scripts/gen-android-sdk-toolchain.sh +++ b/scripts/gen-android-sdk-toolchain.sh
@@ -24,6 +24,7 @@ OPT_HOST= OPT_NO_CCACHE= OPT_PREFIX= +OPT_PRINT= for OPT; do OPTARG=$(expr "x$OPT" : "x[^=]*=\\(.*\\)" || true) @@ -49,6 +50,9 @@ --prefix=*) OPT_PREFIX=$OPTARG ;; + --print=*) + OPT_PRINT=$OPTARG + ;; --quiet) decrement_verbosity ;; @@ -83,7 +87,16 @@ If you have the 'ccache' program installed, the wrapper will use it automatically unless you use the --no-ccache option. -The script will put under <install-dir>/bin/ various +The script will put under <install-dir>/ various tools, e.g. +'x86_64-linux-c++' for the 64-bit Linux compiler. + +You can use the --print=<tool> option to print the corresponding name +or path, *instead* of creating a toolchain. Valid values for <tool> are: + + binprefix -> Print the binprefix (e.g. 'x86_64-linux-') + cc -> Print the compiler name (e.g. 'x86_64_linux-cc') + c++ -> Print the c++ compiler name. + ld, ar, as, ... -> Same for other tools. Valid options: --help|-? Print this message. @@ -93,6 +106,9 @@ --binprefix=<prefix> Specify toolchain binprefix [autodetected]. --host=<system> Host system to support. --prefix=<prefix> Specify extra include/lib prefix. + --print=<tool> Don't create toolchain, print the corresponding + tool. Note: If <tool> is 'binprefix', then only + prints the binprefix. --ccache=<program> Use specific ccache binary [autodetected]. --no-ccache Don't try to probe and use ccache. @@ -404,12 +420,27 @@ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L$OPT_PREFIX/lib" fi - if [ "$BINPREFIX" ]; then - log "$CURRENT_TEXT Generating ${BINPREFIX%%-} wrapper toolchain in $INSTALL_DIR" + if [ "$OPT_PRINT" ]; then + # If $BINPREFIX is not empty, ensure it has a trailing -. + if [ "$BINPREFIX" ]; then + BINPREFIX=${BINPREFIX%%-}- + fi + case $OPT_PRINT in + binprefix) + printf "%s\n" "$BINPREFIX" + ;; + *) + printf "%s\n" "${BINPREFIX}$OPT_PRINT" + ;; + esac else - log "$CURRENT_TEXT Generating host wrapper toolchain in $INSTALL_DIR" + if [ "$BINPREFIX" ]; then + log "$CURRENT_TEXT Generating ${BINPREFIX%%-} wrapper toolchain in $INSTALL_DIR" + else + log "$CURRENT_TEXT Generating host wrapper toolchain in $INSTALL_DIR" + fi + gen_wrapper_toolchain "$BINPREFIX" "$PREBUILT_TOOLCHAIN_DIR/bin/$TOOLCHAIN_PREFIX" "$INSTALL_DIR" fi - gen_wrapper_toolchain "$BINPREFIX" "$PREBUILT_TOOLCHAIN_DIR/bin/$TOOLCHAIN_PREFIX" "$INSTALL_DIR" } prepare_build_for_host $HOST