Re: [PATCH] merge_config.sh: Add the ability to perform make with an ARCH

From: Dan Murphy
Date: Fri Jul 24 2015 - 09:51:18 EST


Yamada

On 07/24/2015 01:23 AM, Masahiro Yamada wrote:
> Hi Dan,
>
>
> 2015-07-24 5:51 GMT+09:00 Dan Murphy <dmurphy@xxxxxx>:
>> The script does not allow building for different architectures.
>> It may assume that the developer has set the ARCH as a global
>> variable.
>>
>> Add a switch argument to pass in the desired architecture.
>> Then verify that that architecture is supported in the arch
>> directory.
>>
>> If not exit if it is supported then set it.
>>
>> Signed-off-by: Dan Murphy <dmurphy@xxxxxx>
>> ---
>> scripts/kconfig/merge_config.sh | 29 +++++++++++++++++++++++++++--
>> 1 file changed, 27 insertions(+), 2 deletions(-)
>>
>> diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh
>> index ec8e203..bdbff4b 100755
>> --- a/scripts/kconfig/merge_config.sh
>> +++ b/scripts/kconfig/merge_config.sh
>> @@ -19,7 +19,16 @@
>> # but WITHOUT ANY WARRANTY; without even the implied warranty of
>> # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>> # See the GNU General Public License for more details.
>> -
>> +verify_arch() {
>> + cd arch
>> + for d in * ; do
>> + if [ "$d" = "$_TEST_ARCH" ]; then
>> + BUILD_ARCH="ARCH="$d
>> + break
>> + fi
>> + done
>> + cd ..
>> +}
>> clean_up() {
>> rm -f $TMP_FILE
>> exit
>> @@ -33,6 +42,7 @@ usage() {
>> echo " -n use allnoconfig instead of alldefconfig"
>> echo " -r list redundant entries when merging fragments"
>> echo " -O dir to put generated output files"
>> + echo " -A architecture to support for make"
>> }
>>
>> RUNMAKE=true
>> @@ -71,6 +81,21 @@ while true; do
>> shift 2
>> continue
>> ;;
>> + "-A")
>> + if [ "$2" != "" ]; then
>> + _TEST_ARCH=$2
>> + verify_arch
>> + if [ "$BUILD_ARCH" = "" ]; then
>> + echo "ARCH $_TEST_ARCH is not valid" 1>&2
>> + exit 1
>> + fi
>> + else
>> + echo "ARCH $_TEST_ARCH is not valid" 1>&2
>> + exit 1
>> + fi
>> + shift 2
>> + continue
>> + ;;
>> *)
>> break
>> ;;
>> @@ -139,7 +164,7 @@ fi
>> # Use the merged file as the starting point for:
>> # alldefconfig: Fills in any missing symbols with Kconfig default
>> # allnoconfig: Fills in any missing symbols with # CONFIG_* is not set
>> -make KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET
>> +make $BUILD_ARCH KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET
>>
>
> Let me clarify what you want to achieve by this patch.
>
>
> You want to invoke merge_config.sh directly and to do
>
> scripts/kconfig/merge_config.sh -A <target_arch> ...
>
> as a shorthand for
>
> ARCH=<target_arch> scripts/kconfig/merge_config.sh ...
>
>
> Correct?
>

Yes that is correct. Just another way of achieving the same result.

>
>
>
>


--
------------------
Dan Murphy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/