Subversion Repositories Kolibri OS

Rev

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

Rev 7543 Rev 7544
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/c--/", PROGS .. "/cmm/c--/*"},
170
 {"kolibrios/develop/tcc/", "common/develop/tcc/*"},
170
 {"kolibrios/develop/tcc/", "common/develop/tcc/*"},
171
 {"kolibrios/develop/TinyBasic/", "common/develop/TinyBasic/*"},
171
 {"kolibrios/develop/TinyBasic/", "common/develop/TinyBasic/*"},
172
 {"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"},
173
 {"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"},
174
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
174
 {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
175
 {"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"},
175
 {"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"},
176
 {"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"},
176
 {"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"},
177
 {"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"},
178
 {"kolibrios/emul/", "common/emul/gameboy"},
178
 {"kolibrios/emul/", "common/emul/gameboy"},
179
 {"kolibrios/emul/", "common/emul/pokemini"},
179
 {"kolibrios/emul/", "common/emul/pokemini"},
180
 {"kolibrios/emul/", "common/emul/scummvm"},
180
 {"kolibrios/emul/", "common/emul/scummvm"},
181
 {"kolibrios/emul/", "common/emul/zsnes"},
181
 {"kolibrios/emul/", "common/emul/zsnes"},
182
 {"kolibrios/demos/ak47.lif", "common/demos/ak47.lif"},
182
 {"kolibrios/demos/ak47.lif", "common/demos/ak47.lif"},
183
 {"kolibrios/demos/life2", "common/demos/life2"},
183
 {"kolibrios/demos/life2", "common/demos/life2"},
184
 {"kolibrios/demos/life3tb.png", PROGS .. "/games/life3/trunk/life3tb.png"},
184
 {"kolibrios/demos/life3tb.png", PROGS .. "/games/life3/trunk/life3tb.png"},
185
 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
185
 {"kolibrios/demos/relay.lif", "common/demos/relay.lif"},
186
 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
186
 {"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
187
 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
187
 {"kolibrios/games/BabyPainter", "common/games/BabyPainter"},
188
 {"kolibrios/games/bomber/ackack.bmp", PROGS .. "/games/bomber/ackack.bmp"},
188
 {"kolibrios/games/bomber/ackack.bmp", PROGS .. "/games/bomber/ackack.bmp"},
189
 {"kolibrios/games/bomber/bomb.bmp", PROGS .. "/games/bomber/bomb.bmp"},
189
 {"kolibrios/games/bomber/bomb.bmp", PROGS .. "/games/bomber/bomb.bmp"},
190
 {"kolibrios/games/bomber/plane.bmp", PROGS .. "/games/bomber/plane.bmp"},
190
 {"kolibrios/games/bomber/plane.bmp", PROGS .. "/games/bomber/plane.bmp"},
191
 {"kolibrios/games/bomber/tile.bmp", PROGS .. "/games/bomber/tile.bmp"},
191
 {"kolibrios/games/bomber/tile.bmp", PROGS .. "/games/bomber/tile.bmp"},
192
 {"kolibrios/games/doom1/", "common/games/doom/*"},
192
 {"kolibrios/games/doom1/", "common/games/doom/*"},
193
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
193
 {"kolibrios/games/fara/fara.gfx", "common/games/fara.gfx"},
194
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
194
 {"kolibrios/games/jumpbump/", "common/games/jumpbump/*"},
195
 {"kolibrios/games/knight", "common/games/knight"},
195
 {"kolibrios/games/knight", "common/games/knight"},
196
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
196
 {"kolibrios/games/LaserTank/", "common/games/LaserTank/*"},
197
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
197
 {"kolibrios/games/lrl/", "common/games/lrl/*"},
198
 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
198
 {"kolibrios/games/mun/data/", "common/games/mun/data/*"},
199
 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
199
 {"kolibrios/games/mun/libc.dll", "common/games/mun/libc.dll"},
200
 {"kolibrios/games/mun/mun", "common/games/mun/mun"}, 
200
 {"kolibrios/games/mun/mun", "common/games/mun/mun"}, 
201
 {"kolibrios/games/pig/", "common/games/pig/*"},
201
 {"kolibrios/games/pig/", "common/games/pig/*"},
202
 {"kolibrios/games/soko/", "common/games/soko/*"},
202
 {"kolibrios/games/soko/", "common/games/soko/*"},
203
 {"kolibrios/games/sstartrek/", "common/games/sstartrek/*"},
203
 {"kolibrios/games/sstartrek/", "common/games/sstartrek/*"},
204
 {"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"},
205
 {"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"},
206
 {"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"},
207
 {"kolibrios/grafx2/fonts/", "common/media/grafx2/fonts/*"},
207
 {"kolibrios/grafx2/fonts/", "common/media/grafx2/fonts/*"},
208
 {"kolibrios/grafx2/scripts/", "common/media/grafx2/scripts/libs/*"},
208
 {"kolibrios/grafx2/scripts/", "common/media/grafx2/scripts/libs/*"},
209
 {"kolibrios/grafx2/scripts/libs/", "common/media/grafx2/scripts/*"},
209
 {"kolibrios/grafx2/scripts/libs/", "common/media/grafx2/scripts/*"},
210
 {"kolibrios/grafx2/skins/", "common/media/grafx2/skins/*"},
210
 {"kolibrios/grafx2/skins/", "common/media/grafx2/skins/*"},
211
 {"kolibrios/grafx2/", "common/media/grafx2/*"},
211
 {"kolibrios/grafx2/", "common/media/grafx2/*"},
212
 {"kolibrios/drivers/drvinf.ini", "common/drivers/drvinf.ini"},
212
 {"kolibrios/drivers/drvinf.ini", "common/drivers/drvinf.ini"},
213
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
213
 {"kolibrios/drivers/ahci/", "common/drivers/ahci/*"},
214
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
214
 {"kolibrios/drivers/atikms/", "common/drivers/atikms/*"},
215
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
215
 {"kolibrios/drivers/i915/", "common/drivers/i915/*"},
216
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
216
 {"kolibrios/drivers/vmware/", "common/drivers/vmware/*"},
217
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
217
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
218
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
218
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
219
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
219
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
220
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
220
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
221
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
221
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
222
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
222
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
223
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
223
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
224
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
224
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
225
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
225
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
226
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
226
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
227
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
227
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
228
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
228
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
229
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
229
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
230
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
230
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
231
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
231
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
232
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
232
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
233
 {"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/"},
234
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
234
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
235
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
235
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
236
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
236
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
237
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
237
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
238
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
238
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
239
 {"kolibrios/media/fplay", "common/media/fplay"},
239
 {"kolibrios/media/fplay", "common/media/fplay"},
240
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
240
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
241
 {"kolibrios/media/updf", "common/media/updf"},
241
 {"kolibrios/media/updf", "common/media/updf"},
242
 {"kolibrios/media/vttf", "common/media/vttf"},
242
 {"kolibrios/media/vttf", "common/media/vttf"},
243
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
243
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
244
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
244
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
245
 {"kolibrios/res/skins/", "../skins/authors.txt"},
245
 {"kolibrios/res/skins/", "../skins/authors.txt"},
246
 {"kolibrios/res/wallpapers/in_the_wind.png", "common/wallpapers/in_the_wind.png"},
246
 {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
247
 {"kolibrios/res/wallpapers/deink.png", "common/wallpapers/deink.png"},
247
 {"kolibrios/res/templates/", "common/templates/*"},
248
 }
248
 }
249
if build_type == "rus" then tup.append_table(extra_files, {
249
if build_type == "rus" then tup.append_table(extra_files, {
250
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
250
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
251
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
251
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
252
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
252
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
253
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
253
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
254
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
254
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
255
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
255
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
256
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
256
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
257
 {"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"},
258
 {"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"},
259
 {"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"},
260
 {"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"},
261
 {"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"},
262
 {"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"},
263
 {"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"},
264
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
264
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
265
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
265
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
266
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
266
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
267
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
267
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
268
 {"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"},
269
 {"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/*"},
270
 {"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/*"},
271
 {"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/*"},
272
 {"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"},
273
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
273
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
274
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/whowtbam"},
274
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/whowtbam"},
275
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
275
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
276
}) else tup.append_table(extra_files, {
276
}) else tup.append_table(extra_files, {
277
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
277
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
278
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
278
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
279
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
279
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
280
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
280
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
281
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
281
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
282
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
282
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
283
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
283
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
284
 {"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"},
285
 {"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"},
286
 {"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"},
287
}) end
287
}) end
288
--[[
288
--[[
289
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.
290
Same syntax as extra_files.
290
Same syntax as extra_files.
291
]]--
291
]]--
292
if build_type == "rus" then
292
if build_type == "rus" then
293
distr_extra_files = {
293
distr_extra_files = {
294
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
294
 {"/readme_dos.txt", 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
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
296
}
296
}
297
else
297
else
298
distr_extra_files = {
298
distr_extra_files = {
299
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
299
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
300
}
300
}
301
end
301
end
302
--[[
302
--[[
303
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.
304
Same syntax as extra_files.
304
Same syntax as extra_files.
305
]]--
305
]]--
306
if build_type == "rus" then
306
if build_type == "rus" then
307
iso_extra_files = {
307
iso_extra_files = {
308
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
308
 {"/readme_dos.txt", 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
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
310
}
310
}
311
else
311
else
312
iso_extra_files = {
312
iso_extra_files = {
313
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
313
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
314
}
314
}
315
end
315
end
316
 
316
 
317
-- Programs that require FASM to compile.
317
-- Programs that require FASM to compile.
318
if tup.getconfig('NO_FASM') ~= 'full' then
318
if tup.getconfig('NO_FASM') ~= 'full' then
319
tup.append_table(img_files, {
319
tup.append_table(img_files, {
320
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
320
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
321
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
321
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
322
 {"@HOTANGLES", PROGS .. "/other/ha/HOTANGLES"},
322
 {"@HOTANGLES", PROGS .. "/other/ha/HOTANGLES"},
323
 {"@ICON", PROGS .. "/system/icon_new/icon"},
323
 {"@ICON", PROGS .. "/system/icon_new/icon"},
324
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
324
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
325
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
325
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
326
 {"@OPEN", PROGS .. "/system/open/open"},
326
 {"@OPEN", PROGS .. "/system/open/open"},
327
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
327
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
328
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
328
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
329
 {"@VOLUME", PROGS .. "/media/volume/volume"},
329
 {"@VOLUME", PROGS .. "/media/volume/volume"},
330
 {"HACONFIG", PROGS .. "/other/ha/HACONFIG"},
330
 {"HACONFIG", PROGS .. "/other/ha/HACONFIG"},
331
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
331
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
332
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
332
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
333
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
333
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
334
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
334
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
335
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
335
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
336
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
336
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
337
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
337
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
338
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
338
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
339
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
339
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
340
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
340
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
341
 {"END", PROGS .. "/system/end/light/end"},
341
 {"END", PROGS .. "/system/end/light/end"},
342
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
342
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
343
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
343
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
344
 {"GMON", PROGS .. "/system/gmon/gmon"},
344
 {"GMON", PROGS .. "/system/gmon/gmon"},
345
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
345
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
346
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
346
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
347
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
347
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
348
 {"KERPACK", PROGS .. "/other/outdated/kerpack/trunk/kerpack"},
348
 {"KERPACK", PROGS .. "/other/outdated/kerpack/trunk/kerpack"},
349
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
349
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
350
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
350
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
351
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
351
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
352
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
352
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
353
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
353
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
354
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
354
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
355
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
355
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
356
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
356
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
357
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
357
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
358
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
358
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
359
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
359
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
360
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
360
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
361
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
361
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
362
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
362
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
363
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
363
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
364
 {"TEST", PROGS .. "/system/test/trunk/test"},
364
 {"TEST", PROGS .. "/system/test/trunk/test"},
365
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
365
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
366
 {"UNZ", PROGS .. "/fs/unz/unz"},
366
 {"UNZ", PROGS .. "/fs/unz/unz"},
367
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
367
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
368
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
368
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
369
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
369
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
370
 {"3D/3DCUBE2", PROGS .. "/demos/3dcube2/trunk/3DCUBE2"},
370
 {"3D/3DCUBE2", PROGS .. "/demos/3dcube2/trunk/3DCUBE2"},
371
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
371
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
372
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
372
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
373
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
373
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
374
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
374
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
375
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
375
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
376
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
376
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
377
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
377
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
378
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
378
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
379
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
379
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
380
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
380
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
381
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
381
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
382
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
382
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
383
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
383
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
384
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
384
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
385
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
385
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
386
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
386
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
387
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
387
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
388
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
388
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
389
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
389
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
390
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
390
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
391
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
391
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
392
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
392
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
393
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
393
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
394
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
394
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
395
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
395
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
396
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
396
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
397
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
397
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
398
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
398
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
399
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
399
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
400
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
400
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
401
 {"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"},
402
 {"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"},
403
 {"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"},
404
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
404
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
405
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
405
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
406
 {"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"},
407
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
407
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
408
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
408
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
409
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
409
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
410
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
410
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
411
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
411
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
412
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
412
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
413
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
413
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
414
 {"GAMES/LIGHTS", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
414
 {"GAMES/LIGHTS", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
415
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
415
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
416
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
416
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
417
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
417
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
418
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
418
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
419
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
419
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
420
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
420
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
421
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
421
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
422
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
422
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
423
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
423
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
424
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
424
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
425
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
425
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
426
 {"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"},
427
 {"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"},
428
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
428
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
429
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
429
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
430
 {"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"},
431
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
431
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
432
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
432
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
433
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
433
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
434
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
434
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
435
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
435
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
436
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
436
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
437
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
437
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
438
 {"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"},
439
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
439
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
440
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
440
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
441
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
441
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
442
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
442
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
443
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
443
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
444
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
444
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
445
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
445
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
446
 {"MEDIA/MP3INFO", PROGS .. "/media/mp3info/mp3info"},
446
 {"MEDIA/MP3INFO", PROGS .. "/media/mp3info/mp3info"},
447
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
447
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
448
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
448
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
449
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
449
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
450
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
450
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
451
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
451
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
452
 {"NETWORK/NSINSTALL", PROGS .. "/network/netsurf/nsinstall"},
452
 {"NETWORK/NSINSTALL", PROGS .. "/network/netsurf/nsinstall"},
453
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
453
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
454
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
454
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
455
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
455
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
456
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
456
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
457
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
457
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
458
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
458
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
459
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
459
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
460
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
460
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
461
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
461
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
462
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
462
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
463
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
463
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
464
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
464
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
465
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
465
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
466
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
466
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
467
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
467
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
468
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
468
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
469
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
469
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
470
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
470
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
471
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
471
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
472
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
472
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
473
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
473
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
474
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
474
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
475
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
475
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
476
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
476
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
477
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
477
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
478
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
478
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
479
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
479
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
480
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
480
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
481
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
481
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
482
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
482
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
483
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
483
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
484
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
484
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
485
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
485
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
486
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
486
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
487
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
487
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
488
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
488
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
489
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
489
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
490
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
490
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
491
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
491
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
492
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
492
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
493
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
493
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
494
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
494
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
495
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
495
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
496
})
496
})
497
tup.append_table(extra_files, {
497
tup.append_table(extra_files, {
498
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
498
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
499
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
499
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
500
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
500
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
501
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
501
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
502
 {"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"},
503
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
503
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
504
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
504
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
505
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
505
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
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/MeOSload.com"},
507
 {"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"},
508
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
508
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
509
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
509
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
510
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
510
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
511
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
511
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
512
 {"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"},
513
 {"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"},
514
 {"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"},
515
 {"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"},
516
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
516
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
517
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
517
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
518
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
518
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
519
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
519
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
520
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
520
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
521
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
521
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
522
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
522
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
523
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
523
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
524
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
524
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
525
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
525
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
526
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
526
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
527
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
527
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
528
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
528
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
529
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
529
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
530
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
530
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
531
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
531
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
532
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
532
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
533
 {"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"},
534
 {"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"},
535
 {"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"},
536
 {"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"},
537
 {"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"},
538
 {"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"},
539
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
539
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
540
})
540
})
541
-- For russian build, add russian-only programs.
541
-- For russian build, add russian-only programs.
542
if build_type == "rus" then tup.append_table(img_files, {
542
if build_type == "rus" then tup.append_table(img_files, {
543
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
543
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
544
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
544
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
545
}) else tup.append_table(img_files, {
545
}) else tup.append_table(img_files, {
546
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
546
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
547
}) end
547
}) end
548
 
548
 
549
if build_type == "rus" then tup.append_table(extra_files, {
549
if build_type == "rus" then tup.append_table(extra_files, {
550
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
550
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
551
}) end
551
}) end
552
 
552
 
553
end -- tup.getconfig('NO_FASM') ~= 'full'
553
end -- tup.getconfig('NO_FASM') ~= 'full'
554
 
554
 
555
-- Programs that require NASM to compile.
555
-- Programs that require NASM to compile.
556
if tup.getconfig('NO_NASM') ~= 'full' then
556
if tup.getconfig('NO_NASM') ~= 'full' then
557
tup.append_table(img_files, {
557
tup.append_table(img_files, {
558
 {"LOD", PROGS .. "/fs/lod/lod"},
558
 {"LOD", PROGS .. "/fs/lod/lod"},
559
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
559
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
560
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
560
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
561
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
561
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
562
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
562
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
563
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
563
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
564
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
564
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
565
})
565
})
566
end -- tup.getconfig('NO_NASM') ~= 'full'
566
end -- tup.getconfig('NO_NASM') ~= 'full'
567
 
567
 
568
-- Programs that require JWASM to compile.
568
-- Programs that require JWASM to compile.
569
if tup.getconfig('NO_JWASM') ~= 'full' then
569
if tup.getconfig('NO_JWASM') ~= 'full' then
570
tup.append_table(img_files, {
570
tup.append_table(img_files, {
571
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
571
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
572
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
572
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
573
})
573
})
574
end -- tup.getconfig('NO_JWASM') ~= 'full'
574
end -- tup.getconfig('NO_JWASM') ~= 'full'
575
 
575
 
576
-- Programs that require C-- to compile.
576
-- Programs that require C-- to compile.
577
if tup.getconfig('NO_CMM') ~= 'full' then
577
if tup.getconfig('NO_CMM') ~= 'full' then
578
tup.append_table(img_files, {
578
tup.append_table(img_files, {
579
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
579
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
580
 {"EASYSHOT", PROGS .. "/cmm/easyshot/easyshot.com"},
580
 {"EASYSHOT", PROGS .. "/cmm/easyshot/easyshot.com"},
581
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
581
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
582
 {"NOTES", PROGS .. "/cmm/notes/notes.com"},
582
 {"NOTES", PROGS .. "/cmm/notes/notes.com"},
583
 {"PANELS_CFG", PROGS .. "/cmm/panels_cfg/panels_cfg.com"},
583
 {"PANELS_CFG", PROGS .. "/cmm/panels_cfg/panels_cfg.com"},
584
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
584
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
585
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
585
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
586
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
586
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
587
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
587
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
588
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
588
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
589
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
589
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
590
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
590
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
591
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
591
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
592
 {"GAMES/MBLOCKS", PROGS .. "/cmm/mblocks/mblocks.com"},
592
 {"GAMES/MBLOCKS", PROGS .. "/cmm/mblocks/mblocks.com"},
593
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
593
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
594
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
594
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
595
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
595
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
596
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
596
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
597
 {"MEDIA/PIXIE/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
597
 {"MEDIA/PIXIE/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
598
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
598
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
599
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
599
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
600
})
600
})
601
tup.append_table(extra_files, {
601
tup.append_table(extra_files, {
602
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
602
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
603
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
603
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
604
 {"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"},
605
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
605
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
606
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
606
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
607
 {"kolibrios/utils/netcheck", PROGS .. "/cmm/examples/netcheck.com"},
607
 {"kolibrios/utils/netcheck", PROGS .. "/cmm/examples/netcheck.com"},
608
})
608
})
609
end -- tup.getconfig('NO_CMM') ~= 'full'
609
end -- tup.getconfig('NO_CMM') ~= 'full'
610
 
610
 
611
-- Programs that require MSVC to compile.
611
-- Programs that require MSVC to compile.
612
if tup.getconfig('NO_MSVC') ~= 'full' then
612
if tup.getconfig('NO_MSVC') ~= 'full' then
613
tup.append_table(img_files, {
613
tup.append_table(img_files, {
614
 {"GRAPH", PROGS .. "/other/graph/graph"},
614
 {"GRAPH", PROGS .. "/other/graph/graph"},
615
 {"TABLE", PROGS .. "/other/table/table"},
615
 {"TABLE", PROGS .. "/other/table/table"},
616
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
616
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
617
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
617
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
618
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
618
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
619
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
619
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
620
})
620
})
621
tup.append_table(extra_files, {
621
tup.append_table(extra_files, {
622
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
622
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
623
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
623
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
624
})
624
})
625
end -- tup.getconfig('NO_MSVC') ~= 'full'
625
end -- tup.getconfig('NO_MSVC') ~= 'full'
626
 
626
 
627
-- Programs that require GCC to compile.
627
-- Programs that require GCC to compile.
628
if tup.getconfig('NO_GCC') ~= 'full' then
628
if tup.getconfig('NO_GCC') ~= 'full' then
629
tup.append_table(img_files, {
629
tup.append_table(img_files, {
630
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
630
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
631
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
631
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
632
 {"SHELL", PROGS .. "/system/shell/shell"},
632
 {"SHELL", PROGS .. "/system/shell/shell"},
633
})
633
})
634
tup.append_table(extra_files, {
634
tup.append_table(extra_files, {
635
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
635
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
636
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
636
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
637
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
637
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
638
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
638
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
639
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
639
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
640
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
640
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
641
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
641
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
642
 {"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
643
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
643
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
644
})
644
})
645
-- For russian build, add russian-only programs.
645
-- For russian build, add russian-only programs.
646
if build_type == "rus" then tup.append_table(extra_files, {
646
if build_type == "rus" then tup.append_table(extra_files, {
647
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
647
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
648
}) end
648
}) end
649
end -- tup.getconfig('NO_GCC') ~= 'full'
649
end -- tup.getconfig('NO_GCC') ~= 'full'
650
 
650
 
651
-- Skins.
651
-- Skins.
652
tup.include("../skins/skinlist.lua")
652
tup.include("../skins/skinlist.lua")
653
 
653
 
654
--[================================[ CODE ]================================]--
654
--[================================[ CODE ]================================]--
655
-- expand extra_files and similar
655
-- expand extra_files and similar
656
function expand_extra_files(files)
656
function expand_extra_files(files)
657
  local result = {}
657
  local result = {}
658
  for i,v in ipairs(files) do
658
  for i,v in ipairs(files) do
659
    if string.match(v[2], "%*")
659
    if string.match(v[2], "%*")
660
    then
660
    then
661
      local g = tup.glob(v[2])
661
      local g = tup.glob(v[2])
662
      for j,x in ipairs(g) do
662
      for j,x in ipairs(g) do
663
        table.insert(result, {v[1], x, group=v.group})
663
        table.insert(result, {v[1], x, group=v.group})
664
      end
664
      end
665
    else
665
    else
666
      if v.cp1251_from then
666
      if v.cp1251_from then
667
        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]}}
668
      end
668
      end
669
      table.insert(result, {v[1], v[2], group=v.group})
669
      table.insert(result, {v[1], v[2], group=v.group})
670
    end
670
    end
671
  end
671
  end
672
  return result
672
  return result
673
end
673
end
674
 
674
 
675
-- append skins to extra_files
675
-- append skins to extra_files
676
for i,v in ipairs(skinlist) do
676
for i,v in ipairs(skinlist) do
677
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
677
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
678
end
678
end
679
 
679
 
680
-- 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
681
extra_files = expand_extra_files(extra_files)
681
extra_files = expand_extra_files(extra_files)
682
distr_extra_files = expand_extra_files(distr_extra_files)
682
distr_extra_files = expand_extra_files(distr_extra_files)
683
iso_extra_files = expand_extra_files(iso_extra_files)
683
iso_extra_files = expand_extra_files(iso_extra_files)
684
tup.append_table(distr_extra_files, extra_files)
684
tup.append_table(distr_extra_files, extra_files)
685
tup.append_table(iso_extra_files, extra_files)
685
tup.append_table(iso_extra_files, extra_files)
686
 
686
 
687
-- generate list of directories to be created inside kolibri.img
687
-- generate list of directories to be created inside kolibri.img
688
img_dirs = {}
688
img_dirs = {}
689
input_deps = {}
689
input_deps = {}
690
for i,v in ipairs(img_files) do
690
for i,v in ipairs(img_files) do
691
  img_file = v[1]
691
  img_file = v[1]
692
  local_file = v[2]
692
  local_file = v[2]
693
 
693
 
694
  slash_pos = 0
694
  slash_pos = 0
695
  while true do
695
  while true do
696
    slash_pos = string.find(img_file, '/', slash_pos + 1)
696
    slash_pos = string.find(img_file, '/', slash_pos + 1)
697
    if not slash_pos then break end
697
    if not slash_pos then break end
698
    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))
699
  end
699
  end
700
 
700
 
701
  -- tup does not want to see hidden files as dependencies
701
  -- tup does not want to see hidden files as dependencies
702
  if not string.match(local_file, "/%.") then
702
  if not string.match(local_file, "/%.") then
703
    table.insert(input_deps, v.group or local_file)
703
    table.insert(input_deps, v.group or local_file)
704
  end
704
  end
705
end
705
end
706
 
706
 
707
-- create empty 1.44M file
707
-- create empty 1.44M file
708
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
709
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"
710
-- format it as a standard 1.44M floppy
710
-- format it as a standard 1.44M floppy
711
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 ::"
712
-- copy bootloader
712
-- copy bootloader
713
if tup.getconfig("NO_FASM") ~= "full" then
713
if tup.getconfig("NO_FASM") ~= "full" then
714
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
714
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
715
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"
716
table.insert(input_deps, bootloader)
716
table.insert(input_deps, bootloader)
717
end
717
end
718
-- make folders
718
-- make folders
719
table.sort(img_dirs)
719
table.sort(img_dirs)
720
for i,v in ipairs(img_dirs) do
720
for i,v in ipairs(img_dirs) do
721
  if v ~= img_dirs[i-1] then
721
  if v ~= img_dirs[i-1] then
722
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
722
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
723
  end
723
  end
724
end
724
end
725
-- copy files
725
-- copy files
726
for i,v in ipairs(img_files) do
726
for i,v in ipairs(img_files) do
727
  local_file = v[2]
727
  local_file = v[2]
728
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
728
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
729
  then
729
  then
730
    -- for kernel.mnt, insert autobuild revision identifier
730
    -- for kernel.mnt, insert autobuild revision identifier
731
    -- from .revision to .kernel.mnt
731
    -- from .revision to .kernel.mnt
732
    -- note that .revision and .kernel.mnt must begin with .
732
    -- note that .revision and .kernel.mnt must begin with .
733
    -- to prevent tup from tracking them
733
    -- to prevent tup from tracking them
734
    if build_type == "rus"
734
    if build_type == "rus"
735
    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)'
736
    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)]")'
737
    end
737
    end
738
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
738
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
739
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
739
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
740
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
740
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
741
    make_img_command = make_img_command .. " && str=" .. str
741
    make_img_command = make_img_command .. " && str=" .. str
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
    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'
743
    local_file = ".kernel.mnt"
743
    local_file = ".kernel.mnt"
744
  end
744
  end
745
  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] .. '"'
746
end
746
end
747
 
747
 
748
-- generate tup rule for kolibri.img
748
-- generate tup rule for kolibri.img
749
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"}}
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
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"}}
751
 
751
 
752
-- generate command and dependencies for mkisofs
752
-- generate command and dependencies for mkisofs
753
input_deps = {"kolibri.img"}
753
input_deps = {"kolibri.img"}
754
iso_files_list = ""
754
iso_files_list = ""
755
for i,v in ipairs(iso_extra_files) do
755
for i,v in ipairs(iso_extra_files) do
756
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
756
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
757
  table.insert(input_deps, v.group or v[2])
757
  table.insert(input_deps, v.group or v[2])
758
end
758
end
759
 
759
 
760
-- generate tup rule for kolibri.iso
760
-- generate tup rule for kolibri.iso
761
if tup.getconfig("INSERT_REVISION_ID") ~= ""
761
if tup.getconfig("INSERT_REVISION_ID") ~= ""
762
then volume_id = "KolibriOS r`cat .revision`"
762
then volume_id = "KolibriOS r`cat .revision`"
763
else volume_id = "KolibriOS"
763
else volume_id = "KolibriOS"
764
end
764
end
765
tup.definerule{inputs = input_deps, command =
765
tup.definerule{inputs = input_deps, command =
766
  '^ 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
767
  '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 ' ..
768
  '-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" ' ..
769
  '-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',
770
  outputs = {"kolibri.iso"}}
770
  outputs = {"kolibri.iso"}}
771
 
771
 
772
-- generate command and dependencies for distribution kit
772
-- generate command and dependencies for distribution kit
773
cp = 'cp "%f" "%o"'
773
cp = 'cp "%f" "%o"'
774
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"}}
775
for i,v in ipairs(distr_extra_files) do
775
for i,v in ipairs(distr_extra_files) do
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
  cmd = cp:gsub("%%f", v[2]) -- input can be a group, we can't rely on tup's expansion of %f in this case
777
  if string.sub(v[1], -1) == "/"
777
  if string.sub(v[1], -1) == "/"
778
  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])}}
779
  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]}}
780
  end
780
  end
781
end
781
end