qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v9 04/10] configure: Generate rule to calculate the base architec


From: Philippe Mathieu-Daudé
Subject: [PATCH v9 04/10] configure: Generate rule to calculate the base architecture of a target
Date: Thu, 18 Jun 2020 14:33:36 +0200

From: Alex Bennée <alex.bennee@linaro.org>

As we encode the base architecture in configure.sh, we can emit
the base-arch() function into config-host.mak.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 configure | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/configure b/configure
index ba88fd1824..c0d7fbc30e 100755
--- a/configure
+++ b/configure
@@ -7927,6 +7927,8 @@ if test "$linux" = "yes" ; then
     fi
 fi
 
+target_to_base_map=""
+
 for target in $target_list; do
 target_dir="$target"
 config_target_mak=$target_dir/config-target.mak
@@ -8155,6 +8157,7 @@ target_arch_name="$(upper $TARGET_ARCH)"
 echo "TARGET_$target_arch_name=y" >> $config_target_mak
 echo "TARGET_NAME=$target_name" >> $config_target_mak
 echo "TARGET_BASE_ARCH=$TARGET_BASE_ARCH" >> $config_target_mak
+target_to_base_map="$target_dir,$TARGET_BASE_ARCH $target_to_base_map"
 if [ "$TARGET_ABI_DIR" = "" ]; then
   TARGET_ABI_DIR=$TARGET_ARCH
 fi
@@ -8370,6 +8373,22 @@ if test "$ccache_cpp2" = "yes"; then
   echo "export CCACHE_CPP2=y" >> $config_host_mak
 fi
 
+# Export a rule for calculating base arch from target_dir for use by
+# the Kconfig generator
+echo "# Usage: \$(call base-arch, target-dir)" >> $config_host_mak
+echo "# Return the base architecture for a target." >> $config_host_mak
+echo "# e.g \$(call base-arch, aarch64-linux-user) returns 'arm'" >> 
$config_host_mak
+echo "base-arch = \$(strip \\" >> $config_host_mak
+close_braces=""
+for pairs in $target_to_base_map
+do
+    dir="${pairs%%,*}"
+    base="${pairs#*,}"
+    echo "\$(if \$(findstring $dir,\$1),$base, \\" >> $config_host_mak
+    close_braces="$close_braces )"
+done
+echo "$close_braces )" >> $config_host_mak
+
 # If we're using a separate build tree, set it up now.
 # DIRS are directories which we simply mkdir in the build tree;
 # LINKS are things to symlink back into the source tree
-- 
2.21.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]