Subversion Repositories Kolibri OS

Rev

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