-->
<section id="camlp4-path">
- <title>&camlp4;</title>
- <para>
- Actually, &camlp4; extensions are stored in
- <filename>&ocaml-sys-dir;/camlp4/</filename>. In order to do something
- cleaner, &ocaml-force; proposes to put this files in their own directory, even in their
- own package. It is not mandatory, but it could ease a lot by avoiding
- name clashes.
+ <title>&camlp4;/&camlp5;</title>
+
+ <para> Actually, &camlp4; extensions should be processed just as standard
+ OCaml library. The META file distributed with this syntax extension
+ should follow the
+ <ulink url="http://cocan.org/osr/meta_files_for_packages_containing_syntax_extensions">
+ OSR: META files for packages containing syntax extensions</ulink>. In
+ particular, the syntax extension should be contained in a <varname>syntax</varname> sub
+ packages.
</para>
<para>
- You just have to consider a &camlp4; file just as a standard library, except that you
- prefix them with <varname>-syntax</varname>. For example: the syntax
- extension coming with <application>libokey-ocaml-dev</application> should be stored
- in <filename>&ocaml-sys-dir;/okey-syntax/</filename>, the package
- containing it should be called <application>libokey-syntax-ocaml-dev</application>.
+ The naming convention of the package is to use the same naming as with
+ standard package, replacing <varname>-ocaml-</varname> by the syntax
+ extension name, <varname>-camlp4-</varname>.
</para>
<para>
- It is recommended to use <filename>META</filename> to specify how to handle this
- extension.
+ If a package contains at the same time syntax extension and library, it
+ is up to the maintainer to choose the most relevant name for the package.
+ Whatever the name chosen for the package, the other name should be a
+ <varname>Provide</varname> of the package.
</para>
<para>
- All definition is taken from previous text considering syntax extension as a standalone
- library.
+ For example, consider the package <application>sexplib310</application>.
+ It provides a syntax extension and a library, which is the runtime support
+ of the additional function generated by the syntax extension. Since the most
+ common use of <application>sexplib310</application> is through its syntax
+ extension, the package is name
+ <application>libsexplib-camlp4-dev</application> and it also provide
+ <application>libsexplib-ocaml-dev</application>.
</para>
+ <para>
+ &camlp5; is an alternate pretty-printer and preprocessor for OCaml
+ (which is compatible with pre-3.10.0 version). Syntax extension are
+ handled through exactly the same scheme as for &camlp4; except that
+ package name use <varname>-camlp5-</varname> rather than
+ <varname>-camlp4-</varname>.
+ </para>
</section>
<section id="documentation">