Subversion Repositories Kolibri OS

Rev

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

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