Skip to content

jbuild->dune incompatibility in preprocess #1181

@avsm

Description

@avsm

While porting from jbuild to dune, I ran across this file that gave a strange error:

(executables
 (names duniverse)
 (public_names duniverse)
 (libraries (bos cmdliner fmt.cli logs.fmt fmt.tty logs.cli rresult sexplib uri opam-file-format ezjsonm opam-core))
 (preprocess (per_module ((pps (ppx_sexp_conv)) (types))))
)

gives

File "src/dune", line 5, characters 31-46:
Error: Atom or quoted string expected
make: *** [build] Error 1

getting rid of the brackets around ppx_sexp_conv allows me to make progress:

(executables
 (names duniverse)
 (public_names duniverse)
 (libraries (bos cmdliner fmt.cli logs.fmt fmt.tty logs.cli rresult sexplib uri opam-file-format ezjsonm opam-core))
 (preprocess (per_module ((pps ppx_sexp_conv) (types))))
)
File "src/dune", line 5, characters 46-53:
These parentheses are no longer necessary with dune, please remove them.
make: *** [build] Error 1

It would be nice to not get the "atom or quoted string expected" error in the first instance to help port from jbuild files.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions