Subversion Repositories Kolibri OS

Rev

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