Subversion Repositories Kolibri OS

Rev

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

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