Subversion Repositories Kolibri OS

Rev

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

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