Subversion Repositories Kolibri OS

Rev

Rev 7444 | Rev 7455 | 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"},
57
 {"SETTINGS/ASSOC.INI", "common/settings/assoc.ini"},
5873 pathoswith 58
 {"SETTINGS/AUTORUN.DAT", "common/settings/AUTORUN.DAT"},
6958 leency 59
 {"SETTINGS/DOCKY.INI", "common/settings/docky.ini"},
60
 {"SETTINGS/ESKIN.INI", "common/settings/eskin.ini"},
61
 {"SETTINGS/FB2READ.INI", "common/settings/fb2read.ini"},
7429 leency 62
 {"SETTINGS/HOTANGLES.CFG", PROGS .. "/other/ha/SETTINGS/HOTANGLES.CFG"},
5098 clevermous 63
 {"SETTINGS/ICON.INI", build_type .. "/settings/icon.ini"},
5873 pathoswith 64
 {"SETTINGS/KEYMAP.KEY", PROGS .. "/system/taskbar/trunk/KEYMAP.KEY"},
6958 leency 65
 {"SETTINGS/KOLIBRI.LBL", build_type .. "/settings/kolibri.lbl"},
5098 clevermous 66
 {"SETTINGS/LANG.INI", build_type .. "/settings/lang.ini"},
67
 {"SETTINGS/MENU.DAT", build_type .. "/settings/menu.dat"},
7137 dunkaist 68
 {"SETTINGS/NETWORK.INI", "common/settings/network.ini"},
6065 leency 69
 {"SETTINGS/SYSPANEL.INI", "common/settings/syspanel.ini"},
5972 leency 70
 {"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
7429 leency 71
 {"SETTINGS/TASKBAR.INI", "common/settings/taskbar.ini"},
5098 clevermous 72
}
7010 0CodErr 73
 
5098 clevermous 74
-- For russian build, add russian-only files.
75
if build_type == "rus" then tup.append_table(img_files, {
76
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt"},
77
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/rus/.shell"},
7426 leency 78
 {"SETTINGS/GAMES.INI", "rus/settings/games.ini"},
5098 clevermous 79
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
80
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/rus/example.asm"},
81
 {"PIPETKA", build_type .. "/pipetka"},
82
 {"File Managers/KFAR.INI", build_type .. "/File Managers/kfar.ini"},
83
 {"GAMES/ATAKA", build_type .. "/games/ataka"},
7027 0CodErr 84
 {"GAMES/BASEKURS.KLA", build_type .. "/games/basekurs.kla"},
7410 0CodErr 85
 {"GAMES/PADENIE", build_type .. "/games/padenie"},
7010 0CodErr 86
}) elseif build_type == "eng" then tup.append_table(img_files, {
7015 0CodErr 87
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
7426 leency 88
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
7015 0CodErr 89
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
90
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
91
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
92
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
7010 0CodErr 93
}) elseif build_type == "sp" then tup.append_table(img_files, {
7015 0CodErr 94
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
7426 leency 95
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
7015 0CodErr 96
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
97
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
98
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
99
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
7010 0CodErr 100
}) elseif build_type == "it" then tup.append_table(img_files, {
7015 0CodErr 101
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
7426 leency 102
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
7015 0CodErr 103
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
104
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
7010 0CodErr 105
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey_it.ini"},
7015 0CodErr 106
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
5098 clevermous 107
}) else tup.append_table(img_files, {
108
 {"File Managers/KFM_KEYS.TXT", PROGS .. "/fs/kfm/trunk/docs/english/kfm_keys.txt"},
7426 leency 109
 {"SETTINGS/GAMES.INI", "common/settings/games.ini"},
5098 clevermous 110
 {"SETTINGS/.shell", PROGS .. "/system/shell/bin/eng/.shell"},
111
 {"EXAMPLE.ASM", PROGS .. "/develop/examples/example/trunk/example.asm"},
7010 0CodErr 112
 {"SETTINGS/MYKEY.INI", PROGS .. "/system/MyKey/trunk/mykey.ini"},
5098 clevermous 113
 {"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
114
}) end
115
 
116
--[[
117
Files to be included in kolibri.iso and distribution kit outside of kolibri.img.
5132 clevermous 118
 
5098 clevermous 119
The first subitem of every item is name relative to the root of ISO or distribution kit,
120
the second is name of local file.
5132 clevermous 121
 
5098 clevermous 122
If the first subitem ends in /, the last component of local file name is appended.
123
The last component of the second subitem may contain '*'; if so, it will be expanded
124
according to usual rules, but without matching directories.
5132 clevermous 125
 
126
Tup does not allow a direct dependency on a file that is generated in a directory
127
other than where Tupfile.lua is and its children. Most files are generated
128
in the directory with Tupfile.lua; for other files, the item should contain
129
a named subitem "group=path/" and the file should be put in .
5098 clevermous 130
--]]
131
extra_files = {
7137 dunkaist 132
 {"/", "common/distr_data/autorun.inf"},
133
 {"/", "common/distr_data/KolibriOS_icon.ico"},
5098 clevermous 134
 {"/", build_type .. "/settings/kolibri.lbl"},
135
 {"Docs/stack.txt", build_type .. "/docs/STACK.TXT"},
136
 {"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
137
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
138
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/CONFIG.SYS"},
139
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme.txt"},
140
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/L_readme_Win.txt"},
141
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_install.bat"},
142
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/vista_remove.bat"},
143
 {"HD_Load/", "common/HD_load/memdisk"},
144
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot.rtf"},
145
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
146
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
6226 leency 147
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
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"},
182
 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
183
 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
6179 leency 184
 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
185
 {"kolibrios/games/bomber/ackack.bmp", PROGS .. "/games/bomber/ackack.bmp"},
186
 {"kolibrios/games/bomber/bomb.bmp", PROGS .. "/games/bomber/bomb.bmp"},
187
 {"kolibrios/games/bomber/plane.bmp", PROGS .. "/games/bomber/plane.bmp"},
188
 {"kolibrios/games/bomber/tile.bmp", PROGS .. "/games/bomber/tile.bmp"},
189
 {"kolibrios/games/doom1/", "common/games/doom/*"},
5098 clevermous 190
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
5647 leency 191
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
6179 leency 192
 {"kolibrios/games/knight", "common/games/knight"},
5296 ZblCoder 193
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
5098 clevermous 194
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
6181 leency 195
 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
6182 leency 196
 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
6181 leency 197
 {"kolibrios/games/mun/mun", "common/games/mun/mun"},
6991 leency 198
 {"kolibrios/games/pig/", "common/games/pig/*"},
6188 hidnplayr 199
 {"kolibrios/games/soko/", "common/games/soko/*"},
7445 leency 200
 {"kolibrios/games/sstartrek/", "common/games/sstartrek/*"},
6993 leency 201
 {"kolibrios/games/the_bus/menu.png", PROGS .. "/cmm/the_bus/menu.png"},
202
 {"kolibrios/games/the_bus/objects.png", PROGS .. "/cmm/the_bus/objects.png"},
203
 {"kolibrios/games/the_bus/road.png", PROGS .. "/cmm/the_bus/road.png"},
6583 leency 204
 {"kolibrios/grafx2/fonts/", "common/media/grafx2/fonts/*"},
205
 {"kolibrios/grafx2/scripts/", "common/media/grafx2/scripts/libs/*"},
206
 {"kolibrios/grafx2/scripts/libs/", "common/media/grafx2/scripts/*"},
207
 {"kolibrios/grafx2/skins/", "common/media/grafx2/skins/*"},
208
 {"kolibrios/grafx2/", "common/media/grafx2/*"},
6654 leency 209
 {"kolibrios/drivers/drvinf.ini", "common/drivers/drvinf.ini"},
6156 leency 210
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
211
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
212
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
213
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
6719 serge 214
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
215
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
216
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
217
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
218
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
7191 leency 219
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
5098 clevermous 220
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
5378 serge 221
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
222
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
223
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
7180 leency 224
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
5378 serge 225
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
6982 leency 226
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
227
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
5378 serge 228
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
229
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
5132 clevermous 230
 {"kolibrios/lib/libc.dll", "../contrib/sdk/bin/libc.dll", group = "../contrib/sdk/lib/"},
7191 leency 231
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
5378 serge 232
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
7191 leency 233
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
6719 serge 234
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
5378 serge 235
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
236
 {"kolibrios/media/fplay", "common/media/fplay"},
7203 leency 237
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
6155 leency 238
 {"kolibrios/media/updf", "common/media/updf"},
239
 {"kolibrios/media/vttf", "common/media/vttf"},
5098 clevermous 240
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
241
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
6094 leency 242
 {"kolibrios/res/skins/", "../skins/authors.txt"},
6250 leency 243
 {"kolibrios/settings/app_plus.ini", "common/settings/app_plus.ini"},
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"},
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"},
7245 leency 573
 {"EASYSHOT", PROGS .. "/cmm/easyshot/easyshot.com"},
7370 leency 574
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
7444 leency 575
 {"NOTES", PROGS .. "/cmm/notes/notes.com"},
7370 leency 576
 {"PANELS_CFG", PROGS .. "/cmm/panels_cfg/panels_cfg.com"},
577
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
578
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
6776 leency 579
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
580
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
6569 leency 581
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
5098 clevermous 582
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
5993 leency 583
 {"FONT_VIEWER", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
5098 clevermous 584
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
6957 leency 585
 {"GAMES/MBLOCKS", PROGS .. "/cmm/mblocks/mblocks.com"},
6748 leency 586
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
5098 clevermous 587
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
6776 leency 588
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
5098 clevermous 589
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
7233 leency 590
 {"MEDIA/PIXIE/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
7254 leency 591
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
5632 leency 592
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
5098 clevermous 593
})
6776 leency 594
tup.append_table(extra_files, {
595
 {"kolibrios/drivers/DRVINST.KEX", PROGS .. "/cmm/drvinst/drvinst.com"},
6991 leency 596
 {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"},
6776 leency 597
 {"kolibrios/utils/DICTY.KEX", PROGS .. "/cmm/dicty/dicty.com"},
6967 leency 598
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
6776 leency 599
})
5098 clevermous 600
end -- tup.getconfig('NO_CMM') ~= 'full'
601
 
602
-- Programs that require MSVC to compile.
603
if tup.getconfig('NO_MSVC') ~= 'full' then
604
tup.append_table(img_files, {
605
 {"GRAPH", PROGS .. "/other/graph/graph"},
606
 {"TABLE", PROGS .. "/other/table/table"},
607
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
608
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
5113 clevermous 609
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
5115 clevermous 610
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
5098 clevermous 611
})
5110 clevermous 612
tup.append_table(extra_files, {
5109 clevermous 613
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
5276 ZblCoder 614
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
5109 clevermous 615
})
5098 clevermous 616
end -- tup.getconfig('NO_MSVC') ~= 'full'
617
 
618
-- Programs that require GCC to compile.
619
if tup.getconfig('NO_GCC') ~= 'full' then
620
tup.append_table(img_files, {
5123 clevermous 621
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
5111 clevermous 622
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
5098 clevermous 623
 {"SHELL", PROGS .. "/system/shell/shell"},
624
})
625
tup.append_table(extra_files, {
6736 leency 626
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
5098 clevermous 627
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
6183 leency 628
 {"kolibrios/games/2048/", PROGS .. "/games/2048/2048"},
629
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
5228 alpine 630
 {"kolibrios/games/heliothryx/", PROGS .. "/games/heliothryx/heliothryx"},
5236 alpine 631
 {"kolibrios/games/marblematch3/", PROGS .. "/games/marblematch3/marblematch3"},
5336 yogev_ezra 632
 {"kolibrios/games/nsider/", PROGS .. "/games/nsider/nsider"},
5131 clevermous 633
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
634
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
5098 clevermous 635
})
5327 igevorse 636
-- For russian build, add russian-only programs.
5329 igevorse 637
if build_type == "rus" then tup.append_table(extra_files, {
5327 igevorse 638
 {"kolibrios/games/21days/", PROGS .. "/games/21days/21days"},
5328 igevorse 639
}) end
5098 clevermous 640
end -- tup.getconfig('NO_GCC') ~= 'full'
641
 
642
-- Skins.
643
tup.include("../skins/skinlist.lua")
644
 
645
--[================================[ CODE ]================================]--
646
-- expand extra_files and similar
647
function expand_extra_files(files)
648
  local result = {}
649
  for i,v in ipairs(files) do
650
    if string.match(v[2], "%*")
651
    then
652
      local g = tup.glob(v[2])
653
      for j,x in ipairs(g) do
5132 clevermous 654
        table.insert(result, {v[1], x, group=v.group})
5098 clevermous 655
      end
656
    else
657
      if v.cp1251_from then
658
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
659
      end
5132 clevermous 660
      table.insert(result, {v[1], v[2], group=v.group})
5098 clevermous 661
    end
662
  end
663
  return result
664
end
665
 
666
-- append skins to extra_files
667
for i,v in ipairs(skinlist) do
6094 leency 668
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
5098 clevermous 669
end
670
 
671
-- prepare distr_extra_files and iso_extra_files: expand and append common part
672
extra_files = expand_extra_files(extra_files)
673
distr_extra_files = expand_extra_files(distr_extra_files)
674
iso_extra_files = expand_extra_files(iso_extra_files)
675
tup.append_table(distr_extra_files, extra_files)
676
tup.append_table(iso_extra_files, extra_files)
677
 
678
-- generate list of directories to be created inside kolibri.img
679
img_dirs = {}
680
input_deps = {}
681
for i,v in ipairs(img_files) do
682
  img_file = v[1]
683
  local_file = v[2]
684
 
685
  slash_pos = 0
686
  while true do
687
    slash_pos = string.find(img_file, '/', slash_pos + 1)
688
    if not slash_pos then break end
689
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
690
  end
691
 
692
  -- tup does not want to see hidden files as dependencies
693
  if not string.match(local_file, "/%.") then
5132 clevermous 694
    table.insert(input_deps, v.group or local_file)
5098 clevermous 695
  end
696
end
697
 
698
-- create empty 1.44M file
5118 clevermous 699
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
700
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
5098 clevermous 701
-- format it as a standard 1.44M floppy
702
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
703
-- copy bootloader
704
if tup.getconfig("NO_FASM") ~= "full" then
705
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
706
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
707
table.insert(input_deps, bootloader)
708
end
709
-- make folders
710
table.sort(img_dirs)
711
for i,v in ipairs(img_dirs) do
712
  if v ~= img_dirs[i-1] then
713
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
714
  end
715
end
716
-- copy files
717
for i,v in ipairs(img_files) do
718
  local_file = v[2]
719
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
720
  then
721
    -- for kernel.mnt, insert autobuild revision identifier
722
    -- from .revision to .kernel.mnt
723
    -- note that .revision and .kernel.mnt must begin with .
724
    -- to prevent tup from tracking them
725
    if build_type == "rus"
726
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(cat .revision)]"|iconv -f utf8 -t cp866)'
727
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
728
    end
729
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
730
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
731
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
732
    make_img_command = make_img_command .. " && str=" .. str
733
    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'
734
    local_file = ".kernel.mnt"
735
  end
736
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
737
end
738
 
739
-- generate tup rule for kolibri.img
740
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
7131 dunkaist 741
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 742
 
743
-- generate command and dependencies for mkisofs
744
input_deps = {"kolibri.img"}
745
iso_files_list = ""
746
for i,v in ipairs(iso_extra_files) do
747
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
5132 clevermous 748
  table.insert(input_deps, v.group or v[2])
5098 clevermous 749
end
750
 
751
-- generate tup rule for kolibri.iso
752
if tup.getconfig("INSERT_REVISION_ID") ~= ""
753
then volume_id = "KolibriOS r`cat .revision`"
754
else volume_id = "KolibriOS"
755
end
756
tup.definerule{inputs = input_deps, command =
5118 clevermous 757
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
5098 clevermous 758
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
759
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
760
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
761
  outputs = {"kolibri.iso"}}
762
 
763
-- generate command and dependencies for distribution kit
5104 clevermous 764
cp = 'cp "%f" "%o"'
5102 clevermous 765
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
5098 clevermous 766
for i,v in ipairs(distr_extra_files) do
5132 clevermous 767
  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 768
  if string.sub(v[1], -1) == "/"
5132 clevermous 769
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
770
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
5098 clevermous 771
  end
772
end