Subversion Repositories Kolibri OS

Rev

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