Subversion Repositories Kolibri OS

Rev

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