--- /dev/null
+
+=== Windows version update pattern ===
+
+Com -> _Windows_GUI
+
+Comm/Docu/Obx* -> __GUI
+Comm/Docu -> .
+Comm/Mod/Obx* -> . __GUI
+Comm/Mod/Steams -> .
+Comm/Mod -> _Windows_
+
+Ctl -> _Windows_GUI
+
+Dev/Docu/Build-Tool+ComDebug+ComInterfaceGen+Profiler+P-S-I+TypeLibs -> _Windows_GUI
+Dev/Mod/ComDebug+ComInterfaceGen+Profiler+TypeLibs -> _Windows_GUI
+Dev/Mod/C*+Linker+Markers+Packer+Selectors
+Dev/Rsrc/Errors+Strings -> .
+Dev/Rsrc -> __GUI
+Dev/Docu/Cmds -> __GUI
+Dev/Docu/C*+Linker+Markers+Packer+Selectors -> .
+Dev/Docu -> __GUI
+Dev/Mod/Cmds -> __GUI
+Dev/Mod/C*+Debug+Linker+Markers+Packer+Selectors -> .
+Dev/Mod -> __GUI
+Dev -> .
+
+Docu/DTC* -> _Windows_GUI
+Docu -> .
+
+Form -> __GUI
+
+Host/Mod/Console+Files+Registry -> _Windows_
+Host/Rsrc -> __GUI
+Host/Docu/Bitmap+Mail -> _Windows_GUI
+Host/Mod -> _Windows_GUI
+Host/Docu -> .
+
+Obx/Mod/Hello0+Pi+Random+Trap -> .
+Obx/Mod+Docu/Bitmap+Excel+Fern+WordEdit -> _Windows_GUI
+Obx -> __GUI
+
+Ole -> _Windows_GUI
+
+Sql/Mod/Odbc* -> _Windows_
+Sql -> .
+
+Std/Rsrc/Strings -> .
+Std/Rsrc -> __GUI
+Std/Mod/MenuTools+Tables+TabViews -> __GUI
+Std -> .
+
+System/Mod/Kernel -> _Windows_
+System/Mod/Config+XYPlane -> _Windows_GUI
+System/Docu/XYPlane -> _Windows_GUI
+System/Mod/Init -> __GUI
+System/Mod+Docu -> .
+System/Rsrc/Strings -> .
+System/Rsrc/ -> __GUI
+
+Text -> .
+
+Win/Mod/Api+MM+Net+Ole+Sql -> _Windows_
+Win/Docu/Api+MM+Net+Sql -> _Windows_
+Win -> _Windows_GUI
+
+Xhtml -> .
+
+
+=== Build new dev0.exe from Windows Interp version ===
+build.bat
+build-dev0.bat
+pack-dev0.bat
+
+
@echo off\r
-echo DevCompiler.CompileThis WinApi WinOle WinCtl WinCmc WinOleAut WinOleCtl WinDlg WinOleDlg WinMM WinSql WinRpc WinNet WinGL WinGLAux WinGLUtil Kernel Files HostFiles StdLoader Math SMath Log Strings Dates Meta Dialog Services Fonts Ports Printers Stores Converters Sequencers^ | dev0.exe\r
-\r
-echo DevCompiler.CompileThis Models Views Controllers Properties Printing Mechanisms Containers Documents Windows StdCFrames Controls StdInterpreter StdDialog StdApi StdCmds HostRegistry HostFonts HostPorts OleData HostMechanisms HostWindows HostPrinters HostClipboard HostCFrames HostDialog HostCmds HostMenus HostPictures^ | dev0.exe\r
-\r
-echo DevCompiler.CompileThis TextModels TextRulers TextSetters TextViews TextControllers TextMappers StdLog TextCmds StdHeaders FormModels FormViews FormControllers FormGen FormCmds StdFolds StdLinks DevCommanders StdTables StdTabViews HostTabFrames StdViewSizer DevMarkers DevDebug DevHeapSpy DevSearch DevSubTool DevAlienTool^ | dev0.exe\r
-\r
-echo DevCompiler.CompileThis HostPackedFiles DevPacker DevDependencies DevReferences DevCmds DevInspector HostTextConv HostBitmaps HostMail StdMenuTool StdClocks StdStamps StdLogos StdDebug StdCoder StdScrollers Out DevCPM DevCPT DevCPS DevCPB DevCPP DevCPE DevCPH DevCPL486 DevCPC486 DevCPV486 DevSelectors DevCompiler DevBrowser DevLinker DevRBrowser^ | dev0.exe\r
-\r
-echo DevCompiler.CompileThis OleStorage OleServer OleClient CtlT CtlC OleViews StdETHConv In XYplane Init Config Integers DevTypeLibs DevComInterfaceGen DevComDebug DevProfiler DevLinkChk DevMsgSpy DevAnalyzer CommStreams CommTCP CommV24^ | dev0.exe\r
-\r
-echo DevCompiler.CompileThis SqlDrivers SqlOdbc SqlOdbc3 SqlDB SqlControls SqlBrowser SqlObxDB SqlObxUI SqlObxNets SqlObxViews SqlObxGen SqlObxExt SqlObxInit SqlObxTab^ | dev0.exe\r
-\r
-echo DevCompiler.CompileThis ComTools ComEnumRect ComObject ComConnect ComAggregate ComKoala ComKoalaTst ComKoalaExe ComKoalaDll ComEnum ComPhoneBook ComPhoneBookActiveX ComPhoneBookClient^ | dev0.exe\r
-\r
-echo DevCompiler.CompileThis XhtmlWriters XhtmlStdFileWriters XhtmlEntitySets XhtmlTextTableMarkers XhtmlExporter^ | dev0.exe\r
-\r
-echo DevCompiler.CompileThis CtlStdType CtlOffice CtlVBIDE CtlOfficeBinder CtlMSForms CtlExcel8 CtlWord8 CtlGraph8 CtlPowerPoint8 CtlOutlook8 CtlDAO35 CtlAccess8 CtlExcel9 CtlWord9 CtlGraph9 CtlPowerPoint9 CtlOutlook9 CtlDAO36 CtlADODB CtlAccess9 CtlExcel5^ | dev0.exe\r
-\r
-\r
-\r
-echo DevLinker.Link BlackBox.exe := Kernel$+ Files HostFiles StdLoader 1 Applogo.ico 2 Doclogo.ico 3 SFLogo.ico 4 CFLogo.ico 5 DtyLogo.ico 6 folderimg.ico 7 openimg.ico 8 leafimg.ico 1 Move.cur 2 Copy.cur 3 Link.cur 4 Pick.cur 5 Stop.cur 6 Hand.cur 7 Table.cur ^ | dev0.exe\r
+@echo DevCompiler.CompileThis WinApi WinOle WinCtl WinCmc WinOleAut WinOleCtl WinDlg WinOleDlg WinMM WinSql WinRpc WinNet WinGL WinGLAux WinGLUtil Kernel Files HostFiles StdLoader Math SMath Log Strings Dates Meta Dialog Services Fonts Ports Printers Stores Converters Sequencers > tmp.txt\r
+@echo DevCompiler.CompileThis Models Views Controllers Properties Printing Mechanisms Containers Documents Windows StdCFrames Controls StdInterpreter StdDialog StdApi StdCmds HostRegistry HostFonts HostPorts OleData HostMechanisms HostWindows HostPrinters HostClipboard HostCFrames HostDialog HostCmds HostMenus HostPictures >> tmp.txt\r
+@echo DevCompiler.CompileThis TextModels TextRulers TextSetters TextViews TextControllers TextMappers StdLog TextCmds StdHeaders FormModels FormViews FormControllers FormGen FormCmds StdFolds StdLinks DevCommanders StdTables StdTabViews HostTabFrames StdViewSizer DevMarkers DevDebug DevHeapSpy DevSearch DevSubTool DevAlienTool >> tmp.txt\r
+@echo DevCompiler.CompileThis HostPackedFiles DevPacker DevDependencies DevReferences DevCmds DevInspector HostTextConv HostBitmaps HostMail StdMenuTool StdClocks StdStamps StdDebug StdCoder StdScrollers Out DevCPM DevCPT DevCPS DevCPB DevCPP DevCPE DevCPH DevCPL486 DevCPC486 DevCPV486 DevSelectors DevCompiler DevBrowser DevLinker DevRBrowser >> tmp.txt\r
+@echo DevCompiler.CompileThis OleStorage OleServer OleClient CtlT CtlC OleViews StdETHConv In XYplane Init Config Integers DevTypeLibs DevComInterfaceGen DevComDebug DevProfiler DevLinkChk DevMsgSpy DevAnalyzer CommStreams CommTCP CommV24 >> tmp.txt\r
+@echo DevCompiler.CompileThis SqlDrivers SqlOdbc SqlOdbc3 SqlDB SqlControls SqlBrowser SqlObxDB SqlObxUI SqlObxNets SqlObxViews SqlObxGen SqlObxExt SqlObxInit SqlObxTab >> tmp.txt\r
+@echo DevCompiler.CompileThis ComTools ComEnumRect ComObject ComConnect ComAggregate ComKoala ComKoalaTst ComKoalaExe ComKoalaDll ComEnum ComPhoneBook ComPhoneBookActiveX ComPhoneBookClient >> tmp.txt\r
+@echo DevCompiler.CompileThis XhtmlWriters XhtmlStdFileWriters XhtmlEntitySets XhtmlTextTableMarkers XhtmlExporter >> tmp.txt\r
+@echo DevCompiler.CompileThis CtlStdType CtlOffice CtlVBIDE CtlOfficeBinder CtlMSForms CtlExcel8 CtlWord8 CtlGraph8 CtlPowerPoint8 CtlOutlook8 CtlDAO35 CtlAccess8 CtlExcel9 CtlWord9 CtlGraph9 CtlPowerPoint9 CtlOutlook9 CtlDAO36 CtlADODB CtlAccess9 CtlExcel5 >> tmp.txt\r
+@echo DevLinker.Link BlackBox.exe := Kernel$+ Files HostFiles StdLoader 1 Applogo.ico 2 Doclogo.ico 3 SFLogo.ico 4 CFLogo.ico 5 DtyLogo.ico 6 folderimg.ico 7 openimg.ico 8 leafimg.ico 1 Move.cur 2 Copy.cur 3 Link.cur 4 Pick.cur 5 Stop.cur 6 Hand.cur 7 Table.cur >> tmp.txt\r
+@echo Kernel.Quit(0) >> tmp.txt\r
+dev0.exe < tmp.txt\r
+del tmp.txt\r
--- /dev/null
+@echo off\r
+@echo DevCompiler.CompileThis HostDevPackedFiles > tmp.txt\r
+@echo DevLinker.Link dos dev0new.exe := Kernel$+ Files HostFiles HostDevPackedFiles StdLoader >> tmp.txt\r
+@echo Kernel.Quit(0) >> tmp.txt\r
+dev0.exe < tmp.txt\r
+del tmp.txt\r
@echo off\r
-echo DevCompiler.CompileThis WinApi WinOle Kernel Files Console Math Strings Meta Dialog HostFiles HostRegistry HostLang HostConsole Stores Converters Dates Integers Sequencers Services Log SMath Fonts Ports Printers Models Views Printing Mechanisms Controllers Properties Containers Documents Windows TextModels TextMappers TextRulers TextSetters TextViews TextControllers TextCmds In StdDialog StdApi StdCFrames Controls StdCmds StdLogos StdScrollers StdViewSizer StdClocks StdCoder StdFolds StdDebug StdStamps StdETHConv StdHeaders StdLinks StdLoader HostDialog StdLog Out ConsLog DevMarkers DevCommanders DevSelectors DevCPM DevCPT DevCPH DevCPB DevCPE DevCPS DevCPP DevCPL486 DevCPC486 DevCPV486 DevCompiler DevLinker HostFonts DevDebug DevComDebug ConsCompiler StdInterpreter HostWindows HostDates HostTextConv ConsInterp Init Config ^ | dev0.exe\r
-echo DevLinker.Link dos BlackBoxInterp.exe := Kernel$+ Files HostFiles StdLoader ^ | dev0.exe\r
+@echo DevCompiler.CompileThis WinApi WinOle Kernel Files Console Math Strings Meta Log Dialog HostFiles HostRegistry HostLang HostConsole Stores Converters Dates Integers Sequencers Services SMath Fonts Ports Printers Models Views Printing Mechanisms Controllers Properties Containers Documents Windows TextModels TextMappers TextRulers TextSetters TextViews TextControllers TextCmds In StdDialog StdApi StdCFrames Controls StdCmds StdScrollers StdViewSizer StdClocks StdCoder StdFolds StdDebug StdStamps StdETHConv StdHeaders StdLinks StdLoader HostDialog StdLog Out ConsLog DevMarkers DevCommanders DevSelectors DevCPM DevCPT DevCPH DevCPB DevCPE DevCPS DevCPP DevCPL486 DevCPC486 DevCPV486 DevCompiler DevLinker HostFonts DevDebug DevComDebug ConsCompiler StdInterpreter HostWindows HostDates HostTextConv ConsInterp Init Config > tmp.txt\r
+@echo DevLinker.Link dos BlackBoxInterp.exe := Kernel$+ Files HostFiles StdLoader >> tmp.txt\r
+@echo Kernel.Quit(0) >> tmp.txt\r
+dev0.exe < tmp.txt\r
+del tmp.txt\r
--- /dev/null
+@echo off\r
+copy dev0new.exe tmp.exe\r
+@echo DevCompiler.CompileThis HostPackedFiles DevPacker > tmp.txt\r
+@echo DevPacker.PackThis dev0new.exe := Code/Init.ocf Host/Code/Console.ocf Code/Console.ocf Host/Code/Lang.ocf Code/Dialog.ocf Host/Code/Fonts.ocf Code/Fonts.ocf Host/Code/Windows.ocf Code/Windows.ocf Code/Ports.ocf Code/Services.ocf Code/Stores.ocf Code/Strings.ocf Code/Math.ocf Code/Sequencers.ocf Code/Models.ocf Code/Views.ocf Code/Log.ocf Code/Converters.ocf Code/Meta.ocf Code/Controllers.ocf Code/Properties.ocf Code/Containers.ocf Code/Mechanisms.ocf Code/Documents.ocf Code/Dates.ocf Code/Printers.ocf Code/Printing.ocf Host/Code/Dates.ocf Host/Code/Dialog.ocf Std/Code/Interpreter.ocf Std/Code/Dialog.ocf Std/Code/Log.ocf Text/Code/Models.ocf Text/Code/Mappers.ocf Text/Code/Rulers.ocf Text/Code/Views.ocf Text/Code/Setters.ocf Text/Code/Controllers.ocf Cons/Code/Log.ocf Code/Config.ocf Cons/Code/Interp.ocf Dev/Code/Commanders.ocf Code/Controls.ocf Std/Code/CFrames.ocf Dev/Code/Compiler.ocf Dev/Code/Markers.ocf Dev/Code/Selectors.ocf Dev/Code/CPM.ocf Dev/Code/CPT.ocf Dev/Code/CPB.ocf Dev/Code/CPP.ocf Dev/Code/CPS.ocf Dev/Code/CPE.ocf Dev/Code/CPV486.ocf Dev/Code/CPH.ocf Dev/Code/CPL486.ocf Dev/Code/CPC486.ocf Std/Code/ETHConv.ocf Host/Code/TextConv.ocf Dev/Code/Linker.ocf Cons/Code/Compiler.ocf Host/Code/Registry.ocf Dev/Code/Debug.ocf Dev/Code/ComDebug.ocf >> tmp.txt\r
+@echo Kernel.Quit(0) >> tmp.txt\r
+tmp.exe < tmp.txt\r
+del tmp.txt\r
+del tmp.exe\r
+\r
+++ /dev/null
-\ 1\ 1\ 1
\ No newline at end of file
find . -type f -name "*.ocf" -exec rm -f {} \;
find . -type f -name "*.osf" -exec rm -f {} \;
+find . -type f -name "*~" -exec rm -f {} \;
+find . -type f -name "odc*" -exec rm -f {} \;
find . -depth -type d -empty -exec rmdir {} \;
outDir="${1}"
if [ ! -e "${outDir}" ]; then
mkdir "${outDir}"
- pax -r -w -L -s ',^Lin/Mod/gen-.*,,' -s ',^Lin/Rsrc.*,,' `ls -p | grep -E "^[A-Z].+\/$" | grep -v "^${outDir}\/$"` libBB.so loader run-BlackBox* blackbox* "${outDir}"
+ pax -r -w -L -s ',^Lin/Mod/gen-.*,,' -s ',^Lin/Rsrc.*,,' `ls -p | grep -E "^[A-Z].+\/$" | grep -v "^${outDir}\/$"` libBB.so loader run-BlackBox blackbox* BlackBox* "${outDir}"
else
echo "${outDir}: already exists"
exit 2
dolinks "${1}" "${2}"
else
echo "usage: `basename $0` ( none | OS [ configuration ] )"
- echo " OS: Linux | OpenBSD | FreeBSD"
+ echo " OS: Linux | OpenBSD | FreeBSD | Windows"
+ echo " configuration: GUI | Interp"
exit 1
fi
Ducumentation (Russian):
- http://gitlab.molpit.com/oberon/blackbox-freenix/wikis/home
+ http://gitlab.molpit.org/blackbox/freenix/wikis/home
Directories structure:
BlackBox/
universal development environment
- synchronized with original BlackBox 1.6
+ based on BlackBox 1.6
+ partly synchronized with BlackBox 1.7-beta
examples/
- some outdated examples
console/
- simple console application
+ simple console application (demonstration for ConsCompiler and ConsLog)
+ encoder/
+ encoding BlackBox subsystem by StdCoder from command line interface
fpstest/
loop test
server/
- static web-server as the example of an application for Linux OS
+ static single-thread web-server
Installation of required packages in Ubuntu 14.04 (should work also with other Debian-based OS):
To run BlackBox (after build):
./run-BlackBox
- or
- ./run-BlackBox-2
+ for Linux version also you can run
+ ./blackbox
To create BlackBox assembly (after build):
./switch-target none
./clean
-Example: build, create assembly in /tmp, run BlackBox from assembly:
+Example: build, create assembly and run BlackBox from assembly:
cd BlackBox
./switch-target `uname -s` GUI
./build
- ./export /tmp/BlackBox-`uname -s`
+ ./export ../`uname -s`_GUI
./switch-target none
./clean
- cd /tmp/BlackBox-`uname -s`
+ cd ../`uname -s`_GUI
./run-BlackBox