- 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; export CALLED_FROM_SETUP=true; export BUILD_SYSTEM=build/core; \
command make --no-print-directory -f build/core/config.mk \
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
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
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 \
}
export ANDROID_BUILD_TOP=$(gettop)
+
+. $ANDROID_BUILD_TOP/vendor/cm/build/envsetup.sh