d6a9a3ea0d3c54c37a82890ba86e4483c5415009
1 #! /bin/sh
3 set -e
8 ###^^^^^^^^^^^^^^^^^^###
9 ### Check BBCP files ###
10 ###__________________###
15 echo "-> git clone --depth=1 -b crux https://git.deadsoftware.ru/bbcp.git '$(realpath --relative-to="$PWD" "$THIS/stage0/bbcp")'"
17 exit 1
18 fi
21 ###^^^^^^^^^^^^^^^^^^^###
22 ### Build BBCP itself ###
23 ###___________________###
25 ./switch-target Linux Interp
26 ./build
28 ###^^^^^^^^^^^^^^^^^^^^^^^^^^^^###
29 ### Copy minimal bbdsw sources ###
30 ###____________________________###
34 cp -r -- \
42 ###^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^###
43 ### Compile Stage0 Compiler & Linker ###
44 ###__________________________________###
46 ./blackbox <<!
48 Kernel.LoadMod('DevCompiler')
49 Kernel.LoadMod('ConsCompiler')
50 Kernel.LoadMod('Dev2Linker1')
51 Kernel.LoadMod('Dev2LnkChmod')
55 ConsCompiler.Compile('C99/Mod', 'types.cp')
56 ConsCompiler.Compile('C99/Mod', 'sys_types.cp')
57 ConsCompiler.Compile('C99/Mod', 'stdlib.cp')
58 ConsCompiler.Compile('C99/Mod', 'stdio.cp')
59 ConsCompiler.Compile('C99/Mod', 'unistd.cp')
60 ConsCompiler.Compile('C99/Mod', 'dirent.cp')
61 ConsCompiler.Compile('C99/Mod', 'locale.cp')
62 ConsCompiler.Compile('C99/Mod', 'time.cp')
63 ConsCompiler.Compile('C99/Mod', 'sys_stat.cp')
64 ConsCompiler.Compile('C99/Mod', 'fcntl.cp')
65 ConsCompiler.Compile('C99/Mod', 'errno.cp')
66 ConsCompiler.Compile('C99/Mod', 'iconv.cp')
67 ConsCompiler.Compile('C99/Mod', 'wctype.cp')
68 ConsCompiler.Compile('C99/Mod', 'sys_mman.cp')
69 ConsCompiler.Compile('C99/Mod', 'dlfcn.cp')
70 ConsCompiler.Compile('C99/Mod', 'signal.cp')
71 ConsCompiler.Compile('C99/Mod', 'setjmp.cp')
72 ConsCompiler.Compile('C99/Mod', 'libgen.cp')
73 ConsCompiler.Compile('C99/Mod', 'macro.cp')
75 ConsCompiler.Compile('System/Mod', 'Kernel.cp')
76 DevCompiler.CompileThis Console Dates Files Int Long Math SMath Strings Log Services
78 ConsCompiler.Compile('Host/Mod', 'Lang.cp')
79 ConsCompiler.Compile('Host/Mod', 'Dates.cp')
80 ConsCompiler.Compile('Host/Mod', 'Console.cp')
81 ConsCompiler.Compile('Host/Mod', 'Files.cp')
83 DevCompiler.CompileThis \
84 DswLog DswDebug \
85 Dev2LnkBase Dev2LnkChmod Dev2LnkLoad Dev2LnkWriteElf Dev2LnkWriteElfStatic Dev2LnkWritePe
86 ConsCompiler.Compile('Dsw/Mod','Linker486Main.cp')
87 Dev2Linker1.LinkElf Linux cpl486 := Kernel$+ \
88 C99types C99macro \
89 Kernel \
90 Console Files Math Strings Services Log Int Long \
91 HostLang HostConsole HostFiles DswLog DswDebug \
92 Dev2LnkBase Dev2LnkChmod Dev2LnkLoad Dev2LnkWriteElf \
93 Dev2LnkWriteElfStatic Dev2LnkWritePe \
94 DswLinker486Main
96 ConsCompiler.Compile('Dev/Mod','CPM.cp')
97 DevCompiler.CompileThis DevCPT DevCPS DevCPB DevCPP DevCPE DevCPH DevCPL486 DevCPC486 DevCPV486
98 ConsCompiler.Compile('Dsw/Mod','Documents.cp')
99 ConsCompiler.Compile('Dsw/Mod','Compiler486Main.cp')
100 Dev2Linker1.LinkElf Linux cpc486 := Kernel$+ \
101 C99types C99macro \
102 Kernel \
103 Console Files Math Strings Services Log Int Long \
104 HostLang HostConsole HostFiles HostDates DswLog DswDebug \
105 DevCPM DevCPT DevCPS DevCPB DevCPP DevCPE DevCPH DevCPL486 DevCPC486 DevCPV486 \
106 DswDocuments DswCompiler486Main
108 Kernel.Quit(0)
110 !
113 chmod a+x cpc486 cpl486