Subversion Repositories Kolibri OS

Rev

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

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