Subversion Repositories Kolibri OS

Rev

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

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