Subversion Repositories Kolibri OS

Rev

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

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