Oberon Microsystems BlackBox Component Builder (http://www.oberon.ch/)
Port for OpenBSD/i386
Some significant parts taken from OpenBUGS (http://www.openbugs.info/)
How to build:
compile loader executable (BlackBox itself and simple interpreter):
libBB*.so must be present (can be built from Windows)
cd c; make
compile self:
cd BlackBox; ./clean; ./build-lindev; ./build
Files:
original:
BlackBox:
Dev/Mod/*
all except ElfLinker16
Dev/Rsrc/*
Docu/BB-License.odc
Docu/BB-Licensing-Policy.odc
Docu/BB-Open-Source-License.odc
Obx/*
Std/*
System/Mod/
all except Console
System/Rsrc/*
Text/*
OpenBUGS:
Dev/Mod/ElfLinker16.odc
Dev/Docu/ElfLinker.odc
System/Mod/Console.odc
Docu/OpenBUGS-License.odc
http://forum.oberoncore.ru/viewtopic.php?f=34&t=1159&sid=3e82517160caa46c64331178c1b61e95:
Lin/Mod/Kernel_so_init.odc
modified:
Lin/Mod/Obsd.linKernel.odc:
OpenBUGS Lin/Mod/linKernel.odc modified with OpenBSD specific:
Kernel.TrapHandler
OpenBSD sigcontext related
Kernel.Time
CLOCKS_PER_SEC related
Kernel.InitModule
mprotect added
Kernel.InstallSignals:
do not install signal handler for SIGTHR (when executable linked with -pthread)
Lin/Mod/Obsd.linHostFiles.odc:
OpenBUGS Lin/Mod/linHostFiles.odc:
size_t specific
__xstat -> stat
Lin/Mod/Obsd.Console.odc:
OpenBUGS Lin/Mod/Console.odc:
stdin -> SYSTEM.ADR(__sF[0])
Lin/Mod/Obsd.Libc.txt:
OpenBUGS Lin/Mod/Libc.odc:
OpenBSD-specific
Lin/Mod/Dates.odc:
HostDates, thanks to Trurl@oberoncore.ru
Lindev/Mod
CP*
BlackBox 1.6-rc6 Dev CP* modified to not depend on Dates, Texts etc.
Compiler.odc:
modified original BlackBox Dev/Mod/Compiler.odc
ElfLinker16.odc:
modified OpenBUGS Dev/Mod/ElfLinker16.odc
new:
Cons/Mod
Interp.odc: console interpreter
Compiler.odc: console interface to Dev compiler
libBB.so: compiled and linked OpenBSD shared library to run BlackBox
libBB0.so: compiled and linked OpenBSD shared library to run simple development interpreter
Views.odc: minimal Views implementation required to compile StdInterpreter
StdLog.odc: alternative StdLog implementation to not depend on GUI
HostFonts.odc, HostDialog.odc, HostWindows.odc: simple Hosts implementation
Notes:
Lindev:
I will not remove Lindev because I can not link .so library based on ConsInterp and Dev
Kernel_so_init.SetKernelBaseStack:
required only in case of .so shared library dynamic loading
(at run-time via dlopen, not on link-time)
A. V. Shiryaev, 2012