Subversion Repositories Kolibri OS

Rev

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

Rev 9236 Rev 9238
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
 
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/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
547
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
548
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
548
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
549
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
549
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
550
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
550
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
551
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
551
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
552
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
552
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
553
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
553
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
554
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
554
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
555
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
555
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
556
})
556
})
557
tup.append_table(extra_files, {
557
tup.append_table(extra_files, {
558
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
558
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
559
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
559
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
560
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
560
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
561
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
561
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
562
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
562
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/BOOT_F32.BIN"},
563
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
563
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
564
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
564
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
565
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
565
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
566
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
566
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
567
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
567
 {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/enable.exe"},
568
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
568
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
569
 {"kolibrios/3D/flatwav", PROGS .. "/demos/flatwav/trunk/flatwav"},
569
 {"kolibrios/3D/flatwav", PROGS .. "/demos/flatwav/trunk/flatwav"},
570
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
570
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
571
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
571
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
572
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
572
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
573
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
573
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
574
 {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
574
 {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
575
 {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , PROGS .. "/media/voxel_editor/utilites/vox_creator"},
575
 {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , PROGS .. "/media/voxel_editor/utilites/vox_creator"},
576
 {"kolibrios/3D/voxel_utilites/VOX_MOVER" , PROGS .. "/media/voxel_editor/utilites/vox_mover"},
576
 {"kolibrios/3D/voxel_utilites/VOX_MOVER" , PROGS .. "/media/voxel_editor/utilites/vox_mover"},
577
 {"kolibrios/3D/voxel_utilites/VOX_TGL" , PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
577
 {"kolibrios/3D/voxel_utilites/VOX_TGL" , PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
578
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
578
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
579
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
579
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
580
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
580
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
581
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
581
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
582
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
582
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
583
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
583
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
584
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
584
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
585
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
585
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
586
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
586
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
587
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
587
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
588
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
588
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
589
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
589
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
590
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
590
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
591
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
591
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
592
 {"kolibrios/media/img_transform", PROGS .. "/media/img_transform/img_transform"},
592
 {"kolibrios/media/img_transform", PROGS .. "/media/img_transform/img_transform"},
593
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
593
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
594
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
594
 {"kolibrios/media/zsea/plugins/cnv_bmp.obj", PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
595
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
595
 {"kolibrios/media/zsea/plugins/cnv_gif.obj", PROGS .. "/media/zsea/plugins/gif/cnv_gif.obj"},
596
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
596
 {"kolibrios/media/zsea/plugins/cnv_jpeg.obj", PROGS .. "/media/zsea/plugins/jpeg/cnv_jpeg.obj"},
597
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
597
 {"kolibrios/media/zsea/plugins/convert.obj", PROGS .. "/media/zsea/plugins/convert/convert.obj"},
598
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
598
 {"kolibrios/media/zsea/plugins/rotate.obj", PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
599
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
599
 {"kolibrios/media/zsea/plugins/scaling.obj", PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
600
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
600
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
601
 {"kolibrios/utils/kfm/kfm", PROGS .. "/fs/kfm/trunk/kfm"},
601
 {"kolibrios/utils/kfm/kfm", PROGS .. "/fs/kfm/trunk/kfm"},
602
 {"kolibrios/utils/t_edit", PROGS .. "/other/t_edit/t_edit"},
602
 {"kolibrios/utils/t_edit", PROGS .. "/other/t_edit/t_edit"},
603
 {"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/donkey", PROGS .. "/games/donkey/donkey"},
734
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
734
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
735
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
735
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
736
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
736
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
737
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
737
 {"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
738
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
739
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
739
 {"kolibrios/games/fridge/", PROGS .. "/games/fridge/fridge"},
740
 {"kolibrios/games/fridge/", PROGS .. "/games/fridge/fridge"},
740
 {"kolibrios/games/", PROGS .. "/games/checkers/trunk/checkers"},
741
 {"kolibrios/games/tyrian/", "common/games/tyrian/*"},
-
 
742
 {"kolibrios/games/tyrian/data/", "common/games/tyrian/data/*"},
741
 {"kolibrios/games/wolf3d/", "../contrib/games/wolf3d/wolf3d"},
743
 {"kolibrios/games/wolf3d/", "../contrib/games/wolf3d/wolf3d"},
742
 {"kolibrios/games/wolf3d/", "common/games/wolf3d/*"},
744
 {"kolibrios/games/wolf3d/", "common/games/wolf3d/*"},
743
 {"kolibrios/develop/lua/lua", "../contrib/other/lua-5.2.0/lua"},
745
 {"kolibrios/develop/lua/lua", "../contrib/other/lua-5.2.0/lua"},
744
 {"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"},
745
 {"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"},
746
 {"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/"},
747
 {"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/"},
748
 {"kolibrios/utils/minizip/minizip", PROGS .. "/fs/minizip/minizip"},
750
 {"kolibrios/utils/minizip/minizip", PROGS .. "/fs/minizip/minizip"},
749
 {"kolibrios/utils/minizip/miniunz", PROGS .. "/fs/minizip/miniunz"},
751
 {"kolibrios/utils/minizip/miniunz", PROGS .. "/fs/minizip/miniunz"},
750
 {"kolibrios/develop/tcc/tcc", PROGS .. "/develop/ktcc/trunk/source/tcc"},
752
 {"kolibrios/develop/tcc/tcc", PROGS .. "/develop/ktcc/trunk/source/tcc"},
751
 {"kolibrios/develop/sqlite3/sqlite3", "../contrib/sdk/sources/sqlite3/shell/sqlite3"},
753
 {"kolibrios/develop/sqlite3/sqlite3", "../contrib/sdk/sources/sqlite3/shell/sqlite3"},
752
 {"kolibrios/drivers/sensors/k10temp.sys", "../drivers/sensors/k10temp/k10temp.sys"},
754
 {"kolibrios/drivers/sensors/k10temp.sys", "../drivers/sensors/k10temp/k10temp.sys"},
753
})
755
})
754
-- For russian build, add russian-only programs.
756
-- For russian build, add russian-only programs.
755
if build_type == "rus" then tup.append_table(extra_files, {
757
if build_type == "rus" then tup.append_table(extra_files, {
756
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
758
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
757
}) end
759
}) end
758
end -- tup.getconfig('NO_GCC') ~= 'full'
760
end -- tup.getconfig('NO_GCC') ~= 'full'
759
 
761
 
760
-- Skins.
762
-- Skins.
761
tup.include("../skins/skinlist.lua")
763
tup.include("../skins/skinlist.lua")
762
 
764
 
763
--[================================[ CODE ]================================]--
765
--[================================[ CODE ]================================]--
764
-- expand extra_files and similar
766
-- expand extra_files and similar
765
function expand_extra_files(files)
767
function expand_extra_files(files)
766
  local result = {}
768
  local result = {}
767
  for i,v in ipairs(files) do
769
  for i,v in ipairs(files) do
768
    if string.match(v[2], "%*")
770
    if string.match(v[2], "%*")
769
    then
771
    then
770
      local g = tup.glob(v[2])
772
      local g = tup.glob(v[2])
771
      for j,x in ipairs(g) do
773
      for j,x in ipairs(g) do
772
        table.insert(result, {v[1], x, group=v.group})
774
        table.insert(result, {v[1], x, group=v.group})
773
      end
775
      end
774
    else
776
    else
775
      if v.cp1251_from then
777
      if v.cp1251_from then
776
        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]}}
777
      end
779
      end
778
      table.insert(result, {v[1], v[2], group=v.group})
780
      table.insert(result, {v[1], v[2], group=v.group})
779
    end
781
    end
780
  end
782
  end
781
  return result
783
  return result
782
end
784
end
783
 
785
 
784
-- append skins to extra_files
786
-- append skins to extra_files
785
for i,v in ipairs(skinlist) do
787
for i,v in ipairs(skinlist) do
786
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
788
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
787
end
789
end
788
 
790
 
789
-- 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
790
extra_files = expand_extra_files(extra_files)
792
extra_files = expand_extra_files(extra_files)
791
distr_extra_files = expand_extra_files(distr_extra_files)
793
distr_extra_files = expand_extra_files(distr_extra_files)
792
iso_extra_files = expand_extra_files(iso_extra_files)
794
iso_extra_files = expand_extra_files(iso_extra_files)
793
tup.append_table(distr_extra_files, extra_files)
795
tup.append_table(distr_extra_files, extra_files)
794
tup.append_table(iso_extra_files, extra_files)
796
tup.append_table(iso_extra_files, extra_files)
795
 
797
 
796
-- generate list of directories to be created inside kolibri.img
798
-- generate list of directories to be created inside kolibri.img
797
img_dirs = {}
799
img_dirs = {}
798
input_deps = {}
800
input_deps = {}
799
for i,v in ipairs(img_files) do
801
for i,v in ipairs(img_files) do
800
  img_file = v[1]
802
  img_file = v[1]
801
  local_file = v[2]
803
  local_file = v[2]
802
 
804
 
803
  slash_pos = 0
805
  slash_pos = 0
804
  while true do
806
  while true do
805
    slash_pos = string.find(img_file, '/', slash_pos + 1)
807
    slash_pos = string.find(img_file, '/', slash_pos + 1)
806
    if not slash_pos then break end
808
    if not slash_pos then break end
807
    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))
808
  end
810
  end
809
 
811
 
810
  -- tup does not want to see hidden files as dependencies
812
  -- tup does not want to see hidden files as dependencies
811
  if not string.match(local_file, "/%.") then
813
  if not string.match(local_file, "/%.") then
812
    table.insert(input_deps, v.group or local_file)
814
    table.insert(input_deps, v.group or local_file)
813
  end
815
  end
814
end
816
end
815
 
817
 
816
-- create empty 1.44M file
818
-- create empty 1.44M file
817
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
818
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"
819
-- format it as a standard 1.44M floppy
821
-- format it as a standard 1.44M floppy
820
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 ::"
821
-- copy bootloader
823
-- copy bootloader
822
if tup.getconfig("NO_FASM") ~= "full" then
824
if tup.getconfig("NO_FASM") ~= "full" then
823
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
825
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
824
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"
825
table.insert(input_deps, bootloader)
827
table.insert(input_deps, bootloader)
826
end
828
end
827
-- make folders
829
-- make folders
828
table.sort(img_dirs)
830
table.sort(img_dirs)
829
for i,v in ipairs(img_dirs) do
831
for i,v in ipairs(img_dirs) do
830
  if v ~= img_dirs[i-1] then
832
  if v ~= img_dirs[i-1] then
831
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
833
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
832
  end
834
  end
833
end
835
end
834
-- copy files
836
-- copy files
835
output_deps = {"kolibri.img"}
837
output_deps = {"kolibri.img"}
836
for i,v in ipairs(img_files) do
838
for i,v in ipairs(img_files) do
837
  local_file = v[2]
839
  local_file = v[2]
838
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
840
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
839
  then
841
  then
840
    -- for kernel.mnt, insert autobuild revision identifier
842
    -- for kernel.mnt, insert autobuild revision identifier
841
    -- from .revision to .kernel.mnt
843
    -- from .revision to .kernel.mnt
842
    -- note that .revision and .kernel.mnt must begin with .
844
    -- note that .revision and .kernel.mnt must begin with .
843
    -- to prevent tup from tracking them
845
    -- to prevent tup from tracking them
844
    if build_type == "rus"
846
    if build_type == "rus"
845
    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)'
846
    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)]")'
847
    end
849
    end
848
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
850
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
849
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
851
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
850
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
852
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
851
    make_img_command = make_img_command .. " && str=" .. str
853
    make_img_command = make_img_command .. " && str=" .. str
852
    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'
853
    local_file = ".kernel.mnt"
855
    local_file = ".kernel.mnt"
854
    table.insert(output_deps, local_file)
856
    table.insert(output_deps, local_file)
855
  end
857
  end
856
  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] .. '"'
857
end
859
end
858
 
860
 
859
-- generate tup rule for kolibri.img
861
-- generate tup rule for kolibri.img
860
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}
861
 
863
 
862
-- generate command and dependencies for mkisofs
864
-- generate command and dependencies for mkisofs
863
input_deps = {"kolibri.img"}
865
input_deps = {"kolibri.img"}
864
iso_files_list = ""
866
iso_files_list = ""
865
for i,v in ipairs(iso_extra_files) do
867
for i,v in ipairs(iso_extra_files) do
866
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
868
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
867
  table.insert(input_deps, v.group or v[2])
869
  table.insert(input_deps, v.group or v[2])
868
end
870
end
869
 
871
 
870
-- generate tup rule for kolibri.iso
872
-- generate tup rule for kolibri.iso
871
if tup.getconfig("INSERT_REVISION_ID") ~= ""
873
if tup.getconfig("INSERT_REVISION_ID") ~= ""
872
then volume_id = "KolibriOS r`cat .revision`"
874
then volume_id = "KolibriOS r`cat .revision`"
873
else volume_id = "KolibriOS"
875
else volume_id = "KolibriOS"
874
end
876
end
875
tup.definerule{inputs = input_deps, command =
877
tup.definerule{inputs = input_deps, command =
876
  '^ 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
877
  '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 ' ..
878
  '-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" ' ..
879
  '-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',
880
  outputs = {"kolibri.iso"}}
882
  outputs = {"kolibri.iso"}}
881
 
883
 
882
-- generate command and dependencies for distribution kit
884
-- generate command and dependencies for distribution kit
883
cp = 'cp "%f" "%o"'
885
cp = 'cp "%f" "%o"'
884
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"}}
885
for i,v in ipairs(distr_extra_files) do
887
for i,v in ipairs(distr_extra_files) do
886
  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
887
  if string.sub(v[1], -1) == "/"
889
  if string.sub(v[1], -1) == "/"
888
  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])}}
889
  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]}}
890
  end
892
  end
891
end
893
end
892
 
894
 
893
-- build kolibri.raw
895
-- build kolibri.raw
894
raw_mbr = "../programs/hd_load/usb_boot/mbr"
896
raw_mbr = "../programs/hd_load/usb_boot/mbr"
895
raw_bootsector = "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin"
897
raw_bootsector = "../kernel/trunk/bootloader/extended_primary_loader/fat32/bootsect.bin"
896
raw_files = {
898
raw_files = {
897
 {"KOLIBRI.IMG", "kolibri.img"},
899
 {"KOLIBRI.IMG", "kolibri.img"},
898
 {"KORDLDR.F32", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32"},
900
 {"KORDLDR.F32", "../kernel/trunk/bootloader/extended_primary_loader/fat32/kordldr.f32"},
899
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt.ext_loader"},
901
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt.ext_loader"},
900
 {"CONFIG.INI", "../kernel/trunk/bootloader/extended_primary_loader/config.ini"},
902
 {"CONFIG.INI", "../kernel/trunk/bootloader/extended_primary_loader/config.ini"},
901
 {"EFI/BOOT/BOOTX64.EFI", "../kernel/trunk/bootloader/uefi4kos/bootx64.efi"},
903
 {"EFI/BOOT/BOOTX64.EFI", "../kernel/trunk/bootloader/uefi4kos/bootx64.efi"},
902
 {"EFI/BOOT/BOOTIA32.EFI", "../kernel/trunk/bootloader/uefi4kos/bootia32.efi"},
904
 {"EFI/BOOT/BOOTIA32.EFI", "../kernel/trunk/bootloader/uefi4kos/bootia32.efi"},
903
 {"EFI/KOLIBRIOS/KOLIBRI.IMG", "kolibri.img"},
905
 {"EFI/KOLIBRIOS/KOLIBRI.IMG", "kolibri.img"},
904
 {"EFI/KOLIBRIOS/KOLIBRI.INI", "../kernel/trunk/bootloader/uefi4kos/kolibri.ini"},
906
 {"EFI/KOLIBRIOS/KOLIBRI.INI", "../kernel/trunk/bootloader/uefi4kos/kolibri.ini"},
905
 {"EFI/KOLIBRIOS/KOLIBRI.KRN", "../kernel/trunk/kolibri.krn"}
907
 {"EFI/KOLIBRIOS/KOLIBRI.KRN", "../kernel/trunk/kolibri.krn"}
906
}
908
}
907
 
909
 
908
for i,v in ipairs(img_files) do
910
for i,v in ipairs(img_files) do
909
  raw_file = "KOLIBRIOS/" .. string.upper(v[1])
911
  raw_file = "KOLIBRIOS/" .. string.upper(v[1])
910
  local_file = v[2]
912
  local_file = v[2]
911
  tup.append_table(raw_files, {{raw_file, local_file}})
913
  tup.append_table(raw_files, {{raw_file, local_file}})
912
end
914
end
913
 
915
 
914
tup.append_table(raw_files, extra_files)
916
tup.append_table(raw_files, extra_files)
915
 
917
 
916
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
917
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"
918
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"
919
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"
920
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"
921
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"
922
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"
923
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"
924
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 .. " ::"
925
 
927
 
926
-- generate list of directories to be created inside kolibri.raw
928
-- generate list of directories to be created inside kolibri.raw
927
raw_dirs = {}
929
raw_dirs = {}
928
input_deps = {raw_mbr, raw_bootsector}
930
input_deps = {raw_mbr, raw_bootsector}
929
for i,v in ipairs(raw_files) do
931
for i,v in ipairs(raw_files) do
930
  raw_file = v[1]
932
  raw_file = v[1]
931
  local_file = v[2]
933
  local_file = v[2]
932
 
934
 
933
  if raw_file ~= "/" then
935
  if raw_file ~= "/" then
934
    slash_pos = 0
936
    slash_pos = 0
935
    while true do
937
    while true do
936
      slash_pos = string.find(raw_file, '/', slash_pos + 1)
938
      slash_pos = string.find(raw_file, '/', slash_pos + 1)
937
      if not slash_pos then break end
939
      if not slash_pos then break end
938
      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))
939
    end
941
    end
940
  end
942
  end
941
 
943
 
942
  -- tup does not want to see hidden files as dependencies
944
  -- tup does not want to see hidden files as dependencies
943
  if not string.match(local_file, "/%.") then
945
  if not string.match(local_file, "/%.") then
944
    table.insert(input_deps, v.group or local_file)
946
    table.insert(input_deps, v.group or local_file)
945
  end
947
  end
946
end
948
end
947
 
949
 
948
-- 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
949
for i,d in ipairs(raw_dirs) do
951
for i,d in ipairs(raw_dirs) do
950
  raw_dirs[i] = string.upper(raw_dirs[i])
952
  raw_dirs[i] = string.upper(raw_dirs[i])
951
end
953
end
952
 
954
 
953
-- make folders
955
-- make folders
954
table.sort(raw_dirs)
956
table.sort(raw_dirs)
955
for i,v in ipairs(raw_dirs) do
957
for i,v in ipairs(raw_dirs) do
956
  if v ~= raw_dirs[i-1] then
958
  if v ~= raw_dirs[i-1] then
957
    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 .. '"'
958
  end
960
  end
959
end
961
end
960
 
962
 
961
-- copy files
963
-- copy files
962
for i,v in ipairs(raw_files) do
964
for i,v in ipairs(raw_files) do
963
  local_file = v[2]
965
  local_file = v[2]
964
  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] .. '"'
965
end
967
end
966
 
968
 
967
-- generate tup rule for kolibri.raw
969
-- generate tup rule for kolibri.raw
968
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"}}