Subversion Repositories Kolibri OS

Rev

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

Rev 7928 Rev 7931
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/SStarTrek", "common/games/sstartrek/SStarTrek_ru"},
289
 {"kolibrios/games/sstartrek/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/SStarTrek", "common/games/sstartrek/SStarTrek_en"},
305
 {"kolibrios/games/sstartrek/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 .. "/testing/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 .. "/testing/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/protection/trunk/test"},
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/flatwav", PROGS .. "/demos/flatwav/trunk/flatwav"},
532
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
533
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
533
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
534
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
534
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
535
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
535
 {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
536
 {"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"},
537
 {"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"},
538
 {"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"},
539
 {"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"},
540
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
540
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
541
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
541
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
542
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
542
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
543
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
543
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
544
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
544
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
545
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
545
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
546
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
546
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
547
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
547
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
548
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
548
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
549
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
549
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
550
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
550
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
551
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
551
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
552
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
552
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
553
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
553
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
554
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
554
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
555
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
555
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
556
 {"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"},
557
 {"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"},
558
 {"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"},
559
 {"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"},
560
 {"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"},
561
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
561
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
562
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
562
})
563
})
563
-- For russian build, add russian-only programs.
564
-- For russian build, add russian-only programs.
564
if build_type == "rus" then tup.append_table(img_files, {
565
if build_type == "rus" then tup.append_table(img_files, {
565
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
566
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
566
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
567
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
567
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
568
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
568
}) else tup.append_table(img_files, {
569
}) else tup.append_table(img_files, {
569
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
570
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
570
}) end
571
}) end
571
 
572
 
572
if build_type == "rus" then tup.append_table(extra_files, {
573
if build_type == "rus" then tup.append_table(extra_files, {
573
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
574
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
574
}) end
575
}) end
575
 
576
 
576
end -- tup.getconfig('NO_FASM') ~= 'full'
577
end -- tup.getconfig('NO_FASM') ~= 'full'
577
 
578
 
578
-- Programs that require NASM to compile.
579
-- Programs that require NASM to compile.
579
if tup.getconfig('NO_NASM') ~= 'full' then
580
if tup.getconfig('NO_NASM') ~= 'full' then
580
tup.append_table(img_files, {
581
tup.append_table(img_files, {
581
 {"LOD", PROGS .. "/fs/lod/lod"},
582
 {"LOD", PROGS .. "/fs/lod/lod"},
582
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
583
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
583
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
584
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
584
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
585
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
585
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
586
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
586
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
587
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
587
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
588
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
588
})
589
})
589
tup.append_table(extra_files, {
590
tup.append_table(extra_files, {
590
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
591
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
591
})
592
})
592
end -- tup.getconfig('NO_NASM') ~= 'full'
593
end -- tup.getconfig('NO_NASM') ~= 'full'
593
 
594
 
594
-- Programs that require JWASM to compile.
595
-- Programs that require JWASM to compile.
595
if tup.getconfig('NO_JWASM') ~= 'full' then
596
if tup.getconfig('NO_JWASM') ~= 'full' then
596
tup.append_table(img_files, {
597
tup.append_table(img_files, {
597
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
598
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
598
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
599
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
599
})
600
})
600
end -- tup.getconfig('NO_JWASM') ~= 'full'
601
end -- tup.getconfig('NO_JWASM') ~= 'full'
601
 
602
 
602
-- Programs that require C-- to compile.
603
-- Programs that require C-- to compile.
603
if tup.getconfig('NO_CMM') ~= 'full' then
604
if tup.getconfig('NO_CMM') ~= 'full' then
604
tup.append_table(img_files, {
605
tup.append_table(img_files, {
605
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
606
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
606
 {"EASYSHOT", PROGS .. "/cmm/misc/easyshot.com"},
607
 {"EASYSHOT", PROGS .. "/cmm/misc/easyshot.com"},
607
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
608
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
608
 {"BARSCFG", PROGS .. "/cmm/barscfg/barscfg.com"},
609
 {"BARSCFG", PROGS .. "/cmm/barscfg/barscfg.com"},
609
 {"SYSPANEL", PROGS .. "/cmm/misc/software_widget.com"},
610
 {"SYSPANEL", PROGS .. "/cmm/misc/software_widget.com"},
610
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
611
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
611
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
612
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
612
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
613
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
613
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
614
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
614
 {"DEVELOP/MENU", PROGS .. "/cmm/menu/menu.com"},
615
 {"DEVELOP/MENU", PROGS .. "/cmm/menu/menu.com"},
615
 {"DEVELOP/PIPET", PROGS .. "/cmm/misc/pipet.com"},
616
 {"DEVELOP/PIPET", PROGS .. "/cmm/misc/pipet.com"},
616
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
617
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
617
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
618
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
618
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
619
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
619
 {"GAMES/MBLOCKS", PROGS .. "/cmm/misc/mblocks.com"},
620
 {"GAMES/MBLOCKS", PROGS .. "/cmm/misc/mblocks.com"},
620
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
621
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
621
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
622
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
622
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
623
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
623
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
624
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
624
 {"MEDIA/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
625
 {"MEDIA/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
625
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
626
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
626
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
627
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
627
})
628
})
628
tup.append_table(extra_files, {
629
tup.append_table(extra_files, {
629
 {"kolibrios/develop/utils/codeview", PROGS .. "/cmm/codeview/codeview.com"},
630
 {"kolibrios/develop/utils/codeview", PROGS .. "/cmm/codeview/codeview.com"},
630
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
631
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
631
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
632
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
632
 {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"},
633
 {"kolibrios/games/the_bus/the_bus", PROGS .. "/cmm/the_bus/the_bus.com"},
633
 {"kolibrios/KolibriNext/install.kex", PROGS .. "/cmm/installer/install.com"},
634
 {"kolibrios/KolibriNext/install.kex", PROGS .. "/cmm/installer/install.com"},
634
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
635
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
635
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
636
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
636
 {"kolibrios/utils/netcheck", PROGS .. "/cmm/examples/netcheck.com"},
637
 {"kolibrios/utils/netcheck", PROGS .. "/cmm/examples/netcheck.com"},
637
 {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"},
638
 {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"},
638
})
639
})
639
end -- tup.getconfig('NO_CMM') ~= 'full'
640
end -- tup.getconfig('NO_CMM') ~= 'full'
640
 
641
 
641
-- Programs that require MSVC to compile.
642
-- Programs that require MSVC to compile.
642
if tup.getconfig('NO_MSVC') ~= 'full' then
643
if tup.getconfig('NO_MSVC') ~= 'full' then
643
tup.append_table(img_files, {
644
tup.append_table(img_files, {
644
 {"GRAPH", PROGS .. "/other/graph/graph"},
645
 {"GRAPH", PROGS .. "/other/graph/graph"},
645
 {"TABLE", PROGS .. "/other/table/table"},
646
 {"TABLE", PROGS .. "/other/table/table"},
646
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
647
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
647
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
648
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
648
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
649
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
649
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
650
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
650
})
651
})
651
tup.append_table(extra_files, {
652
tup.append_table(extra_files, {
652
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
653
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
653
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
654
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
654
})
655
})
655
end -- tup.getconfig('NO_MSVC') ~= 'full'
656
end -- tup.getconfig('NO_MSVC') ~= 'full'
656
 
657
 
657
-- Programs that require GCC to compile.
658
-- Programs that require GCC to compile.
658
if tup.getconfig('NO_GCC') ~= 'full' then
659
if tup.getconfig('NO_GCC') ~= 'full' then
659
tup.append_table(img_files, {
660
tup.append_table(img_files, {
660
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
661
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
661
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
662
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
662
 {"SHELL", PROGS .. "/system/shell/shell"},
663
 {"SHELL", PROGS .. "/system/shell/shell"},
663
})
664
})
664
tup.append_table(extra_files, {
665
tup.append_table(extra_files, {
665
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
666
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
666
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
667
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
667
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
668
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
668
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
669
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
669
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
670
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
670
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
671
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
671
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
672
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
672
 {"kolibrios/games/quake/", "common/games/quake/*"}, -- not really gcc, but no sense without sdlquake
673
 {"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"},
674
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
674
})
675
})
675
-- For russian build, add russian-only programs.
676
-- For russian build, add russian-only programs.
676
if build_type == "rus" then tup.append_table(extra_files, {
677
if build_type == "rus" then tup.append_table(extra_files, {
677
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
678
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
678
}) end
679
}) end
679
end -- tup.getconfig('NO_GCC') ~= 'full'
680
end -- tup.getconfig('NO_GCC') ~= 'full'
680
 
681
 
681
-- Skins.
682
-- Skins.
682
tup.include("../skins/skinlist.lua")
683
tup.include("../skins/skinlist.lua")
683
 
684
 
684
--[================================[ CODE ]================================]--
685
--[================================[ CODE ]================================]--
685
-- expand extra_files and similar
686
-- expand extra_files and similar
686
function expand_extra_files(files)
687
function expand_extra_files(files)
687
  local result = {}
688
  local result = {}
688
  for i,v in ipairs(files) do
689
  for i,v in ipairs(files) do
689
    if string.match(v[2], "%*")
690
    if string.match(v[2], "%*")
690
    then
691
    then
691
      local g = tup.glob(v[2])
692
      local g = tup.glob(v[2])
692
      for j,x in ipairs(g) do
693
      for j,x in ipairs(g) do
693
        table.insert(result, {v[1], x, group=v.group})
694
        table.insert(result, {v[1], x, group=v.group})
694
      end
695
      end
695
    else
696
    else
696
      if v.cp1251_from then
697
      if v.cp1251_from then
697
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
698
        tup.definerule{inputs = {v.cp1251_from}, command = 'iconv -f cp866 -t cp1251 "%f" > "%o"', outputs = {v[2]}}
698
      end
699
      end
699
      table.insert(result, {v[1], v[2], group=v.group})
700
      table.insert(result, {v[1], v[2], group=v.group})
700
    end
701
    end
701
  end
702
  end
702
  return result
703
  return result
703
end
704
end
704
 
705
 
705
-- append skins to extra_files
706
-- append skins to extra_files
706
for i,v in ipairs(skinlist) do
707
for i,v in ipairs(skinlist) do
707
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
708
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
708
end
709
end
709
 
710
 
710
-- prepare distr_extra_files and iso_extra_files: expand and append common part
711
-- prepare distr_extra_files and iso_extra_files: expand and append common part
711
extra_files = expand_extra_files(extra_files)
712
extra_files = expand_extra_files(extra_files)
712
distr_extra_files = expand_extra_files(distr_extra_files)
713
distr_extra_files = expand_extra_files(distr_extra_files)
713
iso_extra_files = expand_extra_files(iso_extra_files)
714
iso_extra_files = expand_extra_files(iso_extra_files)
714
tup.append_table(distr_extra_files, extra_files)
715
tup.append_table(distr_extra_files, extra_files)
715
tup.append_table(iso_extra_files, extra_files)
716
tup.append_table(iso_extra_files, extra_files)
716
 
717
 
717
-- generate list of directories to be created inside kolibri.img
718
-- generate list of directories to be created inside kolibri.img
718
img_dirs = {}
719
img_dirs = {}
719
input_deps = {}
720
input_deps = {}
720
for i,v in ipairs(img_files) do
721
for i,v in ipairs(img_files) do
721
  img_file = v[1]
722
  img_file = v[1]
722
  local_file = v[2]
723
  local_file = v[2]
723
 
724
 
724
  slash_pos = 0
725
  slash_pos = 0
725
  while true do
726
  while true do
726
    slash_pos = string.find(img_file, '/', slash_pos + 1)
727
    slash_pos = string.find(img_file, '/', slash_pos + 1)
727
    if not slash_pos then break end
728
    if not slash_pos then break end
728
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
729
    table.insert(img_dirs, string.sub(img_file, 1, slash_pos - 1))
729
  end
730
  end
730
 
731
 
731
  -- tup does not want to see hidden files as dependencies
732
  -- tup does not want to see hidden files as dependencies
732
  if not string.match(local_file, "/%.") then
733
  if not string.match(local_file, "/%.") then
733
    table.insert(input_deps, v.group or local_file)
734
    table.insert(input_deps, v.group or local_file)
734
  end
735
  end
735
end
736
end
736
 
737
 
737
-- create empty 1.44M file
738
-- create empty 1.44M file
738
make_img_command = '^ MKIMG kolibri.img^ ' -- for tup: don't write full command to logs
739
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"
740
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
741
-- format it as a standard 1.44M floppy
741
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
742
make_img_command = make_img_command .. " && mformat -f 1440 -i kolibri.img ::"
742
-- copy bootloader
743
-- copy bootloader
743
if tup.getconfig("NO_FASM") ~= "full" then
744
if tup.getconfig("NO_FASM") ~= "full" then
744
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
745
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"
746
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)
747
table.insert(input_deps, bootloader)
747
end
748
end
748
-- make folders
749
-- make folders
749
table.sort(img_dirs)
750
table.sort(img_dirs)
750
for i,v in ipairs(img_dirs) do
751
for i,v in ipairs(img_dirs) do
751
  if v ~= img_dirs[i-1] then
752
  if v ~= img_dirs[i-1] then
752
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
753
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
753
  end
754
  end
754
end
755
end
755
-- copy files
756
-- copy files
756
for i,v in ipairs(img_files) do
757
for i,v in ipairs(img_files) do
757
  local_file = v[2]
758
  local_file = v[2]
758
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
759
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
759
  then
760
  then
760
    -- for kernel.mnt, insert autobuild revision identifier
761
    -- for kernel.mnt, insert autobuild revision identifier
761
    -- from .revision to .kernel.mnt
762
    -- from .revision to .kernel.mnt
762
    -- note that .revision and .kernel.mnt must begin with .
763
    -- note that .revision and .kernel.mnt must begin with .
763
    -- to prevent tup from tracking them
764
    -- to prevent tup from tracking them
764
    if build_type == "rus"
765
    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)'
766
    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)]")'
767
    else str='$(date -u +"[auto-build %d %b %Y %R, r$(cat .revision)]")'
767
    end
768
    end
768
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
769
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
769
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
770
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
770
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
771
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
771
    make_img_command = make_img_command .. " && str=" .. str
772
    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'
773
    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"
774
    local_file = ".kernel.mnt"
774
  end
775
  end
775
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
776
  make_img_command = make_img_command .. ' && mcopy -moi kolibri.img "' .. local_file .. '" "::' .. v[1] .. '"'
776
end
777
end
777
 
778
 
778
-- generate tup rule for kolibri.img
779
-- generate tup rule for kolibri.img
779
tup.definerule{inputs = input_deps, command = make_img_command, outputs = {"kolibri.img"}}
780
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"}}
781
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
 
782
 
782
-- generate command and dependencies for mkisofs
783
-- generate command and dependencies for mkisofs
783
input_deps = {"kolibri.img"}
784
input_deps = {"kolibri.img"}
784
iso_files_list = ""
785
iso_files_list = ""
785
for i,v in ipairs(iso_extra_files) do
786
for i,v in ipairs(iso_extra_files) do
786
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
787
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
787
  table.insert(input_deps, v.group or v[2])
788
  table.insert(input_deps, v.group or v[2])
788
end
789
end
789
 
790
 
790
-- generate tup rule for kolibri.iso
791
-- generate tup rule for kolibri.iso
791
if tup.getconfig("INSERT_REVISION_ID") ~= ""
792
if tup.getconfig("INSERT_REVISION_ID") ~= ""
792
then volume_id = "KolibriOS r`cat .revision`"
793
then volume_id = "KolibriOS r`cat .revision`"
793
else volume_id = "KolibriOS"
794
else volume_id = "KolibriOS"
794
end
795
end
795
tup.definerule{inputs = input_deps, command =
796
tup.definerule{inputs = input_deps, command =
796
  '^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
797
  '^ 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 ' ..
798
  '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" ' ..
799
  '-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',
800
  '-iso-level 3 -o kolibri.iso kolibri.img' .. iso_files_list .. ' 2>&1',
800
  outputs = {"kolibri.iso"}}
801
  outputs = {"kolibri.iso"}}
801
 
802
 
802
-- generate command and dependencies for distribution kit
803
-- generate command and dependencies for distribution kit
803
cp = 'cp "%f" "%o"'
804
cp = 'cp "%f" "%o"'
804
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
805
tup.definerule{inputs = {"kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
805
for i,v in ipairs(distr_extra_files) do
806
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
807
  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) == "/"
808
  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])}}
809
  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]}}
810
  else tup.definerule{inputs = {v.group or v[2]}, command = cmd, outputs = {"distribution_kit/" .. v[1]}}
810
  end
811
  end
811
end
812
end