Subversion Repositories Kolibri OS

Rev

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