Subversion Repositories Kolibri OS

Rev

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

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