Re: [Qemu-block] [PATCH 16/67] migration: use local path for local headers
On 05/08/2018 09:28 AM, Juan Quintela wrote: My wonder here is what happens if we end with a file with the same name in two places. We already have at least: include/qapi/qmp/qjson.h migration/qjson.h so it's not necessarily a theoretical question (things work now, but renaming one or the other header may be in order as part of consolidating everything into the /include hierarchy) Internal ones also? The whole reason why I moved them to migration/* in the first place was to be sure that they are internal, and that nobody else uses them. Later, Juan. PD. And yes, I realize that we include $(ROOT) in the include path, and then #include "migration/migration.h" still works from any place. I think the goal of this series was to remove $(ROOT) from the include path, so that all headers are either internal or obviously shared (and one of the review comments mentioned that all of the earlier commits in the series should directly mention this goal as part of the commit message, rather than claiming just "works more or less by accident"). It's been a good RFC for getting feedback, and some of the patches are worth applying even if others get reworked, but there are definitely some questions to be resolved before v2 of the series. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
Re: [Qemu-block] [PATCH 16/67] migration: use local path for local headers
Eric Blakewrote: > On 05/08/2018 07:21 AM, Juan Quintela wrote: >> "Michael S. Tsirkin" wrote: >>> When pulling in headers that are in the same directory as C file (as >>> opposed to one in include/), we should use its relative path, without a >>> directory. Directory based path works more or less by accident. >> >> No, it is not by accident. >> qemu-version.h and config-host.h are on the root directory. I could >> agree with moving them. >> > >>> -#include "migration/qemu-file.h" >>> +#include "qemu-file.h" >> >> Substitite for "./qemu-file.h"? >> >> My wonder here is what happens if we end with a file with the same name in >> two places. > > We already have at least: > > include/qapi/qmp/qjson.h > migration/qjson.h > > so it's not necessarily a theoretical question (things work now, but > renaming one or the other header may be in order as part of > consolidating everything into the /include hierarchy) Internal ones also? The whole reason why I moved them to migration/* in the first place was to be sure that they are internal, and that nobody else uses them. Later, Juan. PD. And yes, I realize that we include $(ROOT) in the include path, and then #include "migration/migration.h" still works from any place. sniff
Re: [Qemu-block] [PATCH 16/67] migration: use local path for local headers
On 05/08/2018 07:21 AM, Juan Quintela wrote: "Michael S. Tsirkin"wrote: When pulling in headers that are in the same directory as C file (as opposed to one in include/), we should use its relative path, without a directory. Directory based path works more or less by accident. No, it is not by accident. qemu-version.h and config-host.h are on the root directory. I could agree with moving them. -#include "migration/qemu-file.h" +#include "qemu-file.h" Substitite for "./qemu-file.h"? My wonder here is what happens if we end with a file with the same name in two places. We already have at least: include/qapi/qmp/qjson.h migration/qjson.h so it's not necessarily a theoretical question (things work now, but renaming one or the other header may be in order as part of consolidating everything into the /include hierarchy) -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
Re: [Qemu-block] [PATCH 16/67] migration: use local path for local headers
"Michael S. Tsirkin"wrote: > When pulling in headers that are in the same directory as C file (as > opposed to one in include/), we should use its relative path, without a > directory. Directory based path works more or less by accident. No, it is not by accident. qemu-version.h and config-host.h are on the root directory. I could agree with moving them. > > Signed-off-by: Michael S. Tsirkin > --- > migration/block-dirty-bitmap.c | 2 +- > migration/page_cache.c | 2 +- > migration/ram.c| 4 ++-- > migration/vmstate.c| 2 +- > 4 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c > index dd04f10..09c086d 100644 > --- a/migration/block-dirty-bitmap.c > +++ b/migration/block-dirty-bitmap.c > @@ -66,7 +66,7 @@ > #include "qemu/error-report.h" > #include "migration/misc.h" > #include "migration/migration.h" > -#include "migration/qemu-file.h" > +#include "qemu-file.h" Substitite for "./qemu-file.h"? My wonder here is what happens if we end with a file with the same name in two places. Later, Juan.