Subversion Repositories Kolibri OS

Rev

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