Subversion Repositories Kolibri OS

Rev

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

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