Subversion Repositories Kolibri OS

Rev

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

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