Subversion Repositories Kolibri OS

Rev

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

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