Subversion Repositories Kolibri OS

Rev

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

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