name="batteries"
version="1.2.2"
description="Batteries Included, the stdlib of choice"
requires="unix,num,bigarray,str,findlib,camomile"
requires(mt)="unix,num,bigarray,threads,str,findlib,camomile"
archive(toploop)="batteries_uni.cma batteries_help.cmo"
archive(toploop,mt)="batteries.cma batteries_help.cmo"
archive(byte,mt)  ="batteries.cma"
archive(byte)  ="batteries_uni.cma"
archive(native,mt)="batteries.cmxa"
archive(native)="batteries_uni.cmxa"

package "pa_string" (
        description = "pseudo-native Unicode strings (container)"
	version     = "1.2.2"
	package "syntax" (
                requires="camlp4,estring"
		description = "pseudo-native Unicode strings (syntax extension)"
		version     = "1.2.2"
		archive(syntax, preprocessor) = "pa_strings.cma"
		archive(syntax, toploop)      = "pa_strings.cma"
	)
)

package "pa_comprehension" (
	description = "comprehension expressions (container)"
	version     = "1.2.2"
	package "syntax" (
                requires = "camlp4"
		description = "comprehension expressions (syntax extension)"
		version                       = "1.2.2"
		archive(syntax, preprocessor) = "pa_comprehension.cmo"
		archive(syntax, toploop)      = "pa_comprehension.cmo"
	)
)

package "syntax" (
        version = "1.2.2"
        description = "Standard extensions to the OCaml language, full package"
        # the direct approach (requiring the .syntax packages) doesn't work:
        # you get "When using -syntax, the META variable 'preprocessor' must
        # be set" even when we require camlp4 or set preprocessor here, so
        # we use a brute-force approach
        requires = "camlp4, estring"
        requires(toploop) = "camlp4, estring, batteries"
        archive(syntax, preprocessor) = "pa_strings.cma pa_comprehension.cmo"
        archive(syntax, toploop)      = "pa_strings.cma pa_comprehension.cmo"
)
