Subversion Repositories Kolibri OS

Rev

Rev 7445 | Rev 7456 | 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"},
7455 0CodErr 435
 {"INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
5098 clevermous 436
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
6737 leency 437
 {"LIB/PROC_LIB.OBJ", PROGS .. "/develop/libraries/proc_lib/trunk/proc_lib.obj"},
6308 pathoswith 438
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
5098 clevermous 439
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
6737 leency 440
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
5098 clevermous 441
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
442
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
443
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
444
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
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"},
7222 leency 506
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
507
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
508
 {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
509
 {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , PROGS .. "/media/voxel_editor/utilites/vox_creator"},
510
 {"kolibrios/3D/voxel_utilites/VOX_MOVER" , PROGS .. "/media/voxel_editor/utilites/vox_mover"},
511
 {"kolibrios/3D/voxel_utilites/VOX_TGL" , PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
512
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
6991 leency 513
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
514
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
515
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
516
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
6033 leency 517
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
6179 leency 518
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
6180 leency 519
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
5335 yogev_ezra 520
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
521
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
5379 serge 522
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
6991 leency 523
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
5467 leency 524
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
6991 leency 525
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
526
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
5098 clevermous 527
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
528
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
529
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
530
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
531
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
532
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
533
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
6991 leency 534
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
5098 clevermous 535
})
536
-- For russian build, add russian-only programs.
537
if build_type == "rus" then tup.append_table(img_files, {
538
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
6699 clevermous 539
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
5098 clevermous 540
}) else tup.append_table(img_files, {
6699 clevermous 541
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
5098 clevermous 542
}) end
543
 
5334 Anton_K 544
if build_type == "rus" then tup.append_table(extra_files, {
545
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
546
}) end
547
 
5098 clevermous 548
end -- tup.getconfig('NO_FASM') ~= 'full'
549
 
550
-- Programs that require NASM to compile.
551
if tup.getconfig('NO_NASM') ~= 'full' then
552
tup.append_table(img_files, {
6952 leency 553
 {"LOD", PROGS .. "/fs/lod/lod"},
554
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
5098 clevermous 555
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
556
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
6952 leency 557
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
5098 clevermous 558
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
6998 0CodErr 559
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
5098 clevermous 560
})
561
end -- tup.getconfig('NO_NASM') ~= 'full'
562
 
7081 0CodErr 563
-- Programs that require JWASM to compile.
564
if tup.getconfig('NO_JWASM') ~= 'full' then
565
tup.append_table(img_files, {
566
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
567
})
568
end -- tup.getconfig('NO_JWASM') ~= 'full'
569
 
5098 clevermous 570
-- Programs that require C-- to compile.
571
if tup.getconfig('NO_CMM') ~= 'full' then
572
tup.append_table(img_files, {
6776 leency 573
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
7245 leency 574
 {"EASYSHOT", PROGS .. "/cmm/easyshot/easyshot.com"},
7370 leency 575
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
7444 leency 576
 {"NOTES", PROGS .. "/cmm/notes/notes.com"},
7370 leency 577
 {"PANELS_CFG", PROGS .. "/cmm/panels_cfg/panels_cfg.com"},
578
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
579
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
6776 leency 580
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
581
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
6569 leency 582
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
5098 clevermous 583
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
5993 leency 584
 {"FONT_VIEWER", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
5098 clevermous 585
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
6957 leency 586
 {"GAMES/MBLOCKS", PROGS .. "/cmm/mblocks/mblocks.com"},
6748 leency 587
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
5098 clevermous 588
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
6776 leency 589
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
5098 clevermous 590
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
7233 leency 591
 {"MEDIA/PIXIE/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
7254 leency 592
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
5632 leency 593
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
5098 clevermous 594
})
6776 leency 595
tup.append_table(extra_files, {
596
 {"kolibrios/drivers/DRVINST.KEX", PROGS .. "/cmm/drvinst/drvinst.com"},
6991 leency 597
 {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"},
6776 leency 598
 {"kolibrios/utils/DICTY.KEX", PROGS .. "/cmm/dicty/dicty.com"},
6967 leency 599
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
6776 leency 600
})
5098 clevermous 601
end -- tup.getconfig('NO_CMM') ~= 'full'
602
 
603
-- Programs that require MSVC to compile.
604
if tup.getconfig('NO_MSVC') ~= 'full' then
605
tup.append_table(img_files, {
606
 {"GRAPH", PROGS .. "/other/graph/graph"},
607
 {"TABLE", PROGS .. "/other/table/table"},
608
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
609
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
5113 clevermous 610
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
5115 clevermous 611
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
5098 clevermous 612
})
5110 clevermous 613
tup.append_table(extra_files, {
5109 clevermous 614
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
5276 ZblCoder 615
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
5109 clevermous 616
})
5098 clevermous 617
end -- tup.getconfig('NO_MSVC') ~= 'full'
618
 
619
-- Programs that require GCC to compile.
620
if tup.getconfig('NO_GCC') ~= 'full' then
621
tup.append_table(img_files, {
5123 clevermous 622
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
5111 clevermous 623
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
5098 clevermous 624
 {"SHELL", PROGS .. "/system/shell/shell"},
625
})
626
tup.append_table(extra_files, {
6736 leency 627
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
5098 clevermous 628
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
6183 leency 629
 {"kolibrios/games/2048/", PROGS .. "/games/2048/2048"},
630
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
5228 alpine 631
 {"kolibrios/games/heliothryx/", PROGS .. "/games/heliothryx/heliothryx"},
5236 alpine 632
 {"kolibrios/games/marblematch3/", PROGS .. "/games/marblematch3/marblematch3"},
5336 yogev_ezra 633
 {"kolibrios/games/nsider/", PROGS .. "/games/nsider/nsider"},
5131 clevermous 634
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
635
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
5098 clevermous 636
})
5327 igevorse 637
-- For russian build, add russian-only programs.
5329 igevorse 638
if build_type == "rus" then tup.append_table(extra_files, {
5327 igevorse 639
 {"kolibrios/games/21days/", PROGS .. "/games/21days/21days"},
5328 igevorse 640
}) end
5098 clevermous 641
end -- tup.getconfig('NO_GCC') ~= 'full'
642
 
643
-- Skins.
644
tup.include("../skins/skinlist.lua")
645
 
646
--[================================[ CODE ]================================]--
647
-- expand extra_files and similar
648
function expand_extra_files(files)
649
  local result = {}
650
  for i,v in ipairs(files) do
651
    if string.match(v[2], "%*")
652
    then
653
      local g = tup.glob(v[2])
654
      for j,x in ipairs(g) do
5132 clevermous 655
        table.insert(result, {v[1], x, group=v.group})
5098 clevermous 656
      end
657
    else
658
      if v.cp1251_from then
659
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
660
      end
5132 clevermous 661
      table.insert(result, {v[1], v[2], group=v.group})
5098 clevermous 662
    end
663
  end
664
  return result
665
end
666
 
667
-- append skins to extra_files
668
for i,v in ipairs(skinlist) do
6094 leency 669
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
5098 clevermous 670
end
671
 
672
-- prepare distr_extra_files and iso_extra_files: expand and append common part
673
extra_files = expand_extra_files(extra_files)
674
distr_extra_files = expand_extra_files(distr_extra_files)
675
iso_extra_files = expand_extra_files(iso_extra_files)
676
tup.append_table(distr_extra_files, extra_files)
677
tup.append_table(iso_extra_files, extra_files)
678
 
679
-- generate list of directories to be created inside kolibri.img
680
img_dirs = {}
681
input_deps = {}
682
for i,v in ipairs(img_files) do
683
  img_file = v[1]
684
  local_file = v[2]
685
 
686
  slash_pos = 0
687
  while true do
688
    slash_pos = string.find(img_file, '/', slash_pos + 1)
689
    if not slash_pos then break end
690
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
691
  end
692
 
693
  -- tup does not want to see hidden files as dependencies
694
  if not string.match(local_file, "/%.") then
5132 clevermous 695
    table.insert(input_deps, v.group or local_file)
5098 clevermous 696
  end
697
end
698
 
699
-- create empty 1.44M file
5118 clevermous 700
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
701
make_img_command = make_img_command .. "dd if=/dev/zero of=kolibri.img count=2880 bs=512 2>&1"
5098 clevermous 702
-- format it as a standard 1.44M floppy
703
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
704
-- copy bootloader
705
if tup.getconfig("NO_FASM") ~= "full" then
706
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
707
make_img_command = make_img_command .. " && dd if=" .. bootloader .. " of=kolibri.img count=1 bs=512 conv=notrunc 2>&1"
708
table.insert(input_deps, bootloader)
709
end
710
-- make folders
711
table.sort(img_dirs)
712
for i,v in ipairs(img_dirs) do
713
  if v ~= img_dirs[i-1] then
714
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
715
  end
716
end
717
-- copy files
718
for i,v in ipairs(img_files) do
719
  local_file = v[2]
720
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
721
  then
722
    -- for kernel.mnt, insert autobuild revision identifier
723
    -- from .revision to .kernel.mnt
724
    -- note that .revision and .kernel.mnt must begin with .
725
    -- to prevent tup from tracking them
726
    if build_type == "rus"
727
    then str='$(LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(cat .revision)]"|iconv -f utf8 -t cp866)'
728
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
729
    end
730
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
731
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
732
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
733
    make_img_command = make_img_command .. " && str=" .. str
734
    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'
735
    local_file = ".kernel.mnt"
736
  end
737
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
738
end
739
 
740
-- generate tup rule for kolibri.img
741
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
7131 dunkaist 742
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 743
 
744
-- generate command and dependencies for mkisofs
745
input_deps = {"kolibri.img"}
746
iso_files_list = ""
747
for i,v in ipairs(iso_extra_files) do
748
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
5132 clevermous 749
  table.insert(input_deps, v.group or v[2])
5098 clevermous 750
end
751
 
752
-- generate tup rule for kolibri.iso
753
if tup.getconfig("INSERT_REVISION_ID") ~= ""
754
then volume_id = "KolibriOS r`cat .revision`"
755
else volume_id = "KolibriOS"
756
end
757
tup.definerule{inputs = input_deps, command =
5118 clevermous 758
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
5098 clevermous 759
  'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
760
  '-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
761
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
762
  outputs = {"kolibri.iso"}}
763
 
764
-- generate command and dependencies for distribution kit
5104 clevermous 765
cp = 'cp "%f" "%o"'
5102 clevermous 766
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
5098 clevermous 767
for i,v in ipairs(distr_extra_files) do
5132 clevermous 768
  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 769
  if string.sub(v[1], -1) == "/"
5132 clevermous 770
  then tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1] .. tup.file(v[2])}}
771
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
5098 clevermous 772
  end
773
end