* [PATCH v2] libxl: Fix missing dependency in api check rule
@ 2012-09-11 17:13 Ian Jackson
2012-09-11 18:54 ` Olaf Hering
2012-09-14 9:07 ` Ian Campbell
0 siblings, 2 replies; 3+ messages in thread
From: Ian Jackson @ 2012-09-11 17:13 UTC (permalink / raw)
To: Ian Campbell; +Cc: Olaf Hering, xen-devel@lists.xen.org
Without this, the api check cpp run might happen before the various
autogenerated files which are #include by libxl.h are ready.
We need to remove the api-ok file from AUTOINCS to avoid a circular
dependency. Instead, we list it explicitly as a dependency of the
object files. The result is that the api check is the last thing to
be done before make considers the preparation done and can start work
on compiling .c files into .o's.
Reported-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
v2: Remove .api-ok from AUTOINCS instead of using $(filter-out...)
tools/libxl/Makefile | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index a9d9ec6..0986901 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -74,8 +74,7 @@ LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
$(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h _paths.h \
- _libxl_save_msgs_callout.h _libxl_save_msgs_helper.h \
- libxl.api-ok
+ _libxl_save_msgs_callout.h _libxl_save_msgs_helper.h
AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
AUTOSRCS += _libxl_save_msgs_callout.c _libxl_save_msgs_helper.c
LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
@@ -102,7 +101,8 @@ testidl.c: libxl_types.idl gentest.py libxl.h $(AUTOINCS)
all: $(CLIENTS) libxenlight.so libxenlight.a libxlutil.so libxlutil.a \
$(AUTOSRCS) $(AUTOINCS)
-$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS) $(SAVE_HELPER_OBJS): $(AUTOINCS)
+$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS) $(SAVE_HELPER_OBJS): \
+ $(AUTOINCS) libxl.api-ok
%.c %.h:: %.y
@rm -f $*.[ch]
@@ -119,7 +119,7 @@ libxl.api-ok: check-libxl-api-rules _libxl.api-for-check
$(PERL) $^
touch $@
-_%.api-for-check: %.h
+_%.api-for-check: %.h $(AUTOINCS)
$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -E $< $(APPEND_CFLAGS) \
-DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
>$@.new
--
tg: (0730dd5..) t/xen/xl.make-api-depend-fix (depends on: base)
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2] libxl: Fix missing dependency in api check rule
2012-09-11 17:13 [PATCH v2] libxl: Fix missing dependency in api check rule Ian Jackson
@ 2012-09-11 18:54 ` Olaf Hering
2012-09-14 9:07 ` Ian Campbell
1 sibling, 0 replies; 3+ messages in thread
From: Olaf Hering @ 2012-09-11 18:54 UTC (permalink / raw)
To: Ian Jackson; +Cc: Ian Campbell, xen-devel@lists.xen.org
On Tue, Sep 11, Ian Jackson wrote:
> Without this, the api check cpp run might happen before the various
> autogenerated files which are #include by libxl.h are ready.
The package still builds fine with this patch.
Tested-by: Olaf Hering <olaf@aepfle.de>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] libxl: Fix missing dependency in api check rule
2012-09-11 17:13 [PATCH v2] libxl: Fix missing dependency in api check rule Ian Jackson
2012-09-11 18:54 ` Olaf Hering
@ 2012-09-14 9:07 ` Ian Campbell
1 sibling, 0 replies; 3+ messages in thread
From: Ian Campbell @ 2012-09-14 9:07 UTC (permalink / raw)
To: Ian Jackson; +Cc: Olaf Hering, xen-devel@lists.xen.org
On Tue, 2012-09-11 at 18:13 +0100, Ian Jackson wrote:
> Without this, the api check cpp run might happen before the various
> autogenerated files which are #include by libxl.h are ready.
>
> We need to remove the api-ok file from AUTOINCS to avoid a circular
> dependency. Instead, we list it explicitly as a dependency of the
> object files. The result is that the api check is the last thing to
> be done before make considers the preparation done and can start work
> on compiling .c files into .o's.
>
> Reported-by: Olaf Hering <olaf@aepfle.de>
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked + Tested by Olaf + applied.
Thanks.
>
> ---
> v2: Remove .api-ok from AUTOINCS instead of using $(filter-out...)
>
> tools/libxl/Makefile | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index a9d9ec6..0986901 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -74,8 +74,7 @@ LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
> $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
>
> AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h _paths.h \
> - _libxl_save_msgs_callout.h _libxl_save_msgs_helper.h \
> - libxl.api-ok
> + _libxl_save_msgs_callout.h _libxl_save_msgs_helper.h
> AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
> AUTOSRCS += _libxl_save_msgs_callout.c _libxl_save_msgs_helper.c
> LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
> @@ -102,7 +101,8 @@ testidl.c: libxl_types.idl gentest.py libxl.h $(AUTOINCS)
> all: $(CLIENTS) libxenlight.so libxenlight.a libxlutil.so libxlutil.a \
> $(AUTOSRCS) $(AUTOINCS)
>
> -$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS) $(SAVE_HELPER_OBJS): $(AUTOINCS)
> +$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS) $(SAVE_HELPER_OBJS): \
> + $(AUTOINCS) libxl.api-ok
>
> %.c %.h:: %.y
> @rm -f $*.[ch]
> @@ -119,7 +119,7 @@ libxl.api-ok: check-libxl-api-rules _libxl.api-for-check
> $(PERL) $^
> touch $@
>
> -_%.api-for-check: %.h
> +_%.api-for-check: %.h $(AUTOINCS)
> $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -E $< $(APPEND_CFLAGS) \
> -DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
> >$@.new
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-09-14 9:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-11 17:13 [PATCH v2] libxl: Fix missing dependency in api check rule Ian Jackson
2012-09-11 18:54 ` Olaf Hering
2012-09-14 9:07 ` Ian Campbell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.