# Specifications for the "camlp4" preprocessor:
requires = ""
version = "[distributed with Ocaml]"
description = "Base for Camlp4 syntax extensions"
directory = "/home/cityd/autobuild/3.10/lib/ocaml/std-lib/camlp4"
# For the toploop:
archive(byte,toploop,camlp4o) = "camlp4o.cma"
archive(byte,toploop,camlp4r) = "camlp4r.cma"
# For the preprocessor itself:
archive(syntax,preprocessor,camlp4o) = "-parser o -parser op -printer p"
archive(syntax,preprocessor,camlp4r) = "-parser r -parser rp -printer p"
preprocessor = "camlp4"
package "lib" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Camlp4 library"
archive(byte) = "camlp4lib.cma"
archive(byte,toploop) = "" # already contained in camlp4*.cma
archive(native) = "camlp4lib.cmxa"
)
package "gramlib" (
requires = "camlp4.lib"
version = "[distributed with Ocaml]"
description = "Compatibilty name for camlp4.lib"
)
package "quotations" (
version = "[distributed with Ocaml]"
description = "Syntax extension: Quotations to create AST nodes"
requires = "camlp4.quotations.r" # backward compat
archive(syntax,preprocessor) = "-ignore foo"
package "o" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax extension: Quotations to create AST nodes (original syntax)"
archive(syntax,preprocessor) = "-parser Camlp4QuotationCommon -parser Camlp4OCamlOriginalQuotationExpander"
archive(syntax,toploop) = "Camlp4Parsers/Camlp4QuotationCommon.cmo Camlp4Parsers/Camlp4OCamlOriginalQuotationExpander.cmo"
)
package "r" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax extension: Quotations to create AST nodes (revised syntax)"
archive(syntax,preprocessor) = "-parser Camlp4QuotationCommon -parser Camlp4OCamlRevisedQuotationExpander"
archive(syntax,toploop) = "Camlp4Parsers/Camlp4QuotationCommon.cmo Camlp4Parsers/Camlp4OCamlRevisedQuotationExpander.cmo"
)
)
package "extend" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax extension: EXTEND the camlp4 grammar"
archive(syntax,preprocessor) = "-parser Camlp4GrammarParser"
archive(syntax,toploop) = "Camlp4Parsers/Camlp4GrammarParser.cmo"
)
package "listcomprehension" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax extension for list comprehensions"
archive(syntax,preprocessor) = "-parser Camlp4ListComprehension"
archive(syntax,toploop) = "Camlp4Parsers/Camlp4ListComprehension.cmo"
)
package "macro" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax extension: Conditional compilation"
archive(syntax,preprocessor) = "-parser Camlp4MacroParser"
archive(syntax,toploop) = "Camlp4Parsers/Camlp4MacroParser.cmo"
)
package "mapgenerator" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax filter: Traverse data structure (map style)"
archive(syntax,preprocessor) = "-filter Camlp4MapGenerator"
archive(syntax,toploop) = "Camlp4Filters/Camlp4MapGenerator.cmo"
)
package "foldgenerator" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax filter: Traverse data structure (fold style)"
archive(syntax,preprocessor) = "-filter Camlp4FoldGenerator"
archive(syntax,toploop) = "Camlp4Filters/Camlp4FoldGenerator.cmo"
)
package "metagenerator" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax filter: Generate AST generator for data structure"
archive(syntax,preprocessor) = "-filter Camlp4MetaGenerator"
archive(syntax,toploop) = "Camlp4Filters/Camlp4MetaGenerator.cmo"
)
package "locationstripper" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax filter: Remove location info from AST"
archive(syntax,preprocessor) = "-filter Camlp4LocationStripper"
archive(syntax,toploop) = "Camlp4Filters/Camlp4LocationStripper.cmo"
)
package "tracer" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax filter: Trace execution"
archive(syntax,preprocessor) = "-filter Camlp4Tracer"
archive(syntax,toploop) = "Camlp4Filters/Camlp4Tracer.cmo"
)
package "exceptiontracer" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax filter: Trace exception execution"
archive(syntax,preprocessor) = "-filter Camlp4ExceptionTracer"
archive(syntax,toploop) = "Camlp4Filters/Camlp4ExceptionTracer.cmo"
)
package "profiler" (
requires = "camlp4"
version = "[distributed with Ocaml]"
description = "Syntax filter: Count events during execution"
archive(syntax,preprocessor) = "-filter Camlp4Profiler"
archive(syntax,toploop) = "Camlp4Filters/Camlp4Profiler.cmo"
archive(byte) = "camlp4prof.cmo"
archive(native) = "camlp4prof.cmx"
)