Subversion Repositories Kolibri OS

Rev

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

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