Subversion Repositories Kolibri OS

Rev

Rev 6247 | Rev 6250 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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