diff mbox series

Revert "libxl: Generate golang bindings in libxl Makefile"

Message ID 20200828144248.1970259-1-george.dunlap@citrix.com (mailing list archive)
State Superseded
Headers show
Series Revert "libxl: Generate golang bindings in libxl Makefile" | expand

Commit Message

George Dunlap Aug. 28, 2020, 2:42 p.m. UTC
This reverts commit 60db5da62ac051aab0b217fa2d96acca1cd3ca3e.

This is in preparation for the planned move to hosting the xenlight
package in a separate repo.

This also fixes a regression when building with a read-only source and
an out-of-tree build.

Signed-off-by: George Dunlap <george.dunlap@citrix.com>
---
This is a candidate to backport for 4.14.

I was doing prep for writing the infrastructure to create or update an
external repo, and figured I might as well send this out now.

CC: Jan Beulich <jbeulich@suse.com>
CC: Nick Rosbrook <rosbrookn@ainfosec.com>
CC: Ian Jackson <ian.jackson@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/golang/xenlight/Makefile |  9 ---------
 tools/libxl/Makefile           | 17 +----------------
 2 files changed, 1 insertion(+), 25 deletions(-)

Comments

Nick Rosbrook Aug. 28, 2020, 3:19 p.m. UTC | #1
On Fri, Aug 28, 2020 at 03:42:48PM +0100, George Dunlap wrote:
> This reverts commit 60db5da62ac051aab0b217fa2d96acca1cd3ca3e.
> 
> This is in preparation for the planned move to hosting the xenlight
> package in a separate repo.
> 
> This also fixes a regression when building with a read-only source and
> an out-of-tree build.
> 
> Signed-off-by: George Dunlap <george.dunlap@citrix.com>
> ---
> This is a candidate to backport for 4.14.
> 
> I was doing prep for writing the infrastructure to create or update an
> external repo, and figured I might as well send this out now.
> 
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Nick Rosbrook <rosbrookn@ainfosec.com>
> CC: Ian Jackson <ian.jackson@citrix.com>
> CC: Wei Liu <wl@xen.org>
> ---
>  tools/golang/xenlight/Makefile |  9 ---------
>  tools/libxl/Makefile           | 17 +----------------
>  2 files changed, 1 insertion(+), 25 deletions(-)
> 
> diff --git a/tools/golang/xenlight/Makefile b/tools/golang/xenlight/Makefile
> index eac9dbf12a..8d4d1e97ac 100644
> --- a/tools/golang/xenlight/Makefile
> +++ b/tools/golang/xenlight/Makefile
> @@ -13,15 +13,6 @@ LIBXL_SRC_DIR = ../../libxl
>  .PHONY: all
>  all: build
>  
> -GOXL_GEN_FILES = types.gen.go helpers.gen.go
The build target in golang/xenlight/Makefile still uses this variable
after reverting this patch. $(GOXL_GEN_FILES) will be empty now, meaning
`make build` will not re-generate *.gen.go if a change was made to
gengotypes.py.

-NR
George Dunlap Aug. 28, 2020, 3:30 p.m. UTC | #2
> On Aug 28, 2020, at 4:19 PM, Nick Rosbrook <rosbrookn@gmail.com> wrote:
> 
> On Fri, Aug 28, 2020 at 03:42:48PM +0100, George Dunlap wrote:
>> This reverts commit 60db5da62ac051aab0b217fa2d96acca1cd3ca3e.
>> 
>> This is in preparation for the planned move to hosting the xenlight
>> package in a separate repo.
>> 
>> This also fixes a regression when building with a read-only source and
>> an out-of-tree build.
>> 
>> Signed-off-by: George Dunlap <george.dunlap@citrix.com>
>> ---
>> This is a candidate to backport for 4.14.
>> 
>> I was doing prep for writing the infrastructure to create or update an
>> external repo, and figured I might as well send this out now.
>> 
>> CC: Jan Beulich <jbeulich@suse.com>
>> CC: Nick Rosbrook <rosbrookn@ainfosec.com>
>> CC: Ian Jackson <ian.jackson@citrix.com>
>> CC: Wei Liu <wl@xen.org>
>> ---
>> tools/golang/xenlight/Makefile |  9 ---------
>> tools/libxl/Makefile           | 17 +----------------
>> 2 files changed, 1 insertion(+), 25 deletions(-)
>> 
>> diff --git a/tools/golang/xenlight/Makefile b/tools/golang/xenlight/Makefile
>> index eac9dbf12a..8d4d1e97ac 100644
>> --- a/tools/golang/xenlight/Makefile
>> +++ b/tools/golang/xenlight/Makefile
>> @@ -13,15 +13,6 @@ LIBXL_SRC_DIR = ../../libxl
>> .PHONY: all
>> all: build
>> 
>> -GOXL_GEN_FILES = types.gen.go helpers.gen.go
> The build target in golang/xenlight/Makefile still uses this variable
> after reverting this patch. $(GOXL_GEN_FILES) will be empty now, meaning
> `make build` will not re-generate *.gen.go if a change was made to
> gengotypes.py.

Oops — good catch.  v2 on the way.

 -George
diff mbox series

Patch

diff --git a/tools/golang/xenlight/Makefile b/tools/golang/xenlight/Makefile
index eac9dbf12a..8d4d1e97ac 100644
--- a/tools/golang/xenlight/Makefile
+++ b/tools/golang/xenlight/Makefile
@@ -13,15 +13,6 @@  LIBXL_SRC_DIR = ../../libxl
 .PHONY: all
 all: build
 
-GOXL_GEN_FILES = types.gen.go helpers.gen.go
-
-# NOTE: This target is called from libxl/Makefile:all.  Since that
-# target must finish before golang/Makefile is called, this is
-# currently safe.  It must not be called from anywhere else in the
-# Makefile system without careful thought about races with
-# xenlight/Makefile:all
-idl-gen: $(GOXL_GEN_FILES)
-
 %.gen.go: gengotypes.py $(LIBXL_SRC_DIR)/libxl_types.idl $(LIBXL_SRC_DIR)/idl.py
 	XEN_ROOT=$(XEN_ROOT) $(PYTHON) gengotypes.py $(LIBXL_SRC_DIR)/libxl_types.idl
 
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 0e8dfc6193..c26b3a8093 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -219,7 +219,7 @@  testidl.c: libxl_types.idl gentest.py libxl.h $(AUTOINCS)
 .PHONY: all
 all: $(CLIENTS) $(TEST_PROGS) $(PKG_CONFIG) $(PKG_CONFIG_LOCAL) \
 		libxenlight.so libxenlight.a libxlutil.so libxlutil.a \
-	$(AUTOSRCS) $(AUTOINCS) idl-external
+	$(AUTOSRCS) $(AUTOINCS)
 
 $(LIBXL_OBJS) $(LIBXLU_OBJS) $(SAVE_HELPER_OBJS) \
 		$(LIBXL_TEST_OBJS) $(TEST_PROG_OBJS): \
@@ -275,21 +275,6 @@  _libxl_type%.h _libxl_type%_json.h _libxl_type%_private.h _libxl_type%.c: libxl_
 	$(call move-if-changed,__libxl_type$(stem)_json.h,_libxl_type$(stem)_json.h)
 	$(call move-if-changed,__libxl_type$(stem).c,_libxl_type$(stem).c)
 
-# NOTE: This is safe to do at the moment because idl-external and
-# idl-gen are only called from libxl/Makefile:all, which must return
-# before golang/Makefile is callid.  idl-external and idl-gen must
-# never be called from another part of the make system without careful thought
-# about races with tools/golang/xenlight/Makefile:all
-.PHONY: idl-external
-idl-external:
-	$(MAKE) -C $(XEN_ROOT)/tools/golang/xenlight idl-gen
-
-LIBXL_IDLGEN_FILES = _libxl_types.h _libxl_types_json.h _libxl_types_private.h _libxl_types.c \
-	_libxl_types_internal.h _libxl_types_internal_json.h _libxl_types_internal_private.h _libxl_types_internal.c
-
-
-idl-gen: $(LIBXL_GEN_FILES) idl-external
-
 libxenlight.so: libxenlight.so.$(MAJOR)
 	$(SYMLINK_SHLIB) $< $@