Subversion Repositories Kolibri OS

Rev

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

Rev 7655 Rev 7658
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/KolibriNext/settings/", "common/KolibriNext/settings/*"},
218
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
218
 {"kolibrios/lib/avcodec-56.dll", "common/lib/avcodec-56.dll"},
219
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
219
 {"kolibrios/lib/avdevice-56.dll", "common/lib/avdevice-56.dll"},
220
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
220
 {"kolibrios/lib/avformat-56.dll", "common/lib/avformat-56.dll"},
221
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
221
 {"kolibrios/lib/swscale-3.dll", "common/lib/swscale-3.dll"},
222
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
222
 {"kolibrios/lib/avutil-54.dll", "common/lib/avutil-54.dll"},
223
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
223
 {"kolibrios/lib/cairo2.dll", "common/lib/cairo2.dll"},
224
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
224
 {"kolibrios/lib/freetype.dll", "common/lib/freetype.dll"},
225
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
225
 {"kolibrios/lib/i965-video.dll", "common/lib/i965-video.dll"},
226
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
226
 {"kolibrios/lib/libdrm.dll", "common/lib/libdrm.dll"},
227
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
227
 {"kolibrios/lib/libegl.dll", "common/lib/libegl.dll"},
228
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
228
 {"kolibrios/lib/libeglut.dll", "common/lib/libeglut.dll"},
229
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
229
 {"kolibrios/lib/libGL.dll", "common/lib/libGL.dll"},
230
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
230
 {"kolibrios/lib/libjpeg.dll", "common/lib/libjpeg.dll"},
231
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
231
 {"kolibrios/lib/libpng16.dll", "common/lib/libpng16.dll"},
232
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
232
 {"kolibrios/lib/libva.dll", "common/lib/libva.dll"},
233
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
233
 {"kolibrios/lib/libz.dll", "common/lib/libz.dll"},
234
 {"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/"},
235
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
235
 {"kolibrios/lib/osmesa.dll", "common/lib/osmesa.dll"},
236
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
236
 {"kolibrios/lib/pixlib-gl.dll", "common/lib/pixlib-gl.dll"},
237
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
237
 {"kolibrios/lib/pixman-1.dll", "common/lib/pixman-1.dll"},
238
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
238
 {"kolibrios/lib/swresample-1.dll", "common/lib/swresample-1.dll"},
239
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
239
 {"kolibrios/lib/i915_dri.drv", "common/lib/i915_dri.drv"},
240
 {"kolibrios/media/fplay", "common/media/fplay"},
240
 {"kolibrios/media/fplay", "common/media/fplay"},
241
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
241
 {"kolibrios/media/fplay_run", "common/media/fplay_run"},
242
 {"kolibrios/media/minimp3", "common/media/minimp3"},
242
 {"kolibrios/media/minimp3", "common/media/minimp3"},
243
 {"kolibrios/media/updf", "common/media/updf"},
243
 {"kolibrios/media/updf", "common/media/updf"},
244
 {"kolibrios/media/vttf", "common/media/vttf"},
244
 {"kolibrios/media/vttf", "common/media/vttf"},
245
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
245
 {"kolibrios/media/zsea/zsea.ini", PROGS .. "/media/zsea/zSea.ini"},
246
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
246
 {"kolibrios/media/zsea/buttons/buttons.png", PROGS .. "/media/zsea/buttons.png"},
247
 {"kolibrios/res/skins/", "../skins/authors.txt"},
247
 {"kolibrios/res/skins/", "../skins/authors.txt"},
248
 {"kolibrios/res/templates/", "common/templates/*"},
248
 {"kolibrios/res/templates/", "common/templates/*"},
249
 {"kolibrios/res/templates/", PROGS .. "/emulator/e80/trunk/games/*"},
249
 {"kolibrios/res/templates/", PROGS .. "/emulator/e80/trunk/games/*"},
250
 {"kolibrios/res/templates/NES/", "common/templates/NES/*"},
250
 {"kolibrios/res/templates/NES/", "common/templates/NES/*"},
251
 {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
251
 {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
252
 }
252
 }
253
if build_type == "rus" then tup.append_table(extra_files, {
253
if build_type == "rus" then tup.append_table(extra_files, {
254
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
254
 {"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
255
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
255
 {"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
256
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
256
 {"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
257
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
257
 {"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
258
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
258
 {"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
259
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
259
 {"Docs/cp866/readme.txt", build_type .. "/docs/README.TXT"},
260
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
260
 {"Docs/cp866/sysfuncr.txt", PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
261
 {"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"},
262
 {"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"},
263
 {"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"},
264
 {"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"},
265
 {"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"},
266
 {"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"},
267
 {"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"},
268
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
268
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
269
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
269
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
270
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
270
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/install.txt"},
271
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
271
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/readme.txt"},
272
 {"kolibrios/games/ataka", "common/games/ataka/ataka_ru"},
272
 {"kolibrios/games/ataka", "common/games/ataka/ataka_ru"},
273
 {"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/*"},
274
 {"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/*"},
275
 {"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/*"},
276
 {"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"},
277
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
277
 {"kolibrios/games/Dungeons/", PROGS .. "/games/Dungeons/readme_ru.txt"},
278
 {"kolibrios/games/sstartrek/", "common/games/sstartrek/SStarTrek_ru"},
278
 {"kolibrios/games/sstartrek/", "common/games/sstartrek/SStarTrek_ru"},
279
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/whowtbam"},
279
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/whowtbam"},
280
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
280
 {"kolibrios/games/WHOWTBAM/", build_type .. "/games/appdata.dat"},
281
 {"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"},
282
 {"kolibrios/res/guide/", build_type .. "/docs/guide/*"}, 
282
 {"kolibrios/res/guide/", build_type .. "/docs/guide/*"}, 
283
}) else tup.append_table(extra_files, {
283
}) else tup.append_table(extra_files, {
284
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
284
 {"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
285
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
285
 {"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
286
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
286
 {"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
287
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
287
 {"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
288
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
288
 {"Docs/readme.txt", build_type .. "/docs/README.TXT"},
289
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
289
 {"Docs/sysfuncs.txt", PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
290
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
290
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/readme.txt"},
291
 {"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"},
292
 {"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"},
293
 {"kolibrios/games/ataka", "common/games/ataka/ataka_en"},
293
 {"kolibrios/games/ataka", "common/games/ataka/ataka_en"},
294
 {"kolibrios/games/sstartrek/", "common/games/sstartrek/SStarTrek_en"},
294
 {"kolibrios/games/sstartrek/", "common/games/sstartrek/SStarTrek_en"},
295
 {"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"},
296
}) end
296
}) end
297
--[[
297
--[[
298
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.
299
Same syntax as extra_files.
299
Same syntax as extra_files.
300
]]--
300
]]--
301
if build_type == "rus" then
301
if build_type == "rus" then
302
distr_extra_files = {
302
distr_extra_files = {
303
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos_distr.txt"},
303
 {"/readme_dos.txt", 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
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt", cp1251_from = build_type .. "/distr_data/readme_dos_distr.txt"},
305
}
305
}
306
else
306
else
307
distr_extra_files = {
307
distr_extra_files = {
308
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
308
 {"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
309
}
309
}
310
end
310
end
311
--[[
311
--[[
312
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.
313
Same syntax as extra_files.
313
Same syntax as extra_files.
314
]]--
314
]]--
315
if build_type == "rus" then
315
if build_type == "rus" then
316
iso_extra_files = {
316
iso_extra_files = {
317
 {"/readme_dos.txt", build_type .. "/distr_data/readme_dos.txt"},
317
 {"/readme_dos.txt", 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
 {"/readme.txt", build_type .. "/distr_data/readme.txt", cp1251_from = build_type .. "/distr_data/readme_dos.txt"},
319
}
319
}
320
else
320
else
321
iso_extra_files = {
321
iso_extra_files = {
322
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
322
 {"/readme.txt", build_type .. "/distr_data/readme.txt"},
323
}
323
}
324
end
324
end
325
 
325
 
326
-- Programs that require FASM to compile.
326
-- Programs that require FASM to compile.
327
if tup.getconfig('NO_FASM') ~= 'full' then
327
if tup.getconfig('NO_FASM') ~= 'full' then
328
tup.append_table(img_files, {
328
tup.append_table(img_files, {
329
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
329
 {"KERNEL.MNT", "../kernel/trunk/kernel.mnt"},
330
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
330
 {"@DOCKY", PROGS .. "/system/docky/trunk/docky"},
331
 {"@HOTANGLES", PROGS .. "/other/ha/HOTANGLES"},
331
 {"@HOTANGLES", PROGS .. "/other/ha/HOTANGLES"},
332
 {"@ICON", PROGS .. "/system/icon_new/icon"},
332
 {"@ICON", PROGS .. "/system/icon_new/icon"},
333
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
333
 {"@MENU", PROGS .. "/system/menu/trunk/menu"},
334
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
334
 {"@NOTIFY", PROGS .. "/system/notify3/notify"},
335
 {"@OPEN", PROGS .. "/system/open/open"},
335
 {"@OPEN", PROGS .. "/system/open/open"},
336
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
336
 {"@TASKBAR", PROGS .. "/system/taskbar/trunk/TASKBAR"},
337
 {"@SS", PROGS .. "/system/ss/trunk/@ss"},
337
 {"@SS", PROGS .. "/system/scrsaver/scrsaver"},
338
 {"@VOLUME", PROGS .. "/media/volume/volume"},
338
 {"@VOLUME", PROGS .. "/media/volume/volume"},
339
 {"HACONFIG", PROGS .. "/other/ha/HACONFIG"},
339
 {"HACONFIG", PROGS .. "/other/ha/HACONFIG"},
340
 {"APM", PROGS .. "/system/apm/apm"},
340
 {"APM", PROGS .. "/system/apm/apm"},
341
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
341
 {"ASCIIVJU", PROGS .. "/develop/asciivju/trunk/asciivju"},
342
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
342
 {"CALC", PROGS .. "/other/calc/trunk/calc"},
343
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
343
 {"CALENDAR", PROGS .. "/system/calendar/trunk/calendar"},
344
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
344
 {"COLRDIAL", PROGS .. "/system/colrdial/color_dialog"},
345
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
345
 {"CROPFLAT", PROGS .. "/system/cropflat/cropflat"},
346
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
346
 {"CPU", PROGS .. "/system/cpu/trunk/cpu"},
347
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
347
 {"CPUID", PROGS .. "/system/cpuid/trunk/CPUID"},
348
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
348
 {"DOCPACK", PROGS .. "/system/docpack/trunk/docpack"},
349
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
349
 {"DEFAULT.SKN", "../skins/Leency/Shkvorka/Shkvorka.skn"},
350
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
350
 {"DISPTEST", PROGS .. "/system/disptest/trunk/disptest"},
351
 {"END", PROGS .. "/system/end/light/end"},
351
 {"END", PROGS .. "/system/end/light/end"},
352
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
352
 {"ESKIN", PROGS .. "/system/eskin/trunk/eskin"},
353
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
353
 {"FSPEED", PROGS .. "/fs/fspeed/fspeed"},
354
 {"GMON", PROGS .. "/system/gmon/gmon"},
354
 {"GMON", PROGS .. "/system/gmon/gmon"},
355
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
355
 {"HDD_INFO", PROGS .. "/system/hdd_info/trunk/hdd_info"},
356
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
356
 {"KBD", PROGS .. "/system/kbd/trunk/kbd"},
357
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
357
 {"KPACK", PROGS .. "/other/kpack/trunk/kpack"},
358
 {"KERPACK", PROGS .. "/other/outdated/kerpack/trunk/kerpack"},
358
 {"KERPACK", PROGS .. "/other/outdated/kerpack/trunk/kerpack"},
359
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
359
 {"LAUNCHER", PROGS .. "/system/launcher/trunk/launcher"},
360
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
360
 {"LOADDRV", PROGS .. "/system/loaddrv/loaddrv"},
361
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
361
 {"MAGNIFY", PROGS .. "/demos/magnify/trunk/magnify"},
362
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
362
 {"MGB", PROGS .. "/system/mgb/trunk/mgb"},
363
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
363
 {"MOUSEMUL", PROGS .. "/system/mousemul/trunk/mousemul"},
364
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
364
 {"MADMOUSE", PROGS .. "/other/madmouse/madmouse"},
365
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
365
 {"MYKEY", PROGS .. "/system/MyKey/trunk/MyKey"},
366
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
366
 {"PCIDEV", PROGS .. "/system/pcidev/trunk/PCIDEV"},
367
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
367
 {"RDSAVE", PROGS .. "/system/rdsave/trunk/rdsave"},
368
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
368
 {"RTFREAD", PROGS .. "/other/rtfread/trunk/rtfread"},
369
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
369
 {"SEARCHAP", PROGS .. "/system/searchap/searchap"},
370
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
370
 {"SCRSHOOT", PROGS .. "/media/scrshoot/scrshoot"},
371
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
371
 {"SETUP", PROGS .. "/system/setup/trunk/setup"},
372
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
372
 {"SKINCFG", PROGS .. "/system/skincfg/trunk/skincfg"},
373
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
373
 {"TERMINAL", PROGS .. "/system/terminal/terminal"},
374
 {"TEST", PROGS .. "/system/test/trunk/test"},
374
 {"TEST", PROGS .. "/system/test/trunk/test"},
375
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
375
 {"TINYPAD", PROGS .. "/develop/tinypad/trunk/tinypad"},
376
 {"UNZ", PROGS .. "/fs/unz/unz"},
376
 {"UNZ", PROGS .. "/fs/unz/unz"},
377
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
377
 {"ZKEY", PROGS .. "/system/zkey/trunk/ZKEY"},
378
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
378
 {"3D/3DWAV", PROGS .. "/demos/3dwav/trunk/3dwav"},
379
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
379
 {"3D/CROWNSCR", PROGS .. "/demos/crownscr/trunk/crownscr"},
380
 {"3D/3DCUBE2", PROGS .. "/demos/3dcube2/trunk/3DCUBE2"},
380
 {"3D/3DCUBE2", PROGS .. "/demos/3dcube2/trunk/3DCUBE2"},
381
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
381
 {"3D/FREE3D04", PROGS .. "/demos/free3d04/trunk/free3d04"},
382
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
382
 {"3D/GEARS", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
383
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
383
 {"3D/RAY", PROGS .. "/demos/ray/ray"},
384
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
384
 {"3D/VIEW3DS", PROGS .. "/demos/3DS/VIEW3DS"},
385
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
385
 {"DEMOS/BCDCLK", PROGS .. "/demos/bcdclk/trunk/bcdclk"},
386
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
386
 {"DEMOS/CIRCLE", PROGS .. "/develop/examples/circle/trunk/circle"},
387
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
387
 {"DEMOS/COLORREF", PROGS .. "/demos/colorref/trunk/colorref"},
388
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
388
 {"DEMOS/CSLIDE", PROGS .. "/demos/cslide/trunk/cslide"},
389
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
389
 {"DEMOS/EYES", PROGS .. "/demos/eyes/trunk/eyes"},
390
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
390
 {"DEMOS/FIREWORK", PROGS .. "/demos/firework/trunk/firework"},
391
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
391
 {"DEMOS/MOVBACK", PROGS .. "/demos/movback/trunk/movback"},
392
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
392
 {"DEMOS/PLASMA", PROGS .. "/demos/plasma/trunk/plasma"},
393
 {"DEMOS/SPIRAL", PROGS .. "/demos/spiral/spiral"},
393
 {"DEMOS/SPIRAL", PROGS .. "/demos/spiral/spiral"},
394
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
394
 {"DEMOS/TINYFRAC", PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
395
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
395
 {"DEMOS/TRANTEST", PROGS .. "/demos/trantest/trunk/trantest"},
396
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
396
 {"DEMOS/TUBE", PROGS .. "/demos/tube/trunk/tube"},
397
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
397
 {"DEMOS/UNVWATER", PROGS .. "/demos/unvwater/trunk/unvwater"},
398
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
398
 {"DEMOS/USE_MB", PROGS .. "/demos/use_mb/use_mb"},
399
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
399
 {"DEMOS/WEB", PROGS .. "/demos/web/trunk/web"},
400
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
400
 {"DEVELOP/BOARD", PROGS .. "/system/board/trunk/board"},
401
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
401
 {"DEVELOP/cObj", PROGS .. "/develop/cObj/trunk/cObj"},
402
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
402
 {"DEVELOP/FASM", PROGS .. "/develop/fasm/trunk/fasm"},
403
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
403
 {"DEVELOP/H2D2B", PROGS .. "/develop/h2d2b/trunk/h2d2b"},
404
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
404
 {"DEVELOP/HEED", PROGS .. "/develop/heed/trunk/heed"},
405
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
405
 {"DEVELOP/KEYASCII", PROGS .. "/develop/keyascii/trunk/keyascii"},
406
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
406
 {"DEVELOP/MTDBG", PROGS .. "/develop/mtdbg/mtdbg"},
407
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
407
 {"DEVELOP/SCANCODE", PROGS .. "/develop/scancode/trunk/scancode"},
408
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
408
 {"DEVELOP/T_EDIT", PROGS .. "/other/t_edit/t_edit"},
409
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
409
 {"DEVELOP/test_gets", PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
410
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
410
 {"DEVELOP/THREAD", PROGS .. "/develop/examples/thread/trunk/thread"},
411
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
411
 {"DEVELOP/INFO/ASM.SYN", PROGS .. "/other/t_edit/info/asm.syn"},
412
 {"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"},
413
 {"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"},
414
 {"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"},
415
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
415
 {"DEVELOP/INFO/DEFAULT.SYN", PROGS .. "/other/t_edit/info/default.syn"},
416
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
416
 {"DEVELOP/INFO/HTML.SYN", PROGS .. "/other/t_edit/info/html.syn"},
417
 {"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"},
418
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
418
 {"File Managers/KFAR", PROGS .. "/fs/kfar/trunk/kfar"},
419
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
419
 {"File Managers/KFM", PROGS .. "/fs/kfm/trunk/kfm"},
420
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
420
 {"File Managers/OPENDIAL", PROGS .. "/fs/opendial/opendial"},
421
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
421
 {"GAMES/15", PROGS .. "/games/15/trunk/15"},
422
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
422
 {"GAMES/FREECELL", PROGS .. "/games/freecell/freecell"},
423
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
423
 {"GAMES/GOMOKU", PROGS .. "/games/gomoku/trunk/gomoku"},
424
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
424
 {"GAMES/KLAVISHA", PROGS .. "/games/klavisha/trunk/klavisha"},
425
 {"GAMES/LIGHTS", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
425
 {"GAMES/LIGHTS", PROGS .. "/games/sq_game/trunk/SQ_GAME"},
426
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
426
 {"GAMES/LINES", PROGS .. "/games/lines/lines"},
427
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
427
 {"GAMES/MSQUARE", PROGS .. "/games/MSquare/trunk/MSquare"},
428
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
428
 {"GAMES/PIPES", PROGS .. "/games/pipes/pipes"},
429
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
429
 {"GAMES/PONG", PROGS .. "/games/pong/trunk/pong"},
430
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
430
 {"GAMES/PONG3", PROGS .. "/games/pong3/trunk/pong3"},
431
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
431
 {"GAMES/RSQUARE", PROGS .. "/games/rsquare/trunk/rsquare"},
432
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
432
 {"GAMES/SNAKE", PROGS .. "/games/snake/trunk/snake"},
433
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
433
 {"GAMES/SUDOKU", PROGS .. "/games/sudoku/trunk/sudoku"},
434
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
434
 {"GAMES/SW", PROGS .. "/games/sw/trunk/sw"},
435
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
435
 {"GAMES/TANKS", PROGS .. "/games/tanks/trunk/tanks"},
436
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
436
 {"GAMES/TETRIS", PROGS .. "/games/tetris/trunk/tetris"},
437
 {"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"},
438
 {"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"},
439
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
439
 {"LIB/BUF2D.OBJ", PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
440
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
440
 {"LIB/CONSOLE.OBJ", PROGS .. "/develop/libraries/console_coff/console.obj"},
441
 {"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"},
442
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
442
 {"LIB/HTTP.OBJ", PROGS .. "/develop/libraries/http/http.obj"},
443
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
443
 {"LIB/LIBGFX.OBJ", PROGS .. "/develop/libraries/libs-dev/libgfx/libgfx.obj"},
444
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
444
 {"LIB/LIBIMG.OBJ", PROGS .. "/develop/libraries/libs-dev/libimg/libimg.obj"},
445
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
445
 {"LIB/LIBINI.OBJ", PROGS .. "/develop/libraries/libs-dev/libini/libini.obj"},
446
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
446
 {"LIB/LIBIO.OBJ", PROGS .. "/develop/libraries/libs-dev/libio/libio.obj"},
447
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
447
 {"LIB/MSGBOX.OBJ", PROGS .. "/develop/libraries/msgbox/msgbox.obj"},
448
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
448
 {"LIB/NETWORK.OBJ", PROGS .. "/develop/libraries/network/network.obj"},
449
 {"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"},
450
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
450
 {"LIB/RASTERWORKS.OBJ", PROGS .. "/develop/libraries/fontRasterWorks(unicode)/RasterWorks.obj"},
451
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
451
 {"LIB/SORT.OBJ", PROGS .. "/develop/libraries/sorter/sort.obj"},
452
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
452
 {"LIB/TINYGL.OBJ", PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
453
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
453
 {"MEDIA/ANIMAGE", PROGS .. "/media/animage/trunk/animage"},
454
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
454
 {"MEDIA/KIV", PROGS .. "/media/kiv/trunk/kiv"},
455
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
455
 {"MEDIA/LISTPLAY", PROGS .. "/media/listplay/trunk/listplay"},
456
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
456
 {"MEDIA/MIDAMP", PROGS .. "/media/midamp/trunk/midamp"},
457
 {"MEDIA/MP3INFO", PROGS .. "/media/mp3info/mp3info"},
457
 {"MEDIA/MP3INFO", PROGS .. "/media/mp3info/mp3info"},
458
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
458
 {"MEDIA/PALITRA", PROGS .. "/media/palitra/trunk/palitra"},
459
 {"MEDIA/PIANO", PROGS .. "/media/piano/piano"},
459
 {"MEDIA/PIANO", PROGS .. "/media/piano/piano"},
460
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
460
 {"MEDIA/STARTMUS", PROGS .. "/media/startmus/trunk/STARTMUS"},
461
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
461
 {"NETWORK/PING", PROGS .. "/network/ping/ping"},
462
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
462
 {"NETWORK/NETCFG", PROGS .. "/network/netcfg/netcfg"},
463
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
463
 {"NETWORK/NETSTAT", PROGS .. "/network/netstat/netstat"},
464
 {"NETWORK/NSINSTALL", PROGS .. "/network/netsurf/nsinstall"},
464
 {"NETWORK/NSINSTALL", PROGS .. "/network/netsurf/nsinstall"},
465
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
465
 {"NETWORK/NSLOOKUP", PROGS .. "/network/nslookup/nslookup"},
466
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
466
 {"NETWORK/PASTA", PROGS .. "/network/pasta/pasta"},
467
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
467
 {"NETWORK/SYNERGYC", PROGS .. "/network/synergyc/synergyc"},
468
 {"NETWORK/SNTP", PROGS .. "/network/sntp/sntp"},
468
 {"NETWORK/SNTP", PROGS .. "/network/sntp/sntp"},
469
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
469
 {"NETWORK/TELNET", PROGS .. "/network/telnet/telnet"},
470
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
470
 {"NETWORK/@ZEROCONF", PROGS .. "/network/zeroconf/zeroconf"},
471
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
471
 {"NETWORK/FTPC", PROGS .. "/network/ftpc/ftpc"},
472
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
472
 {"NETWORK/FTPD", PROGS .. "/network/ftpd/ftpd"},
473
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
473
 {"NETWORK/TFTPC", PROGS .. "/network/tftpc/tftpc"},
474
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
474
 {"NETWORK/IRCC", PROGS .. "/network/ircc/ircc"},
475
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
475
 {"NETWORK/DOWNLOADER", PROGS .. "/network/downloader/downloader"},
476
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
476
 {"NETWORK/VNCC", PROGS .. "/network/vncc/vncc"},
477
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
477
 {"DRIVERS/VIDINTEL.SYS", "../drivers/video/vidintel.sys"},
478
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
478
 {"DRIVERS/3C59X.SYS", "../drivers/ethernet/3c59x.sys"},
479
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
479
 {"DRIVERS/DEC21X4X.SYS", "../drivers/ethernet/dec21x4x.sys"},
480
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
480
 {"DRIVERS/FORCEDETH.SYS", "../drivers/ethernet/forcedeth.sys"},
481
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
481
 {"DRIVERS/I8254X.SYS", "../drivers/ethernet/i8254x.sys"},
482
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
482
 {"DRIVERS/I8255X.SYS", "../drivers/ethernet/i8255x.sys"},
483
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
483
 {"DRIVERS/MTD80X.SYS", "../drivers/ethernet/mtd80x.sys"},
484
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
484
 {"DRIVERS/PCNET32.SYS", "../drivers/ethernet/pcnet32.sys"},
485
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
485
 {"DRIVERS/R6040.SYS", "../drivers/ethernet/R6040.sys"},
486
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
486
 {"DRIVERS/RHINE.SYS", "../drivers/ethernet/rhine.sys"},
487
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
487
 {"DRIVERS/RTL8029.SYS", "../drivers/ethernet/RTL8029.sys"},
488
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
488
 {"DRIVERS/RTL8139.SYS", "../drivers/ethernet/RTL8139.sys"},
489
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
489
 {"DRIVERS/RTL8169.SYS", "../drivers/ethernet/RTL8169.sys"},
490
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
490
 {"DRIVERS/SIS900.SYS", "../drivers/ethernet/sis900.sys"},
491
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
491
 {"DRIVERS/UHCI.SYS", "../drivers/usb/uhci.sys"},
492
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
492
 {"DRIVERS/OHCI.SYS", "../drivers/usb/ohci.sys"},
493
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
493
 {"DRIVERS/EHCI.SYS", "../drivers/usb/ehci.sys"},
494
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
494
 {"DRIVERS/USBHID.SYS", "../drivers/usb/usbhid/usbhid.sys"},
495
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
495
 {"DRIVERS/USBSTOR.SYS", "../drivers/usb/usbstor.sys"},
496
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
496
 {"DRIVERS/RDC.SYS", "../drivers/video/rdc.sys"},
497
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
497
 {"DRIVERS/COMMOUSE.SYS", "../drivers/mouse/commouse.sys"},
498
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
498
 {"DRIVERS/PS2MOUSE.SYS", "../drivers/mouse/ps2mouse4d/trunk/ps2mouse.sys"},
499
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
499
 {"DRIVERS/TMPDISK.SYS", "../drivers/disk/tmpdisk.sys"},
500
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
500
 {"DRIVERS/intel_hda.sys", "../drivers/audio/intel_hda/intel_hda.sys"},
501
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
501
 {"DRIVERS/SB16.SYS", "../drivers/audio/sb16/sb16.sys"},
502
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
502
 {"DRIVERS/SOUND.SYS", "../drivers/audio/sound.sys"},
503
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
503
 {"DRIVERS/INFINITY.SYS", "../drivers/audio/infinity/infinity.sys"},
504
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
504
 {"DRIVERS/INTELAC97.SYS", "../drivers/audio/intelac97.sys"},
505
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
505
 {"DRIVERS/EMU10K1X.SYS", "../drivers/audio/emu10k1x.sys"},
506
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
506
 {"DRIVERS/FM801.SYS", "../drivers/audio/fm801.sys"},
507
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
507
 {"DRIVERS/VT823X.SYS", "../drivers/audio/vt823x.sys"},
508
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
508
 {"DRIVERS/SIS.SYS", "../drivers/audio/sis.sys"},
509
})
509
})
510
tup.append_table(extra_files, {
510
tup.append_table(extra_files, {
511
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
511
 {"HD_Load/9x2klbr/", PROGS .. "/hd_load/9x2klbr/9x2klbr.exe"},
512
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
512
 {"HD_Load/MeOSLoad/", PROGS .. "/hd_load/meosload/MeOSload.com"},
513
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
513
 {"HD_Load/mtldr/", PROGS .. "/hd_load/mtldr/mtldr"},
514
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
514
 {"HD_Load/", PROGS .. "/hd_load/mtldr_install/mtldr_install.exe"},
515
 {"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"},
516
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
516
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/MTLD_F32"},
517
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
517
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/inst.exe"},
518
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
518
 {"HD_Load/USB_Boot/", PROGS .. "/hd_load/usb_boot/setmbr.exe"},
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/MeOSload.com"},
520
 {"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"},
521
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
521
 {"kolibrios/3D/3dsheart", PROGS .. "/demos/3dsheart/trunk/3dsheart"},
522
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
522
 {"kolibrios/3D/info3ds/INFO3DS", PROGS .. "/develop/info3ds/info3ds"},
523
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
523
 {"kolibrios/3D/info3ds/INFO3DS_U", PROGS .. "/develop/info3ds/info3ds_u"},
524
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
524
 {"kolibrios/3D/mos3de", PROGS .. "/demos/mos3de/mos3de"},
525
 {"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"},
526
 {"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"},
527
 {"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"},
528
 {"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"},
529
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
529
 {"kolibrios/3D/textures1", PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
530
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
530
 {"kolibrios/demos/buddhabrot", PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
531
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
531
 {"kolibrios/demos/life3", PROGS .. "/games/life3/trunk/life3"},
532
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
532
 {"kolibrios/demos/qjulia", PROGS .. "/demos/qjulia/trunk/qjulia"},
533
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
533
 {"kolibrios/develop/utils/GenFiles", PROGS .. "/testing/genfiles/GenFiles"},
534
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
534
 {"kolibrios/games/Almaz", PROGS .. "/games/almaz/almaz"},
535
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
535
 {"kolibrios/games/arcanii", PROGS .. "/games/arcanii/trunk/arcanii"},
536
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
536
 {"kolibrios/games/bomber/bomber", PROGS .. "/games/bomber/bomber"},
537
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
537
 {"kolibrios/games/bomber/bomberdata.bin", PROGS .. "/games/bomber/sounds/bomberdata.bin"},
538
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
538
 {"kolibrios/games/codemaster/binary_master", PROGS .. "/games/codemaster/binary_master"},
539
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
539
 {"kolibrios/games/codemaster/hang_programmer", PROGS .. "/games/codemaster/hang_programmer"},
540
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
540
 {"kolibrios/games/codemaster/kolibri_puzzle", PROGS .. "/games/codemaster/kolibri_puzzle"},
541
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
541
 {"kolibrios/games/megamaze", PROGS .. "/games/megamaze/trunk/megamaze"},
542
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
542
 {"kolibrios/games/invaders", PROGS .. "/games/invaders/invaders"},
543
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
543
 {"kolibrios/games/phenix", PROGS .. "/games/phenix/trunk/phenix"},
544
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
544
 {"kolibrios/games/soko/soko", PROGS .. "/games/soko/trunk/SOKO"},
545
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
545
 {"kolibrios/media/zsea/zsea", PROGS .. "/media/zsea/zSea"},
546
 {"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"},
547
 {"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"},
548
 {"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"},
549
 {"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"},
550
 {"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"},
551
 {"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"},
552
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
552
 {"kolibrios/utils/calcplus", PROGS .. "/other/calcplus/calcplus"},
553
})
553
})
554
-- For russian build, add russian-only programs.
554
-- For russian build, add russian-only programs.
555
if build_type == "rus" then tup.append_table(img_files, {
555
if build_type == "rus" then tup.append_table(img_files, {
556
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
556
 {"PERIOD", PROGS .. "/other/period/trunk/period"},
557
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
557
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
558
}) else tup.append_table(img_files, {
558
}) else tup.append_table(img_files, {
559
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
559
 {"DEVELOP/TESTCON2", PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
560
}) end
560
}) end
561
 
561
 
562
if build_type == "rus" then tup.append_table(extra_files, {
562
if build_type == "rus" then tup.append_table(extra_files, {
563
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
563
 {"kolibrios/games/Dungeons/Dungeons", PROGS .. "/games/Dungeons/Dungeons"},
564
}) end
564
}) end
565
 
565
 
566
end -- tup.getconfig('NO_FASM') ~= 'full'
566
end -- tup.getconfig('NO_FASM') ~= 'full'
567
 
567
 
568
-- Programs that require NASM to compile.
568
-- Programs that require NASM to compile.
569
if tup.getconfig('NO_NASM') ~= 'full' then
569
if tup.getconfig('NO_NASM') ~= 'full' then
570
tup.append_table(img_files, {
570
tup.append_table(img_files, {
571
 {"LOD", PROGS .. "/fs/lod/lod"},
571
 {"LOD", PROGS .. "/fs/lod/lod"},
572
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
572
 {"TINFO", PROGS .. "/system/tinfo/tinfo"},
573
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
573
 {"DEMOS/ACLOCK", PROGS .. "/demos/aclock/trunk/aclock"},
574
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
574
 {"DEMOS/TIMER", PROGS .. "/other/Timer/timer"},
575
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
575
 {"DEVELOP/MSTATE", PROGS .. "/develop/mstate/mstate"},
576
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
576
 {"GAMES/C4", PROGS .. "/games/c4/trunk/c4"},
577
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
577
 {"MEDIA/FILLSCR", PROGS .. "/media/FillScr/fillscr"},
578
})
578
})
579
end -- tup.getconfig('NO_NASM') ~= 'full'
579
end -- tup.getconfig('NO_NASM') ~= 'full'
580
 
580
 
581
-- Programs that require JWASM to compile.
581
-- Programs that require JWASM to compile.
582
if tup.getconfig('NO_JWASM') ~= 'full' then
582
if tup.getconfig('NO_JWASM') ~= 'full' then
583
tup.append_table(img_files, {
583
tup.append_table(img_files, {
584
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
584
 {"RUN", PROGS .. "/system/RunOD/1/RUN"},
585
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
585
 {"LIB/INPUTBOX.OBJ", PROGS .. "/develop/libraries/InputBox/INPUTBOX.OBJ"},
586
})
586
})
587
end -- tup.getconfig('NO_JWASM') ~= 'full'
587
end -- tup.getconfig('NO_JWASM') ~= 'full'
588
 
588
 
589
-- Programs that require C-- to compile.
589
-- Programs that require C-- to compile.
590
if tup.getconfig('NO_CMM') ~= 'full' then
590
if tup.getconfig('NO_CMM') ~= 'full' then
591
tup.append_table(img_files, {
591
tup.append_table(img_files, {
592
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
592
 {"APP_PLUS", PROGS .. "/cmm/app_plus/app_plus.com"},
593
 {"EASYSHOT", PROGS .. "/cmm/easyshot/easyshot.com"},
593
 {"EASYSHOT", PROGS .. "/cmm/easyshot/easyshot.com"},
594
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
594
 {"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
595
 {"BARSCFG", PROGS .. "/cmm/barscfg/barscfg.com"},
595
 {"BARSCFG", PROGS .. "/cmm/barscfg/barscfg.com"},
596
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
596
 {"SYSPANEL", PROGS .. "/cmm/software_widget/software_widget.com"},
597
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
597
 {"SYSMON", PROGS .. "/cmm/sysmon/sysmon.com"},
598
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
598
 {"TXTREAD", PROGS .. "/cmm/txtread/txtread.com"},
599
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
599
 {"TMPDISK", PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
600
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
600
 {"DEVELOP/CLIPVIEW", PROGS .. "/cmm/clipview/clipview.com"},
601
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
601
 {"File Managers/EOLITE", PROGS .. "/cmm/eolite/Eolite.com"},
602
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
602
 {"KF_VIEW", PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
603
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
603
 {"GAMES/CLICKS", PROGS .. "/games/clicks/trunk/clicks.com"},
604
 {"GAMES/MBLOCKS", PROGS .. "/cmm/mblocks/mblocks.com"},
604
 {"GAMES/MBLOCKS", PROGS .. "/cmm/mblocks/mblocks.com"},
605
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
605
 {"DEVELOP/DIFF", PROGS .. "/cmm/diff/diff.com"},
606
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
606
 {"GAMES/FindNumbers", PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
607
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
607
 {"GAMES/FLOOD-IT", PROGS .. "/games/flood-it/trunk/flood-it.com"},
608
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
608
 {"GAMES/MINE", PROGS .. "/games/mine/trunk/mine"},
609
 {"MEDIA/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
609
 {"MEDIA/PIXIE", PROGS .. "/cmm/pixie2/pixie.com"},
610
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
610
 {"MEDIA/ICONEDIT", PROGS .. "/cmm/iconedit/iconedit.com"},
611
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
611
 {"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
612
})
612
})
613
tup.append_table(extra_files, {
613
tup.append_table(extra_files, {
614
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
614
 {"kolibrios/drivers/drvinst.kex", PROGS .. "/cmm/drvinst/drvinst.com"},
615
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
615
 {"kolibrios/games/pig/pigex", PROGS .. "/cmm/examples/pigex.com"},
616
 {"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"},
617
 {"kolibrios/KolibriNext/install.kex", PROGS .. "/cmm/installer/install.com"},
618
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
618
 {"kolibrios/utils/appearance", PROGS .. "/cmm/appearance/appearance.com"},
619
 {"kolibrios/utils/codeview", PROGS .. "/cmm/codeview/codeview.com"},
619
 {"kolibrios/utils/codeview", PROGS .. "/cmm/codeview/codeview.com"},
620
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
620
 {"kolibrios/utils/dicty.kex", PROGS .. "/cmm/dicty/dicty.com"},
621
 {"kolibrios/utils/netcheck", PROGS .. "/cmm/examples/netcheck.com"},
621
 {"kolibrios/utils/netcheck", PROGS .. "/cmm/examples/netcheck.com"},
622
 {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"},
622
 {"kolibrios/utils/notes", PROGS .. "/cmm/notes/notes.com"},
623
})
623
})
624
end -- tup.getconfig('NO_CMM') ~= 'full'
624
end -- tup.getconfig('NO_CMM') ~= 'full'
625
 
625
 
626
-- Programs that require MSVC to compile.
626
-- Programs that require MSVC to compile.
627
if tup.getconfig('NO_MSVC') ~= 'full' then
627
if tup.getconfig('NO_MSVC') ~= 'full' then
628
tup.append_table(img_files, {
628
tup.append_table(img_files, {
629
 {"GRAPH", PROGS .. "/other/graph/graph"},
629
 {"GRAPH", PROGS .. "/other/graph/graph"},
630
 {"TABLE", PROGS .. "/other/table/table"},
630
 {"TABLE", PROGS .. "/other/table/table"},
631
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
631
 {"MEDIA/AC97SND", PROGS .. "/media/ac97snd/ac97snd.bin"},
632
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
632
 {"GAMES/KOSILKA", PROGS .. "/games/kosilka/kosilka"},
633
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
633
 {"GAMES/RFORCES", PROGS .. "/games/rforces/trunk/rforces"},
634
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
634
 {"GAMES/XONIX", PROGS .. "/games/xonix/trunk/xonix"},
635
})
635
})
636
tup.append_table(extra_files, {
636
tup.append_table(extra_files, {
637
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
637
 {"kolibrios/games/fara/fara", PROGS .. "/games/fara/trunk/fara"},
638
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
638
 {"kolibrios/games/LaserTank/LaserTank", PROGS .. "/games/LaserTank/trunk/LaserTank"},
639
})
639
})
640
end -- tup.getconfig('NO_MSVC') ~= 'full'
640
end -- tup.getconfig('NO_MSVC') ~= 'full'
641
 
641
 
642
-- Programs that require GCC to compile.
642
-- Programs that require GCC to compile.
643
if tup.getconfig('NO_GCC') ~= 'full' then
643
if tup.getconfig('NO_GCC') ~= 'full' then
644
tup.append_table(img_files, {
644
tup.append_table(img_files, {
645
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
645
 {"GAMES/CHECKERS", PROGS .. "/games/checkers/trunk/checkers"},
646
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
646
 {"GAMES/REVERSI", PROGS .. "/games/reversi/trunk/reversi"},
647
 {"SHELL", PROGS .. "/system/shell/shell"},
647
 {"SHELL", PROGS .. "/system/shell/shell"},
648
})
648
})
649
tup.append_table(extra_files, {
649
tup.append_table(extra_files, {
650
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
650
 {"kolibrios/3D/cubeline", PROGS .. "/demos/cubeline/trunk/cubeline"},
651
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
651
 {"kolibrios/emul/e80/e80", PROGS .. "/emulator/e80/trunk/e80"},
652
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
652
 {"kolibrios/games/2048", PROGS .. "/games/2048/2048"},
653
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
653
 {"kolibrios/games/donkey", PROGS .. "/games/donkey/donkey"},
654
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
654
 {"kolibrios/games/heliothryx", PROGS .. "/games/heliothryx/heliothryx"},
655
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
655
 {"kolibrios/games/marblematch3", PROGS .. "/games/marblematch3/marblematch3"},
656
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
656
 {"kolibrios/games/nsider", PROGS .. "/games/nsider/nsider"},
657
 {"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
658
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
658
 {"kolibrios/games/quake/", "../contrib/other/sdlquake-1.0.9/sdlquake"},
659
})
659
})
660
-- For russian build, add russian-only programs.
660
-- For russian build, add russian-only programs.
661
if build_type == "rus" then tup.append_table(extra_files, {
661
if build_type == "rus" then tup.append_table(extra_files, {
662
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
662
 {"kolibrios/games/21days", PROGS .. "/games/21days/21days"},
663
}) end
663
}) end
664
end -- tup.getconfig('NO_GCC') ~= 'full'
664
end -- tup.getconfig('NO_GCC') ~= 'full'
665
 
665
 
666
-- Skins.
666
-- Skins.
667
tup.include("../skins/skinlist.lua")
667
tup.include("../skins/skinlist.lua")
668
 
668
 
669
--[================================[ CODE ]================================]--
669
--[================================[ CODE ]================================]--
670
-- expand extra_files and similar
670
-- expand extra_files and similar
671
function expand_extra_files(files)
671
function expand_extra_files(files)
672
  local result = {}
672
  local result = {}
673
  for i,v in ipairs(files) do
673
  for i,v in ipairs(files) do
674
    if string.match(v[2], "%*")
674
    if string.match(v[2], "%*")
675
    then
675
    then
676
      local g = tup.glob(v[2])
676
      local g = tup.glob(v[2])
677
      for j,x in ipairs(g) do
677
      for j,x in ipairs(g) do
678
        table.insert(result, {v[1], x, group=v.group})
678
        table.insert(result, {v[1], x, group=v.group})
679
      end
679
      end
680
    else
680
    else
681
      if v.cp1251_from then
681
      if v.cp1251_from then
682
        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]}}
683
      end
683
      end
684
      table.insert(result, {v[1], v[2], group=v.group})
684
      table.insert(result, {v[1], v[2], group=v.group})
685
    end
685
    end
686
  end
686
  end
687
  return result
687
  return result
688
end
688
end
689
 
689
 
690
-- append skins to extra_files
690
-- append skins to extra_files
691
for i,v in ipairs(skinlist) do
691
for i,v in ipairs(skinlist) do
692
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
692
  table.insert(extra_files, {"kolibrios/res/skins/", "../skins/" .. v})
693
end
693
end
694
 
694
 
695
-- 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
696
extra_files = expand_extra_files(extra_files)
696
extra_files = expand_extra_files(extra_files)
697
distr_extra_files = expand_extra_files(distr_extra_files)
697
distr_extra_files = expand_extra_files(distr_extra_files)
698
iso_extra_files = expand_extra_files(iso_extra_files)
698
iso_extra_files = expand_extra_files(iso_extra_files)
699
tup.append_table(distr_extra_files, extra_files)
699
tup.append_table(distr_extra_files, extra_files)
700
tup.append_table(iso_extra_files, extra_files)
700
tup.append_table(iso_extra_files, extra_files)
701
 
701
 
702
-- generate list of directories to be created inside kolibri.img
702
-- generate list of directories to be created inside kolibri.img
703
img_dirs = {}
703
img_dirs = {}
704
input_deps = {}
704
input_deps = {}
705
for i,v in ipairs(img_files) do
705
for i,v in ipairs(img_files) do
706
  img_file = v[1]
706
  img_file = v[1]
707
  local_file = v[2]
707
  local_file = v[2]
708
 
708
 
709
  slash_pos = 0
709
  slash_pos = 0
710
  while true do
710
  while true do
711
    slash_pos = string.find(img_file, '/', slash_pos + 1)
711
    slash_pos = string.find(img_file, '/', slash_pos + 1)
712
    if not slash_pos then break end
712
    if not slash_pos then break end
713
    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))
714
  end
714
  end
715
 
715
 
716
  -- tup does not want to see hidden files as dependencies
716
  -- tup does not want to see hidden files as dependencies
717
  if not string.match(local_file, "/%.") then
717
  if not string.match(local_file, "/%.") then
718
    table.insert(input_deps, v.group or local_file)
718
    table.insert(input_deps, v.group or local_file)
719
  end
719
  end
720
end
720
end
721
 
721
 
722
-- create empty 1.44M file
722
-- create empty 1.44M file
723
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
724
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"
725
-- format it as a standard 1.44M floppy
725
-- format it as a standard 1.44M floppy
726
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 ::"
727
-- copy bootloader
727
-- copy bootloader
728
if tup.getconfig("NO_FASM") ~= "full" then
728
if tup.getconfig("NO_FASM") ~= "full" then
729
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
729
bootloader = "../kernel/trunk/bootloader/boot_fat12.bin"
730
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"
731
table.insert(input_deps, bootloader)
731
table.insert(input_deps, bootloader)
732
end
732
end
733
-- make folders
733
-- make folders
734
table.sort(img_dirs)
734
table.sort(img_dirs)
735
for i,v in ipairs(img_dirs) do
735
for i,v in ipairs(img_dirs) do
736
  if v ~= img_dirs[i-1] then
736
  if v ~= img_dirs[i-1] then
737
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
737
    make_img_command = make_img_command .. ' && mmd -i kolibri.img "::' .. v .. '"'
738
  end
738
  end
739
end
739
end
740
-- copy files
740
-- copy files
741
for i,v in ipairs(img_files) do
741
for i,v in ipairs(img_files) do
742
  local_file = v[2]
742
  local_file = v[2]
743
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
743
  if v[1] == "KERNEL.MNT" and tup.getconfig("INSERT_REVISION_ID") ~= ""
744
  then
744
  then
745
    -- for kernel.mnt, insert autobuild revision identifier
745
    -- for kernel.mnt, insert autobuild revision identifier
746
    -- from .revision to .kernel.mnt
746
    -- from .revision to .kernel.mnt
747
    -- note that .revision and .kernel.mnt must begin with .
747
    -- note that .revision and .kernel.mnt must begin with .
748
    -- to prevent tup from tracking them
748
    -- to prevent tup from tracking them
749
    if build_type == "rus"
749
    if build_type == "rus"
750
    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)'
751
    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)]")'
752
    end
752
    end
753
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
753
    str = string.gsub(str, "%$", "\\$") -- escape $ as \$
754
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
754
    str = string.gsub(str, "%%", "%%%%") -- escape % as %%
755
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
755
    make_img_command = make_img_command .. " && cp " .. local_file .. " .kernel.mnt"
756
    make_img_command = make_img_command .. " && str=" .. str
756
    make_img_command = make_img_command .. " && str=" .. str
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'
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'
758
    local_file = ".kernel.mnt"
758
    local_file = ".kernel.mnt"
759
  end
759
  end
760
  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] .. '"'
761
end
761
end
762
 
762
 
763
-- generate tup rule for kolibri.img
763
-- generate tup rule for kolibri.img
764
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"}}
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"}}
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"}}
766
 
766
 
767
-- generate command and dependencies for mkisofs
767
-- generate command and dependencies for mkisofs
768
input_deps = {"kolibri.img"}
768
input_deps = {"kolibri.img"}
769
iso_files_list = ""
769
iso_files_list = ""
770
for i,v in ipairs(iso_extra_files) do
770
for i,v in ipairs(iso_extra_files) do
771
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
771
  iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
772
  table.insert(input_deps, v.group or v[2])
772
  table.insert(input_deps, v.group or v[2])
773
end
773
end
774
 
774
 
775
-- generate tup rule for kolibri.iso
775
-- generate tup rule for kolibri.iso
776
if tup.getconfig("INSERT_REVISION_ID") ~= ""
776
if tup.getconfig("INSERT_REVISION_ID") ~= ""
777
then volume_id = "KolibriOS r`cat .revision`"
777
then volume_id = "KolibriOS r`cat .revision`"
778
else volume_id = "KolibriOS"
778
else volume_id = "KolibriOS"
779
end
779
end
780
tup.definerule{inputs = input_deps, command =
780
tup.definerule{inputs = input_deps, command =
781
  '^ 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
782
  '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 ' ..
783
  '-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" ' ..
784
  '-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',
785
  outputs = {"kolibri.iso"}}
785
  outputs = {"kolibri.iso"}}
786
 
786
 
787
-- generate command and dependencies for distribution kit
787
-- generate command and dependencies for distribution kit
788
cp = 'cp "%f" "%o"'
788
cp = 'cp "%f" "%o"'
789
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"}}
790
for i,v in ipairs(distr_extra_files) do
790
for i,v in ipairs(distr_extra_files) do
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
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
792
  if string.sub(v[1], -1) == "/"
792
  if string.sub(v[1], -1) == "/"
793
  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])}}
794
  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]}}
795
  end
795
  end
796
end
796
end