Subversion Repositories Kolibri OS

Rev

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