Subversion Repositories Kolibri OS

Rev

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