scripts: gki: Add generic configuration options for defconfig

Add config fragment options to generate target specific defconfig
during compile time from multiple QCOM configuration options.

Change-Id: I5c1818a0658b781d0f0c7fae9378a9c573d5dd69
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
This commit is contained in:
Jeevan Shriram 2020-05-01 13:46:15 -07:00 committed by Lina Iyer
parent e1bdeb4100
commit 6add15d8b6
3 changed files with 43 additions and 10 deletions

View File

@ -20,12 +20,15 @@ CONFIGS_DIR=${KERN_SRC}/arch/${ARCH}/configs/vendor
PLATFORM_NAME=$1
BASE_DEFCONFIG=${KERN_SRC}/arch/${ARCH}/configs/gki_defconfig
BASE_DEFCONFIG=${KERN_SRC}/arch/${ARCH}/configs/${2:-gki_defconfig}
# Fragements that are available for the platform
QCOM_GKI_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}_GKI.config
QCOM_QGKI_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}_QGKI.config
QCOM_DEBUG_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}_debug.config
QCOM_GENERIC_PERF_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}.config
QCOM_GENERIC_DEBUG_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}-debug.config
export ARCH CROSS_COMPILE REAL_CC HOSTCC HOSTLD HOSTAR KERN_SRC KERN_OUT \
CONFIGS_DIR BASE_DEFCONFIG QCOM_GKI_FRAG QCOM_QGKI_FRAG QCOM_DEBUG_FRAG

View File

@ -18,12 +18,21 @@ fi
SCRIPTS_ROOT=$(readlink -f $(dirname $0)/)
PLATFORM_NAME=`echo $1 | sed -r "s/(-gki_defconfig|-qgki_defconfig|-qgki-debug_defconfig)$//"`
TEMP_DEF_NAME=`echo $1 | sed -r "s/_defconfig$//"`
DEF_VARIANT=`echo ${TEMP_DEF_NAME} | sed -r "s/.*-//"`
PLATFORM_NAME=`echo ${TEMP_DEF_NAME} | sed -r "s/-.*$//"`
PLATFORM_NAME=`echo $PLATFORM_NAME | sed "s/vendor\///g"`
REQUIRED_DEFCONFIG=`echo $1 | sed "s/vendor\///g"`
# We should be in the kernel root after the envsetup
source ${SCRIPTS_ROOT}/envsetup.sh $PLATFORM_NAME
if [[ "${REQUIRED_DEFCONFIG}" != *"gki"* ]]; then
source ${SCRIPTS_ROOT}/envsetup.sh $PLATFORM_NAME generic_defconfig
else
source ${SCRIPTS_ROOT}/envsetup.sh $PLATFORM_NAME
fi
KERN_MAKE_ARGS="ARCH=$ARCH \
CROSS_COMPILE=$CROSS_COMPILE \
@ -38,12 +47,12 @@ KERN_MAKE_ARGS="ARCH=$ARCH \
# Allyes fragment temporarily created on GKI config fragment
QCOM_GKI_ALLYES_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}_ALLYES_GKI.config
if [[ "${REQUIRED_DEFCONFIG}" == *"gki"* ]]; then
if [ ! -f "${QCOM_GKI_FRAG}" ]; then
echo "Error: Invalid input"
usage
fi
REQUIRED_DEFCONFIG=`echo $1 | sed "s/vendor\///g"`
fi
FINAL_DEFCONFIG_BLEND=""
@ -58,7 +67,13 @@ case "$REQUIRED_DEFCONFIG" in
;;
${PLATFORM_NAME}-gki_defconfig )
FINAL_DEFCONFIG_BLEND+=" $QCOM_GKI_FRAG "
;;
${PLATFORM_NAME}-debug_defconfig )
FINAL_DEFCONFIG_BLEND+=" $QCOM_GENERIC_DEBUG_FRAG "
;&
${PLATFORM_NAME}_defconfig )
FINAL_DEFCONFIG_BLEND+=" $QCOM_GENERIC_PERF_FRAG "
;;
esac
FINAL_DEFCONFIG_BLEND+=${BASE_DEFCONFIG}
@ -78,7 +93,8 @@ mv .config .config_base
# Strip off the complete file paths and retail only the values beginning with vendor/
MENUCONFIG_BLEND=""
for config_file in $FINAL_DEFCONFIG_BLEND; do
if [[ $config_file == *"gki_defconfig" ]]; then
if [ $config_file == *"gki_defconfig" ] ||
[ $config_file == "${BASE_DEFCONFIG}" ]; then
MENUCONFIG_BLEND+=" "`basename $config_file`" "
else
MENUCONFIG_BLEND+=" vendor/"`basename $config_file`" "

View File

@ -18,12 +18,20 @@ fi
SCRIPTS_ROOT=$(readlink -f $(dirname $0)/)
PLATFORM_NAME=`echo $1 | sed -r "s/(-gki_defconfig|-qgki_defconfig|-qgki-debug_defconfig)$//"`
TEMP_DEF_NAME=`echo $1 | sed -r "s/_defconfig$//"`
DEF_VARIANT=`echo ${TEMP_DEF_NAME} | sed -r "s/.*-//"`
PLATFORM_NAME=`echo ${TEMP_DEF_NAME} | sed -r "s/-.*$//"`
PLATFORM_NAME=`echo $PLATFORM_NAME | sed "s/vendor\///g"`
REQUIRED_DEFCONFIG=`echo $1 | sed "s/vendor\///g"`
# We should be in the kernel root after the envsetup
source ${SCRIPTS_ROOT}/envsetup.sh $PLATFORM_NAME
if [[ "${REQUIRED_DEFCONFIG}" != *"gki"* ]]; then
source ${SCRIPTS_ROOT}/envsetup.sh $PLATFORM_NAME generic_defconfig
else
source ${SCRIPTS_ROOT}/envsetup.sh $PLATFORM_NAME
fi
KERN_MAKE_ARGS="ARCH=$ARCH \
CROSS_COMPILE=$CROSS_COMPILE \
@ -38,12 +46,12 @@ KERN_MAKE_ARGS="ARCH=$ARCH \
# Allyes fragment temporarily created on GKI config fragment
QCOM_GKI_ALLYES_FRAG=${CONFIGS_DIR}/${PLATFORM_NAME}_ALLYES_GKI.config
if [[ "${REQUIRED_DEFCONFIG}" == *"gki"* ]]; then
if [ ! -f "${QCOM_GKI_FRAG}" ]; then
echo "Error: Invalid input"
usage
fi
REQUIRED_DEFCONFIG=`echo $1 | sed "s/vendor\///g"`
fi
FINAL_DEFCONFIG_BLEND=""
@ -58,7 +66,13 @@ case "$REQUIRED_DEFCONFIG" in
;;
${PLATFORM_NAME}-gki_defconfig )
FINAL_DEFCONFIG_BLEND+=" $QCOM_GKI_FRAG "
;;
${PLATFORM_NAME}-debug_defconfig )
FINAL_DEFCONFIG_BLEND+=" $QCOM_GENERIC_DEBUG_FRAG "
;&
${PLATFORM_NAME}_defconfig )
FINAL_DEFCONFIG_BLEND+=" $QCOM_GENERIC_PERF_FRAG "
;;
esac
FINAL_DEFCONFIG_BLEND+=${BASE_DEFCONFIG}