Subversion Repositories Kolibri OS

Rev

Rev 7484 | Rev 7519 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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