Subversion Repositories Kolibri OS

Rev

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

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