Subversion Repositories Kolibri OS

Rev

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