* [PATCH] configure/optionrom: Fix MSYS2 multiboot.bin issue
@ 2021-09-15 10:56 Helge Konetzka
2021-09-16 13:54 ` Mark Cave-Ayland
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Helge Konetzka @ 2021-09-15 10:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Paolo Bonzini, Mark Cave-Ayland, Howard Spoelstra
This patch enables native builds on MSYS2 with symlinks disabled.
Signed-off-by: Helge Konetzka <hk@zapateado.de>
---
Without this patch these builds fail with:
make[1]: *** No rule to make target 'multiboot.bin', needed by 'all'. Stop.
make: *** [Makefile:189: pc-bios/optionrom/all] Error 2
make: *** Waiting for unfinished jobs....
...
==> ERROR: A failure occurred in build().
Aborting...
Builds fail because make cannot determine correct TOPSRC_DIR/SRC_DIR
based on copied instead of linked Makefile
After applying this patch to current master I succeeded in building
natively on Linux and Windows/MSYS2 with symlinks disabled and enabled
(winsymlinks:nativestrict, bash executed as Administrator).
configure | 4 ++++
pc-bios/optionrom/Makefile | 5 ++---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index da2501489f..a12bc8edbf 100755
--- a/configure
+++ b/configure
@@ -5090,6 +5090,10 @@ for rom in seabios; do
echo "RANLIB=$ranlib" >> $config_mak
done
+config_mak=pc-bios/optionrom/config.mak
+echo "# Automatically generated by configure - do not modify" > $config_mak
+echo "TOPSRC_DIR=$source_path" >> $config_mak
+
if test "$skip_meson" = no; then
cross="config-meson.cross.new"
meson_quote() {
diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
index 30771f8d17..3482508a86 100644
--- a/pc-bios/optionrom/Makefile
+++ b/pc-bios/optionrom/Makefile
@@ -1,6 +1,5 @@
-CURRENT_MAKEFILE := $(realpath $(word $(words
$(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
-SRC_DIR := $(dir $(CURRENT_MAKEFILE))
-TOPSRC_DIR := $(SRC_DIR)/../..
+include config.mak
+SRC_DIR := $(TOPSRC_DIR)/pc-bios/optionrom
VPATH = $(SRC_DIR)
all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
--
2.30.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] configure/optionrom: Fix MSYS2 multiboot.bin issue
2021-09-15 10:56 [PATCH] configure/optionrom: Fix MSYS2 multiboot.bin issue Helge Konetzka
@ 2021-09-16 13:54 ` Mark Cave-Ayland
2021-09-27 5:00 ` ping " Helge Konetzka
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Mark Cave-Ayland @ 2021-09-16 13:54 UTC (permalink / raw)
To: Helge Konetzka, qemu-devel
Cc: Paolo Bonzini, Marc-André Lureau, Howard Spoelstra
On 15/09/2021 11:56, Helge Konetzka wrote:
> This patch enables native builds on MSYS2 with symlinks disabled.
>
>
> Signed-off-by: Helge Konetzka <hk@zapateado.de>
> ---
>
> Without this patch these builds fail with:
>
> make[1]: *** No rule to make target 'multiboot.bin', needed by 'all'. Stop.
> make: *** [Makefile:189: pc-bios/optionrom/all] Error 2
> make: *** Waiting for unfinished jobs....
> ...
> ==> ERROR: A failure occurred in build().
> Aborting...
>
> Builds fail because make cannot determine correct TOPSRC_DIR/SRC_DIR based on copied
> instead of linked Makefile
>
> After applying this patch to current master I succeeded in building natively on Linux
> and Windows/MSYS2 with symlinks disabled and enabled (winsymlinks:nativestrict, bash
> executed as Administrator).
>
> configure | 4 ++++
> pc-bios/optionrom/Makefile | 5 ++---
> 2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/configure b/configure
> index da2501489f..a12bc8edbf 100755
> --- a/configure
> +++ b/configure
> @@ -5090,6 +5090,10 @@ for rom in seabios; do
> echo "RANLIB=$ranlib" >> $config_mak
> done
>
> +config_mak=pc-bios/optionrom/config.mak
> +echo "# Automatically generated by configure - do not modify" > $config_mak
> +echo "TOPSRC_DIR=$source_path" >> $config_mak
> +
> if test "$skip_meson" = no; then
> cross="config-meson.cross.new"
> meson_quote() {
> diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
> index 30771f8d17..3482508a86 100644
> --- a/pc-bios/optionrom/Makefile
> +++ b/pc-bios/optionrom/Makefile
> @@ -1,6 +1,5 @@
> -CURRENT_MAKEFILE := $(realpath $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
> -SRC_DIR := $(dir $(CURRENT_MAKEFILE))
> -TOPSRC_DIR := $(SRC_DIR)/../..
> +include config.mak
> +SRC_DIR := $(TOPSRC_DIR)/pc-bios/optionrom
> VPATH = $(SRC_DIR)
>
> all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
(Added Marc-André on CC)
Thanks for the patch! IMO this is a better solution since then there are no special
requirements for Windows compared with POSIX-type builds.
Marc-André, could you have a look at this? In short, commit bf708f3c4a ("optionrom:
simplify Makefile") in its current form requires either a) copying and renaming
compiler binaries and passing --cross-prefix into configure (see
https://wiki.qemu.org/Hosts/W32#Native_builds_with_MSYS2) or b) enabling symlinks in
Windows developer mode as per
https://www.mail-archive.com/qemu-devel@nongnu.org/msg750968.html for native Windows
builds.
ATB,
Mark.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: ping [PATCH] configure/optionrom: Fix MSYS2 multiboot.bin issue
2021-09-15 10:56 [PATCH] configure/optionrom: Fix MSYS2 multiboot.bin issue Helge Konetzka
2021-09-16 13:54 ` Mark Cave-Ayland
@ 2021-09-27 5:00 ` Helge Konetzka
2021-10-14 16:10 ` Helge Konetzka
2021-10-15 10:39 ` Paolo Bonzini
3 siblings, 0 replies; 5+ messages in thread
From: Helge Konetzka @ 2021-09-27 5:00 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Mark Cave-Ayland, Marc-André Lureau,
Howard Spoelstra
ping
https://lore.kernel.org/qemu-devel/2b5ab039-8495-b55f-03f1-ecfd996907a9@zapateado.de/T/#u
https://patchew.org/QEMU/2b5ab039-8495-b55f-03f1-ecfd996907a9@zapateado.de/
Am 15.09.21 um 12:56 schrieb Helge Konetzka:
> This patch enables native builds on MSYS2 with symlinks disabled.
>
>
> Signed-off-by: Helge Konetzka <hk@zapateado.de>
> ---
>
> Without this patch these builds fail with:
>
> make[1]: *** No rule to make target 'multiboot.bin', needed by 'all'. Stop.
> make: *** [Makefile:189: pc-bios/optionrom/all] Error 2
> make: *** Waiting for unfinished jobs....
> ...
> ==> ERROR: A failure occurred in build().
> Aborting...
>
> Builds fail because make cannot determine correct TOPSRC_DIR/SRC_DIR
> based on copied instead of linked Makefile
>
> After applying this patch to current master I succeeded in building
> natively on Linux and Windows/MSYS2 with symlinks disabled and enabled
> (winsymlinks:nativestrict, bash executed as Administrator).
>
> configure | 4 ++++
> pc-bios/optionrom/Makefile | 5 ++---
> 2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/configure b/configure
> index da2501489f..a12bc8edbf 100755
> --- a/configure
> +++ b/configure
> @@ -5090,6 +5090,10 @@ for rom in seabios; do
> echo "RANLIB=$ranlib" >> $config_mak
> done
>
> +config_mak=pc-bios/optionrom/config.mak
> +echo "# Automatically generated by configure - do not modify" >
> $config_mak
> +echo "TOPSRC_DIR=$source_path" >> $config_mak
> +
> if test "$skip_meson" = no; then
> cross="config-meson.cross.new"
> meson_quote() {
> diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
> index 30771f8d17..3482508a86 100644
> --- a/pc-bios/optionrom/Makefile
> +++ b/pc-bios/optionrom/Makefile
> @@ -1,6 +1,5 @@
> -CURRENT_MAKEFILE := $(realpath $(word $(words
> $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
> -SRC_DIR := $(dir $(CURRENT_MAKEFILE))
> -TOPSRC_DIR := $(SRC_DIR)/../..
> +include config.mak
> +SRC_DIR := $(TOPSRC_DIR)/pc-bios/optionrom
> VPATH = $(SRC_DIR)
>
> all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: ping [PATCH] configure/optionrom: Fix MSYS2 multiboot.bin issue
2021-09-15 10:56 [PATCH] configure/optionrom: Fix MSYS2 multiboot.bin issue Helge Konetzka
2021-09-16 13:54 ` Mark Cave-Ayland
2021-09-27 5:00 ` ping " Helge Konetzka
@ 2021-10-14 16:10 ` Helge Konetzka
2021-10-15 10:39 ` Paolo Bonzini
3 siblings, 0 replies; 5+ messages in thread
From: Helge Konetzka @ 2021-10-14 16:10 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Mark Cave-Ayland, Marc-André Lureau,
Howard Spoelstra
ping
https://lore.kernel.org/qemu-devel/2b5ab039-8495-b55f-03f1-ecfd996907a9@zapateado.de/T/#u
https://patchew.org/QEMU/2b5ab039-8495-b55f-03f1-ecfd996907a9@zapateado.de/
Am 15.09.21 um 12:56 schrieb Helge Konetzka:
> This patch enables native builds on MSYS2 with symlinks disabled.
>
>
> Signed-off-by: Helge Konetzka <hk@zapateado.de>
> ---
>
> Without this patch these builds fail with:
>
> make[1]: *** No rule to make target 'multiboot.bin', needed by 'all'. Stop.
> make: *** [Makefile:189: pc-bios/optionrom/all] Error 2
> make: *** Waiting for unfinished jobs....
> ...
> ==> ERROR: A failure occurred in build().
> Aborting...
>
> Builds fail because make cannot determine correct TOPSRC_DIR/SRC_DIR
> based on copied instead of linked Makefile
>
> After applying this patch to current master I succeeded in building
> natively on Linux and Windows/MSYS2 with symlinks disabled and enabled
> (winsymlinks:nativestrict, bash executed as Administrator).
>
> configure | 4 ++++
> pc-bios/optionrom/Makefile | 5 ++---
> 2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/configure b/configure
> index da2501489f..a12bc8edbf 100755
> --- a/configure
> +++ b/configure
> @@ -5090,6 +5090,10 @@ for rom in seabios; do
> echo "RANLIB=$ranlib" >> $config_mak
> done
>
> +config_mak=pc-bios/optionrom/config.mak
> +echo "# Automatically generated by configure - do not modify" >
> $config_mak
> +echo "TOPSRC_DIR=$source_path" >> $config_mak
> +
> if test "$skip_meson" = no; then
> cross="config-meson.cross.new"
> meson_quote() {
> diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
> index 30771f8d17..3482508a86 100644
> --- a/pc-bios/optionrom/Makefile
> +++ b/pc-bios/optionrom/Makefile
> @@ -1,6 +1,5 @@
> -CURRENT_MAKEFILE := $(realpath $(word $(words
> $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
> -SRC_DIR := $(dir $(CURRENT_MAKEFILE))
> -TOPSRC_DIR := $(SRC_DIR)/../..
> +include config.mak
> +SRC_DIR := $(TOPSRC_DIR)/pc-bios/optionrom
> VPATH = $(SRC_DIR)
>
> all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] configure/optionrom: Fix MSYS2 multiboot.bin issue
2021-09-15 10:56 [PATCH] configure/optionrom: Fix MSYS2 multiboot.bin issue Helge Konetzka
` (2 preceding siblings ...)
2021-10-14 16:10 ` Helge Konetzka
@ 2021-10-15 10:39 ` Paolo Bonzini
3 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2021-10-15 10:39 UTC (permalink / raw)
To: Helge Konetzka, qemu-devel; +Cc: Mark Cave-Ayland, Howard Spoelstra
On 15/09/21 12:56, Helge Konetzka wrote:
> This patch enables native builds on MSYS2 with symlinks disabled.
>
>
> Signed-off-by: Helge Konetzka <hk@zapateado.de>
> ---
>
> Without this patch these builds fail with:
>
> make[1]: *** No rule to make target 'multiboot.bin', needed by 'all'. Stop.
> make: *** [Makefile:189: pc-bios/optionrom/all] Error 2
> make: *** Waiting for unfinished jobs....
> ...
> ==> ERROR: A failure occurred in build().
> Aborting...
>
> Builds fail because make cannot determine correct TOPSRC_DIR/SRC_DIR
> based on copied instead of linked Makefile
>
> After applying this patch to current master I succeeded in building
> natively on Linux and Windows/MSYS2 with symlinks disabled and enabled
> (winsymlinks:nativestrict, bash executed as Administrator).
>
> configure | 4 ++++
> pc-bios/optionrom/Makefile | 5 ++---
> 2 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/configure b/configure
> index da2501489f..a12bc8edbf 100755
> --- a/configure
> +++ b/configure
> @@ -5090,6 +5090,10 @@ for rom in seabios; do
> echo "RANLIB=$ranlib" >> $config_mak
> done
>
> +config_mak=pc-bios/optionrom/config.mak
> +echo "# Automatically generated by configure - do not modify" >
> $config_mak
> +echo "TOPSRC_DIR=$source_path" >> $config_mak
> +
> if test "$skip_meson" = no; then
> cross="config-meson.cross.new"
> meson_quote() {
> diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
> index 30771f8d17..3482508a86 100644
> --- a/pc-bios/optionrom/Makefile
> +++ b/pc-bios/optionrom/Makefile
> @@ -1,6 +1,5 @@
> -CURRENT_MAKEFILE := $(realpath $(word $(words
> $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))
> -SRC_DIR := $(dir $(CURRENT_MAKEFILE))
> -TOPSRC_DIR := $(SRC_DIR)/../..
> +include config.mak
> +SRC_DIR := $(TOPSRC_DIR)/pc-bios/optionrom
> VPATH = $(SRC_DIR)
>
> all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
Queued, thanks. Sorry for the delay!
Paolo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-10-15 10:41 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-15 10:56 [PATCH] configure/optionrom: Fix MSYS2 multiboot.bin issue Helge Konetzka
2021-09-16 13:54 ` Mark Cave-Ayland
2021-09-27 5:00 ` ping " Helge Konetzka
2021-10-14 16:10 ` Helge Konetzka
2021-10-15 10:39 ` Paolo Bonzini
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.