cocci.inria.fr archive mirror
 help / color / mirror / Atom feed
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 %)

  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).