Subversion Repositories Kolibri OS

Rev

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