Subversion Repositories Kolibri OS

Rev

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

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