Subversion Repositories Kolibri OS

Rev

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

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