Subversion Repositories Kolibri OS

Rev

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

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