Subversion Repositories Kolibri OS

Rev

Rev 7216 | Rev 7233 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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