[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] golang/xenlight: do not hard code libxl dir in gengotypes.py



commit c60f9e4360ec857bb0164387378e12ae8e66e189
Author:     Nick Rosbrook <rosbrookn@xxxxxxxxx>
AuthorDate: Sun Oct 11 19:31:24 2020 -0400
Commit:     Wei Liu <wl@xxxxxxx>
CommitDate: Tue Oct 13 13:30:53 2020 +0000

    golang/xenlight: do not hard code libxl dir in gengotypes.py
    
    Currently, in order to 'import idl' in gengotypes.py, we derive the path
    of the libxl source directory from the XEN_ROOT environment variable, and
    append that to sys.path so python can see idl.py. Since the the recent move 
of
    libxl to tools/libs/light, this hard coding breaks the build.
    
    Instead, check for the environment variable LIBXL_SRC_DIR, but move this
    check to a try-except block (with empty except). This simply makes the
    real error more visible, and does not strictly require that
    LIBXL_SRC_DIR is used. Finally, update the Makefile to set LIBXL_SRC_DIR
    rather than XEN_ROOT when calling gengotypes.py.
    
    Signed-off-by: Nick Rosbrook <rosbrookn@xxxxxxxxxxxx>
    Reviewed-by: George Dunlap <george.dunlap@xxxxxxxxxx>
---
 tools/golang/xenlight/Makefile      | 2 +-
 tools/golang/xenlight/gengotypes.py | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/tools/golang/xenlight/Makefile b/tools/golang/xenlight/Makefile
index fd8e4893db..e394ef9b2b 100644
--- a/tools/golang/xenlight/Makefile
+++ b/tools/golang/xenlight/Makefile
@@ -16,7 +16,7 @@ all: build
 GOXL_GEN_FILES = types.gen.go helpers.gen.go
 
 %.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
+       LIBXL_SRC_DIR=$(LIBXL_SRC_DIR) $(PYTHON) gengotypes.py 
$(LIBXL_SRC_DIR)/libxl_types.idl
 
 # Go will do its own dependency checking, and not actuall go through
 # with the build if none of the input files have changed.
diff --git a/tools/golang/xenlight/gengotypes.py 
b/tools/golang/xenlight/gengotypes.py
index ebec938224..4ac181ae47 100644
--- a/tools/golang/xenlight/gengotypes.py
+++ b/tools/golang/xenlight/gengotypes.py
@@ -3,7 +3,14 @@
 import os
 import sys
 
-sys.path.append('{0}/tools/libxl'.format(os.environ['XEN_ROOT']))
+try:
+    sys.path.append(os.environ['LIBXL_SRC_DIR'])
+except:
+    # If we get here, then we expect the 'import idl'
+    # expression to fail. That error is more informative,
+    # so let it happen.
+    pass
+
 import idl
 
 # Go versions of some builtin types.
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.