Subversion Repositories Kolibri OS

Rev

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

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