Subversion Repositories Kolibri OS

Rev

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

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