Subversion Repositories Kolibri OS

Rev

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

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