- sgrep: Greps on all local source files.
- godir: Go to the directory containing a file.
+EOF
+
+ __print_cm_functions_help
+
+cat <<EOF
+
Environment options:
- SANITIZE_HOST: Set to 'true' to use ASAN for all host modules. Note that
ASAN_OPTIONS=detect_leaks=0 will be set by default until the
Look at the source to view more functions. The complete list is:
EOF
T=$(gettop)
- for i in `cat $T/build/envsetup.sh | sed -n "/^[[:blank:]]*function /s/function \([a-z_]*\).*/\1/p" | sort | uniq`; do
+ for i in `cat $T/build/envsetup.sh $T/vendor/cm/build/envsetup.sh | sed -n "/^[[:blank:]]*function /s/function \([a-z_]*\).*/\1/p" | sort | uniq`; do
echo "$i"
done | column
}
{
T=$(gettop)
# Grep out the variable names from the script.
- cached_vars=`cat $T/build/envsetup.sh | tr '()' ' ' | awk '{for(i=1;i<=NF;i++) if($i~/get_build_var/) print $(i+1)}' | sort -u | tr '\n' ' '`
- cached_abs_vars=`cat $T/build/envsetup.sh | tr '()' ' ' | awk '{for(i=1;i<=NF;i++) if($i~/get_abs_build_var/) print $(i+1)}' | sort -u | tr '\n' ' '`
+ cached_vars=`cat $T/build/envsetup.sh $T/vendor/cm/build/envsetup.sh | tr '()' ' ' | awk '{for(i=1;i<=NF;i++) if($i~/get_build_var/) print $(i+1)}' | sort -u | tr '\n' ' '`
+ cached_abs_vars=`cat $T/build/envsetup.sh $T/vendor/cm/build/envsetup.sh | tr '()' ' ' | awk '{for(i=1;i<=NF;i++) if($i~/get_abs_build_var/) print $(i+1)}' | sort -u | tr '\n' ' '`
# Call the build system to dump the "<val>=<value>" pairs as a shell script.
- build_dicts_script=`\cd $T; CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core \
+ build_dicts_script=`\cd $T; export CALLED_FROM_SETUP=true; export BUILD_SYSTEM=build/core; \
command make --no-print-directory -f build/core/config.mk \
dump-many-vars \
DUMP_MANY_VARS="$cached_vars" \
function destroy_build_var_cache()
{
unset BUILD_VAR_CACHE_READY
- for v in $cached_vars; do
+ for v in $(echo $cached_vars | tr " " "\n"); do
unset var_cache_$v
done
unset cached_vars
- for v in $cached_abs_vars; do
+ for v in $(echo $cached_abs_vars | tr " " "\n"); do
unset abs_var_cache_$v
done
unset cached_abs_vars
echo "Couldn't locate the top of the tree. Try setting TOP." >&2
return
fi
- (\cd $T; CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core \
+ (\cd $T; export CALLED_FROM_SETUP=true; export BUILD_SYSTEM=build/core; \
command make --no-print-directory -f build/core/config.mk dumpvar-abs-$1)
}
echo "Couldn't locate the top of the tree. Try setting TOP." >&2
return
fi
- (\cd $T; CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core \
+ (\cd $T; export CALLED_FROM_SETUP=true; export BUILD_SYSTEM=build/core; \
command make --no-print-directory -f build/core/config.mk dumpvar-$1)
}
return
fi
- if (echo -n $1 | grep -q -e "^cm_") ; then
- CM_BUILD=$(echo -n $1 | sed -e 's/^cm_//g')
- export BUILD_NUMBER=$((date +%s%N ; echo $CM_BUILD; hostname) | openssl sha1 | sed -e 's/.*=//g; s/ //g' | cut -c1-10)
+ if (echo -n $1 | grep -q -e "^lineage_") ; then
+ CM_BUILD=$(echo -n $1 | sed -e 's/^lineage_//g')
+ export BUILD_NUMBER=$( (date +%s%N ; echo $CM_BUILD; hostname) | openssl sha1 | sed -e 's/.*=//g; s/ //g' | cut -c1-10 )
+ elif (echo -n $1 | grep -q -e "^cm_") ; then
+ # Fall back to cm_<product>
+ CM_BUILD=$(echo -n $1 | sed -e 's/^cm_//g')
+ export BUILD_NUMBER=$( (date +%s%N ; echo $CM_BUILD; hostname) | openssl sha1 | sed -e 's/.*=//g; s/ //g' | cut -c1-10 )
else
- CM_BUILD=
+ CM_BUILD=
fi
export CM_BUILD
unset ANDROID_HOST_OUT
export ANDROID_HOST_OUT=$(get_abs_build_var HOST_OUT)
- if [ -n "$ANDROID_CCACHE_DIR" ]; then
- export CCACHE_DIR=$ANDROID_CCACHE_DIR
- fi
-
# needed for building linux on MacOS
# TODO: fix the path
#export HOST_EXTRACFLAGS="-I "$T/system/kernel_headers/host_include
fi
local product=$(echo -n $selection | sed -e "s/-.*$//")
- TARGET_PRODUCT=$product \
- TARGET_BUILD_VARIANT=$variant \
- build_build_var_cache
+ check_product $product
if [ $? -ne 0 ]
then
# if we can't find a product, try to grab it off the CM github
T=$(gettop)
- pushd $T > /dev/null
+ cd $T > /dev/null
vendor/cm/build/tools/roomservice.py $product
- popd > /dev/null
+ cd - > /dev/null
check_product $product
else
T=$(gettop)
- pushd $T > /dev/null
+ cd $T > /dev/null
vendor/cm/build/tools/roomservice.py $product true
- popd > /dev/null
+ cd - > /dev/null
fi
+ TARGET_PRODUCT=$product \
+ TARGET_BUILD_VARIANT=$variant \
+ build_build_var_cache
+
if [ $? -ne 0 ]
then
echo
local M=$(findmakefile)
local MODULES=
local GET_INSTALL_PATH=
- local ARGS=
# Remove the path to top as the makefilepath needs to be relative
local M=`echo $M|sed 's:'$T'/::'`
if [ ! "$T" ]; then
done
if [ -n "$GET_INSTALL_PATH" ]; then
MODULES=
- ARGS=GET-INSTALL-PATH
+ # set all args to 'GET-INSTALL-PATH'
+ set -- GET-INSTALL-PATH
else
MODULES=all_modules
- ARGS=$@
fi
- ONE_SHOT_MAKEFILE=$M $DRV make -C $T -f build/core/main.mk $MODULES $ARGS
+ ONE_SHOT_MAKEFILE=$M $DRV make -C $T -f build/core/main.mk $MODULES "$@"
fi
fi
}
}
export ANDROID_BUILD_TOP=$(gettop)
+
+. $ANDROID_BUILD_TOP/vendor/cm/build/envsetup.sh