Subversion Repositories Kolibri OS

Rev

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