Subversion Repositories Kolibri OS

Rev

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