[virt-tools-list] [libosinfo v2 1/2] Add a private header
Michal Privoznik
mprivozn at redhat.com
Tue Oct 30 14:18:04 UTC 2012
On 30.10.2012 14:52, Zeeshan Ali (Khattak) wrote:
> On Tue, Oct 30, 2012 at 3:42 PM, Michal Privoznik <mprivozn at redhat.com> wrote:
>> On 30.10.2012 13:50, Zeeshan Ali (Khattak) wrote:
>>> From: "Zeeshan Ali (Khattak)" <zeeshanak at gnome.org>
>>>
>>> This is meant for including headers needed by many .c files.
>>> ---
>>> osinfo/Makefile.am | 1 +
>>> osinfo/osinfo_db.c | 4 +---
>>> osinfo/osinfo_deployment.c | 4 +---
>>> osinfo/osinfo_deploymentlist.c | 4 +---
>>> osinfo/osinfo_device.c | 4 +---
>>> osinfo/osinfo_devicelink.c | 4 +---
>>> osinfo/osinfo_devicelinkfilter.c | 4 +---
>>> osinfo/osinfo_devicelinklist.c | 4 +---
>>> osinfo/osinfo_devicelist.c | 4 +---
>>> osinfo/osinfo_entity.c | 4 +---
>>> osinfo/osinfo_filter.c | 4 +---
>>> osinfo/osinfo_install_config.c | 4 +---
>>> osinfo/osinfo_install_config_param.c | 4 +---
>>> osinfo/osinfo_install_script.c | 4 +---
>>> osinfo/osinfo_install_scriptlist.c | 4 +---
>>> osinfo/osinfo_list.c | 4 +---
>>> osinfo/osinfo_loader.c | 4 +---
>>> osinfo/osinfo_media.c | 4 +---
>>> osinfo/osinfo_medialist.c | 4 +---
>>> osinfo/osinfo_os.c | 4 +---
>>> osinfo/osinfo_oslist.c | 4 +---
>>> osinfo/osinfo_platform.c | 4 +---
>>> osinfo/osinfo_platformlist.c | 4 +---
>>> osinfo/osinfo_priv.h | 38 ++++++++++++++++++++++++++++++++++++
>>> osinfo/osinfo_product.c | 4 +---
>>> osinfo/osinfo_productfilter.c | 4 +---
>>> osinfo/osinfo_productlist.c | 4 +---
>>> osinfo/osinfo_resources.c | 4 +---
>>> osinfo/osinfo_resourceslist.c | 4 +---
>>> osinfo/osinfo_tree.c | 4 +---
>>> osinfo/osinfo_treelist.c | 4 +---
>>> 31 files changed, 68 insertions(+), 87 deletions(-)
>>> create mode 100644 osinfo/osinfo_priv.h
>>>
>>> diff --git a/osinfo/Makefile.am b/osinfo/Makefile.am
>>> index 6ddb956..6461f1f 100644
>>> --- a/osinfo/Makefile.am
>>> +++ b/osinfo/Makefile.am
>>> @@ -111,6 +111,7 @@ libosinfo_1_0_la_SOURCES = \
>>> osinfo_treelist.c \
>>> osinfo_db.c \
>>> osinfo_loader.c \
>>> + osinfo_priv.h \
>>
>> Aaah. TABs, we meet again :)
>>
>>> $(NULL)
>>>
>>> if WITH_GOBJECT_INTROSPECTION
>>> diff --git a/osinfo/osinfo_db.c b/osinfo/osinfo_db.c
>>> index d2f0fa2..a2fc12d 100644
>>> --- a/osinfo/osinfo_db.c
>>> +++ b/osinfo/osinfo_db.c
>>> @@ -22,9 +22,7 @@
>>> * Daniel P. Berrange <berrange at redhat.com>
>>> */
>>>
>>> -#include <config.h>
>>> -
>>> -#include <osinfo/osinfo.h>
>>> +#include <osinfo/osinfo_priv.h>
>>> #include <gio/gio.h>
>>> #include <string.h>
>>
>> I am afraid we can't move the include of config.h to osinfo_priv.h as it
>> makes syntax-check shout. Or we can then drop check for config.h.
>
> I think if we are going to add a private header included by all files,
> this change makes perfect sense so we should update or remove the
> syntax-check.
>
Okay, I suggest doing this then:
diff --git a/cfg.mk b/cfg.mk
index 6aaa394..b90abed 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -134,8 +134,8 @@ exclude_file_name_regexp--sc_preprocessor_indentation = ^*/*.[ch]
exclude_file_name_regexp--sc_prohibit_strcmp = ^*/*.[ch]
-exclude_file_name_regexp--sc_require_config_h = python/libvirt-glib.c
-exclude_file_name_regexp--sc_require_config_h_first = python/libvirt-glib.c
+exclude_file_name_regexp--sc_require_osinfo_priv_h = python/libvirt-glib.c
+exclude_file_name_regexp--sc_require_osinfo_priv_h_first = python/libvirt-glib.c
exclude_file_name_regexp--sc_trailing_blank = ^test/isodata/.*|docs/object-model.fig
diff --git a/maint.mk b/maint.mk
index de7a303..6349d7e 100644
--- a/maint.mk
+++ b/maint.mk
@@ -432,29 +432,29 @@ sc_prohibit_have_config_h:
halt='found use of HAVE''_CONFIG_H; remove' \
$(_sc_search_regexp)
-# Nearly all .c files must include <config.h>. However, we also permit this
+# Nearly all .c files must include <osinfo_priv.h>. However, we also permit this
# via inclusion of a package-specific header, if cfg.mk specified one.
-# config_h_header must be suitable for grep -E.
-config_h_header ?= <config\.h>
-sc_require_config_h:
- @require='^# *include $(config_h_header)' \
+# osinfo_priv_h_header must be suitable for grep -E.
+osinfo_priv_h_header ?= <osinfo/osinfo_priv\.h>
+sc_require_osinfo_priv_h:
+ @require='^# *include $(osinfo_priv_h_header)' \
in_vc_files='\.c$$' \
- halt='the above files do not include <config.h>' \
+ halt='the above files do not include <osinfo/osinfo_priv.h>' \
$(_sc_search_regexp)
# You must include <config.h> before including any other header file.
# This can possibly be via a package-specific header, if given by cfg.mk.
-sc_require_config_h_first:
+sc_require_osinfo_priv_h_first:
@if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \
fail=0; \
for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do \
grep '^# *include\>' $$i | sed 1q \
- | grep -E '^# *include $(config_h_header)' > /dev/null \
+ | grep -E '^# *include $(osinfo_priv_h_header)' > /dev/null \
|| { echo $$i; fail=1; }; \
done; \
test $$fail = 1 && \
{ echo '$(ME): the above files include some other header' \
- 'before <config.h>' 1>&2; exit 1; } || :; \
+ 'before <osinfo_priv.h>' 1>&2; exit 1; } || :; \
else :; \
fi
---
You'll need to update a buch of other files as well (under test/ and tools/). make syntax-check will tell you more specifically.
Michal
More information about the virt-tools-list
mailing list