From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:46936) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQrDp-0003T8-0l for qemu-devel@nongnu.org; Tue, 23 Oct 2012 23:01:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TQrDo-0006Fu-2b for qemu-devel@nongnu.org; Tue, 23 Oct 2012 23:01:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57423) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TQrDn-0006Fi-Qg for qemu-devel@nongnu.org; Tue, 23 Oct 2012 23:01:31 -0400 From: Eduardo Habkost Date: Wed, 24 Oct 2012 01:01:47 -0200 Message-Id: <1351047728-20360-4-git-send-email-ehabkost@redhat.com> In-Reply-To: <1351047728-20360-1-git-send-email-ehabkost@redhat.com> References: <1351047728-20360-1-git-send-email-ehabkost@redhat.com> Subject: [Qemu-devel] [PATCH 03/24] qemu-common.h: comment about usage rules List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, riku.voipio@iki.fi, blauwirbel@gmail.com, Anthony Liguori , Igor Mammedov , =?UTF-8?q?Andreas=20F=C3=A4rber?= Every time we make a tiny change on a header file, we often find circular header dependency problems. To avoid this nightmare, we need to stop including qemu-common.h on other headers, and we should gradually move the declarations from the catchall qemu-common.h header to their specific headers. This simply adds a comment documenting the rules about qemu-common.h, hoping that people will see it before including qemu-common.h from other header files, and before adding more declarations to qemu-common.h. Signed-off-by: Eduardo Habkost --- qemu-common.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/qemu-common.h b/qemu-common.h index b54612b..630bfa0 100644 --- a/qemu-common.h +++ b/qemu-common.h @@ -1,5 +1,14 @@ -/* Common header file that is included by all of qemu. */ +/* Common header file that is included by all of qemu. + * + * This file is supposed to be included only by .c files. No header file should + * depend on qemu-common.h, as this would easily lead to circular header + * dependencies. + * + * If a header files uses a definition from qemu-common.h, that definition + * must be moved to a separate header file, and the header that uses it + * must include that header. + */ #ifndef QEMU_COMMON_H #define QEMU_COMMON_H -- 1.7.11.7