From: Thierry.Martinez@inria.fr (Thierry Martinez)
To: cocci@systeme.lip6.fr
Subject: [Cocci] [bug-cocci] fix bytecode build of pyml
Date: Wed, 20 Jun 2018 16:08:55 +0200 [thread overview]
Message-ID: <ow4vaad4kjs.fsf@inria.fr> (raw)
In-Reply-To: <20180618220931.058e9627@mortimer.gmerlin.de>
Hi, Christopher.
Thank you for your patches! I adapted the first one; the other ones
applied to former version of Coccinelle repo and are already fixed.
Christopher?:
> +++ bundles/pyml/Makefile
pyml/generate should be compiled by ocamlc if ocamlopt is not available,
indeed. It is done this way in newer versions of pyml, so I updated pyml
version in master and adapted your patch accordingly (see 7ab8f01).
> Index: configure
This file is generated by autoconf. The culprit line in configure.ac
was fixed in master by commit 14945e1.
> Index: parsing_c/unparse_c.ml
These redefinitions of String.{init,map} are not present anymore
in unparse_c.ml since commit 446dc66f.
> Index: Makefile
The nums module is no longer used (see commit 3c5dc62ba).
Cheers.
--
Thierry.
Christopher?:
> Hi,
>
> please consider inclusion of the following patches.
>
> Christopher Zimmermann
>
>
> Index: bundles/pyml/Makefile
> --- bundles/pyml/Makefile.orig
> +++ bundles/pyml/Makefile
> @@ -52,8 +52,8 @@ $(SRC_DIR)/pyml_compat.cmx: $(SRC_DIR)/pyml_compat.ml
> $(SRC_DIR)/pyml_compat.cmo: $(SRC_DIR)/pyml_compat.ml $(SRC_DIR)/pyml_compat.cmi
> $(OCAMLC_CMD) -c $< -o $@
>
> -$(SRC_DIR)/generate: $(SRC_DIR)/pyml_compat.cmx $(SRC_DIR)/generate.cmx
> - $(OCAMLOPT) $^ -o $@
> +$(SRC_DIR)/generate: $(SRC_DIR)/pyml_compat.cmo $(SRC_DIR)/generate.cmo
> + $(OCAMLC_CMD) $^ -o $@
>
> $(SRC_DIR)/generate.cmx: $(SRC_DIR)/generate.ml $(SRC_DIR)/pyml_compat.cmx
> $(OCAMLOPT_CMD) -c $< -o $@
>
>
>
>
> This does not set a default options as suggested in configure.ac,
> but overrides the user-provided setting.
>
> Index: configure
> --- configure.orig
> +++ configure
> @@ -14416,7 +14416,6 @@ fi
>
> fi
>
> -enable_opt="yes"
>
>
> if test "x$enable_opt" = xyes; then :
>
>
>
> Index: parsing_c/unparse_c.ml
> --- parsing_c/unparse_c.ml.orig
> +++ parsing_c/unparse_c.ml
> @@ -2362,11 +2362,11 @@ let start_mark = function
> *)
> module String = struct
> let init n f =
> - let s = String.make n ' ' in
> + let s = Bytes.make n ' ' in
> for i = 0 to n - 1 do
> s.[i] <- f i
> done;
> - s
> + Bytes.unsafe_to_string s
>
> let map f s =
> init (String.length s) (fun i -> f s.[i])
>
>
> Index: Makefile
> --- Makefile.orig
> +++ Makefile
> @@ -71,7 +71,7 @@ INCLUDEDIRSDEP=commons commons/ocamlextra \
> parsing_cocci parsing_c ocaml python engine popl09 extra \
> $(MAKELIBS)
>
> -INCLUDEDIRS=$(INCLUDEDIRSDEP) $(PCREDIR) $(PARMAPDIR) $(INCLIBS)
> +INCLUDEDIRS=$(INCLUDEDIRSDEP) $(PCREDIR) $(PARMAPDIR) $(INCLIBS) +num
>
> ##############################################################################
> # Generic variables
>
>
>
> Index: parsing_c/Makefile
> --- parsing_c/Makefile.orig
> +++ parsing_c/Makefile
> @@ -42,9 +42,9 @@ LIBS=../commons/commons.cma ../globals/globals.cma \
> INCLUDESDEP= -I ../commons -I ../commons/ocamlextra \
> -I ../globals -I ../parsing_cocci
>
> -INCLUDES=$(INCLUDESDEP) $(TARZANINCLUDE)
> +INCLUDES=$(INCLUDESDEP) $(TARZANINCLUDE) -I +num
>
> -SYSLIBS= str.cma unix.cma num.cma
> +SYSLIBS= str.cma unix.cma nums.cma
>
> ##############################################################################
> # Generic variables
>
>
>
>
> Index: parsing_c/unparse_c.ml
> --- parsing_c/unparse_c.ml.orig
> +++ parsing_c/unparse_c.ml
> @@ -2362,11 +2362,11 @@ let start_mark = function
> *)
> module String = struct
> let init n f =
> - let s = String.make n ' ' in
> + let s = Bytes.make n ' ' in
> for i = 0 to n - 1 do
> s.[i] <- f i
> done;
> - s
> + Bytes.unsafe_to_string s
>
> let map f s =
> init (String.length s) (fun i -> f s.[i])
>
>
>
> Index: tools/spgen/source/Makefile
> --- tools/spgen/source/Makefile.orig
> +++ tools/spgen/source/Makefile
> @@ -39,7 +39,7 @@ LIBS_OPT = $(LIBS:=.cmxa)
>
> INCLUDEDIRS= $(COCCIDIR)/commons $(COCCIDIR)/commons/ocamlextra \
> $(COCCIDIR)/globals $(COCCIDIR)/parsing_cocci
> $(COCCIDIR)/parsing_c \
> - $(PCREDIR)
> + $(PCREDIR) +num
>
> INCLUDES=$(INCLUDEDIRS:%=-I %)
next prev parent reply other threads:[~2018-06-20 14:08 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-18 20:09 [Cocci] [bug-cocci] fix bytecode build of pyml Christopher Zimmermann
2018-06-18 21:03 ` Julia Lawall
2018-06-20 14:08 ` Thierry Martinez [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-06-19 6:11 Christopher Zimmermann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ow4vaad4kjs.fsf@inria.fr \
--to=thierry.martinez@inria.fr \
--cc=cocci@systeme.lip6.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.