Subversion Repositories Kolibri OS

Rev

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

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