Subversion Repositories Kolibri OS

Rev

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

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