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]
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).