Subversion Repositories Kolibri OS

Rev

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

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