Subversion Repositories Kolibri OS

Rev

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

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