Subversion Repositories Kolibri OS

Rev

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

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