Subversion Repositories Kolibri OS

Rev

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