Message ID | 20200514193811.6798-1-cfontana@suse.de (mailing list archive) |
---|---|
Headers | show |
Series | Makefile: libfdt: build only the strict necessary | expand |
Hi Claudio, On 5/14/20 9:38 PM, Claudio Fontana wrote: > 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. I don't have this commit locally: fatal: bad object 85e5d839847af54efab170f2b1331b2a6421e647 My remote is https://git.qemu.org/git/dtc.git, might it be de-synchronized? > > * LIBFDT_srcdir does not exist anymore in upstream dtc: it is also > not used anymore. Why not include the submodule update in the first patch? > > * 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(-) >
On 5/15/20 9:50 AM, Philippe Mathieu-Daudé wrote: > Hi Claudio, > > On 5/14/20 9:38 PM, Claudio Fontana wrote: >> 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. > > I don't have this commit locally: > > fatal: bad object 85e5d839847af54efab170f2b1331b2a6421e647 > > My remote is https://git.qemu.org/git/dtc.git, might it be de-synchronized? Hi Philippe, maybe that commit is not in the qemu dtc.git yet, only in David's tree at: https://github.com/dgibson/dtc.git > >> >> * LIBFDT_srcdir does not exist anymore in upstream dtc: it is also >> not used anymore. > > Why not include the submodule update in the first patch? Right, I am not sure how git.qemu.org/git/dtc.git is updated? I guess once it is, I should include the submodule update. Thanks! Claudio > >> >> * 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(-) >> >
On 5/15/20 9:56 AM, Claudio Fontana wrote: > On 5/15/20 9:50 AM, Philippe Mathieu-Daudé wrote: >> Hi Claudio, >> >> On 5/14/20 9:38 PM, Claudio Fontana wrote: >>> 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. >> >> I don't have this commit locally: >> >> fatal: bad object 85e5d839847af54efab170f2b1331b2a6421e647 >> >> My remote is https://git.qemu.org/git/dtc.git, might it be de-synchronized? > > Hi Philippe, maybe that commit is not in the qemu dtc.git yet, only in David's tree at: > > https://github.com/dgibson/dtc.git > >> >>> >>> * LIBFDT_srcdir does not exist anymore in upstream dtc: it is also >>> not used anymore. >> >> Why not include the submodule update in the first patch? > > Right, I am not sure how git.qemu.org/git/dtc.git is updated? > > I guess once it is, I should include the submodule update. OK. Maybe David want to make a libdtc release first, before to update QEMU submodule. Meanwhile using David's remote, and the submodule update: -- >8 -- diff --git a/dtc b/dtc index 88f18909db..85e5d83984 160000 --- a/dtc +++ b/dtc @@ -1 +1 @@ -Subproject commit 88f18909db731a627456f26d779445f84e449536 +Subproject commit 85e5d839847af54efab170f2b1331b2a6421e647 --- for the series: Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> > > Thanks! > > Claudio > >> >>> >>> * 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(-) >>> >> >
On Fri, May 15, 2020 at 09:56:25AM +0200, Claudio Fontana wrote: > On 5/15/20 9:50 AM, Philippe Mathieu-Daudé wrote: > > Hi Claudio, > > > > On 5/14/20 9:38 PM, Claudio Fontana wrote: > >> 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. > > > > I don't have this commit locally: > > > > fatal: bad object 85e5d839847af54efab170f2b1331b2a6421e647 > > > > My remote is https://git.qemu.org/git/dtc.git, might it be de-synchronized? > > Hi Philippe, maybe that commit is not in the qemu dtc.git yet, only in David's tree at: > > https://github.com/dgibson/dtc.git Oops, I forgot to push it to the master tree at git://git.kernel.org/pub/scm/utils/dtc/dtc.git Done now. The qemu.org mirror should update within a day or so. > >> * LIBFDT_srcdir does not exist anymore in upstream dtc: it is also > >> not used anymore. > > > > Why not include the submodule update in the first patch? > > Right, I am not sure how git.qemu.org/git/dtc.git is updated? > > I guess once it is, I should include the submodule update. > > Thanks! > > Claudio > > > > >> > >> * 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(-) > >> > > >