linux386 builds. Also, forgot to turn back on the language runtimes.
authorDavid Given <dg@cowlark.com>
Sun, 14 Aug 2016 08:37:55 +0000 (10:37 +0200)
committerDavid Given <dg@cowlark.com>
Sun, 14 Aug 2016 08:37:55 +0000 (10:37 +0200)
Makefile
build.lua
mach/i386/libem/build.lua [new file with mode: 0644]
mach/i386/libend/build.lua [new file with mode: 0644]
plat/build.lua
plat/linux386/build-headers.lua [new file with mode: 0644]
plat/linux386/build-pkg.lua [new file with mode: 0644]
plat/linux386/build-tools.lua [new file with mode: 0644]

index 78d3f9c..0f6938b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -49,7 +49,7 @@ PLATIND = $(INSDIR)/share/ack
 PLATDEP = $(INSDIR)/lib/ack
 
 MAKECMDGOALS ?= +ack
-BUILD_FILES = $(shell find * -name build.lua)
+BUILD_FILES = $(shell find * -name '*.lua')
 
 NINJA := $(shell which ninja)
 ifneq ($(findstring +, $(MAKECMDGOALS)),)
index c5a59a1..98b381d 100644 (file)
--- a/build.lua
+++ b/build.lua
@@ -5,8 +5,9 @@ vars.ackcflags = {
        "-O"
 }
 vars.plats = {
-       "pc86",
        "cpm",
+       "linux386",
+       "pc86",
 }
 
 installable {
@@ -17,6 +18,7 @@ installable {
                "lang/m2/comp+pkg",
                "lang/pc/comp+pkg",
                "plat/cpm+pkg",
+               "plat/linux386+pkg",
                "plat/pc86+pkg",
                "util/ack+pkg",
                "util/amisc+pkg",
diff --git a/mach/i386/libem/build.lua b/mach/i386/libem/build.lua
new file mode 100644 (file)
index 0000000..ca5a13c
--- /dev/null
@@ -0,0 +1,8 @@
+for _, plat in ipairs(vars.plats) do
+       acklibrary {
+               name = "lib_"..plat,
+               srcs = { "./*.s" },
+               vars = { plat = plat },
+       }
+end
+
diff --git a/mach/i386/libend/build.lua b/mach/i386/libend/build.lua
new file mode 100644 (file)
index 0000000..ca5a13c
--- /dev/null
@@ -0,0 +1,8 @@
+for _, plat in ipairs(vars.plats) do
+       acklibrary {
+               name = "lib_"..plat,
+               srcs = { "./*.s" },
+               vars = { plat = plat },
+       }
+end
+
index deb2e46..f46db0b 100644 (file)
@@ -64,9 +64,9 @@ definerule("build_plat_libs",
                        name = e.name,
                        map = {
                                "lang/basic/lib+pkg_"..e.plat,
-                               --"lang/cem/libcc.ansi+pkg_"..e.plat,
-                               --"lang/m2/libm2+pkg_"..e.plat,
-                               --"lang/pc/libpc+pkg_"..e.plat,
+                               "lang/cem/libcc.ansi+pkg_"..e.plat,
+                               "lang/m2/libm2+pkg_"..e.plat,
+                               "lang/pc/libpc+pkg_"..e.plat,
                                ["$(PLATIND)/"..e.plat.."/libem.a"] = "mach/"..e.arch.."/libem+lib_"..e.plat,
                                ["$(PLATIND)/"..e.plat.."/libend.a"] = "mach/"..e.arch.."/libend+lib_"..e.plat,
                        }
diff --git a/plat/linux386/build-headers.lua b/plat/linux386/build-headers.lua
new file mode 100644 (file)
index 0000000..5b91bdc
--- /dev/null
@@ -0,0 +1,11 @@
+include("plat/build.lua")
+
+acklibrary {
+       name = "headers",
+       hdrs = {
+               ["ack/config.h"] = "./include/ack/config.h",
+               ["sys/ioctl.h"] = "./include/sys/ioctl.h",
+               ["unistd.h"] = "./include/unistd.h",
+       }
+}
+
diff --git a/plat/linux386/build-pkg.lua b/plat/linux386/build-pkg.lua
new file mode 100644 (file)
index 0000000..47fb9ce
--- /dev/null
@@ -0,0 +1,23 @@
+include("plat/build.lua")
+
+ackfile {
+       name = "boot",
+       srcs = { "./boot.s" },
+       vars = { plat = "linux386" }
+}
+
+build_plat_libs {
+       name = "libs",
+       arch = "i386",
+       plat = "linux386",
+}
+
+installable {
+       name = "pkg",
+       map = {
+               "+tools",
+               "+libs",
+               ["$(PLATIND)/linux386/boot.o"] = "+boot"
+       }
+}
+
diff --git a/plat/linux386/build-tools.lua b/plat/linux386/build-tools.lua
new file mode 100644 (file)
index 0000000..d711f85
--- /dev/null
@@ -0,0 +1,21 @@
+include("plat/build.lua")
+
+build_as {
+       name = "as",
+       arch = "i386",
+}
+
+build_ncg {
+       name = "ncg",
+       arch = "i386",
+}
+
+return installable {
+       name = "tools",
+       map = {
+               ["$(PLATDEP)/linux386/as"] = "+as",
+               ["$(PLATDEP)/linux386/ncg"] = "+ncg",
+               ["$(PLATIND)/descr/linux386"] = "./descr",
+               "util/opt+pkg",
+       }
+}