Subversion Repositories Kolibri OS

Rev

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

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