qemu-devel.nongnu.org archive mirror
 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 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 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).