Subversion Repositories Kolibri OS

Rev

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

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