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

Re: [Xen-devel] tools: ocaml build error



On Thu, 2011-05-12 at 12:28 +0100, Christoph Egger wrote:
> With attached xen_tools_ocaml.diff  a xl.ml file is generated w/o
> having sed complaining.

Thanks.

> xl.mli is not generated at all.

I think that's a different issue to do with creating the file when the
sed actually failed. Fixed by creating a temporary and moving it into
place...

> I attached xl.ml. Can you check if this is the expected result, please?

Looks correct to me.

8<---------------------------

# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1305201511 -3600
# Node ID 50728eaf50735b58d83484845312fe5467f6420c
# Parent  1e7ebf81f49d43b1a972ff31a284b80ac68f6f1b
tools: ocaml: remove non-posix-ism from sed script.

Christoph Egger reported than on NetBSD the build fails with

        Parsing tools/ocaml/libs/xl/../../../../tools/libxl/libxl.idl
        sed: 1: "1i(*\
          * AUTO-GENERATED ...": command i expects \ followed by test
        gmake[7]: Leaving directory `tools/ocaml/libs/xl'

The following was tested by Christoph on NetBSD and also with GNU-sed
with and without the --posix flag.

In addition when sed fails will still create the output file, which confuses
subsequent make invocations. Generate to a temporary file and move into place
only on success.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

diff -r 1e7ebf81f49d -r 50728eaf5073 tools/ocaml/libs/xl/Makefile
--- a/tools/ocaml/libs/xl/Makefile      Thu May 12 11:39:55 2011 +0100
+++ b/tools/ocaml/libs/xl/Makefile      Thu May 12 12:58:31 2011 +0100
@@ -17,29 +17,33 @@ xl_C_OBJS = xl_stubs
 
 OCAML_LIBRARY = xl
 
-GENERATED_FILES += xl.ml xl.mli
+GENERATED_FILES += xl.ml xl.ml.tmp xl.mli xl.mli.tmp
 GENERATED_FILES += _libxl_types.ml.in _libxl_types.mli.in
 GENERATED_FILES += _libxl_types.inc
 
 all: $(INTF) $(LIBS)
 
 xl.ml: xl.ml.in _libxl_types.ml.in
-       $(Q)sed -e '1i(*\
+       $(Q)sed -e '1i\
+(*\
  * AUTO-GENERATED FILE DO NOT EDIT\
  * Generated from xl.ml.in and _libxl_types.ml.in\
  *)\
 ' \
            -e '/^(\* @@LIBXL_TYPES@@ \*)$$/r_libxl_types.ml.in' \
-         < xl.ml.in > xl.ml
+         < xl.ml.in > xl.ml.tmp
+       $(Q)mv xl.ml.tmp xl.ml
 
 xl.mli: xl.mli.in _libxl_types.mli.in
-       $(Q)sed -e '1i(*\
+       $(Q)sed -e '1i\
+(*\
  * AUTO-GENERATED FILE DO NOT EDIT\
  * Generated from xl.mli.in and _libxl_types.mli.in\
  *)\
 ' \
            -e '/^(\* @@LIBXL_TYPES@@ \*)$$/r_libxl_types.mli.in' \
-         < xl.mli.in > xl.mli
+         < xl.mli.in > xl.mli.tmp
+       $(Q)mv xl.mli.tmp xl.mli
 
 _libxl_types.ml.in _libxl_types.mli.in _libxl_types.inc: genwrap.py 
$(XEN_ROOT)/tools/libxl/libxl.idl \
                 $(XEN_ROOT)/tools/libxl/libxltypes.py



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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