From 3c0f65ed2751c469e5b887f80751ac4d6ac1f0d9 Mon Sep 17 00:00:00 2001 From: Max Logaev Date: Wed, 28 Jan 2026 14:04:10 +0300 Subject: [PATCH] cedit: Added to build system Fixed installation of oberon07 compiler in ISO image Signed-off-by: Max Logaev --- data/Tupfile.lua | 21 ++++++++++++++++----- programs/develop/cedit/CEDIT | Bin 33854 -> 0 bytes programs/develop/cedit/Tupfile.lua | 11 +++++++++++ programs/use_ob07.lua | 6 ++++++ tup.config.template | 1 + 5 files changed, 34 insertions(+), 5 deletions(-) delete mode 100644 programs/develop/cedit/CEDIT create mode 100644 programs/develop/cedit/Tupfile.lua create mode 100644 programs/use_ob07.lua diff --git a/data/Tupfile.lua b/data/Tupfile.lua index e278cecdb..788c12611 100644 --- a/data/Tupfile.lua +++ b/data/Tupfile.lua @@ -176,10 +176,15 @@ extra_files = { {"kolibrios/develop/c--/manual_c--.htm", SRC_PROGS .. "/cmm/c--/manual_c--.htm"}, {"kolibrios/develop/fpc/", "common/develop/fpc/*"}, {"kolibrios/develop/fpc/examples/", "../programs/develop/fp/examples/src/*"}, - {"kolibrios/develop/oberon07/", "../programs/develop/oberon07/*"}, - {"kolibrios/develop/oberon07/doc/", "../programs/develop/oberon07/doc/*"}, - {"kolibrios/develop/oberon07/lib/KolibriOS/", "../programs/develop/oberon07/lib/KolibriOS/*"}, - {"kolibrios/develop/oberon07/samples/", SRC_PROGS .. "/develop/oberon07/samples/*"}, + {"kolibrios/develop/oberon07/compiler.kex", SRC_PROGS .. "/develop/oberon07/Compiler.kex"}, + {"kolibrios/develop/oberon07/LICENSE", SRC_PROGS .. "/develop/oberon07/LICENSE"}, + {"kolibrios/develop/oberon07/doc/CC.txt", SRC_PROGS .. "/develop/oberon07/doc/CC.txt"}, + {"kolibrios/develop/oberon07/doc/KOSLib.txt", SRC_PROGS .. "/develop/oberon07/doc/KOSLib.txt"}, + {"kolibrios/develop/oberon07/doc/x86.txt", SRC_PROGS .. "/develop/oberon07/doc/x86.txt"}, + {"kolibrios/develop/oberon07/doc/Oberon07.Report_2016_05_03.pdf", SRC_PROGS .. "/develop/oberon07/doc/Oberon07.Report_2016_05_03.pdf"}, + {"kolibrios/develop/oberon07/lib/KolibriOS/", SRC_PROGS .. "/develop/oberon07/lib/KolibriOS/*"}, + {"kolibrios/develop/oberon07/lib/Math/", SRC_PROGS .. "/develop/oberon07/lib/Math/*"}, + {"kolibrios/develop/oberon07/samples/", SRC_PROGS .. "/develop/oberon07/samples/KolibriOS/*"}, {"kolibrios/develop/tcc/lib/", SRC_PROGS .. "/develop/ktcc/trunk/bin/lib/*"}, {"kolibrios/develop/tcc/include/", SRC_PROGS .. "/develop/ktcc/trunk/libc.obj/include/*"}, {"kolibrios/develop/tcc/include/clayer/", SRC_PROGS .. "/develop/ktcc/trunk/libc.obj/include/clayer/*"}, @@ -467,7 +472,6 @@ tup.append_table(img_files, { {"DEMOS/ZEROLINE", VAR_PROGS .. "/demos/zeroline/trunk/zeroline"}, {"DEVELOP/BOARD", VAR_PROGS .. "/system/board/trunk/board"}, {"DEVELOP/DBGBOARD", VAR_PROGS .. "/system/dbgboard/dbgboard"}, - {"DEVELOP/CEDIT", SRC_PROGS .. "/develop/cedit/CEDIT"}, {"DEVELOP/CHARSETS", VAR_PROGS .. "/develop/charsets/charsets"}, {"DEVELOP/COBJ", VAR_PROGS .. "/develop/cObj/trunk/cObj"}, {"DEVELOP/ENTROPYV", VAR_PROGS .. "/develop/entropyview/entropyview"}, @@ -741,6 +745,13 @@ tup.append_table(extra_files, { }) end -- tup.getconfig('NO_TCC') ~= 'full' +-- Programs that require oberon07 compiler. +if tup.getconfig('NO_OB07') ~= 'full' then +tup.append_table(img_files, { + {"DEVELOP/CEDIT", VAR_PROGS .. "/develop/cedit/cedit"}, +}) +end -- tup.getconfig('NO_OB07') ~= 'full' + -- Programs that require GCC to compile. if tup.getconfig('NO_GCC') ~= 'full' then tup.append_table(img_files, { diff --git a/programs/develop/cedit/CEDIT b/programs/develop/cedit/CEDIT deleted file mode 100644 index e333c762f27ce6366238b149ad68740be63780de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33854 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 WI9F8cZBEm9S4H@QKtjL_000NDSOlT~ diff --git a/programs/develop/cedit/Tupfile.lua b/programs/develop/cedit/Tupfile.lua new file mode 100644 index 000000000..eb4c80257 --- /dev/null +++ b/programs/develop/cedit/Tupfile.lua @@ -0,0 +1,11 @@ +if tup.getconfig("NO_OB07") ~= "" then return end +if tup.getconfig("HELPERDIR") == "" +then + HELPERDIR = "../../" +end + +tup.include(HELPERDIR .. "/use_ob07.lua") + +OB07_FLAGS = OB07_FLAGS .. "-nochk a " + +build_ob07({"SRC/CEdit.ob07"}, "cedit"); diff --git a/programs/use_ob07.lua b/programs/use_ob07.lua new file mode 100644 index 000000000..c511325a0 --- /dev/null +++ b/programs/use_ob07.lua @@ -0,0 +1,6 @@ +OB07 = tup.getcwd() .. "/develop/oberon07/compiler" +OB07_FLAGS = "-stk 1 " + +function build_ob07(input, output) + tup.rule(input, OB07 .. " %f kosexe -out %o " .. OB07_FLAGS .. " " .. tup.getconfig("KPACK_CMD"), output) +end diff --git a/tup.config.template b/tup.config.template index 3e98a790e..8c83afb48 100644 --- a/tup.config.template +++ b/tup.config.template @@ -21,6 +21,7 @@ # CONFIG_NO_MSVC=full # CONFIG_NO_CMM=full # CONFIG_NO_TCC=full +# CONFIG_NO_OB07=full ### Path to gcc toolchain library with -lgcc. ### Normally, you should not modify it, ### since the toolchain assumes the fixed path anyway.