Subversion Repositories Kolibri OS

Rev

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

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