diff mbox

[v2] modules: Fix building with --enable-modules

Message ID 1393453893-12125-1-git-send-email-famz@redhat.com
State New
Headers show

Commit Message

Fam Zheng Feb. 26, 2014, 10:31 p.m. UTC
Compiling util/modules.c with modules enabled fails now.

Fix it by including qemu-common.h before #ifdef testing in module.c.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 util/module.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Hu Tao Feb. 27, 2014, 2:58 a.m. UTC | #1
On Thu, Feb 27, 2014 at 06:31:33AM +0800, Fam Zheng wrote:
> Compiling util/modules.c with modules enabled fails now.
> 
> Fix it by including qemu-common.h before #ifdef testing in module.c.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  util/module.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/util/module.c b/util/module.c
> index dc08c16..863a8a3 100644
> --- a/util/module.c
> +++ b/util/module.c
> @@ -14,10 +14,10 @@
>   */
>  
>  #include <stdlib.h>
> +#include "qemu-common.h"
>  #ifdef CONFIG_MODULES
>  #include <gmodule.h>
>  #endif
> -#include "qemu-common.h"
>  #include "qemu/queue.h"
>  #include "qemu/module.h"
>  
> -- 
> 1.9.0

Reviewed-by: Hu Tao <hutao@cn.fujitsu.com>
Markus Armbruster Feb. 27, 2014, 7:41 a.m. UTC | #2
Fam Zheng <famz@redhat.com> writes:

> Compiling util/modules.c with modules enabled fails now.
>
> Fix it by including qemu-common.h before #ifdef testing in module.c.
>
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  util/module.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/util/module.c b/util/module.c
> index dc08c16..863a8a3 100644
> --- a/util/module.c
> +++ b/util/module.c
> @@ -14,10 +14,10 @@
>   */
>  
>  #include <stdlib.h>
> +#include "qemu-common.h"
>  #ifdef CONFIG_MODULES
>  #include <gmodule.h>
>  #endif
> -#include "qemu-common.h"
>  #include "qemu/queue.h"
>  #include "qemu/module.h"

I'm not objecting to quickly fixing the build this way.

However, your patch violates the rule "external headers before our own
headers".  The rule exists to avoid our headers messing up the external
ones.

I like Autoconf's convention to solve this problem: every .c includes
the header generated by configure before anything else, and nothing else
includes it.  This ensures that all our code sees the configuration
defines, and that external headers get only exposed to configuration
defines, not to random other crap.

Opinions?
Peter Maydell Feb. 28, 2014, 12:57 p.m. UTC | #3
On 26 February 2014 22:31, Fam Zheng <famz@redhat.com> wrote:
> Compiling util/modules.c with modules enabled fails now.
>
> Fix it by including qemu-common.h before #ifdef testing in module.c.
>
> Signed-off-by: Fam Zheng <famz@redhat.com>

Applied, thanks.

-- PMM
diff mbox

Patch

diff --git a/util/module.c b/util/module.c
index dc08c16..863a8a3 100644
--- a/util/module.c
+++ b/util/module.c
@@ -14,10 +14,10 @@ 
  */
 
 #include <stdlib.h>
+#include "qemu-common.h"
 #ifdef CONFIG_MODULES
 #include <gmodule.h>
 #endif
-#include "qemu-common.h"
 #include "qemu/queue.h"
 #include "qemu/module.h"