Subversion Repositories Kolibri OS

Rev

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

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