Subversion Repositories Kolibri OS

Rev

Rev 7648 | Rev 7651 | 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/*"},
6993 leency 203
 {"kolibrios/games/the_bus/menu.png", PROGS .. "/cmm/the_bus/menu.png"},
204
 {"kolibrios/games/the_bus/objects.png", PROGS .. "/cmm/the_bus/objects.png"},
205
 {"kolibrios/games/the_bus/road.png", PROGS .. "/cmm/the_bus/road.png"},
6583 leency 206
 {"kolibrios/grafx2/fonts/", "common/media/grafx2/fonts/*"},
207
 {"kolibrios/grafx2/scripts/", "common/media/grafx2/scripts/libs/*"},
208
 {"kolibrios/grafx2/scripts/libs/", "common/media/grafx2/scripts/*"},
209
 {"kolibrios/grafx2/skins/", "common/media/grafx2/skins/*"},
210
 {"kolibrios/grafx2/", "common/media/grafx2/*"},
6654 leency 211
 {"kolibrios/drivers/drvinf.ini", "common/drivers/drvinf.ini"},
6156 leency 212
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
213
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
214
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
7591 leency 215
 {"kolibrios/drivers/test/", "common/drivers/test/*"},
6156 leency 216
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
6719 serge 217
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
218
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
219
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
220
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
221
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
7191 leency 222
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
5098 clevermous 223
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
5378 serge 224
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
225
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
226
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
7180 leency 227
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
5378 serge 228
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
6982 leency 229
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
230
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
5378 serge 231
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
232
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
5132 clevermous 233
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
7191 leency 234
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
5378 serge 235
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
7191 leency 236
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
6719 serge 237
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
5378 serge 238
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
239
 {"kolibrios/media/fplay", "common/media/fplay"},
7203 leency 240
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
7646 leency 241
 {"kolibrios/media/minimp3", "common/media/minimp3"},
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"},
7650 leency 271
 {"kolibrios/games/ataka", "common/games/ataka/ataka_ru"},
5334 Anton_K 272
 {"kolibrios/games/Dungeons/Resources/Textures/Environment/", PROGS .. "/games/Dungeons/Resources/Textures/Environment/*"},
273
 {"kolibrios/games/Dungeons/Resources/Textures/Objects/", PROGS .. "/games/Dungeons/Resources/Textures/Objects/*"},
274
 {"kolibrios/games/Dungeons/Resources/Textures/HUD/", PROGS .. "/games/Dungeons/Resources/Textures/HUD/*"},
275
 {"kolibrios/games/Dungeons/Resources/Textures/", PROGS .. "/games/Dungeons/Resources/Textures/Licenses.txt"},
276
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
7650 leency 277
 {"kolibrios/games/sstartrek/", "common/games/sstartrek/SStarTrek_ru"},
7410 0CodErr 278
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/whowtbam"},
279
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
7569 leency 280
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_rus.txt"},
281
 {"kolibrios/res/guide/", build_type .. "/docs/guide/*"},
5098 clevermous 282
}) else tup.append_table(extra_files, {
283
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
284
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
285
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
286
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
287
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
288
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
289
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
290
 {"HD_Load/mtldr/install.txt", PROGS .. "/hd_load/mtldr/install_eng.txt"},
291
 {"HD_Load/USB_Boot/readme.txt", PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
7650 leency 292
 {"kolibrios/games/ataka", "common/games/ataka/ataka_en"},
293
 {"kolibrios/games/sstartrek/", "common/games/sstartrek/SStarTrek_en"},
5098 clevermous 294
 {"kolibrios/media/zsea/zsea_keys.txt", PROGS .. "/media/zsea/Docs/zSea_keys_eng.txt"},
295
}) end
296
--[[
297
Files to be included in distribution kit outside of kolibri.img, but not kolibri.iso.
298
Same syntax as extra_files.
299
]]--
300
if build_type == "rus" then
301
distr_extra_files = {
302
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
303
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
304
}
305
else
306
distr_extra_files = {
307
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
308
}
309
end
310
--[[
311
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
312
Same syntax as extra_files.
313
]]--
314
if build_type == "rus" then
315
iso_extra_files = {
316
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
317
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
318
}
319
else
320
iso_extra_files = {
321
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
322
}
323
end
324
 
325
-- Programs that require FASM to compile.
326
if tup.getconfig('NO_FASM') ~= 'full' then
327
tup.append_table(img_files, {
328
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
7014 leency 329
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
7390 theonlymir 330
 {"@HOTANGLES", PROGS .. "/other/ha/HOTANGLES"},
7014 leency 331
 {"@ICON", PROGS .. "/system/icon_new/icon"},
5098 clevermous 332
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
7014 leency 333
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
334
 {"@OPEN", PROGS .. "/system/open/open"},
5454 leency 335
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
5098 clevermous 336
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
7014 leency 337
 {"@VOLUME", PROGS .. "/media/volume/volume"},
7390 theonlymir 338
 {"HACONFIG", PROGS .. "/other/ha/HACONFIG"},
7647 leency 339
 {"APM", PROGS .. "/system/apm/apm"},
5098 clevermous 340
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
341
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
342
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
343
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
7160 leency 344
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
5098 clevermous 345
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
346
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
7160 leency 347
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
6207 leency 348
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
5098 clevermous 349
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
350
 {"END", PROGS .. "/system/end/light/end"},
7160 leency 351
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
5098 clevermous 352
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
353
 {"GMON", PROGS .. "/system/gmon/gmon"},
354
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
355
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
356
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
7118 dunkaist 357
 {"KERPACK", PROGS .. "/other/outdated/kerpack/trunk/kerpack"},
5098 clevermous 358
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
7160 leency 359
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
5098 clevermous 360
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
361
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
362
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
363
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
364
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
365
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
366
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
367
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
368
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
369
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
370
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
7160 leency 371
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
372
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
5098 clevermous 373
 {"TEST", PROGS .. "/system/test/trunk/test"},
374
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
7160 leency 375
 {"UNZ", PROGS .. "/fs/unz/unz"},
5098 clevermous 376
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
377
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
378
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
7350 leency 379
 {"3D/3DCUBE2", PROGS .. "/demos/3dcube2/trunk/3DCUBE2"},
5098 clevermous 380
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
6736 leency 381
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
6387 leency 382
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
5098 clevermous 383
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
384
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
385
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
386
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
387
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
388
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
389
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
390
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
391
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
7606 leency 392
 {"DEMOS/SPIRAL", PROGS .. "/demos/spiral/spiral"},
5098 clevermous 393
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
394
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
395
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
396
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
397
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
398
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
399
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
400
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
401
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
402
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
403
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
404
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
405
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
406
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
407
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
6699 clevermous 408
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
5098 clevermous 409
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
410
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
7631 leency 411
 {"DEVELOP/INFO/CPP_CLA.SYN", PROGS .. "/other/t_edit/info/cpp_kol_cla.syn"},
412
 {"DEVELOP/INFO/CPP_DAR.SYN", PROGS .. "/other/t_edit/info/cpp_kol_dar.syn"},
413
 {"DEVELOP/INFO/CPP_DEF.SYN", PROGS .. "/other/t_edit/info/cpp_kol_def.syn"},
5098 clevermous 414
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
415
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
7631 leency 416
 {"DEVELOP/INFO/INI.SYN", PROGS .. "/other/t_edit/info/ini_files.syn"},
5098 clevermous 417
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
418
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
419
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
420
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
421
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
422
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
423
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
7373 leency 424
 {"GAMES/LIGHTS", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
5098 clevermous 425
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
426
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
427
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
428
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
429
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
430
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
431
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
432
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
433
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
434
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
435
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
436
 {"LIB/ARCHIVER.OBJ", PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
437
 {"LIB/BOX_LIB.OBJ", PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
438
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
6699 clevermous 439
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
6737 leency 440
 {"LIB/CNV_PNG.OBJ", PROGS .. "/media/zsea/plugins/png/cnv_png.obj"},
441
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
5098 clevermous 442
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
443
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
444
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
445
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
446
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
447
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
6737 leency 448
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
6308 pathoswith 449
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
5098 clevermous 450
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
6737 leency 451
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
5098 clevermous 452
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
453
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
454
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
455
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
7484 leency 456
 {"MEDIA/MP3INFO", PROGS .. "/media/mp3info/mp3info"},
5098 clevermous 457
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
7650 leency 458
 {"MEDIA/PIANO", PROGS .. "/media/piano/piano"},
5098 clevermous 459
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
6029 hidnplayr 460
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
5098 clevermous 461
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
462
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
7058 ashmew2 463
 {"NETWORK/NSINSTALL", PROGS .. "/network/netsurf/nsinstall"},
5098 clevermous 464
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
465
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
466
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
7640 leency 467
 {"NETWORK/SNTP", PROGS .. "/network/sntp/sntp"},
5098 clevermous 468
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
5495 hidnplayr 469
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
5098 clevermous 470
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
471
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
472
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
473
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
474
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
5869 hidnplayr 475
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
5098 clevermous 476
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
477
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
478
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
479
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
480
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
481
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
482
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
483
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
484
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
485
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
486
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
487
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
488
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
489
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
490
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
491
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
492
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
493
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
494
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
495
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
496
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
497
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
498
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
499
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
500
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
501
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
502
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
503
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
504
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
505
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
506
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
507
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
508
})
509
tup.append_table(extra_files, {
510
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
511
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
512
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
513
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
514
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
515
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
516
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
517
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
518
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
519
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
7458 leency 520
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
7222 leency 521
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
522
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
7458 leency 523
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
7222 leency 524
 {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
525
 {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , PROGS .. "/media/voxel_editor/utilites/vox_creator"},
526
 {"kolibrios/3D/voxel_utilites/VOX_MOVER" , PROGS .. "/media/voxel_editor/utilites/vox_mover"},
527
 {"kolibrios/3D/voxel_utilites/VOX_TGL" , PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
528
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
6991 leency 529
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
7525 leency 530
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
6991 leency 531
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
532
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
533
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
6033 leency 534
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
6179 leency 535
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
6180 leency 536
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
5335 yogev_ezra 537
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
538
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
5379 serge 539
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
6991 leency 540
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
5467 leency 541
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
6991 leency 542
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
543
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
5098 clevermous 544
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
545
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
546
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
547
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
548
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
549
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
550
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
6991 leency 551
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
5098 clevermous 552
})
553
-- For russian build, add russian-only programs.
554
if build_type == "rus" then tup.append_table(img_files, {
555
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
6699 clevermous 556
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
5098 clevermous 557
}) else tup.append_table(img_files, {
6699 clevermous 558
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
5098 clevermous 559
}) end
560
 
5334 Anton_K 561
if build_type == "rus" then tup.append_table(extra_files, {
562
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
563
}) end
564
 
5098 clevermous 565
end -- tup.getconfig('NO_FASM') ~= 'full'
566
 
567
-- Programs that require NASM to compile.
568
if tup.getconfig('NO_NASM') ~= 'full' then
569
tup.append_table(img_files, {
6952 leency 570
 {"LOD", PROGS .. "/fs/lod/lod"},
571
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
5098 clevermous 572
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
573
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
6952 leency 574
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
5098 clevermous 575
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
6998 0CodErr 576
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
5098 clevermous 577
})
578
end -- tup.getconfig('NO_NASM') ~= 'full'
579
 
7081 0CodErr 580
-- Programs that require JWASM to compile.
581
if tup.getconfig('NO_JWASM') ~= 'full' then
582
tup.append_table(img_files, {
583
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
7492 0CodErr 584
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
7081 0CodErr 585
})
586
end -- tup.getconfig('NO_JWASM') ~= 'full'
587
 
5098 clevermous 588
-- Programs that require C-- to compile.
589
if tup.getconfig('NO_CMM') ~= 'full' then
590
tup.append_table(img_files, {
6776 leency 591
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
7245 leency 592
 {"EASYSHOT", PROGS .. "/cmm/easyshot/easyshot.com"},
7370 leency 593
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
7630 leency 594
 {"BARSCFG", PROGS .. "/cmm/barscfg/barscfg.com"},
7370 leency 595
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
596
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
6776 leency 597
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
598
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
6569 leency 599
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
5098 clevermous 600
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
7472 leency 601
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
5098 clevermous 602
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
6957 leency 603
 {"GAMES/MBLOCKS", PROGS .. "/cmm/mblocks/mblocks.com"},
6748 leency 604
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
5098 clevermous 605
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
6776 leency 606
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
5098 clevermous 607
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
7630 leency 608
 {"MEDIA/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
7254 leency 609
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
5632 leency 610
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
5098 clevermous 611
})
6776 leency 612
tup.append_table(extra_files, {
7541 leency 613
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
7542 leency 614
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
6991 leency 615
 {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"},
7592 leency 616
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
617
 {"kolibrios/utils/codeview", PROGS .. "/cmm/codeview/codeview.com"},
7541 leency 618
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
619
 {"kolibrios/utils/netcheck", PROGS .. "/cmm/examples/netcheck.com"},
7640 leency 620
 {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"},
6776 leency 621
})
5098 clevermous 622
end -- tup.getconfig('NO_CMM') ~= 'full'
623
 
624
-- Programs that require MSVC to compile.
625
if tup.getconfig('NO_MSVC') ~= 'full' then
626
tup.append_table(img_files, {
627
 {"GRAPH", PROGS .. "/other/graph/graph"},
628
 {"TABLE", PROGS .. "/other/table/table"},
629
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
630
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
5113 clevermous 631
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
5115 clevermous 632
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
5098 clevermous 633
})
5110 clevermous 634
tup.append_table(extra_files, {
5109 clevermous 635
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
5276 ZblCoder 636
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
5109 clevermous 637
})
5098 clevermous 638
end -- tup.getconfig('NO_MSVC') ~= 'full'
639
 
640
-- Programs that require GCC to compile.
641
if tup.getconfig('NO_GCC') ~= 'full' then
642
tup.append_table(img_files, {
5123 clevermous 643
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
5111 clevermous 644
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
5098 clevermous 645
 {"SHELL", PROGS .. "/system/shell/shell"},
646
})
647
tup.append_table(extra_files, {
6736 leency 648
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
5098 clevermous 649
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
7531 leency 650
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
7528 leency 651
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
7531 leency 652
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
653
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
654
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
5131 clevermous 655
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
656
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
5098 clevermous 657
})
5327 igevorse 658
-- For russian build, add russian-only programs.
5329 igevorse 659
if build_type == "rus" then tup.append_table(extra_files, {
7531 leency 660
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
5328 igevorse 661
}) end
5098 clevermous 662
end -- tup.getconfig('NO_GCC') ~= 'full'
663
 
664
-- Skins.
665
tup.include("../skins/skinlist.lua")
666
 
667
--[================================[ CODE ]================================]--
668
-- expand extra_files and similar
669
function expand_extra_files(files)
670
  local result = {}
671
  for i,v in ipairs(files) do
672
    if string.match(v[2], "%*")
673
    then
674
      local g = tup.glob(v[2])
675
      for j,x in ipairs(g) do
5132 clevermous 676
        table.insert(result, {v[1], x, group=v.group})
5098 clevermous 677
      end
678
    else
679
      if v.cp1251_from then
680
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
681
      end
5132 clevermous 682
      table.insert(result, {v[1], v[2], group=v.group})
5098 clevermous 683
    end
684
  end
685
  return result
686
end
687
 
688
-- append skins to extra_files
689
for i,v in ipairs(skinlist) do
6094 leency 690
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
5098 clevermous 691
end
692
 
693
-- prepare distr_extra_files and iso_extra_files: expand and append common part
694
extra_files = expand_extra_files(extra_files)
695
distr_extra_files = expand_extra_files(distr_extra_files)
696
iso_extra_files = expand_extra_files(iso_extra_files)
697
tup.append_table(distr_extra_files, extra_files)
698
tup.append_table(iso_extra_files, extra_files)
699
 
700
-- generate list of directories to be created inside kolibri.img
701
img_dirs = {}
702
input_deps = {}
703
for i,v in ipairs(img_files) do
704
  img_file = v[1]
705
  local_file = v[2]
706
 
707
  slash_pos = 0
708
  while true do
709
    slash_pos = string.find(img_file, '/', slash_pos + 1)
710
    if not slash_pos then break end
711
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
712
  end
713
 
714
  -- tup does not want to see hidden files as dependencies
715
  if not string.match(local_file, "/%.") then
5132 clevermous 716
    table.insert(input_deps, v.group or local_file)
5098 clevermous 717
  end
718
end
719
 
720
-- create empty 1.44M file
5118 clevermous 721
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
722
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
5098 clevermous 723
-- format it as a standard 1.44M floppy
724
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
725
-- copy bootloader
726
if tup.getconfig("NO_FASM") ~= "full" then
727
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
728
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
729
table.insert(input_deps, bootloader)
730
end
731
-- make folders
732
table.sort(img_dirs)
733
for i,v in ipairs(img_dirs) do
734
  if v ~= img_dirs[i-1] then
735
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
736
  end
737
end
738
-- copy files
739
for i,v in ipairs(img_files) do
740
  local_file = v[2]
741
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
742
  then
743
    -- for kernel.mnt, insert autobuild revision identifier
744
    -- from .revision to .kernel.mnt
745
    -- note that .revision and .kernel.mnt must begin with .
746
    -- to prevent tup from tracking them
747
    if build_type == "rus"
748
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(cat .revision)]"|iconv -f utf8 -t cp866)'
749
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
750
    end
751
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
752
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
753
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
754
    make_img_command = make_img_command .. " && str=" .. str
755
    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'
756
    local_file = ".kernel.mnt"
757
  end
758
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
759
end
760
 
761
-- generate tup rule for kolibri.img
762
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
7131 dunkaist 763
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 764
 
765
-- generate command and dependencies for mkisofs
766
input_deps = {"kolibri.img"}
767
iso_files_list = ""
768
for i,v in ipairs(iso_extra_files) do
769
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
5132 clevermous 770
  table.insert(input_deps, v.group or v[2])
5098 clevermous 771
end
772
 
773
-- generate tup rule for kolibri.iso
774
if tup.getconfig("INSERT_REVISION_ID") ~= ""
775
then volume_id = "KolibriOS r`cat .revision`"
776
else volume_id = "KolibriOS"
777
end
778
tup.definerule{inputs = input_deps, command =
5118 clevermous 779
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
5098 clevermous 780
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
781
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
782
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
783
  outputs = {"kolibri.iso"}}
784
 
785
-- generate command and dependencies for distribution kit
5104 clevermous 786
cp = 'cp "%f" "%o"'
5102 clevermous 787
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
5098 clevermous 788
for i,v in ipairs(distr_extra_files) do
5132 clevermous 789
  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 790
  if string.sub(v[1], -1) == "/"
5132 clevermous 791
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
792
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
5098 clevermous 793
  end
794
end