Subversion Repositories Kolibri OS

Rev

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

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