[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH] configure: copy MacOS NDRV driver in
Re: [Qemu-ppc] [Qemu-devel] [PATCH] configure: copy MacOS NDRV driver into sharedir for out-of-tree builds
Fri, 10 May 2019 18:32:32 +0100
On Fri, 10 May 2019 at 18:18, Mark Cave-Ayland
> On 10/05/2019 17:49, Peter Maydell wrote:
> > The comment above this bit of code says:
> > # Caution: do not add files or directories here using wildcards. This
> > # will result in problems later if a new file matching the wildcard is
> > # added to the source tree -- nothing will cause configure to be rerun
> > # so the build tree will be missing the link back to the new file, and
> > # tests might fail.
> > The pc-bios/ directory is awkward legacy which we
> > can't really apply the next part of the comment to
> > ("Prefer to keep the relevant files in their own
> > directory and symlink the directory instead"), but since
> > there is only one *.ndrv file we can at least avoid the
> > wildcard by writing "qemu_vga.ndrv" instead of "*.ndrv".
> I did spot that, but figured that it was outdated because no-one else was
> following it. The reason for adding the explicit wildcard is that the driver
> produces 2 separate .ndrv files - debug, and non-debug - and so it saves me a
> bit of
> effort after a rebase and rebuild.
It's followed by everything except for the legacy pc-bios
files that were too painful to clean up.
> Should we say up front as part of the conversion to o-o-t builds that all
> files must
> be explicitly listed in that section as per the comment? Or should each type
> driver live in its own subdirectory?
The problem here really is that there are two possible
(1) we use a wildcard, and then when we add a new file
the link isn't added, and incremental builds fail
(2) we don't use a wildcard, and then when we add a new
file we have to manually list it, and if we forget
then builds fail (both incremental and not)
The ideal way to avoid this is to have an entire directory
which contains pregenerated bios blobs and nothing else,
so we can just symlink the whole directory into the build
tree. But pc-bios has this awkward mix of files which
are pre-generated (and thus in git in the source tree)
and files which will get built by make (and which must
live only in the build tree).