Subversion Repositories Kolibri OS

Rev

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