* [Qemu-devel] [PATCH] migration-test: Only generate a single target architecture
@ 2018-09-13 13:23 Juan Quintela
2018-09-13 17:06 ` Eric Blake
2018-10-11 18:07 ` Dr. David Alan Gilbert
0 siblings, 2 replies; 3+ messages in thread
From: Juan Quintela @ 2018-09-13 13:23 UTC (permalink / raw)
To: qemu-devel; +Cc: dgilbert, lvivier, peterx
Several changes:
- We only allow generate header "inside" the tree. Why? Because we
need to connit the result, so it makes no sense to generate them on
the build dir.
- We only generate a single target each time. Getting all the
cross-compilers correctly is an impossible task. So know you do:
make -C tests/migration $target (native)
make CROSS_PREFIX=foo- -C tests/migratiion $target (cross)
And you are done.
- If we are building out of tree, we have no data about if we are
cross-compile or whatever. So instead of guess what is happening,
just do what I pointed on previous point.
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
tests/migration/Makefile | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/tests/migration/Makefile b/tests/migration/Makefile
index ff726ed7dd..13e99b1692 100644
--- a/tests/migration/Makefile
+++ b/tests/migration/Makefile
@@ -9,6 +9,19 @@ TARGET_LIST = i386 aarch64 s390x
SRC_PATH = ../..
+.PHONY: help $(TARGET_LIST)
+help:
+ @echo "Create migration guest includes. We generate a binary."
+ @echo "And then convert that binary to an include file that can be"
+ @echo "run in a guest."
+ @echo "Possible operations are:"
+ @echo
+ @echo " $(MAKE) clean Remove all intermediate files"
+ @echo " $(MAKE) target Generate for that target"
+ @echo " $(MAKE) CROSS_PREFIX=... target"
+ @echo " Cross-compile than target"
+ @echo " Possible targets are: $(TARGET_LIST)"
+
override define __note
/* This file is automatically generated from the assembly file in
* tests/migration/$@. Edit that file and then run "make all"
@@ -18,16 +31,8 @@ override define __note
endef
export __note
-find-arch-cross-cc = $(lastword $(shell grep -h "CROSS_CC_GUEST=" $(wildcard $(SRC_PATH)/$(patsubst i386,*86*,$(1))-softmmu/config-target.mak) /dev/null))
-parse-cross-prefix = $(subst gcc,,$(patsubst cc,gcc,$(patsubst CROSS_CC_GUEST="%",%,$(call find-arch-cross-cc,$(1)))))
-gen-cross-prefix = $(patsubst %-,CROSS_PREFIX=%-,$(call parse-cross-prefix,$(1)))
-
-.PHONY: all $(TARGET_LIST)
-
-all: $(TARGET_LIST)
-
$(TARGET_LIST):
- $(MAKE) -C $@ $(call gen-cross-prefix,$@)
+ $(MAKE) CROSS_PREFIX=$(CROSS_PREFIX) -C $@
clean:
for target in $(TARGET_LIST); do \
--
2.17.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] migration-test: Only generate a single target architecture
2018-09-13 13:23 [Qemu-devel] [PATCH] migration-test: Only generate a single target architecture Juan Quintela
@ 2018-09-13 17:06 ` Eric Blake
2018-10-11 18:07 ` Dr. David Alan Gilbert
1 sibling, 0 replies; 3+ messages in thread
From: Eric Blake @ 2018-09-13 17:06 UTC (permalink / raw)
To: Juan Quintela, qemu-devel; +Cc: lvivier, dgilbert, peterx
On 9/13/18 8:23 AM, Juan Quintela wrote:
> Several changes:
> - We only allow generate header "inside" the tree. Why? Because we
> need to connit the result, so it makes no sense to generate them on
s/connit/commit/
> the build dir.
> - We only generate a single target each time. Getting all the
> cross-compilers correctly is an impossible task. So know you do:
s/know/now/
> make -C tests/migration $target (native)
> make CROSS_PREFIX=foo- -C tests/migratiion $target (cross)
> And you are done.
>
> - If we are building out of tree, we have no data about if we are
> cross-compile or whatever. So instead of guess what is happening,
> just do what I pointed on previous point.
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
> tests/migration/Makefile | 23 ++++++++++++++---------
> 1 file changed, 14 insertions(+), 9 deletions(-)
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] migration-test: Only generate a single target architecture
2018-09-13 13:23 [Qemu-devel] [PATCH] migration-test: Only generate a single target architecture Juan Quintela
2018-09-13 17:06 ` Eric Blake
@ 2018-10-11 18:07 ` Dr. David Alan Gilbert
1 sibling, 0 replies; 3+ messages in thread
From: Dr. David Alan Gilbert @ 2018-10-11 18:07 UTC (permalink / raw)
To: Juan Quintela; +Cc: qemu-devel, lvivier, peterx
* Juan Quintela (quintela@redhat.com) wrote:
> Several changes:
> - We only allow generate header "inside" the tree. Why? Because we
> need to connit the result, so it makes no sense to generate them on
> the build dir.
> - We only generate a single target each time. Getting all the
> cross-compilers correctly is an impossible task. So know you do:
> make -C tests/migration $target (native)
> make CROSS_PREFIX=foo- -C tests/migratiion $target (cross)
> And you are done.
>
> - If we are building out of tree, we have no data about if we are
> cross-compile or whatever. So instead of guess what is happening,
> just do what I pointed on previous point.
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
and queued.
> ---
> tests/migration/Makefile | 23 ++++++++++++++---------
> 1 file changed, 14 insertions(+), 9 deletions(-)
>
> diff --git a/tests/migration/Makefile b/tests/migration/Makefile
> index ff726ed7dd..13e99b1692 100644
> --- a/tests/migration/Makefile
> +++ b/tests/migration/Makefile
> @@ -9,6 +9,19 @@ TARGET_LIST = i386 aarch64 s390x
>
> SRC_PATH = ../..
>
> +.PHONY: help $(TARGET_LIST)
> +help:
> + @echo "Create migration guest includes. We generate a binary."
> + @echo "And then convert that binary to an include file that can be"
> + @echo "run in a guest."
> + @echo "Possible operations are:"
> + @echo
> + @echo " $(MAKE) clean Remove all intermediate files"
> + @echo " $(MAKE) target Generate for that target"
> + @echo " $(MAKE) CROSS_PREFIX=... target"
> + @echo " Cross-compile than target"
> + @echo " Possible targets are: $(TARGET_LIST)"
> +
> override define __note
> /* This file is automatically generated from the assembly file in
> * tests/migration/$@. Edit that file and then run "make all"
> @@ -18,16 +31,8 @@ override define __note
> endef
> export __note
>
> -find-arch-cross-cc = $(lastword $(shell grep -h "CROSS_CC_GUEST=" $(wildcard $(SRC_PATH)/$(patsubst i386,*86*,$(1))-softmmu/config-target.mak) /dev/null))
> -parse-cross-prefix = $(subst gcc,,$(patsubst cc,gcc,$(patsubst CROSS_CC_GUEST="%",%,$(call find-arch-cross-cc,$(1)))))
> -gen-cross-prefix = $(patsubst %-,CROSS_PREFIX=%-,$(call parse-cross-prefix,$(1)))
> -
> -.PHONY: all $(TARGET_LIST)
> -
> -all: $(TARGET_LIST)
> -
> $(TARGET_LIST):
> - $(MAKE) -C $@ $(call gen-cross-prefix,$@)
> + $(MAKE) CROSS_PREFIX=$(CROSS_PREFIX) -C $@
>
> clean:
> for target in $(TARGET_LIST); do \
> --
> 2.17.1
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-10-11 18:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-13 13:23 [Qemu-devel] [PATCH] migration-test: Only generate a single target architecture Juan Quintela
2018-09-13 17:06 ` Eric Blake
2018-10-11 18:07 ` Dr. David Alan Gilbert
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).