Subversion Repositories Kolibri OS

Rev

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

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