Message ID | 1377471536-12423-47-git-send-email-akoskovacs@gmx.com |
---|---|
State | New |
Headers | show |
Il 26/08/2013 00:58, Ákos Kovács ha scritto: > Signed-off-by: Ákos Kovács <akoskovacs@gmx.com> > --- > configure | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/configure b/configure > index 18fa608..353c0cb 100755 > --- a/configure > +++ b/configure > @@ -4288,6 +4288,7 @@ case "$target_name" in > ;; > sparc64) > TARGET_BASE_ARCH=sparc > + kconfig_subdirs="$kconfig_subdirs sparc64" > ;; > sparc32plus) > TARGET_ARCH=sparc64 > @@ -4311,6 +4312,7 @@ if [ "$TARGET_BASE_ARCH" = "" ]; then > TARGET_BASE_ARCH=$TARGET_ARCH > fi > > +kconfig_subdirs="$kconfig_subdirs $TARGET_BASE_ARCH" > symlink "$source_path/Makefile.target" "$target_dir/Makefile" > > upper() { > @@ -4494,6 +4496,15 @@ echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak > > done # for target in $targets > > +# Generate Kconfig.targets > +kconfig_targets="Kconfig.targets" > +kconfig_subdirs=$(echo $kconfig_subdirs | tr ' ' '\n' | sort -u | tr '\n' ' ') > +echo "# Automatically generated by configure - do not modify" > $kconfig_targets > + > +for i in $kconfig_subdirs ; do > + echo "source \"hw/$i/Kconfig\"" >> $kconfig_targets > +done > + > if [ "$pixman" = "internal" ]; then > echo "config-host.h: subdir-pixman" >> $config_host_mak > fi > There is one issue that we have not solved yet here (pointed out by Peter Maydell on IRC). Right now, the presence of a file in default-configs/ is used to check if a target name is correct. We need to figure out a different way to do the same thing. This needs to cover both softmmu and user targets. For softmmu, perhaps there should be a hw/boards/ directory with a subdirectory for each target. "source hw/i386/Kconfig" (for Kconfig) or "obj-y += ../i386/" can be used to recurse back to a common directory from there. For linux-user, the problem is that we don't have anything to configure with Kconfig---so no reason to have a Kconfig file or a directory structure with one directory per target. Paolo
diff --git a/configure b/configure index 18fa608..353c0cb 100755 --- a/configure +++ b/configure @@ -4288,6 +4288,7 @@ case "$target_name" in ;; sparc64) TARGET_BASE_ARCH=sparc + kconfig_subdirs="$kconfig_subdirs sparc64" ;; sparc32plus) TARGET_ARCH=sparc64 @@ -4311,6 +4312,7 @@ if [ "$TARGET_BASE_ARCH" = "" ]; then TARGET_BASE_ARCH=$TARGET_ARCH fi +kconfig_subdirs="$kconfig_subdirs $TARGET_BASE_ARCH" symlink "$source_path/Makefile.target" "$target_dir/Makefile" upper() { @@ -4494,6 +4496,15 @@ echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak done # for target in $targets +# Generate Kconfig.targets +kconfig_targets="Kconfig.targets" +kconfig_subdirs=$(echo $kconfig_subdirs | tr ' ' '\n' | sort -u | tr '\n' ' ') +echo "# Automatically generated by configure - do not modify" > $kconfig_targets + +for i in $kconfig_subdirs ; do + echo "source \"hw/$i/Kconfig\"" >> $kconfig_targets +done + if [ "$pixman" = "internal" ]; then echo "config-host.h: subdir-pixman" >> $config_host_mak fi
Signed-off-by: Ákos Kovács <akoskovacs@gmx.com> --- configure | 11 +++++++++++ 1 file changed, 11 insertions(+)