Subversion Repositories Kolibri OS

Rev

Rev 6207 | Rev 6210 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5098 clevermous 1
-- Do nothing unless explicitly requested in tup.config.
2
build_type = tup.getconfig('BUILD_TYPE')
3
if build_type == "" then
4
  return
5
end
6
 
7
--[================================[ DATA ]================================]--
8
 
9
PROGS = "../programs"
10
 
11
-- Static data that doesn't need to be compiled
12
-- Files to be included in kolibri.img.
13
-- The first subitem of every item is name inside kolibri.img, the second is name of local file.
14
img_files = {
15
 {"MACROS.INC", PROGS .. "/macros.inc"},
16
 {"CONFIG.INC", PROGS .. "/config.inc"},
17
 {"STRUCT.INC", PROGS .. "/struct.inc"},
5827 leency 18
 {"TOOLBAR.PNG", PROGS .. "/cmm/textreader/toolbar.png"},
5098 clevermous 19
 {"DEVELOP/TE_ICON.PNG", PROGS .. "/other/t_edit/te_icon.png"},
20
 {"DEVELOP/TL_NOD_16.PNG", PROGS .. "/other/t_edit/tl_nod_16.png"},
21
 {"DEVELOP/TL_SYS_16.PNG", PROGS .. "/media/log_el/trunk/tl_sys_16.png"},
22
 {"DEVELOP/T_EDIT.INI", PROGS .. "/other/t_edit/t_edit.ini"},
6063 leency 23
 {"FB2READ", "common/fb2read"},
5098 clevermous 24
 {"File Managers/Z_ICONS.PNG", PROGS .. "/fs/opendial/z_icons.png"},
25
 {"File Managers/BUTTONS.BMP", PROGS .. "/fs/kfm/trunk/buttons.bmp"},
26
 {"File Managers/ICONS.BMP", PROGS .. "/fs/kfm/trunk/icons.bmp"},
27
 {"FONTS/LITT.CHR", PROGS .. "/demos/bgitest/trunk/FONTS/LITT.CHR"},
5764 leency 28
 {"FONTS/TAHOMA.KF", "common/fonts/tahoma.kf"},
5098 clevermous 29
 {"GAMES/SNAKE.INI", PROGS .. "/games/snake/trunk/snake.ini"},
30
 {"MEDIA/KIV.INI", PROGS .. "/media/kiv/trunk/kiv.ini"},
5468 leency 31
 {"MEDIA/PIXIE/PIXIE.INI", PROGS .. "/cmm/pixie/pixie.ini"},
32
 {"MEDIA/PIXIE/S_DARK.PNG", PROGS .. "/cmm/pixie/s_dark.png"},
33
 {"MEDIA/PIXIE/S_LIGHT.PNG", PROGS .. "/cmm/pixie/s_light.png"},
34
 {"MEDIA/PIXIE/MINIMP3", PROGS .. "/cmm/pixie/minimp3"},
5098 clevermous 35
 {"NETWORK/WV_SKIN.PNG", PROGS .. "/cmm/browser/wv_skin.png"},
5873 pathoswith 36
 {"SETTINGS/AUTORUN.DAT", "common/settings/AUTORUN.DAT"},
5098 clevermous 37
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
5425 leency 38
 {"ICONS32.PNG", "common/icons32.png"},
5762 leency 39
 {"INDEX.HTM", "common/index_htm"},
5098 clevermous 40
 {"KERPACK", "common/kerpack"},
5873 pathoswith 41
 {"SETTINGS/KEYMAP.KEY", PROGS .. "/system/taskbar/trunk/KEYMAP.KEY"},
5098 clevermous 42
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
43
 {"KUZKINA.MID", "common/kuzkina.mid"},
44
 {"LANG.INC", build_type .. "/lang.inc"},
45
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
46
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
5453 leency 47
 {"SETTINGS/TASKBAR.INI", build_type .. "/settings/taskbar.ini"},
5863 punk_joker 48
 {"SETTINGS/ESKIN.INI", "common/settings/eskin.ini"},
5098 clevermous 49
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
5394 eAndrew 50
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
6065 leency 51
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
5098 clevermous 52
 {"NOTIFY3.PNG", "common/notify3.png"},
5972 leency 53
 {"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
5098 clevermous 54
 {"VMODE", "common/vmode"},
55
 {"3D/HOUSE.3DS", "common/3d/house.3ds"},
56
 {"File Managers/EOLITE.INI", "common/File Managers/eolite.ini"},
57
 {"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
58
 {"File Managers/KFM.INI", "common/File Managers/kfm.ini"},
59
 {"LIB/PIXLIB.OBJ", "common/lib/pixlib.obj"},
5882 pavelyakov 60
 {"LIB/FS.OBJ", "common/lib/fs.obj"},
61
 {"LIB/ARRAY.OBJ", "common/lib/array.obj"},
62
 {"LIB/LIBRARY.OBJ", "common/lib/library.obj"},
5098 clevermous 63
 {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
64
 {"LIB/NETCODE.OBJ", "common/lib/netcode.obj"},
5647 leency 65
 {"LIB/KMENU.OBJ", "common/lib/kmenu.obj"},
66
 {"MEDIA/IMGF/IMGF", "common/media/ImgF/ImgF"},
67
 {"MEDIA/IMGF/CEDG.OBJ", "common/media/ImgF/cEdg.obj"},
68
 {"MEDIA/IMGF/DITHER.OBJ", "common/media/ImgF/dither.obj"},
69
 {"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
5098 clevermous 70
 {"SETTINGS/NETWORK.INI", build_type .. "/settings/network.ini"},
71
 {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
72
 {"NETWORK/USERS.INI", "common/network/users.ini"},
73
}
74
-- For russian build, add russian-only files.
75
if build_type == "rus" then tup.append_table(img_files, {
76
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
77
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
5502 punk_joker 78
 {"SETTINGS/GAME_CENTER.INI", "rus/settings/game_center.ini"},
5098 clevermous 79
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
80
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
81
 {"PIPETKA", build_type .. "/pipetka"},
82
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
83
 {"GAMES/APPDATA.DAT", build_type .. "/games/appdata.dat"},
84
 {"GAMES/ATAKA", build_type .. "/games/ataka"},
85
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
86
 {"GAMES/PADENIE", build_type .. "/games/padenie"},
87
 {"GAMES/WHOWTBAM", build_type .. "/games/whowtbam"},
88
}) else tup.append_table(img_files, {
89
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
5502 punk_joker 90
 {"SETTINGS/GAME_CENTER.INI", "common/settings/game_center.ini"},
5098 clevermous 91
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
92
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
93
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
94
}) end
95
if build_type == "it" then tup.append_table(img_files, {
96
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
97
}) else tup.append_table(img_files, {
98
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
99
}) end
100
 
101
--[[
102
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
5132 clevermous 103
 
5098 clevermous 104
The first subitem of every item is name relative to the root of ISO or distribution kit,
105
the second is name of local file.
5132 clevermous 106
 
5098 clevermous 107
If the first subitem ends in /, the last component of local file name is appended.
108
The last component of the second subitem may contain '*'; if so, it will be expanded
109
according to usual rules, but without matching directories.
5132 clevermous 110
 
111
Tup does not allow a direct dependency on a file that is generated in a directory
112
other than where Tupfile.lua is and its children. Most files are generated
113
in the directory with Tupfile.lua; for other files, the item should contain
114
a named subitem "group=path/" and the file should be put in .
5098 clevermous 115
--]]
116
extra_files = {
117
 {"/", build_type .. "/distr_data/autorun.inf"},
118
 {"/", build_type .. "/distr_data/KolibriOS_icon.ico"},
119
 {"/", build_type .. "/settings/kolibri.lbl"},
120
 {"Docs/stack.txt", build_type .. "/docs/STACK.TXT"},
121
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
122
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
123
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
124
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
125
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
126
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
127
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
128
 {"HD_Load/", "common/HD_load/memdisk"},
129
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
130
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
131
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
5764 leency 132
 {"kolibrios/3D/3DSHEART", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
5098 clevermous 133
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
134
 {"kolibrios/emul/fceu/", "common/emul/fceu/*"},
135
 {"kolibrios/emul/", "common/emul/gameboy"},
136
 {"kolibrios/emul/", "common/emul/scummvm"},
137
 {"kolibrios/emul/", "common/emul/zsnes"},
5827 leency 138
 {"kolibrios/demos/ak47.lif", "common/demos/ak47.lif"},
139
 {"kolibrios/demos/life2", "common/demos/life2"},
140
 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
141
 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
6179 leency 142
 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
143
 {"kolibrios/games/bomber/ackack.bmp", PROGS .. "/games/bomber/ackack.bmp"},
144
 {"kolibrios/games/bomber/bomb.bmp", PROGS .. "/games/bomber/bomb.bmp"},
145
 {"kolibrios/games/bomber/plane.bmp", PROGS .. "/games/bomber/plane.bmp"},
146
 {"kolibrios/games/bomber/tile.bmp", PROGS .. "/games/bomber/tile.bmp"},
147
 {"kolibrios/games/doom1/", "common/games/doom/*"},
5500 punk_joker 148
 {"kolibrios/games/pig/", "common/games/pig/*"},
5098 clevermous 149
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
5647 leency 150
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
6179 leency 151
 {"kolibrios/games/knight", "common/games/knight"},
5296 ZblCoder 152
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
5098 clevermous 153
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
5647 leency 154
 {"kolibrios/games/megamaze", build_type .. "/games/megamaze"},
6181 leency 155
 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
6182 leency 156
 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
6181 leency 157
 {"kolibrios/games/mun/mun", "common/games/mun/mun"},
5647 leency 158
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
6187 hidnplayr 159
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
6188 hidnplayr 160
 {"kolibrios/games/soko/", "common/games/soko/*"},
6156 leency 161
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
162
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
163
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
164
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
5098 clevermous 165
 {"kolibrios/lib/avcodec-55.dll", "common/lib/avcodec-55.dll"},
166
 {"kolibrios/lib/avdevice-55.dll", "common/lib/avdevice-55.dll"},
167
 {"kolibrios/lib/avformat-55.dll", "common/lib/avformat-55.dll"},
168
 {"kolibrios/lib/avutil-52.dll", "common/lib/avutil-52.dll"},
169
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
5378 serge 170
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
171
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
172
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
173
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
174
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
175
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
5132 clevermous 176
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
5378 serge 177
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
5098 clevermous 178
 {"kolibrios/lib/swresample-0.dll", "common/lib/swresample-0.dll"},
5378 serge 179
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
180
 {"kolibrios/lib/i965_dri.drv", "common/lib/i965_dri.drv"},
181
 {"kolibrios/media/fplay", "common/media/fplay"},
6155 leency 182
 {"kolibrios/media/updf", "common/media/updf"},
183
 {"kolibrios/media/vttf", "common/media/vttf"},
5098 clevermous 184
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
185
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
6094 leency 186
 {"kolibrios/res/skins/", "../skins/authors.txt"},
6095 leency 187
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
5098 clevermous 188
}
189
if build_type == "rus" then tup.append_table(extra_files, {
190
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
191
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
192
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
193
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
194
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
195
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
196
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
197
 {"Docs/cp1251/config.txt", build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
198
 {"Docs/cp1251/gnu.txt", build_type .. "/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
199
 {"Docs/cp1251/history.txt", build_type .. "/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
200
 {"Docs/cp1251/hot_keys.txt", build_type .. "/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
201
 {"Docs/cp1251/install.txt", build_type .. "/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
202
 {"Docs/cp1251/readme.txt", build_type .. "/docs/README.WIN.TXT", cp1251_from = build_type .. "/docs/README.TXT"},
203
 {"Docs/cp1251/sysfuncr.txt", build_type .. "/docs/SYSFUNCR.WIN.TXT", cp1251_from = PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
5471 leency 204
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
5098 clevermous 205
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
206
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
207
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
208
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
5334 Anton_K 209
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
210
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
211
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
212
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
213
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
5098 clevermous 214
}) else tup.append_table(extra_files, {
215
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
216
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
217
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
218
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
219
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
220
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
221
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
222
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
223
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
224
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
225
}) end
226
--[[
227
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
228
Same syntax as extra_files.
229
]]--
230
if build_type == "rus" then
231
distr_extra_files = {
232
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
233
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
234
}
235
else
236
distr_extra_files = {
237
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
238
}
239
end
240
--[[
241
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
242
Same syntax as extra_files.
243
]]--
244
if build_type == "rus" then
245
iso_extra_files = {
246
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
247
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
248
}
249
else
250
iso_extra_files = {
251
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
252
}
253
end
254
 
255
-- Programs that require FASM to compile.
256
if tup.getconfig('NO_FASM') ~= 'full' then
257
tup.append_table(img_files, {
258
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
259
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
5432 eAndrew 260
 {"@VOLUME", PROGS .. "/media/volume/volume"},
5454 leency 261
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
5098 clevermous 262
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
5394 eAndrew 263
 {"@OPEN", PROGS .. "/system/open/open"},
5098 clevermous 264
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
265
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
266
 {"REFRSCRN", PROGS .. "/system/refrscrn/refrscrn"},
267
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
268
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
269
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
270
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
271
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
272
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
273
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
6169 leency 274
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
6207 leency 275
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
5098 clevermous 276
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
277
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
278
 {"END", PROGS .. "/system/end/light/end"},
279
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
280
 {"GMON", PROGS .. "/system/gmon/gmon"},
281
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
282
 {"@ICON", PROGS .. "/system/icon_new/@icon"},
283
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
284
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
285
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
286
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
5863 punk_joker 287
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
5098 clevermous 288
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
289
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
290
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
291
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
292
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
293
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
294
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
295
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
296
 {"RUN", PROGS .. "/system/run/trunk/run"},
297
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
298
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
299
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
300
 {"TEST", PROGS .. "/system/test/trunk/test"},
301
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
302
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
303
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
304
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
305
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
306
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
307
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
6208 IgorA 308
 {"3D/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
309
 {"3D/OBJECTS.PNG", PROGS .. "/develop/info3ds/objects.png"},
310
 {"3D/TL_SYS_16.PNG", PROGS .. "/develop/info3ds/tl_sys_16.png"},
311
 {"3D/TOOLBAR.PNG", PROGS .. "/develop/info3ds/toolbar.png"},
312
 {"3D/INFO3DS.INI", PROGS .. "/develop/info3ds/info3ds.ini"},
5098 clevermous 313
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
314
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
315
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
316
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
317
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
318
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
319
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
320
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
321
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
322
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
323
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
324
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
325
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
326
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
327
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
328
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
329
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
330
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
331
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
332
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
333
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
334
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
335
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
336
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console/examples/test_gets"},
337
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
338
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
339
 {"DEVELOP/INFO/CPP_KOL_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
340
 {"DEVELOP/INFO/CPP_KOL_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
341
 {"DEVELOP/INFO/CPP_KOL_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
342
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
343
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
344
 {"DEVELOP/INFO/INI_FILES.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
345
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
346
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
347
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
348
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
349
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
350
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
351
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
352
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
353
 {"GAMES/MBLOCKS", PROGS .. "/games/mblocks/trunk/mblocks"},
354
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
355
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
356
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
357
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
358
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
359
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
360
 {"GAMES/SQ_GAME", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
361
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
362
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
363
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
364
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
365
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
366
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
367
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
6208 IgorA 368
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
5098 clevermous 369
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console/console.obj"},
370
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
371
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
372
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
373
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
374
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
375
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
376
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
377
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
378
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
379
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
380
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
381
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
382
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
383
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
384
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
385
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
6029 hidnplayr 386
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
5098 clevermous 387
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
388
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
389
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
390
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
391
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
392
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
5495 hidnplayr 393
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
5098 clevermous 394
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
395
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
396
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
397
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
398
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
5869 hidnplayr 399
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
5098 clevermous 400
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
401
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
402
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
403
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
404
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
405
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
406
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
407
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
408
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
409
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
410
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
411
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
412
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
413
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
414
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
415
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
416
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
417
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
418
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
419
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
420
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
421
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
422
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
423
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
424
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
425
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
426
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
427
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
428
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
429
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
430
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
431
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
432
})
433
tup.append_table(extra_files, {
434
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
435
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
436
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
437
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
438
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
439
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
440
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
441
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
442
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
443
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
6033 leency 444
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
6179 leency 445
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
6180 leency 446
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
5335 yogev_ezra 447
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
448
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
5379 serge 449
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
5467 leency 450
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
5098 clevermous 451
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
452
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
453
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
454
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
455
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
456
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
457
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
458
})
459
-- For russian build, add russian-only programs.
460
if build_type == "rus" then tup.append_table(img_files, {
461
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
462
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_rus"},
463
}) else tup.append_table(img_files, {
464
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console/examples/testcon2_eng"},
465
}) end
466
 
5334 Anton_K 467
if build_type == "rus" then tup.append_table(extra_files, {
468
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
469
}) end
470
 
5098 clevermous 471
end -- tup.getconfig('NO_FASM') ~= 'full'
472
 
473
-- Programs that require NASM to compile.
474
if tup.getconfig('NO_NASM') ~= 'full' then
475
tup.append_table(img_files, {
476
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
477
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
478
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
479
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
480
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
481
})
482
end -- tup.getconfig('NO_NASM') ~= 'full'
483
 
484
-- Programs that require C-- to compile.
485
if tup.getconfig('NO_CMM') ~= 'full' then
486
tup.append_table(img_files, {
487
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
5993 leency 488
 {"FONT_VIEWER", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
5098 clevermous 489
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
490
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
491
 {"GAMES/flood-it", PROGS .. "/games/flood-it/trunk/flood-it.com"},
492
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
5467 leency 493
 {"MEDIA/PIXIE/PIXIE", PROGS .. "/cmm/pixie/pixie.com"},
5632 leency 494
 {"MOUSE_CFG", PROGS .. "/cmm/mouse_cfg/mouse_cfg.com"},
495
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
5479 leency 496
 {"PANELS_CFG", PROGS .. "/cmm/panels_cfg/panels_cfg.com"},
5827 leency 497
 {"TEXTREADER", PROGS .. "/cmm/textreader/textreader.com"},
5098 clevermous 498
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
5429 leency 499
 {"GAME_CENTER", PROGS .. "/cmm/software_widget/software_widget.com"},
6065 leency 500
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
5098 clevermous 501
})
502
end -- tup.getconfig('NO_CMM') ~= 'full'
503
 
504
-- Programs that require MSVC to compile.
505
if tup.getconfig('NO_MSVC') ~= 'full' then
506
tup.append_table(img_files, {
507
 {"GRAPH", PROGS .. "/other/graph/graph"},
508
 {"TABLE", PROGS .. "/other/table/table"},
509
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
510
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
5113 clevermous 511
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
5115 clevermous 512
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
5098 clevermous 513
})
5110 clevermous 514
tup.append_table(extra_files, {
5109 clevermous 515
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
5276 ZblCoder 516
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
5109 clevermous 517
})
5098 clevermous 518
end -- tup.getconfig('NO_MSVC') ~= 'full'
519
 
520
-- Programs that require GCC to compile.
521
if tup.getconfig('NO_GCC') ~= 'full' then
522
tup.append_table(img_files, {
5109 clevermous 523
 {"3D/CUBELINE", PROGS .. "/demos/cubeline/trunk/cubeline"},
524
 {"3D/GEARS", PROGS .. "/demos/gears/trunk/gears"},
5123 clevermous 525
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
5111 clevermous 526
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
5098 clevermous 527
 {"SHELL", PROGS .. "/system/shell/shell"},
528
})
529
tup.append_table(extra_files, {
530
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
6183 leency 531
 {"kolibrios/games/2048/", PROGS .. "/games/2048/2048"},
532
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
5228 alpine 533
 {"kolibrios/games/heliothryx/", PROGS .. "/games/heliothryx/heliothryx"},
5236 alpine 534
 {"kolibrios/games/marblematch3/", PROGS .. "/games/marblematch3/marblematch3"},
5336 yogev_ezra 535
 {"kolibrios/games/nsider/", PROGS .. "/games/nsider/nsider"},
5131 clevermous 536
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
537
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
5098 clevermous 538
})
5327 igevorse 539
-- For russian build, add russian-only programs.
5329 igevorse 540
if build_type == "rus" then tup.append_table(extra_files, {
5327 igevorse 541
 {"kolibrios/games/21days/", PROGS .. "/games/21days/21days"},
5328 igevorse 542
}) end
5098 clevermous 543
end -- tup.getconfig('NO_GCC') ~= 'full'
544
 
545
-- Skins.
546
tup.include("../skins/skinlist.lua")
547
 
548
--[================================[ CODE ]================================]--
549
-- expand extra_files and similar
550
function expand_extra_files(files)
551
  local result = {}
552
  for i,v in ipairs(files) do
553
    if string.match(v[2], "%*")
554
    then
555
      local g = tup.glob(v[2])
556
      for j,x in ipairs(g) do
5132 clevermous 557
        table.insert(result, {v[1], x, group=v.group})
5098 clevermous 558
      end
559
    else
560
      if v.cp1251_from then
561
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
562
      end
5132 clevermous 563
      table.insert(result, {v[1], v[2], group=v.group})
5098 clevermous 564
    end
565
  end
566
  return result
567
end
568
 
569
-- append skins to extra_files
570
for i,v in ipairs(skinlist) do
6094 leency 571
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
5098 clevermous 572
end
573
 
574
-- prepare distr_extra_files and iso_extra_files: expand and append common part
575
extra_files = expand_extra_files(extra_files)
576
distr_extra_files = expand_extra_files(distr_extra_files)
577
iso_extra_files = expand_extra_files(iso_extra_files)
578
tup.append_table(distr_extra_files, extra_files)
579
tup.append_table(iso_extra_files, extra_files)
580
 
581
-- generate list of directories to be created inside kolibri.img
582
img_dirs = {}
583
input_deps = {}
584
for i,v in ipairs(img_files) do
585
  img_file = v[1]
586
  local_file = v[2]
587
 
588
  slash_pos = 0
589
  while true do
590
    slash_pos = string.find(img_file, '/', slash_pos + 1)
591
    if not slash_pos then break end
592
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
593
  end
594
 
595
  -- tup does not want to see hidden files as dependencies
596
  if not string.match(local_file, "/%.") then
5132 clevermous 597
    table.insert(input_deps, v.group or local_file)
5098 clevermous 598
  end
599
end
600
 
601
-- create empty 1.44M file
5118 clevermous 602
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
603
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
5098 clevermous 604
-- format it as a standard 1.44M floppy
605
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
606
-- copy bootloader
607
if tup.getconfig("NO_FASM") ~= "full" then
608
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
609
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
610
table.insert(input_deps, bootloader)
611
end
612
-- make folders
613
table.sort(img_dirs)
614
for i,v in ipairs(img_dirs) do
615
  if v ~= img_dirs[i-1] then
616
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
617
  end
618
end
619
-- copy files
620
for i,v in ipairs(img_files) do
621
  local_file = v[2]
622
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
623
  then
624
    -- for kernel.mnt, insert autobuild revision identifier
625
    -- from .revision to .kernel.mnt
626
    -- note that .revision and .kernel.mnt must begin with .
627
    -- to prevent tup from tracking them
628
    if build_type == "rus"
629
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(cat .revision)]"|iconv -f utf8 -t cp866)'
630
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
631
    end
632
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
633
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
634
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
635
    make_img_command = make_img_command .. " && str=" .. str
636
    make_img_command = make_img_command .. ' && echo -n $str | dd of=.kernel.mnt bs=1 seek=`expr 279 - length "$str"` conv=notrunc 2>/dev/null'
637
    local_file = ".kernel.mnt"
638
  end
639
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
640
end
641
 
642
-- generate tup rule for kolibri.img
643
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
644
 
645
-- generate command and dependencies for mkisofs
646
input_deps = {"kolibri.img"}
647
iso_files_list = ""
648
for i,v in ipairs(iso_extra_files) do
649
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
5132 clevermous 650
  table.insert(input_deps, v.group or v[2])
5098 clevermous 651
end
652
 
653
-- generate tup rule for kolibri.iso
654
if tup.getconfig("INSERT_REVISION_ID") ~= ""
655
then volume_id = "KolibriOS r`cat .revision`"
656
else volume_id = "KolibriOS"
657
end
658
tup.definerule{inputs = input_deps, command =
5118 clevermous 659
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
5098 clevermous 660
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
661
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
662
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
663
  outputs = {"kolibri.iso"}}
664
 
665
-- generate command and dependencies for distribution kit
5104 clevermous 666
cp = 'cp "%f" "%o"'
5102 clevermous 667
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
5098 clevermous 668
for i,v in ipairs(distr_extra_files) do
5132 clevermous 669
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
5098 clevermous 670
  if string.sub(v[1], -1) == "/"
5132 clevermous 671
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
672
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
5098 clevermous 673
  end
674
end