name="batteries"
version="1.4.3"
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.4.3"
	package "syntax" (
                requires="camlp4,estring"
		description = "pseudo-native Unicode strings (syntax extension)"
		version     = "1.4.3"
		archive(syntax, preprocessor) = "pa_strings.cma"
		archive(syntax, toploop)      = "pa_strings.cma"
	)
)

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

package "pa_llist" (
        descriptions = "lazy list syntax (container)"
        version = "1.4.3"
        package "syntax" (
                requires = "camlp4"
                description = "lazy list syntax (syntax extension)"
                version = "1.4.3"
                archive(syntax, preprocessor) = "pa_llist.cmo"
                archive(syntax, toploop) = "pa_llist.cmo"
        )
)

package "syntax" (
        version = "1.4.3"
        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 pa_llist.cmo"
        archive(syntax, toploop)      = "pa_strings.cma pa_comprehension.cmo pa_llist.cmo"
)
