ego now builds and is used.

This needed lots of refactoring to ego --- not all platforms have ego descr
files, and ego will just crash if you invoke it without one. I think originally
it was never intended that these platforms would be used at -O2 or above.

Plats now only specify the ego descr file if they have one.
This commit is contained in:
David Given
2016-08-21 22:01:19 +02:00
parent 08823a172c
commit 5bae29a00c
19 changed files with 461 additions and 262 deletions

30
util/ego/descr/build.lua Normal file
View File

@@ -0,0 +1,30 @@
local installmap = {}
local function build_descr(name)
local descr = normalrule {
name = name,
ins = {
"lang/cem/cpp.ansi+cpp",
"./"..name..".descr",
"./descr.sed",
matching(filenamesof("modules/src/em_data+lib"), "em_mnem%.h$"),
},
outleaves = { name..".descr" },
commands = {
"%{ins[1]} -P -I%{dirname(ins[4])} %{ins[2]} > %{dir}/temp",
"sed -f %{ins[3]} < %{dir}/temp > %{outs}"
}
}
installmap["$(PLATIND)/ego/"..name..".descr"] = descr
end
build_descr("i386")
build_descr("i86")
build_descr("m68020")
installable {
name = "pkg",
map = installmap
}