Subversion Repositories Kolibri OS

Rev

Rev 9274 | Rev 9283 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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