Subversion Repositories Kolibri OS

Rev

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

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