diff mbox

[v2] configure: factor out adding disas configure

Message ID 1440844439-19391-1-git-send-email-crosthwaite.peter@gmail.com
State New
Headers show

Commit Message

Peter Crosthwaite Aug. 29, 2015, 10:33 a.m. UTC
Every arch adds its disas configury to both its own config as well
config_disas_all. Make a small function do to both at once.

Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
---
Changed since v1:
Factor out everything except just the arch name.

Prepares support for multi-arch where the disas configury for
multi-arch will also need to be added where 3 more LOC are added
for each DISAS configury.
---
 configure | 65 ++++++++++++++++++++++++---------------------------------------
 1 file changed, 25 insertions(+), 40 deletions(-)

Comments

Peter Maydell Aug. 29, 2015, 10:50 a.m. UTC | #1
On 29 August 2015 at 11:33, Peter Crosthwaite
<crosthwaitepeter@gmail.com> wrote:
> Every arch adds its disas configury to both its own config as well
> config_disas_all. Make a small function do to both at once.
>
> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
> ---
> Changed since v1:
> Factor out everything except just the arch name.
>
> Prepares support for multi-arch where the disas configury for
> multi-arch will also need to be added where 3 more LOC are added
> for each DISAS configury.
> ---
>  configure | 65 ++++++++++++++++++++++++---------------------------------------
>  1 file changed, 25 insertions(+), 40 deletions(-)

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM
Peter Crosthwaite Sept. 7, 2015, 5:12 a.m. UTC | #2
Ping!

On Sat, Aug 29, 2015 at 3:33 AM, Peter Crosthwaite
<crosthwaitepeter@gmail.com> wrote:
> Every arch adds its disas configury to both its own config as well
> config_disas_all. Make a small function do to both at once.
>
> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
> ---
> Changed since v1:
> Factor out everything except just the arch name.
>
> Prepares support for multi-arch where the disas configury for
> multi-arch will also need to be added where 3 more LOC are added
> for each DISAS configury.
> ---
>  configure | 65 ++++++++++++++++++++++++---------------------------------------
>  1 file changed, 25 insertions(+), 40 deletions(-)
>
> diff --git a/configure b/configure
> index 9d24d59..34e49b4 100755
> --- a/configure
> +++ b/configure
> @@ -5483,91 +5483,76 @@ fi
>  cflags=""
>  ldflags=""
>
> +disas_config() {
> +  echo "CONFIG_${1}_DIS=y" >> $config_target_mak
> +  echo "CONFIG_${1}_DIS=y" >> config-all-disas.mak
> +}
> +
>  for i in $ARCH $TARGET_BASE_ARCH ; do
>    case "$i" in
>    alpha)
> -    echo "CONFIG_ALPHA_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_ALPHA_DIS=y"  >> config-all-disas.mak
> +    disas_config "ALPHA"
>    ;;
>    aarch64)
>      if test -n "${cxx}"; then
> -      echo "CONFIG_ARM_A64_DIS=y"  >> $config_target_mak
> -      echo "CONFIG_ARM_A64_DIS=y"  >> config-all-disas.mak
> +      disas_config "ARM_A64"
>      fi
>    ;;
>    arm)
> -    echo "CONFIG_ARM_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_ARM_DIS=y"  >> config-all-disas.mak
> +    disas_config "ARM"
>      if test -n "${cxx}"; then
> -      echo "CONFIG_ARM_A64_DIS=y"  >> $config_target_mak
> -      echo "CONFIG_ARM_A64_DIS=y"  >> config-all-disas.mak
> +      disas_config "ARM_A64"
>      fi
>    ;;
>    cris)
> -    echo "CONFIG_CRIS_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_CRIS_DIS=y"  >> config-all-disas.mak
> +    disas_config "CRIS"
>    ;;
>    hppa)
> -    echo "CONFIG_HPPA_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_HPPA_DIS=y"  >> config-all-disas.mak
> +    disas_config "HPPA"
>    ;;
>    i386|x86_64|x32)
> -    echo "CONFIG_I386_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_I386_DIS=y"  >> config-all-disas.mak
> +    disas_config "I386"
>    ;;
>    ia64*)
> -    echo "CONFIG_IA64_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_IA64_DIS=y"  >> config-all-disas.mak
> +    disas_config "IA64"
>    ;;
>    lm32)
> -    echo "CONFIG_LM32_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_LM32_DIS=y"  >> config-all-disas.mak
> +    disas_config "LM32"
>    ;;
>    m68k)
> -    echo "CONFIG_M68K_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_M68K_DIS=y"  >> config-all-disas.mak
> +    disas_config "M68K"
>    ;;
>    microblaze*)
> -    echo "CONFIG_MICROBLAZE_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_MICROBLAZE_DIS=y"  >> config-all-disas.mak
> +    disas_config "MICROBLAZE"
>    ;;
>    mips*)
> -    echo "CONFIG_MIPS_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_MIPS_DIS=y"  >> config-all-disas.mak
> +    disas_config "MIPS"
>    ;;
>    moxie*)
> -    echo "CONFIG_MOXIE_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_MOXIE_DIS=y"  >> config-all-disas.mak
> +    disas_config "MOXIE"
>    ;;
>    or32)
> -    echo "CONFIG_OPENRISC_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_OPENRISC_DIS=y"  >> config-all-disas.mak
> +    disas_config "OPENRISC"
>    ;;
>    ppc*)
> -    echo "CONFIG_PPC_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_PPC_DIS=y"  >> config-all-disas.mak
> +    disas_config "PPC"
>    ;;
>    s390*)
> -    echo "CONFIG_S390_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_S390_DIS=y"  >> config-all-disas.mak
> +    disas_config "S390"
>    ;;
>    sh4)
> -    echo "CONFIG_SH4_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_SH4_DIS=y"  >> config-all-disas.mak
> +    disas_config "SH4"
>    ;;
>    sparc*)
> -    echo "CONFIG_SPARC_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_SPARC_DIS=y"  >> config-all-disas.mak
> +    disas_config "SPARC"
>    ;;
>    xtensa*)
> -    echo "CONFIG_XTENSA_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_XTENSA_DIS=y"  >> config-all-disas.mak
> +    disas_config "XTENSA"
>    ;;
>    esac
>  done
>  if test "$tcg_interpreter" = "yes" ; then
> -  echo "CONFIG_TCI_DIS=y"  >> $config_target_mak
> -  echo "CONFIG_TCI_DIS=y"  >> config-all-disas.mak
> +  disas_config "TCI"
>  fi
>
>  case "$ARCH" in
> --
> 1.9.1
>
Peter Maydell Sept. 7, 2015, 9:09 a.m. UTC | #3
On 7 September 2015 at 06:12, Peter Crosthwaite
<crosthwaitepeter@gmail.com> wrote:
> Ping!

...you need to find somebody who thinks this should go via their tree.
Paolo?

thanks
-- PMM
Paolo Bonzini Sept. 7, 2015, 9:59 a.m. UTC | #4
On 07/09/2015 11:09, Peter Maydell wrote:
> On 7 September 2015 at 06:12, Peter Crosthwaite
> <crosthwaitepeter@gmail.com> wrote:
>> Ping!
> 
> ...you need to find somebody who thinks this should go via their tree.
> Paolo?

Paolo has only 1277 unread emails, but should still try to send a pull
request this week.  Queuing this patch too.

Paolo
Paolo Bonzini Sept. 7, 2015, 10:02 a.m. UTC | #5
On 29/08/2015 12:33, Peter Crosthwaite wrote:
> Every arch adds its disas configury to both its own config as well
> config_disas_all. Make a small function do to both at once.
> 
> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
> ---
> Changed since v1:
> Factor out everything except just the arch name.
> 
> Prepares support for multi-arch where the disas configury for
> multi-arch will also need to be added where 3 more LOC are added
> for each DISAS configury.
> ---
>  configure | 65 ++++++++++++++++++++++++---------------------------------------
>  1 file changed, 25 insertions(+), 40 deletions(-)
> 
> diff --git a/configure b/configure
> index 9d24d59..34e49b4 100755
> --- a/configure
> +++ b/configure
> @@ -5483,91 +5483,76 @@ fi
>  cflags=""
>  ldflags=""
>  
> +disas_config() {
> +  echo "CONFIG_${1}_DIS=y" >> $config_target_mak
> +  echo "CONFIG_${1}_DIS=y" >> config-all-disas.mak
> +}
> +
>  for i in $ARCH $TARGET_BASE_ARCH ; do
>    case "$i" in
>    alpha)
> -    echo "CONFIG_ALPHA_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_ALPHA_DIS=y"  >> config-all-disas.mak
> +    disas_config "ALPHA"
>    ;;
>    aarch64)
>      if test -n "${cxx}"; then
> -      echo "CONFIG_ARM_A64_DIS=y"  >> $config_target_mak
> -      echo "CONFIG_ARM_A64_DIS=y"  >> config-all-disas.mak
> +      disas_config "ARM_A64"
>      fi
>    ;;
>    arm)
> -    echo "CONFIG_ARM_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_ARM_DIS=y"  >> config-all-disas.mak
> +    disas_config "ARM"
>      if test -n "${cxx}"; then
> -      echo "CONFIG_ARM_A64_DIS=y"  >> $config_target_mak
> -      echo "CONFIG_ARM_A64_DIS=y"  >> config-all-disas.mak
> +      disas_config "ARM_A64"

Why both?

>      fi
>    ;;
>    cris)
> -    echo "CONFIG_CRIS_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_CRIS_DIS=y"  >> config-all-disas.mak
> +    disas_config "CRIS"
>    ;;
>    hppa)
> -    echo "CONFIG_HPPA_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_HPPA_DIS=y"  >> config-all-disas.mak
> +    disas_config "HPPA"
>    ;;
>    i386|x86_64|x32)
> -    echo "CONFIG_I386_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_I386_DIS=y"  >> config-all-disas.mak
> +    disas_config "I386"
>    ;;
>    ia64*)
> -    echo "CONFIG_IA64_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_IA64_DIS=y"  >> config-all-disas.mak
> +    disas_config "IA64"
>    ;;
>    lm32)
> -    echo "CONFIG_LM32_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_LM32_DIS=y"  >> config-all-disas.mak
> +    disas_config "LM32"
>    ;;
>    m68k)
> -    echo "CONFIG_M68K_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_M68K_DIS=y"  >> config-all-disas.mak
> +    disas_config "M68K"
>    ;;
>    microblaze*)
> -    echo "CONFIG_MICROBLAZE_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_MICROBLAZE_DIS=y"  >> config-all-disas.mak
> +    disas_config "MICROBLAZE"
>    ;;
>    mips*)
> -    echo "CONFIG_MIPS_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_MIPS_DIS=y"  >> config-all-disas.mak
> +    disas_config "MIPS"
>    ;;
>    moxie*)
> -    echo "CONFIG_MOXIE_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_MOXIE_DIS=y"  >> config-all-disas.mak
> +    disas_config "MOXIE"
>    ;;
>    or32)
> -    echo "CONFIG_OPENRISC_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_OPENRISC_DIS=y"  >> config-all-disas.mak
> +    disas_config "OPENRISC"
>    ;;
>    ppc*)
> -    echo "CONFIG_PPC_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_PPC_DIS=y"  >> config-all-disas.mak
> +    disas_config "PPC"
>    ;;
>    s390*)
> -    echo "CONFIG_S390_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_S390_DIS=y"  >> config-all-disas.mak
> +    disas_config "S390"
>    ;;
>    sh4)
> -    echo "CONFIG_SH4_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_SH4_DIS=y"  >> config-all-disas.mak
> +    disas_config "SH4"
>    ;;
>    sparc*)
> -    echo "CONFIG_SPARC_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_SPARC_DIS=y"  >> config-all-disas.mak
> +    disas_config "SPARC"
>    ;;
>    xtensa*)
> -    echo "CONFIG_XTENSA_DIS=y"  >> $config_target_mak
> -    echo "CONFIG_XTENSA_DIS=y"  >> config-all-disas.mak
> +    disas_config "XTENSA"
>    ;;
>    esac
>  done
>  if test "$tcg_interpreter" = "yes" ; then
> -  echo "CONFIG_TCI_DIS=y"  >> $config_target_mak
> -  echo "CONFIG_TCI_DIS=y"  >> config-all-disas.mak
> +  disas_config "TCI"
>  fi

Shouldn't TCI be a config_host property?

Both problems are preexisting, so I'm applying the patch anyway.

Paolo

>  
>  case "$ARCH" in
>
Peter Maydell Sept. 7, 2015, 10:20 a.m. UTC | #6
On 7 September 2015 at 11:02, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>
> On 29/08/2015 12:33, Peter Crosthwaite wrote:
>> Every arch adds its disas configury to both its own config as well
>> config_disas_all. Make a small function do to both at once.

>>  for i in $ARCH $TARGET_BASE_ARCH ; do
>>    case "$i" in
>>    alpha)
>> -    echo "CONFIG_ALPHA_DIS=y"  >> $config_target_mak
>> -    echo "CONFIG_ALPHA_DIS=y"  >> config-all-disas.mak
>> +    disas_config "ALPHA"
>>    ;;
>>    aarch64)
>>      if test -n "${cxx}"; then
>> -      echo "CONFIG_ARM_A64_DIS=y"  >> $config_target_mak
>> -      echo "CONFIG_ARM_A64_DIS=y"  >> config-all-disas.mak
>> +      disas_config "ARM_A64"
>>      fi
>>    ;;
>>    arm)
>> -    echo "CONFIG_ARM_DIS=y"  >> $config_target_mak
>> -    echo "CONFIG_ARM_DIS=y"  >> config-all-disas.mak
>> +    disas_config "ARM"
>>      if test -n "${cxx}"; then
>> -      echo "CONFIG_ARM_A64_DIS=y"  >> $config_target_mak
>> -      echo "CONFIG_ARM_A64_DIS=y"  >> config-all-disas.mak
>> +      disas_config "ARM_A64"
>
> Why both?

Because this case is on $TARGET_BASE_ARCH, so if the
target is aarch64 we only see 'arm' here. (The
'aarch64' case is used for $ARCH, which is the
aarch64-host situation.)

>>  if test "$tcg_interpreter" = "yes" ; then
>> -  echo "CONFIG_TCI_DIS=y"  >> $config_target_mak
>> -  echo "CONFIG_TCI_DIS=y"  >> config-all-disas.mak
>> +  disas_config "TCI"
>>  fi
>
> Shouldn't TCI be a config_host property?

This is just the same way we say "host disassembler
is foo" for all hosts; TCI isn't any different here.

thanks
-- PMM
diff mbox

Patch

diff --git a/configure b/configure
index 9d24d59..34e49b4 100755
--- a/configure
+++ b/configure
@@ -5483,91 +5483,76 @@  fi
 cflags=""
 ldflags=""
 
+disas_config() {
+  echo "CONFIG_${1}_DIS=y" >> $config_target_mak
+  echo "CONFIG_${1}_DIS=y" >> config-all-disas.mak
+}
+
 for i in $ARCH $TARGET_BASE_ARCH ; do
   case "$i" in
   alpha)
-    echo "CONFIG_ALPHA_DIS=y"  >> $config_target_mak
-    echo "CONFIG_ALPHA_DIS=y"  >> config-all-disas.mak
+    disas_config "ALPHA"
   ;;
   aarch64)
     if test -n "${cxx}"; then
-      echo "CONFIG_ARM_A64_DIS=y"  >> $config_target_mak
-      echo "CONFIG_ARM_A64_DIS=y"  >> config-all-disas.mak
+      disas_config "ARM_A64"
     fi
   ;;
   arm)
-    echo "CONFIG_ARM_DIS=y"  >> $config_target_mak
-    echo "CONFIG_ARM_DIS=y"  >> config-all-disas.mak
+    disas_config "ARM"
     if test -n "${cxx}"; then
-      echo "CONFIG_ARM_A64_DIS=y"  >> $config_target_mak
-      echo "CONFIG_ARM_A64_DIS=y"  >> config-all-disas.mak
+      disas_config "ARM_A64"
     fi
   ;;
   cris)
-    echo "CONFIG_CRIS_DIS=y"  >> $config_target_mak
-    echo "CONFIG_CRIS_DIS=y"  >> config-all-disas.mak
+    disas_config "CRIS"
   ;;
   hppa)
-    echo "CONFIG_HPPA_DIS=y"  >> $config_target_mak
-    echo "CONFIG_HPPA_DIS=y"  >> config-all-disas.mak
+    disas_config "HPPA"
   ;;
   i386|x86_64|x32)
-    echo "CONFIG_I386_DIS=y"  >> $config_target_mak
-    echo "CONFIG_I386_DIS=y"  >> config-all-disas.mak
+    disas_config "I386"
   ;;
   ia64*)
-    echo "CONFIG_IA64_DIS=y"  >> $config_target_mak
-    echo "CONFIG_IA64_DIS=y"  >> config-all-disas.mak
+    disas_config "IA64"
   ;;
   lm32)
-    echo "CONFIG_LM32_DIS=y"  >> $config_target_mak
-    echo "CONFIG_LM32_DIS=y"  >> config-all-disas.mak
+    disas_config "LM32"
   ;;
   m68k)
-    echo "CONFIG_M68K_DIS=y"  >> $config_target_mak
-    echo "CONFIG_M68K_DIS=y"  >> config-all-disas.mak
+    disas_config "M68K"
   ;;
   microblaze*)
-    echo "CONFIG_MICROBLAZE_DIS=y"  >> $config_target_mak
-    echo "CONFIG_MICROBLAZE_DIS=y"  >> config-all-disas.mak
+    disas_config "MICROBLAZE"
   ;;
   mips*)
-    echo "CONFIG_MIPS_DIS=y"  >> $config_target_mak
-    echo "CONFIG_MIPS_DIS=y"  >> config-all-disas.mak
+    disas_config "MIPS"
   ;;
   moxie*)
-    echo "CONFIG_MOXIE_DIS=y"  >> $config_target_mak
-    echo "CONFIG_MOXIE_DIS=y"  >> config-all-disas.mak
+    disas_config "MOXIE"
   ;;
   or32)
-    echo "CONFIG_OPENRISC_DIS=y"  >> $config_target_mak
-    echo "CONFIG_OPENRISC_DIS=y"  >> config-all-disas.mak
+    disas_config "OPENRISC"
   ;;
   ppc*)
-    echo "CONFIG_PPC_DIS=y"  >> $config_target_mak
-    echo "CONFIG_PPC_DIS=y"  >> config-all-disas.mak
+    disas_config "PPC"
   ;;
   s390*)
-    echo "CONFIG_S390_DIS=y"  >> $config_target_mak
-    echo "CONFIG_S390_DIS=y"  >> config-all-disas.mak
+    disas_config "S390"
   ;;
   sh4)
-    echo "CONFIG_SH4_DIS=y"  >> $config_target_mak
-    echo "CONFIG_SH4_DIS=y"  >> config-all-disas.mak
+    disas_config "SH4"
   ;;
   sparc*)
-    echo "CONFIG_SPARC_DIS=y"  >> $config_target_mak
-    echo "CONFIG_SPARC_DIS=y"  >> config-all-disas.mak
+    disas_config "SPARC"
   ;;
   xtensa*)
-    echo "CONFIG_XTENSA_DIS=y"  >> $config_target_mak
-    echo "CONFIG_XTENSA_DIS=y"  >> config-all-disas.mak
+    disas_config "XTENSA"
   ;;
   esac
 done
 if test "$tcg_interpreter" = "yes" ; then
-  echo "CONFIG_TCI_DIS=y"  >> $config_target_mak
-  echo "CONFIG_TCI_DIS=y"  >> config-all-disas.mak
+  disas_config "TCI"
 fi
 
 case "$ARCH" in