Subversion Repositories Kolibri OS

Rev

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