Subversion Repositories Kolibri OS

Rev

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

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