-- $Source$
-- $State$

local d = ROOTDIR.."lang/occam/comp/"

local lpars = LLgen {
	file (d.."occam.g"),
}

local cfile_with_headers = cfile {
	class = "cfile_with_headers",
	dynamicheaders = {
		file (d),
		lpars
	}
}
	
lang_occam_compiler = cprogram {
	CLIBRARIES = {PARENT, "fl"},
	
	cfile_with_headers (d.."builtin.c"),
	cfile_with_headers (d.."code.c"),
	cfile_with_headers (d.."em.c"),
	cfile_with_headers (d.."expr.c"),
	cfile_with_headers (d.."keytab.c"),
	cfile_with_headers (d.."report.c"),
	cfile_with_headers (d.."symtab.c"),

	foreach {
		rule = cfile_with_headers,
		ith { lpars, from=2 }
	},

	cfile_with_headers {
		flex (d.."lex.l")
	},
	
	lib_em_mes,
	lib_emk,
	lib_em_data,
--	lib_input,
--	lib_assert,
	lib_alloc,
--	lib_flt_arith,
	lib_print,
	lib_string,
	lib_system,

	outputs = {"%U%/em_occam"},
	install = {
		pm.install("%BINDIR%%PLATDEP%/em_occam"),
	}
}

-- Revision history
-- $Log$
-- Revision 1.2  2006-10-15 00:28:12  dtrg
-- Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
--
-- Revision 1.1  2006/07/26 18:23:32  dtrg
-- Added support for the Occam compiler.
--