All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary
@ 2020-05-18 16:03 Claudio Fontana
  2020-05-18 16:03 ` [PATCH v5 1/2] Makefile: dtc: update, build the libfdt target Claudio Fontana
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Claudio Fontana @ 2020-05-18 16:03 UTC (permalink / raw)
  To: David Gibson, Peter Maydell, Philippe Mathieu-Daude
  Cc: Markus Armbruster, Claudio Fontana, Alex Bennee, qemu-devel,
	Laurent Vivier

v4 -> v5:

* include the dtc submodule update commit in the 1/2 patch

v3 -> v4: NB! only useful when updating to latest dtc (not in QEMU yet)

* changed the approach to leverage new upstream dtc Makefile,
  needs dtc submodule update to include upstream dtc commit
  85e5d839847af54efab170f2b1331b2a6421e647.

* LIBFDT_srcdir does not exist anymore in upstream dtc: it is also
  not used anymore.

* LIBFDT_lib: need to avoid building libfdt.so at least for now, so pass as
  empty to avoid building the .so. This is to avoid breaking existing
  trees with objects already compiled without -fPIC.

* clean: no need to make dtc clean target, every artifact is captured by
  global clean rule

v2 -> v3:

* changed into a 2 patch series; in the second patch we remove the old
  compatibility gunks that were meant for removal some time after 4.1.

* renamed the libfdt PHONY rule to dtc/all, with the intent to make
  existing working trees forward and backward compatible across the change.

v1 -> v2:

* fix error generated when running UNCHECKED_GOALS without prior configure,
  for example during make docker-image-fedora. Without configure, DSOSUF is
  empty, and the module pattern rule in rules.mak that uses this variable
  can match too much; provide a default in the Makefile to avoid it.

* only attempt to build the archive when there is a non-empty list of objects.
  This could be done in general for the %.a: pattern in rules.mak, but maybe
  there are valid reasons to build an empty .a?

* removed some intermediate variables that did not add much value
  (LIBFDT_srcdir, LIBFDT_archive)

Tested locally with 3 VPATH configurations (no-, VPATH, VPATH in src subdir),
and with docker-image-fedora, docker-test-debug@fedora that failed before.

Claudio Fontana (2):
  Makefile: libfdt: build only the strict necessary
  Makefile: remove old compatibility gunks

 Makefile  | 32 ++++++++++++++++----------------
 configure |  6 +-----
 rules.mak |  2 ++
 3 files changed, 19 insertions(+), 21 deletions(-)

-- 
2.16.4



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v5 1/2] Makefile: dtc: update, build the libfdt target
  2020-05-18 16:03 [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary Claudio Fontana
@ 2020-05-18 16:03 ` Claudio Fontana
  2020-05-18 16:03 ` [PATCH v5 2/2] Makefile: remove old compatibility gunks Claudio Fontana
  2020-06-01 11:28 ` [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary Claudio Fontana
  2 siblings, 0 replies; 9+ messages in thread
From: Claudio Fontana @ 2020-05-18 16:03 UTC (permalink / raw)
  To: David Gibson, Peter Maydell, Philippe Mathieu-Daude
  Cc: Markus Armbruster, Claudio Fontana, Alex Bennee, qemu-devel,
	Laurent Vivier

dtc submodule update, now call the libfdt target from the new
dtc Makefile, which has been changed to not require bison, flex, etc.
This removes warnings during the build.

scripts/ symlink and tests directory creation are not necessary,
and neither is calling the clean rule explicitly.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 Makefile  | 10 +++++-----
 configure |  1 -
 dtc       |  2 +-
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index 34275f57c9..36a6454295 100644
--- a/Makefile
+++ b/Makefile
@@ -526,13 +526,14 @@ $(SOFTMMU_FUZZ_RULES): $(edk2-decompressed)
 $(TARGET_DIRS_RULES):
 	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $(dir $@) V="$(V)" TARGET_DIR="$(dir $@)" $(notdir $@),)
 
-DTC_MAKE_ARGS=-I$(SRC_PATH)/dtc VPATH=$(SRC_PATH)/dtc -C dtc V="$(V)" LIBFDT_srcdir=$(SRC_PATH)/dtc/libfdt
+# LIBFDT_lib="": avoid breaking existing trees with objects requiring -fPIC
+DTC_MAKE_ARGS=-I$(SRC_PATH)/dtc VPATH=$(SRC_PATH)/dtc -C dtc V="$(V)" LIBFDT_lib=""
 DTC_CFLAGS=$(CFLAGS) $(QEMU_CFLAGS)
-DTC_CPPFLAGS=-I$(BUILD_DIR)/dtc -I$(SRC_PATH)/dtc -I$(SRC_PATH)/dtc/libfdt
+DTC_CPPFLAGS=-I$(SRC_PATH)/dtc/libfdt
 
 .PHONY: dtc/all
-dtc/all: .git-submodule-status dtc/libfdt dtc/tests
-	$(call quiet-command,$(MAKE) $(DTC_MAKE_ARGS) CPPFLAGS="$(DTC_CPPFLAGS)" CFLAGS="$(DTC_CFLAGS)" LDFLAGS="$(QEMU_LDFLAGS)" ARFLAGS="$(ARFLAGS)" CC="$(CC)" AR="$(AR)" LD="$(LD)" $(SUBDIR_MAKEFLAGS) libfdt/libfdt.a,)
+dtc/all: .git-submodule-status dtc/libfdt
+	$(call quiet-command,$(MAKE) $(DTC_MAKE_ARGS) CPPFLAGS="$(DTC_CPPFLAGS)" CFLAGS="$(DTC_CFLAGS)" LDFLAGS="$(QEMU_LDFLAGS)" ARFLAGS="$(ARFLAGS)" CC="$(CC)" AR="$(AR)" LD="$(LD)" $(SUBDIR_MAKEFLAGS) libfdt,)
 
 dtc/%: .git-submodule-status
 	@mkdir -p $@
@@ -820,7 +821,6 @@ distclean: clean
 	rm -rf $$d || exit 1 ; \
         done
 	rm -Rf .sdk
-	if test -f dtc/version_gen.h; then $(MAKE) $(DTC_MAKE_ARGS) clean; fi
 
 KEYMAPS=da     en-gb  et  fr     fr-ch  is  lt  no  pt-br  sv \
 ar      de     en-us  fi  fr-be  hr     it  lv  nl         pl  ru     th \
diff --git a/configure b/configure
index 26084fc53a..069ce34611 100755
--- a/configure
+++ b/configure
@@ -4281,7 +4281,6 @@ EOF
           mkdir -p dtc
           if [ "$pwd_is_source_path" != "y" ] ; then
               symlink "$source_path/dtc/Makefile" "dtc/Makefile"
-              symlink "$source_path/dtc/scripts" "dtc/scripts"
           fi
           fdt_cflags="-I\$(SRC_PATH)/dtc/libfdt"
           fdt_ldflags="-L\$(BUILD_DIR)/dtc/libfdt"
diff --git a/dtc b/dtc
index 88f18909db..85e5d83984 160000
--- a/dtc
+++ b/dtc
@@ -1 +1 @@
-Subproject commit 88f18909db731a627456f26d779445f84e449536
+Subproject commit 85e5d839847af54efab170f2b1331b2a6421e647
-- 
2.16.4



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v5 2/2] Makefile: remove old compatibility gunks
  2020-05-18 16:03 [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary Claudio Fontana
  2020-05-18 16:03 ` [PATCH v5 1/2] Makefile: dtc: update, build the libfdt target Claudio Fontana
@ 2020-05-18 16:03 ` Claudio Fontana
  2020-06-01 11:28 ` [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary Claudio Fontana
  2 siblings, 0 replies; 9+ messages in thread
From: Claudio Fontana @ 2020-05-18 16:03 UTC (permalink / raw)
  To: David Gibson, Peter Maydell, Philippe Mathieu-Daude
  Cc: Markus Armbruster, Claudio Fontana, Alex Bennee, qemu-devel,
	Laurent Vivier

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 Makefile | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/Makefile b/Makefile
index 36a6454295..2873d59ea2 100644
--- a/Makefile
+++ b/Makefile
@@ -562,12 +562,6 @@ slirp/all: .git-submodule-status
 		CC="$(CC)" AR="$(AR)" 	LD="$(LD)" RANLIB="$(RANLIB)"	\
 		CFLAGS="$(QEMU_CFLAGS) $(CFLAGS)" LDFLAGS="$(QEMU_LDFLAGS)")
 
-# Compatibility gunk to keep make working across the rename of targets
-# for recursion, to be removed some time after 4.1.
-subdir-dtc: dtc/all
-subdir-capstone: capstone/all
-subdir-slirp: slirp/all
-
 $(filter %/all, $(TARGET_DIRS_RULES)): libqemuutil.a $(common-obj-y) \
 	$(qom-obj-y)
 
-- 
2.16.4



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary
  2020-05-18 16:03 [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary Claudio Fontana
  2020-05-18 16:03 ` [PATCH v5 1/2] Makefile: dtc: update, build the libfdt target Claudio Fontana
  2020-05-18 16:03 ` [PATCH v5 2/2] Makefile: remove old compatibility gunks Claudio Fontana
@ 2020-06-01 11:28 ` Claudio Fontana
  2020-06-07  6:53   ` Thomas Huth
  2 siblings, 1 reply; 9+ messages in thread
From: Claudio Fontana @ 2020-06-01 11:28 UTC (permalink / raw)
  To: David Gibson, Peter Maydell, Philippe Mathieu-Daude
  Cc: Laurent Vivier, Alex Bennee, Markus Armbruster, qemu-devel

Hello all,

is this queued somewhere?

Thanks,

Claudio

On 5/18/20 6:03 PM, Claudio Fontana wrote:
> v4 -> v5:
> 
> * include the dtc submodule update commit in the 1/2 patch
> 
> v3 -> v4: NB! only useful when updating to latest dtc (not in QEMU yet)
> 
> * changed the approach to leverage new upstream dtc Makefile,
>   needs dtc submodule update to include upstream dtc commit
>   85e5d839847af54efab170f2b1331b2a6421e647.
> 
> * LIBFDT_srcdir does not exist anymore in upstream dtc: it is also
>   not used anymore.
> 
> * LIBFDT_lib: need to avoid building libfdt.so at least for now, so pass as
>   empty to avoid building the .so. This is to avoid breaking existing
>   trees with objects already compiled without -fPIC.
> 
> * clean: no need to make dtc clean target, every artifact is captured by
>   global clean rule
> 
> v2 -> v3:
> 
> * changed into a 2 patch series; in the second patch we remove the old
>   compatibility gunks that were meant for removal some time after 4.1.
> 
> * renamed the libfdt PHONY rule to dtc/all, with the intent to make
>   existing working trees forward and backward compatible across the change.
> 
> v1 -> v2:
> 
> * fix error generated when running UNCHECKED_GOALS without prior configure,
>   for example during make docker-image-fedora. Without configure, DSOSUF is
>   empty, and the module pattern rule in rules.mak that uses this variable
>   can match too much; provide a default in the Makefile to avoid it.
> 
> * only attempt to build the archive when there is a non-empty list of objects.
>   This could be done in general for the %.a: pattern in rules.mak, but maybe
>   there are valid reasons to build an empty .a?
> 
> * removed some intermediate variables that did not add much value
>   (LIBFDT_srcdir, LIBFDT_archive)
> 
> Tested locally with 3 VPATH configurations (no-, VPATH, VPATH in src subdir),
> and with docker-image-fedora, docker-test-debug@fedora that failed before.
> 
> Claudio Fontana (2):
>   Makefile: libfdt: build only the strict necessary
>   Makefile: remove old compatibility gunks
> 
>  Makefile  | 32 ++++++++++++++++----------------
>  configure |  6 +-----
>  rules.mak |  2 ++
>  3 files changed, 19 insertions(+), 21 deletions(-)
> 



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary
  2020-06-01 11:28 ` [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary Claudio Fontana
@ 2020-06-07  6:53   ` Thomas Huth
  2020-06-08  9:52     ` David Gibson
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Huth @ 2020-06-07  6:53 UTC (permalink / raw)
  To: David Gibson
  Cc: Peter Maydell, qemu-devel, Philippe Mathieu-Daude,
	Laurent Vivier, Markus Armbruster, Claudio Fontana, Alex Bennee,
	David Gibson

 Hi David,

could you maybe take this through your ppc tree?

 Thanks,
  Thomas


On 01/06/2020 13.28, Claudio Fontana wrote:
> Hello all,
> 
> is this queued somewhere?
> 
> Thanks,
> 
> Claudio
> 
> On 5/18/20 6:03 PM, Claudio Fontana wrote:
>> v4 -> v5:
>>
>> * include the dtc submodule update commit in the 1/2 patch
>>
>> v3 -> v4: NB! only useful when updating to latest dtc (not in QEMU yet)
>>
>> * changed the approach to leverage new upstream dtc Makefile,
>>   needs dtc submodule update to include upstream dtc commit
>>   85e5d839847af54efab170f2b1331b2a6421e647.
>>
>> * LIBFDT_srcdir does not exist anymore in upstream dtc: it is also
>>   not used anymore.
>>
>> * LIBFDT_lib: need to avoid building libfdt.so at least for now, so pass as
>>   empty to avoid building the .so. This is to avoid breaking existing
>>   trees with objects already compiled without -fPIC.
>>
>> * clean: no need to make dtc clean target, every artifact is captured by
>>   global clean rule
>>
>> v2 -> v3:
>>
>> * changed into a 2 patch series; in the second patch we remove the old
>>   compatibility gunks that were meant for removal some time after 4.1.
>>
>> * renamed the libfdt PHONY rule to dtc/all, with the intent to make
>>   existing working trees forward and backward compatible across the change.
>>
>> v1 -> v2:
>>
>> * fix error generated when running UNCHECKED_GOALS without prior configure,
>>   for example during make docker-image-fedora. Without configure, DSOSUF is
>>   empty, and the module pattern rule in rules.mak that uses this variable
>>   can match too much; provide a default in the Makefile to avoid it.
>>
>> * only attempt to build the archive when there is a non-empty list of objects.
>>   This could be done in general for the %.a: pattern in rules.mak, but maybe
>>   there are valid reasons to build an empty .a?
>>
>> * removed some intermediate variables that did not add much value
>>   (LIBFDT_srcdir, LIBFDT_archive)
>>
>> Tested locally with 3 VPATH configurations (no-, VPATH, VPATH in src subdir),
>> and with docker-image-fedora, docker-test-debug@fedora that failed before.
>>
>> Claudio Fontana (2):
>>   Makefile: libfdt: build only the strict necessary
>>   Makefile: remove old compatibility gunks
>>
>>  Makefile  | 32 ++++++++++++++++----------------
>>  configure |  6 +-----
>>  rules.mak |  2 ++
>>  3 files changed, 19 insertions(+), 21 deletions(-)
>>
> 
> 



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary
  2020-06-07  6:53   ` Thomas Huth
@ 2020-06-08  9:52     ` David Gibson
  2020-06-08 11:14       ` Claudio Fontana
  0 siblings, 1 reply; 9+ messages in thread
From: David Gibson @ 2020-06-08  9:52 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Peter Maydell, qemu-devel, Philippe Mathieu-Daude,
	Laurent Vivier, Markus Armbruster, Claudio Fontana, David Gibson,
	Alex Bennee

[-- Attachment #1: Type: text/plain, Size: 2972 bytes --]

On Sun, Jun 07, 2020 at 08:53:52AM +0200, Thomas Huth wrote:
>  Hi David,
> 
> could you maybe take this through your ppc tree?

Sounds reasonable, but this version doesn't seem to apply any more.

> 
>  Thanks,
>   Thomas
> 
> 
> On 01/06/2020 13.28, Claudio Fontana wrote:
> > Hello all,
> > 
> > is this queued somewhere?
> > 
> > Thanks,
> > 
> > Claudio
> > 
> > On 5/18/20 6:03 PM, Claudio Fontana wrote:
> >> v4 -> v5:
> >>
> >> * include the dtc submodule update commit in the 1/2 patch
> >>
> >> v3 -> v4: NB! only useful when updating to latest dtc (not in QEMU yet)
> >>
> >> * changed the approach to leverage new upstream dtc Makefile,
> >>   needs dtc submodule update to include upstream dtc commit
> >>   85e5d839847af54efab170f2b1331b2a6421e647.
> >>
> >> * LIBFDT_srcdir does not exist anymore in upstream dtc: it is also
> >>   not used anymore.
> >>
> >> * LIBFDT_lib: need to avoid building libfdt.so at least for now, so pass as
> >>   empty to avoid building the .so. This is to avoid breaking existing
> >>   trees with objects already compiled without -fPIC.
> >>
> >> * clean: no need to make dtc clean target, every artifact is captured by
> >>   global clean rule
> >>
> >> v2 -> v3:
> >>
> >> * changed into a 2 patch series; in the second patch we remove the old
> >>   compatibility gunks that were meant for removal some time after 4.1.
> >>
> >> * renamed the libfdt PHONY rule to dtc/all, with the intent to make
> >>   existing working trees forward and backward compatible across the change.
> >>
> >> v1 -> v2:
> >>
> >> * fix error generated when running UNCHECKED_GOALS without prior configure,
> >>   for example during make docker-image-fedora. Without configure, DSOSUF is
> >>   empty, and the module pattern rule in rules.mak that uses this variable
> >>   can match too much; provide a default in the Makefile to avoid it.
> >>
> >> * only attempt to build the archive when there is a non-empty list of objects.
> >>   This could be done in general for the %.a: pattern in rules.mak, but maybe
> >>   there are valid reasons to build an empty .a?
> >>
> >> * removed some intermediate variables that did not add much value
> >>   (LIBFDT_srcdir, LIBFDT_archive)
> >>
> >> Tested locally with 3 VPATH configurations (no-, VPATH, VPATH in src subdir),
> >> and with docker-image-fedora, docker-test-debug@fedora that failed before.
> >>
> >> Claudio Fontana (2):
> >>   Makefile: libfdt: build only the strict necessary
> >>   Makefile: remove old compatibility gunks
> >>
> >>  Makefile  | 32 ++++++++++++++++----------------
> >>  configure |  6 +-----
> >>  rules.mak |  2 ++
> >>  3 files changed, 19 insertions(+), 21 deletions(-)
> >>
> > 
> > 
> 

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary
  2020-06-08  9:52     ` David Gibson
@ 2020-06-08 11:14       ` Claudio Fontana
  2020-06-10  5:02         ` David Gibson
  0 siblings, 1 reply; 9+ messages in thread
From: Claudio Fontana @ 2020-06-08 11:14 UTC (permalink / raw)
  To: David Gibson, Thomas Huth
  Cc: Peter Maydell, qemu-devel, Philippe Mathieu-Daude,
	Laurent Vivier, Markus Armbruster, David Gibson, Alex Bennee

On 6/8/20 11:52 AM, David Gibson wrote:
> On Sun, Jun 07, 2020 at 08:53:52AM +0200, Thomas Huth wrote:
>>  Hi David,
>>
>> could you maybe take this through your ppc tree?
> 
> Sounds reasonable, but this version doesn't seem to apply any more.

Hi David,

which problem are you experiencing?

I have applied the series to latest master without encountering problems and pushed to:

https://github.com/hw-claudio/qemu.git "v5-Makefile-build-necessary"

Thanks,

Claudio

> 
>>
>>  Thanks,
>>   Thomas
>>
>>
>> On 01/06/2020 13.28, Claudio Fontana wrote:
>>> Hello all,
>>>
>>> is this queued somewhere?
>>>
>>> Thanks,
>>>
>>> Claudio
>>>
>>> On 5/18/20 6:03 PM, Claudio Fontana wrote:
>>>> v4 -> v5:
>>>>
>>>> * include the dtc submodule update commit in the 1/2 patch
>>>>
>>>> v3 -> v4: NB! only useful when updating to latest dtc (not in QEMU yet)
>>>>
>>>> * changed the approach to leverage new upstream dtc Makefile,
>>>>   needs dtc submodule update to include upstream dtc commit
>>>>   85e5d839847af54efab170f2b1331b2a6421e647.
>>>>
>>>> * LIBFDT_srcdir does not exist anymore in upstream dtc: it is also
>>>>   not used anymore.
>>>>
>>>> * LIBFDT_lib: need to avoid building libfdt.so at least for now, so pass as
>>>>   empty to avoid building the .so. This is to avoid breaking existing
>>>>   trees with objects already compiled without -fPIC.
>>>>
>>>> * clean: no need to make dtc clean target, every artifact is captured by
>>>>   global clean rule
>>>>
>>>> v2 -> v3:
>>>>
>>>> * changed into a 2 patch series; in the second patch we remove the old
>>>>   compatibility gunks that were meant for removal some time after 4.1.
>>>>
>>>> * renamed the libfdt PHONY rule to dtc/all, with the intent to make
>>>>   existing working trees forward and backward compatible across the change.
>>>>
>>>> v1 -> v2:
>>>>
>>>> * fix error generated when running UNCHECKED_GOALS without prior configure,
>>>>   for example during make docker-image-fedora. Without configure, DSOSUF is
>>>>   empty, and the module pattern rule in rules.mak that uses this variable
>>>>   can match too much; provide a default in the Makefile to avoid it.
>>>>
>>>> * only attempt to build the archive when there is a non-empty list of objects.
>>>>   This could be done in general for the %.a: pattern in rules.mak, but maybe
>>>>   there are valid reasons to build an empty .a?
>>>>
>>>> * removed some intermediate variables that did not add much value
>>>>   (LIBFDT_srcdir, LIBFDT_archive)
>>>>
>>>> Tested locally with 3 VPATH configurations (no-, VPATH, VPATH in src subdir),
>>>> and with docker-image-fedora, docker-test-debug@fedora that failed before.
>>>>
>>>> Claudio Fontana (2):
>>>>   Makefile: libfdt: build only the strict necessary
>>>>   Makefile: remove old compatibility gunks
>>>>
>>>>  Makefile  | 32 ++++++++++++++++----------------
>>>>  configure |  6 +-----
>>>>  rules.mak |  2 ++
>>>>  3 files changed, 19 insertions(+), 21 deletions(-)
>>>>
>>>
>>>
>>
> 



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary
  2020-06-08 11:14       ` Claudio Fontana
@ 2020-06-10  5:02         ` David Gibson
  0 siblings, 0 replies; 9+ messages in thread
From: David Gibson @ 2020-06-10  5:02 UTC (permalink / raw)
  To: Claudio Fontana
  Cc: Peter Maydell, Thomas Huth, qemu-devel, Philippe Mathieu-Daude,
	Laurent Vivier, Markus Armbruster, David Gibson, Alex Bennee

[-- Attachment #1: Type: text/plain, Size: 3745 bytes --]

On Mon, Jun 08, 2020 at 01:14:31PM +0200, Claudio Fontana wrote:
> On 6/8/20 11:52 AM, David Gibson wrote:
> > On Sun, Jun 07, 2020 at 08:53:52AM +0200, Thomas Huth wrote:
> >>  Hi David,
> >>
> >> could you maybe take this through your ppc tree?
> > 
> > Sounds reasonable, but this version doesn't seem to apply any more.
> 
> Hi David,
> 
> which problem are you experiencing?

Urgh, now I'm not sure what happened.  I seemed to get conflicts in
the Makefile, but now I seem to have them committed ok to my tree
after all.  I think I was just confused.

Anyway, they should be in ppc-for-5.1 now.

> I have applied the series to latest master without encountering problems and pushed to:
> 
> https://github.com/hw-claudio/qemu.git "v5-Makefile-build-necessary"
> 
> Thanks,
> 
> Claudio
> 
> > 
> >>
> >>  Thanks,
> >>   Thomas
> >>
> >>
> >> On 01/06/2020 13.28, Claudio Fontana wrote:
> >>> Hello all,
> >>>
> >>> is this queued somewhere?
> >>>
> >>> Thanks,
> >>>
> >>> Claudio
> >>>
> >>> On 5/18/20 6:03 PM, Claudio Fontana wrote:
> >>>> v4 -> v5:
> >>>>
> >>>> * include the dtc submodule update commit in the 1/2 patch
> >>>>
> >>>> v3 -> v4: NB! only useful when updating to latest dtc (not in QEMU yet)
> >>>>
> >>>> * changed the approach to leverage new upstream dtc Makefile,
> >>>>   needs dtc submodule update to include upstream dtc commit
> >>>>   85e5d839847af54efab170f2b1331b2a6421e647.
> >>>>
> >>>> * LIBFDT_srcdir does not exist anymore in upstream dtc: it is also
> >>>>   not used anymore.
> >>>>
> >>>> * LIBFDT_lib: need to avoid building libfdt.so at least for now, so pass as
> >>>>   empty to avoid building the .so. This is to avoid breaking existing
> >>>>   trees with objects already compiled without -fPIC.
> >>>>
> >>>> * clean: no need to make dtc clean target, every artifact is captured by
> >>>>   global clean rule
> >>>>
> >>>> v2 -> v3:
> >>>>
> >>>> * changed into a 2 patch series; in the second patch we remove the old
> >>>>   compatibility gunks that were meant for removal some time after 4.1.
> >>>>
> >>>> * renamed the libfdt PHONY rule to dtc/all, with the intent to make
> >>>>   existing working trees forward and backward compatible across the change.
> >>>>
> >>>> v1 -> v2:
> >>>>
> >>>> * fix error generated when running UNCHECKED_GOALS without prior configure,
> >>>>   for example during make docker-image-fedora. Without configure, DSOSUF is
> >>>>   empty, and the module pattern rule in rules.mak that uses this variable
> >>>>   can match too much; provide a default in the Makefile to avoid it.
> >>>>
> >>>> * only attempt to build the archive when there is a non-empty list of objects.
> >>>>   This could be done in general for the %.a: pattern in rules.mak, but maybe
> >>>>   there are valid reasons to build an empty .a?
> >>>>
> >>>> * removed some intermediate variables that did not add much value
> >>>>   (LIBFDT_srcdir, LIBFDT_archive)
> >>>>
> >>>> Tested locally with 3 VPATH configurations (no-, VPATH, VPATH in src subdir),
> >>>> and with docker-image-fedora, docker-test-debug@fedora that failed before.
> >>>>
> >>>> Claudio Fontana (2):
> >>>>   Makefile: libfdt: build only the strict necessary
> >>>>   Makefile: remove old compatibility gunks
> >>>>
> >>>>  Makefile  | 32 ++++++++++++++++----------------
> >>>>  configure |  6 +-----
> >>>>  rules.mak |  2 ++
> >>>>  3 files changed, 19 insertions(+), 21 deletions(-)
> >>>>
> >>>
> >>>
> >>
> > 
> 

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary
@ 2020-05-18 16:02 Claudio Fontana
  0 siblings, 0 replies; 9+ messages in thread
From: Claudio Fontana @ 2020-05-18 16:02 UTC (permalink / raw)
  To: David Gibson, Peter Maydell, Philippe Mathieu-Daude
  Cc: Markus Armbruster, Claudio Fontana, Alex Bennee, qemu-devel,
	Laurent Vivier

v4 -> v5:

* include the dtc submodule update commit in the 1/2 patch

v3 -> v4: NB! only useful when updating to latest dtc (not in QEMU yet)

* changed the approach to leverage new upstream dtc Makefile,
  needs dtc submodule update to include upstream dtc commit
  85e5d839847af54efab170f2b1331b2a6421e647.

* LIBFDT_srcdir does not exist anymore in upstream dtc: it is also
  not used anymore.

* LIBFDT_lib: need to avoid building libfdt.so at least for now, so pass as
  empty to avoid building the .so. This is to avoid breaking existing
  trees with objects already compiled without -fPIC.

* clean: no need to make dtc clean target, every artifact is captured by
  global clean rule

v2 -> v3:

* changed into a 2 patch series; in the second patch we remove the old
  compatibility gunks that were meant for removal some time after 4.1.

* renamed the libfdt PHONY rule to dtc/all, with the intent to make
  existing working trees forward and backward compatible across the change.

v1 -> v2:

* fix error generated when running UNCHECKED_GOALS without prior configure,
  for example during make docker-image-fedora. Without configure, DSOSUF is
  empty, and the module pattern rule in rules.mak that uses this variable
  can match too much; provide a default in the Makefile to avoid it.

* only attempt to build the archive when there is a non-empty list of objects.
  This could be done in general for the %.a: pattern in rules.mak, but maybe
  there are valid reasons to build an empty .a?

* removed some intermediate variables that did not add much value
  (LIBFDT_srcdir, LIBFDT_archive)

Tested locally with 3 VPATH configurations (no-, VPATH, VPATH in src subdir),
and with docker-image-fedora, docker-test-debug@fedora that failed before.

Claudio Fontana (2):
  Makefile: libfdt: build only the strict necessary
  Makefile: remove old compatibility gunks

 Makefile  | 32 ++++++++++++++++----------------
 configure |  6 +-----
 rules.mak |  2 ++
 3 files changed, 19 insertions(+), 21 deletions(-)

-- 
2.16.4



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-06-10  5:08 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-18 16:03 [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary Claudio Fontana
2020-05-18 16:03 ` [PATCH v5 1/2] Makefile: dtc: update, build the libfdt target Claudio Fontana
2020-05-18 16:03 ` [PATCH v5 2/2] Makefile: remove old compatibility gunks Claudio Fontana
2020-06-01 11:28 ` [PATCH v5 0/2] Makefile: libfdt: build only the strict necessary Claudio Fontana
2020-06-07  6:53   ` Thomas Huth
2020-06-08  9:52     ` David Gibson
2020-06-08 11:14       ` Claudio Fontana
2020-06-10  5:02         ` David Gibson
  -- strict thread matches above, loose matches on Subject: below --
2020-05-18 16:02 Claudio Fontana

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.