Subversion Repositories Kolibri OS

Rev

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

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