Subversion Repositories Kolibri OS

Rev

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

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