Subversion Repositories Kolibri OS

Rev

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

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